[{"data":1,"prerenderedAt":403},["ShallowReactive",2],{"article-2025-dify-self-hosted-guide":3,"articles-[]":258},{"id":4,"title":5,"alt":5,"body":6,"category":241,"cover":242,"createDate":243,"description":244,"extension":245,"homepage":246,"meta":247,"navigation":246,"path":251,"recommend":246,"seo":252,"showCover":246,"slug":253,"stem":254,"tag":255,"updated":256,"__hash__":257},"articles\u002Farticles\u002F2025\u002Fdify-self-hosted-guide.md","Dify をセルフホストで立ち上げる",{"type":7,"value":8,"toc":228},"minimark",[9,13,17,21,24,27,36,39,42,45,52,55,60,63,96,100,103,116,119,135,138,157,160,168,171,174,177,183,191,194,197,200,206,209,215,218,221,224],[10,11,12],"h2",{"id":12},"はじめに",[14,15,16],"p",{},"Dify をセルフホストで立ち上げる機会があったので、手順を紹介します。",[10,18,20],{"id":19},"dify-とは","Dify とは？",[14,22,23],{},"Dify（ディファイ）は、AIアプリを簡単に開発できるオープンソースのプラットフォームです。クラウドとセルフホストがあります。",[14,25,26],{},"セルフホストは自分でメンテナンスしていく必要があります。ですが、セルフホスト の COMUNITY なら料金がかからず AI の API 料金のみで運用できます。",[14,28,29],{},[30,31,35],"a",{"href":32,"rel":33},"https:\u002F\u002Fdify.ai",[34],"nofollow","Dify.AI · The Innovation Engine for Generative AI Applications",[14,37,38],{},"今回は Dify をセルフホストで立ち上げてみます。",[10,40,41],{"id":41},"やりかた",[14,43,44],{},"公式と同じ手順で実行していきます。",[14,46,47],{},[30,48,51],{"href":49,"rel":50},"https:\u002F\u002Fdocs.dify.ai\u002Fgetting-started\u002Finstall-self-hosted\u002Fdocker-compose#customize-dify",[34],"Deploy with Docker Compose | Dify",[14,53,54],{},"Dify のセルフホストは Docker を使用します。Docker は既にインストールされているものとします。",[56,57,59],"h3",{"id":58},"_1-ソースコードをクローンする","1. ソースコードをクローンする",[14,61,62],{},"GitHub からソースコードをクローンする。",[64,65,70],"pre",{"className":66,"code":67,"language":68,"meta":69,"style":69},"language-bash shiki shiki-themes github-light github-dark","git clone https:\u002F\u002Fgithub.com\u002Flanggenius\u002Fdify.git --branch 0.15.3\n","bash","",[71,72,73],"code",{"__ignoreMap":69},[74,75,78,82,86,89,93],"span",{"class":76,"line":77},"line",1,[74,79,81],{"class":80},"sScJk","git",[74,83,85],{"class":84},"sZZnC"," clone",[74,87,88],{"class":84}," https:\u002F\u002Fgithub.com\u002Flanggenius\u002Fdify.git",[74,90,92],{"class":91},"sj4cs"," --branch",[74,94,95],{"class":91}," 0.15.3\n",[56,97,99],{"id":98},"_2-dify-を立ち上げる","2. Dify を立ち上げる",[14,101,102],{},"ディレクトリを移動します。",[64,104,106],{"className":66,"code":105,"language":68,"meta":69,"style":69},"cd dify\u002Fdocker\n",[71,107,108],{"__ignoreMap":69},[74,109,110,113],{"class":76,"line":77},[74,111,112],{"class":91},"cd",[74,114,115],{"class":84}," dify\u002Fdocker\n",[14,117,118],{},"設定ファイルを作成します。",[64,120,122],{"className":66,"code":121,"language":68,"meta":69,"style":69},"cp .env.example .env\n",[71,123,124],{"__ignoreMap":69},[74,125,126,129,132],{"class":76,"line":77},[74,127,128],{"class":80},"cp",[74,130,131],{"class":84}," .env.example",[74,133,134],{"class":84}," .env\n",[14,136,137],{},"Dify を立ち上げます。",[64,139,141],{"className":66,"code":140,"language":68,"meta":69,"style":69},"docker compose up -d\n",[71,142,143],{"__ignoreMap":69},[74,144,145,148,151,154],{"class":76,"line":77},[74,146,147],{"class":80},"docker",[74,149,150],{"class":84}," compose",[74,152,153],{"class":84}," up",[74,155,156],{"class":91}," -d\n",[14,158,159],{},"初回は諸々のダウンロードが始まります。それが終わるとサーバーが立ち上がります。",[64,161,166],{"className":162,"code":164,"language":165},[163],"language-text","[+] Running 12\u002F12\n ✔ db 11 layers [⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿]      0B\u002F0B      Pulled                      38.7s \n   ✔ 6e771e15690e Already exists                                           0.0s \n   ✔ 16d48755775e Pull complete                                            1.2s \n   ✔ d35fcfe67dca Pull complete                                            2.0s \n   ✔ 2efe9af599f1 Pull complete                                            1.2s \n   ✔ 768b1e3f7c95 Pull complete                                            2.6s \n   ✔ 6cc6f7394339 Pull complete                                           33.1s \n   ✔ 3deae01142f0 Pull complete                                            3.6s \n   ✔ 7ceb4e9dd01c Pull complete                                            5.7s \n   ✔ 55cf87a785a8 Pull complete                                            7.6s \n   ✔ 9fb1b4c3052a Pull complete                                            8.9s \n   ✔ 8bcd661a2d69 Pull complete                                           10.4s \n[+] Building 0.0s (0\u002F0)                                    docker:desktop-linux\n[+] Running 11\u002F11\n ✔ Network docker_ssrf_proxy_network  Created                              0.0s \n ✔ Network docker_default             Created                              0.0s \n ✔ Container docker-weaviate-1        Sta...                               0.3s \n ✔ Container docker-web-1             Started                              0.3s \n ✔ Container docker-redis-1           Starte...                            0.3s \n ✔ Container docker-ssrf_proxy-1      S...                                 0.3s \n ✔ Container docker-sandbox-1         Star...                              0.3s \n ✔ Container docker-db-1              Started                              0.3s \n ✔ Container docker-api-1             Started                              0.1s \n ✔ Container docker-worker-1          Start...                             0.1s \n ✔ Container docker-nginx-1           Starte...                            0.0s \n","text",[71,167,164],{"__ignoreMap":69},[14,169,170],{},"これだけで、Dify が立ち上がってしまいました。Docker の知識が必要ですが、とても簡単でびっくりしました。",[10,172,173],{"id":173},"ログインする",[14,175,176],{},"以下の URL にアクセスして、管理者アカウントを作成します。ブラウザで以下の URL にアクセスします。",[64,178,181],{"className":179,"code":180,"language":165},[163],"http:\u002F\u002Flocalhost\u002Finstall\n",[71,182,180],{"__ignoreMap":69},[14,184,185],{},[186,187],"img",{"src":188,"alt":189,"loading":190},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fdify%2Fdify-self-hosted-guide%2Fdify_010.webp?alt=media","dify-self-hosted-guide_010","lazy",[10,192,193],{"id":193},"アプリを作る",[14,195,196],{},"アカウントを作ったら、「アプリ」を作ってみます。Dify ではアプリを通して AI とやりとりしていくようです。",[14,198,199],{},"ただ、メッセージをやり取りする、「おしゃべり」というアプリを作ってみます。",[14,201,202],{},[186,203],{"src":204,"alt":205,"loading":190},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fdify%2Fdify-self-hosted-guide%2Fdify_020.webp?alt=media","dify-self-hosted-guide_020",[14,207,208],{},"できました。",[14,210,211],{},[186,212],{"src":213,"alt":214,"loading":190},"https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Ftech%2Fdify%2Fdify-self-hosted-guide%2Fdify_030.webp?alt=media","dify-self-hosted-guide_030",[14,216,217],{},"スクリーンショットにはないですが、OpenAI などの外部の AI の API キーを設定する必要がありました。",[10,219,220],{"id":220},"さいごに",[14,222,223],{},"今回は Dify のセルフホスト版を立ち上げてみました。とても簡単でおすすめです。",[225,226,227],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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":69,"searchDepth":229,"depth":229,"links":230},2,[231,232,233,238,239,240],{"id":12,"depth":229,"text":12},{"id":19,"depth":229,"text":20},{"id":41,"depth":229,"text":41,"children":234},[235,237],{"id":58,"depth":236,"text":59},3,{"id":98,"depth":236,"text":99},{"id":173,"depth":229,"text":173},{"id":193,"depth":229,"text":193},{"id":220,"depth":229,"text":220},"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","2025\u002F04\u002F29","Dify をセルフホストで立ち上げる機会があったので、手順を紹介します。Dify（ディファイ）は、AIアプリを簡単に開発できるオープンソースのプラットフォームです。クラウド版とセルフホスト版があります。今回は Dify をセルフホストで立ち上げてみます。公式と同じ手順で実行する。","md",true,{"emoji":248,"type":249,"topics":250,"published":246},"🧪","tech",[],"\u002Farticles\u002F2025\u002Fdify-self-hosted-guide",{"title":5,"description":244},"dify-self-hosted-guide","articles\u002F2025\u002Fdify-self-hosted-guide",[],"2025-04-29","KF-wrfXZd51H5AWoWlmMC5D-9M99atIckjiMprnnbfA",{"items":259,"total":402},[260,270,279,285,293,301,308,317,324,334,338,345,352,362,369,378,388,395],{"_path":261,"title":262,"description":263,"cover":264,"alt":262,"category":265,"categoryBasePath":266,"tags":267,"createDate":268,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":271,"title":272,"description":273,"cover":274,"alt":274,"category":69,"categoryBasePath":275,"tags":276,"createDate":277,"homepage":278,"recommend":278,"showCover":278,"lang":269},"\u002Farticles\u002F2026\u002Fthe-goal\u002F","『ザ・ゴール ― 企業の究極の目的とは何か』を読んだ","「ザ・ゴール ― 企業の究極の目的とは何か」を読みました。",null,"\u002Farticles\u002Fcategory\u002F",[],"2026\u002F02\u002F10",false,{"_path":280,"title":281,"description":282,"cover":274,"alt":274,"category":69,"categoryBasePath":275,"tags":283,"createDate":284,"homepage":278,"recommend":278,"showCover":278,"lang":269},"\u002Farticles\u002F2026\u002Ftidy-first\u002F","『Tidy First? ―個人で実践する経験主義的ソフトウェア設計』を読んだ","「Tidy First? ―個人で実践する経験主義的ソフトウェア設計」を読んだ。",[],"2026\u002F01\u002F31",{"_path":286,"title":287,"description":69,"cover":288,"alt":287,"category":289,"categoryBasePath":290,"tags":291,"createDate":292,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":294,"title":295,"description":296,"cover":297,"alt":295,"category":265,"categoryBasePath":266,"tags":298,"createDate":299,"updated":300,"homepage":278,"recommend":278,"showCover":246,"lang":269},"\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":302,"title":303,"description":304,"cover":305,"alt":303,"category":265,"categoryBasePath":266,"tags":306,"createDate":307,"updated":307,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":309,"title":310,"description":311,"cover":312,"alt":310,"category":313,"categoryBasePath":314,"tags":315,"createDate":316,"updated":316,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":318,"title":319,"description":320,"cover":321,"alt":319,"category":265,"categoryBasePath":266,"tags":322,"createDate":323,"updated":323,"homepage":278,"recommend":278,"showCover":246,"lang":269},"\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":325,"title":326,"description":327,"cover":328,"alt":326,"category":329,"categoryBasePath":330,"tags":331,"createDate":333,"updated":333,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\u002Farticles\u002F2025\u002Fa2a-guide\u002F","A2A 試してみた","A2AとはAIエージェントとAIエージェントが連携するための規格です。Googleが2025年4月に発表しました。Googleのサンプルコードを動かしてみます。","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","ai","\u002Farticles\u002Fcategory\u002Fai\u002F",[332],"AI","2025\u002F05\u002F01",{"_path":335,"title":5,"description":244,"cover":242,"alt":5,"category":241,"categoryBasePath":336,"tags":337,"createDate":243,"updated":256,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\u002Farticles\u002F2025\u002Fdify-self-hosted-guide\u002F","\u002Farticles\u002Fcategory\u002Fdify\u002F",[],{"_path":339,"title":340,"description":341,"cover":342,"alt":340,"category":265,"categoryBasePath":266,"tags":343,"createDate":344,"updated":344,"homepage":278,"recommend":278,"showCover":246,"lang":269},"\u002Farticles\u002F2025\u002Fphysical-bookstore\u002F","リアル書店の選書体験","今回で改めて書店の良さに気付けたのが良かったです。ただ、ネット通販や電子書籍には手軽に買えるなど別の良さがあると思ってます。なのでうまく使い分けていきたいです。","https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Fjournal%2F2025%2F20250425%2F20250425_010.webp?alt=media",[],"2025\u002F04\u002F25",{"_path":346,"title":347,"description":348,"cover":349,"alt":347,"category":329,"categoryBasePath":330,"tags":350,"createDate":351,"updated":351,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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",[332],"2025\u002F04\u002F16",{"_path":353,"title":354,"description":355,"cover":356,"alt":354,"category":357,"categoryBasePath":358,"tags":359,"createDate":361,"updated":361,"homepage":246,"recommend":278,"showCover":246,"lang":269},"\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",[360],"OSS","2025\u002F04\u002F02",{"_path":363,"title":364,"description":365,"cover":366,"alt":364,"category":265,"categoryBasePath":266,"tags":367,"createDate":368,"updated":368,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":370,"title":371,"description":372,"cover":373,"alt":371,"category":374,"categoryBasePath":375,"tags":376,"createDate":377,"updated":377,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":379,"title":380,"description":381,"cover":382,"alt":380,"category":383,"categoryBasePath":384,"tags":385,"createDate":386,"updated":387,"homepage":246,"recommend":278,"showCover":246,"lang":269},"\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":389,"title":390,"description":391,"cover":392,"alt":390,"category":265,"categoryBasePath":266,"tags":393,"createDate":394,"updated":394,"homepage":246,"recommend":246,"showCover":246,"lang":269},"\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":396,"title":397,"description":398,"cover":399,"alt":397,"category":265,"categoryBasePath":266,"tags":400,"createDate":401,"updated":401,"homepage":278,"recommend":246,"showCover":246,"lang":269},"\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]