[{"data":1,"prerenderedAt":472},["ShallowReactive",2],{"article-2025-a2a-guide":3,"articles-[]":327},{"id":4,"title":5,"alt":5,"body":6,"category":310,"cover":311,"createDate":312,"description":313,"extension":314,"homepage":315,"meta":316,"navigation":315,"path":320,"recommend":315,"seo":321,"showCover":315,"slug":322,"stem":323,"tag":324,"updated":312,"__hash__":326},"articles\u002Farticles\u002F2025\u002Fa2a-guide.md","A2A 試してみた",{"type":7,"value":8,"toc":290},"minimark",[9,13,17,20,29,32,35,40,43,50,54,65,73,79,86,90,96,102,110,113,119,122,125,131,134,137,144,151,155,161,165,171,175,204,210,214,220,226,232,236,243,249,255,261,268,271,277,280,283,286],[10,11,12],"h2",{"id":12},"はじめに",[14,15,16],"p",{},"A2A とは、AI エージェントと AI エージェントが連携するための規格です。Google が 2025年4月に発表しました。",[14,18,19],{},"今回は Google のサンプルコードを動かしてみます。",[14,21,22],{},[23,24,28],"a",{"href":25,"rel":26},"https:\u002F\u002Fcloud.google.com\u002Fblog\u002Fja\u002Fproducts\u002Fai-machine-learning\u002Fa2a-a-new-era-of-agent-interoperability",[27],"nofollow","Agent2Agent プロトコル（A2A）を発表：エージェントの相互運用性の新時代 | Google Cloud 公式ブログ",[10,30,31],{"id":31},"サイトを起動する",[14,33,34],{},"Google の A2A のリポジトリにはデモサイトのコードがあります。これを立ち上げてみます。",[36,37,39],"h3",{"id":38},"_1-ソースコードをクローン","1. ソースコードをクローン",[14,41,42],{},"下のリンクからソースコードをクローンしてきます。",[14,44,45],{},[23,46,49],{"href":47,"rel":48},"https:\u002F\u002Fgithub.com\u002Fgoogle\u002FA2A",[27],"GitHub - google\u002FA2A",[36,51,53],{"id":52},"_2-ディレクトリに移動する","2. ディレクトリに移動する",[55,56,61],"pre",{"className":57,"code":59,"language":60},[58],"language-text","cd demo\u002Fui\n","text",[62,63,59],"code",{"__ignoreMap":64},"",[36,66,68,69,72],{"id":67},"_3-api-kye-をenvに設定する","3. API Kye を",[62,70,71],{},".env","に設定する",[55,74,77],{"className":75,"code":76,"language":60},[58],"echo \"GOOGLE_API_KEY=your_api_key_here\" > .env\n",[62,78,76],{"__ignoreMap":64},[14,80,81,82,85],{},"私は",[62,83,84],{},"your_api_key_here","の部分に Gemini の API Key を設定しました。",[36,87,89],{"id":88},"_4-サイトを立ち上げる","4. サイトを立ち上げる",[55,91,94],{"className":92,"code":93,"language":60},[58],"uv run main.py\n",[62,95,93],{"__ignoreMap":64},[14,97,98,101],{},[62,99,100],{},"http:\u002F\u002Flocalhost:12000","にアクセスするとサイトが表示されます。",[14,103,104],{},[105,106],"img",{"src":107,"alt":108,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_010.webp?alt=media","a2a-demo-guide_010","lazy",[14,111,112],{},"会話を始めることもできました。",[14,114,115],{},[105,116],{"src":117,"alt":118,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_020.webp?alt=media","a2a-demo-guide_020",[10,120,121],{"id":121},"エージェントを起動する",[14,123,124],{},"しかし、これでは AI エージェントと連携してないので、何もできません。",[14,126,127],{},[105,128],{"src":129,"alt":130,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_030.webp?alt=media","a2a-demo-guide_030",[14,132,133],{},"AI エージェントを立ち上げて連携してみます。",[14,135,136],{},"AI エージェントのサンプルコードは JavaScript と Python があります。私はJavaScript の方が慣れているので、JavaScript で実行します。",[14,138,139,140,143],{},"これから立ち上げるエージェントは",[62,141,142],{},"coder","というプログラムのコーディング機能を持ったエージェントです。",[14,145,146,147,150],{},"ちなみに",[62,148,149],{},"list_remote_agents","と入力すると実行可能なエージェントの一覧を提示してくれるようです。",[36,152,154],{"id":153},"_1-ディレクトリに移動する","1. ディレクトリに移動する",[55,156,159],{"className":157,"code":158,"language":60},[58],"cd samples\u002Fjs\n",[62,160,158],{"__ignoreMap":64},[36,162,164],{"id":163},"_2-依存関係をインストール","2. 依存関係をインストール",[55,166,169],{"className":167,"code":168,"language":60},[58],"npm install\n",[62,170,168],{"__ignoreMap":64},[36,172,174],{"id":173},"_3-api-key-の設定","3. API Key の設定",[55,176,180],{"className":177,"code":178,"language":179,"meta":64,"style":64},"language-bash shiki shiki-themes github-light github-dark","export GEMINI_API_KEY=\u003Cyour_api_key>\n","bash",[62,181,182],{"__ignoreMap":64},[183,184,187,191,195,198,201],"span",{"class":185,"line":186},"line",1,[183,188,190],{"class":189},"szBVR","export",[183,192,194],{"class":193},"sVt8B"," GEMINI_API_KEY",[183,196,197],{"class":189},"=\u003C",[183,199,200],{"class":193},"your_api_key",[183,202,203],{"class":189},">\n",[14,205,206,209],{},[62,207,208],{},"\u003Cyour_api_key>","の部分に、先ほどと同じ Gemini の API Key を設定しました。",[36,211,213],{"id":212},"_4-エージェントを立ちあげ","4. エージェントを立ちあげ",[55,215,218],{"className":216,"code":217,"language":60},[58],"npm run agents:coder\n",[62,219,217],{"__ignoreMap":64},[55,221,224],{"className":222,"code":223,"language":60},[58],"> a2a-samples-js@0.1.0 agents:coder\n> npx tsx src\u002Fagents\u002Fcoder\u002Findex.ts\n\n(node:16028) ExperimentalWarning: CommonJS module \u002Fopt\u002Fhomebrew\u002Flib\u002Fnode_modules\u002Fnpm\u002Fnode_modules\u002Fdebug\u002Fsrc\u002Fnode.js is loading ES Module \u002Fopt\u002Fhomebrew\u002Flib\u002Fnode_modules\u002Fnpm\u002Fnode_modules\u002Fsupports-color\u002Findex.js using require().\nSupport for loading ES Module in require() is an experimental feature and might change at any time\n(Use `node --trace-warnings ...` to show where the warning was created)\n[CoderAgent] Server started on http:\u002F\u002Flocalhost:41241\n[CoderAgent] Press Ctrl+C to stop the server\nA2A Server listening on port 41241 at path \u002F\n",[62,225,223],{"__ignoreMap":64},[14,227,228,231],{},[62,229,230],{},"http:\u002F\u002Flocalhost:41241","にエージェントが立ち上がりました。",[36,233,235],{"id":234},"_5-エージェントを連携する","5. エージェントを連携する",[14,237,238,239,242],{},"起動したエージェントをサイトに連携します。先ほど起動したエージェントの URL である、",[62,240,241],{},"localhost:41241","を入力します。",[14,244,245],{},[105,246],{"src":247,"alt":248,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_040.webp?alt=media","a2a-demo-guide_040",[14,250,251,254],{},[62,252,253],{},"Read","を押すと読み込まれて、エージェントを登録できるようになります。",[14,256,257],{},[105,258],{"src":259,"alt":260,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_050.webp?alt=media","a2a-demo-guide_050",[14,262,263,264],{},"エージェントの一覧に追加することができました。\n",[105,265],{"src":266,"alt":267,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_060.webp?alt=media","a2a-demo-guide_060",[14,269,270],{},"もう一度コードを書くように指示してみます。",[14,272,273],{},[105,274],{"src":275,"alt":276,"loading":109},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fai%2Fa2a-guide%2Fa2a-demo-guide_070.webp?alt=media","a2a-demo-guide_070",[14,278,279],{},"できましたね。",[10,281,282],{"id":282},"さいごに",[14,284,285],{},"A2A でのエージェントはテキストを返すだけでなく、様々なタスクを実行することを想定されているようです。どうなるのか楽しみです。",[287,288,289],"style",{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":64,"searchDepth":291,"depth":291,"links":292},2,[293,294,302,309],{"id":12,"depth":291,"text":12},{"id":31,"depth":291,"text":31,"children":295},[296,298,299,301],{"id":38,"depth":297,"text":39},3,{"id":52,"depth":297,"text":53},{"id":67,"depth":297,"text":300},"3. API Kye を.envに設定する",{"id":88,"depth":297,"text":89},{"id":121,"depth":291,"text":121,"children":303},[304,305,306,307,308],{"id":153,"depth":297,"text":154},{"id":163,"depth":297,"text":164},{"id":173,"depth":297,"text":174},{"id":212,"depth":297,"text":213},{"id":234,"depth":297,"text":235},{"id":282,"depth":291,"text":282},"ai","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:A2A 試してみた,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png","2025\u002F05\u002F01","A2AとはAIエージェントとAIエージェントが連携するための規格です。Googleが2025年4月に発表しました。Googleのサンプルコードを動かしてみます。","md",true,{"emoji":317,"type":318,"topics":319,"published":315},"🧪","tech",[],"\u002Farticles\u002F2025\u002Fa2a-guide",{"title":5,"description":313},"a2a-guide","articles\u002F2025\u002Fa2a-guide",[325],"AI","g6HAzaHbGBpyneLesecXHtSEPp-TEmNEC2lQTMgow2U",{"items":328,"total":471},[329,339,348,354,362,370,377,386,393,397,407,414,421,431,438,447,457,464],{"_path":330,"title":331,"description":332,"cover":333,"alt":331,"category":334,"categoryBasePath":335,"tags":336,"createDate":337,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2026\u002Fmy-app-stack\u002F","2年半のフルプラットフォーム開発について全部書く","2年半前、人生で一番追い詰められたプロジェクトが終わりました。少しだけ時間に余裕ができたので、個人で運用していたWebアプリをリプレイスすることにしました。そしてあれこれ試行錯誤していたら、2年半経っていました。やりたかった事を一通りやり切ることができたので、こだわり部分を紹介します。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_72_bold:フルプラットフォーム開発について全部書く,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fogp_my-web-app-stack_ztafxo.webp","other","\u002Farticles\u002Fcategory\u002Fother\u002F",[],"2026\u002F04\u002F08","ja",{"_path":340,"title":341,"description":342,"cover":343,"alt":343,"category":64,"categoryBasePath":344,"tags":345,"createDate":346,"homepage":347,"recommend":347,"showCover":347,"lang":338},"\u002Farticles\u002F2026\u002Fthe-goal\u002F","『ザ・ゴール ― 企業の究極の目的とは何か』を読んだ","「ザ・ゴール ― 企業の究極の目的とは何か」を読みました。",null,"\u002Farticles\u002Fcategory\u002F",[],"2026\u002F02\u002F10",false,{"_path":349,"title":350,"description":351,"cover":343,"alt":343,"category":64,"categoryBasePath":344,"tags":352,"createDate":353,"homepage":347,"recommend":347,"showCover":347,"lang":338},"\u002Farticles\u002F2026\u002Ftidy-first\u002F","『Tidy First? ―個人で実践する経験主義的ソフトウェア設計』を読んだ","「Tidy First? ―個人で実践する経験主義的ソフトウェア設計」を読んだ。",[],"2026\u002F01\u002F31",{"_path":355,"title":356,"description":64,"cover":357,"alt":356,"category":358,"categoryBasePath":359,"tags":360,"createDate":361,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fcapacitor\u002F","Vueでスマホアプリ開発【Capacitor】","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_title_cover_001_lu3vq4\u002Fl_title_cover_001_lu3vq4\u002Fl_text:MPLUS1p-Black.ttf_88_bold:Vue.jsで%0Aスマホアプリ%0A開発,co_rgb:374151,w_720,c_fit\u002Fv1712091289\u002Fthumbnail__003_prznvl.webp","vuejs","\u002Farticles\u002Fcategory\u002Fvuejs\u002F",[],"2025\u002F12\u002F27",{"_path":363,"title":364,"description":365,"cover":366,"alt":364,"category":334,"categoryBasePath":335,"tags":367,"createDate":368,"updated":369,"homepage":347,"recommend":347,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fthe-land-of-playful-fellows\u002F","紅白もちのひみつ『めっきらもっきら どおん どん』","奥さんに言われて「はっ」としました。もんもんびゃっこ達は赤いおもちを食べていて、かんたは白いおもち。これはなんらかの意味がこめられてるのでは？と思い考えてみました。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fv1712091289\u002Fthe-land-of-playful-fellows_vgkvsf",[],"2025\u002F12\u002F20","2025\u002F12\u002F22",{"_path":371,"title":372,"description":373,"cover":374,"alt":372,"category":334,"categoryBasePath":335,"tags":375,"createDate":376,"updated":376,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fpixel-astrophotography\u002F","星空写真をAndroid Pixelでキレイに撮る","キャンプ場での夜空はやっぱりキレイでした。星がよく見れます。肉眼で見れるこのキレイな星空を写真に残せたら嬉しいなーと思いながら、タイマーが終わるのを待ちます。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_title_cover_001_lu3vq4\u002Fl_title_cover_001_lu3vq4\u002Fl_text:MPLUS1p-Black.ttf_88_bold:星空写真を%0APixelで%0Aキレイに撮る,co_rgb:374151,w_720,c_fit\u002Fv1712091289\u002Fpixel-astrophotography",[],"2025\u002F09\u002F29",{"_path":378,"title":379,"description":380,"cover":381,"alt":379,"category":382,"categoryBasePath":383,"tags":384,"createDate":385,"updated":385,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fhosting-storybook\u002F","Storybookのダッシュボードを公開する","以前から Vue の UI ライブラリを Storybook を使って作っていました。その UI ライブラリの Storybook を静的サイトにビルドしてホスティングしてみました。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:Storybookの%0Aダッシュボードを%0A公開する,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png","storybook","\u002Farticles\u002Fcategory\u002Fstorybook\u002F",[],"2025\u002F05\u002F28",{"_path":387,"title":388,"description":389,"cover":390,"alt":388,"category":334,"categoryBasePath":335,"tags":391,"createDate":392,"updated":392,"homepage":347,"recommend":347,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fmemo\u002F","メモは脳の排水","紙、デジタルどちらでもなんでもメモに書き出します。書き出すことで考えが整理され、ネタ帳になってくれるので重宝しています。この「脳の排水」という言葉にグッときました。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:メモは脳の排水,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png",[],"2025\u002F05\u002F27",{"_path":394,"title":5,"description":313,"cover":311,"alt":5,"category":310,"categoryBasePath":395,"tags":396,"createDate":312,"updated":312,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fa2a-guide\u002F","\u002Farticles\u002Fcategory\u002Fai\u002F",[325],{"_path":398,"title":399,"description":400,"cover":401,"alt":399,"category":402,"categoryBasePath":403,"tags":404,"createDate":405,"updated":406,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fdify-self-hosted-guide\u002F","Dify をセルフホストで立ち上げる","Dify をセルフホストで立ち上げる機会があったので、手順を紹介します。Dify（ディファイ）は、AIアプリを簡単に開発できるオープンソースのプラットフォームです。クラウド版とセルフホスト版があります。今回は Dify をセルフホストで立ち上げてみます。公式と同じ手順で実行する。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:Dify を%0Aセルフホストで%0A立ち上げる,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png","dify","\u002Farticles\u002Fcategory\u002Fdify\u002F",[],"2025\u002F04\u002F29","2025-04-29",{"_path":408,"title":409,"description":410,"cover":411,"alt":409,"category":334,"categoryBasePath":335,"tags":412,"createDate":413,"updated":413,"homepage":347,"recommend":347,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fphysical-bookstore\u002F","リアル書店の選書体験","今回で改めて書店の良さに気付けたのが良かったです。ただ、ネット通販や電子書籍には手軽に買えるなど別の良さがあると思ってます。なのでうまく使い分けていきたいです。","https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Fjournal%2F2025%2F20250425%2F20250425_010.webp?alt=media",[],"2025\u002F04\u002F25",{"_path":415,"title":416,"description":417,"cover":418,"alt":416,"category":310,"categoryBasePath":395,"tags":419,"createDate":420,"updated":420,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fcline-guide\u002F","Cline やってみた","Clineは自分自身でコマンドを実行できるようになっています。暴走しても被害がコンテナの中だけで済むようにDevContainersを使って今回試してみました。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:Cline%20やってみた,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png",[325],"2025\u002F04\u002F16",{"_path":422,"title":423,"description":424,"cover":425,"alt":423,"category":426,"categoryBasePath":427,"tags":428,"createDate":430,"updated":430,"homepage":315,"recommend":347,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fmy-oss-projects\u002F","今まで作った OSS プロジェクト","今まで、いくつか OSS プロジェクトを作ってきたので紹介します。番外編まで含めると全部で5つあります。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:今まで作った%0AOSS%20プロジェクト,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png","oss","\u002Farticles\u002Fcategory\u002Foss\u002F",[429],"OSS","2025\u002F04\u002F02",{"_path":432,"title":433,"description":434,"cover":435,"alt":433,"category":334,"categoryBasePath":335,"tags":436,"createDate":437,"updated":437,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fbuilt-custom-keyboard\u002F","キーボードを自作した","ずっと興味のあった自作キーボードに挑戦した記録で、遊舎工房でキットやキーキャップを選び、秋葉原で工具を買い、久しぶりのはんだ付けに苦戦しながら完成させました。","https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Fjournal%2F2025%2F20250309_built-custom-keyboard%2F20250309_built-custom-keyboard_010.webp?alt=media",[],"2025\u002F03\u002F09",{"_path":439,"title":440,"description":441,"cover":442,"alt":440,"category":443,"categoryBasePath":444,"tags":445,"createDate":446,"updated":446,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Fcloudflare-workers-cache-layer\u002F","Cloudflare Workers でキャッシュ層を作る","画像サーバーの前段に Cloudflare Workers でキャッシュ層を作ったら転送量が大幅に減ったので記録です。やりかたです。1. 以下のコードで Workers を作りカスタムドメインを当てる。2. ソースコードの URL を Workers に割り当てたドメインに変更する。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:Cloudflare Workers で%0Aキャッシュ層を%0A作る,co_rgb:fff,w_720,c_fit\u002Fv1712091289\u002Fcover_2025_rpwog8.png","web","\u002Farticles\u002Fcategory\u002Fweb\u002F",[],"2025\u002F02\u002F23",{"_path":448,"title":449,"description":450,"cover":451,"alt":449,"category":452,"categoryBasePath":453,"tags":454,"createDate":455,"updated":456,"homepage":315,"recommend":347,"showCover":315,"lang":338},"\u002Farticles\u002F2022\u002Flearn-programming\u002F","プログラミング勉強のコツを調べてみた","エラーに対する態度は3パターンあります。上達が早いのはもちろん3番目のパターンです。事前に知っておくことで、エラーに直面した時に少し落ち着いて対処できそうです。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_title_cover_001_lu3vq4\u002Fl_title_cover_001_lu3vq4\u002Fl_text:MPLUS1p-Black.ttf_88_bold:プログラミング%0A勉強のコツを%0A調べてみた,co_rgb:374151,w_720,c_fit\u002Fv1642574453\u002Falfons-morales-YLSwjSy7stw-unsplash_2_1_xnt6z7.png","programming","\u002Farticles\u002Fcategory\u002Fprogramming\u002F",[],"2022\u002F05\u002F23","2025\u002F02\u002F12",{"_path":458,"title":459,"description":460,"cover":461,"alt":459,"category":334,"categoryBasePath":335,"tags":462,"createDate":463,"updated":463,"homepage":315,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2025\u002Flearn-9-years\u002F","９年間、毎日プログラミングの勉強をしてる話","仕事から帰ってきて、ご飯食べたりお風呂に入って、一息ついたらパソコンにむかって12時まで作業する。初めはビジネス書とか経済の本を読んだりしてた。それから9年経った。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_title_cover_001_lu3vq4\u002Fl_title_cover_001_lu3vq4\u002Fl_text:MPLUS1p-Black.ttf_88_bold:９年間、毎日%0Aプログラミングの勉強をしてる話,co_rgb:374151,w_720,c_fit\u002Fv1712091289\u002Fthumbnail__001_tdrr4g.webp",[],"2025\u002F02\u002F10",{"_path":465,"title":466,"description":467,"cover":468,"alt":466,"category":334,"categoryBasePath":335,"tags":469,"createDate":470,"updated":470,"homepage":347,"recommend":315,"showCover":315,"lang":338},"\u002Farticles\u002F2021\u002Fstudy-5-years\u002F","5年間ほぼ毎日プログラミングの勉強をするためにやったこと","人生の節目で一時的に勉強してない時期もありました。ですが、それ以外のほとんどの期間で毎日プログラミングを勉強しています。楽しいので、あまり勉強と思っていませんが。","https:\u002F\u002Fimage.hirameki.dev\u002Ftakasqr\u002Fimage\u002Fupload\u002Fl_text:MPLUS1p-Black.ttf_88_bold:5年間ほぼ毎日%0Aプログラミングの%0A勉強をする為に%0Aやったこと,co_rgb:fff,w_720,c_fit\u002Fv1642574453\u002Faaron-burden-QJDzYT_K8Xg-unsplash_1_xaxykh.png",[],"2021\u002F08\u002F01",18,1776498755549]