[{"data":1,"prerenderedAt":239},["ShallowReactive",2],{"article-2021-study-5-years":3,"articles-[]":94},{"id":4,"title":5,"alt":5,"body":6,"category":80,"cover":81,"createDate":82,"description":83,"extension":84,"homepage":85,"meta":86,"navigation":87,"path":88,"recommend":87,"seo":89,"showCover":87,"slug":90,"stem":91,"tag":92,"updated":82,"__hash__":93},"articles\u002Farticles\u002F2021\u002Fstudy-5-years.md","5年間ほぼ毎日プログラミングの勉強をするためにやったこと",{"type":7,"value":8,"toc":71},"minimark",[9,13,17,20,23,26,29,32,35,38,41,44,47,50,53,56,59,62,65,68],[10,11,12],"h2",{"id":12},"はじめに",[14,15,16],"p",{},"私はソフトウェアエンジニアとして、ある会社で働いています。\n今の会社で働いている間に結婚して、子供も生まれて、デスマーチみたいなプロジェクトも経験しました。",[14,18,19],{},"もちろん、人生の節目で一時的に勉強してない時期もありました。\nですが、それ以外のほとんどの期間で毎日プログラミングを勉強しています。",[14,21,22],{},"楽しいので、あまり勉強と思っていませんが。",[14,24,25],{},"今回はどうやって毎日勉強するようになったのか整理したいと思います。",[10,27,28],{"id":28},"楽しくできる仕組みが大事",[14,30,31],{},"なんで毎日プログラミングの勉強することができたのか?",[14,33,34],{},"それは自分のアプリやサイトを楽しく作ることで、プログラミング学習となるように意識していたからです。",[14,36,37],{},"例えば会社で Vue のサイトを構築することになった時に、私はプライベートでも Vue プロジェクトを立ち上げました。\nそして自分の作りたい Web アプリを Vue で構築して遊んでいました。",[14,39,40],{},"プライベートプロジェクトで遊んでいたことが予習になって、会社の仕事で活きる場面がたくさんありました。\nそして、会社のプロジェクトも締め切り通りに作り終えることが出来ました。",[14,42,43],{},"自分の好きなテーマでアプリケーションを作ることで、モチベーションを保ちながら勉強することができたと思います。",[14,45,46],{},"これが、ただ参考書を開いて勉強するだけだったら続けられなかったと思います。",[10,48,49],{"id":49},"コストがあまりかからない",[14,51,52],{},"Web サイトは Firebase など無料で始められるサービスを使えば、運用コストを抑えられることができます。",[14,54,55],{},"毎月、何万円もかかってしまうとなると尻込みしてしまいますが、多くても数千円程度しかかかってないです。金銭的なコストがかからないことも長く続けることができた要因だと思います。",[10,57,58],{"id":58},"習慣にする",[14,60,61],{},"毎日プログラミング学習することを習慣にできると、続けやすくなります。",[14,63,64],{},"私はいつも、夜ご飯食べてお風呂に入った後に PC に向かって作業するようにしています。習慣化したい作業を毎日同じタイミングで行うことで、習慣化しやすくなります。",[10,66,67],{"id":67},"さいごに",[14,69,70],{},"誰かのプログラミング学習の参考になれば幸いです。",{"title":72,"searchDepth":73,"depth":73,"links":74},"",2,[75,76,77,78,79],{"id":12,"depth":73,"text":12},{"id":28,"depth":73,"text":28},{"id":49,"depth":73,"text":49},{"id":58,"depth":73,"text":58},{"id":67,"depth":73,"text":67},"other","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","人生の節目で一時的に勉強してない時期もありました。ですが、それ以外のほとんどの期間で毎日プログラミングを勉強しています。楽しいので、あまり勉強と思っていませんが。","md",false,{},true,"\u002Farticles\u002F2021\u002Fstudy-5-years",{"title":5,"description":83},"study-5-years","articles\u002F2021\u002Fstudy-5-years",[],"XvMKg8MfOKTHEln8wqVhTXNb05J5DPbK2qPPuoQxMEA",{"items":95,"total":238},[96,105,113,119,127,135,142,151,158,168,178,185,192,202,209,218,228,235],{"_path":97,"title":98,"description":99,"cover":100,"alt":98,"category":80,"categoryBasePath":101,"tags":102,"createDate":103,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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","\u002Farticles\u002Fcategory\u002Fother\u002F",[],"2026\u002F04\u002F08","ja",{"_path":106,"title":107,"description":108,"cover":109,"alt":109,"category":72,"categoryBasePath":110,"tags":111,"createDate":112,"homepage":85,"recommend":85,"showCover":85,"lang":104},"\u002Farticles\u002F2026\u002Fthe-goal\u002F","『ザ・ゴール ― 企業の究極の目的とは何か』を読んだ","「ザ・ゴール ― 企業の究極の目的とは何か」を読みました。",null,"\u002Farticles\u002Fcategory\u002F",[],"2026\u002F02\u002F10",{"_path":114,"title":115,"description":116,"cover":109,"alt":109,"category":72,"categoryBasePath":110,"tags":117,"createDate":118,"homepage":85,"recommend":85,"showCover":85,"lang":104},"\u002Farticles\u002F2026\u002Ftidy-first\u002F","『Tidy First? ―個人で実践する経験主義的ソフトウェア設計』を読んだ","「Tidy First? ―個人で実践する経験主義的ソフトウェア設計」を読んだ。",[],"2026\u002F01\u002F31",{"_path":120,"title":121,"description":72,"cover":122,"alt":121,"category":123,"categoryBasePath":124,"tags":125,"createDate":126,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":128,"title":129,"description":130,"cover":131,"alt":129,"category":80,"categoryBasePath":101,"tags":132,"createDate":133,"updated":134,"homepage":85,"recommend":85,"showCover":87,"lang":104},"\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":136,"title":137,"description":138,"cover":139,"alt":137,"category":80,"categoryBasePath":101,"tags":140,"createDate":141,"updated":141,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":143,"title":144,"description":145,"cover":146,"alt":144,"category":147,"categoryBasePath":148,"tags":149,"createDate":150,"updated":150,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":152,"title":153,"description":154,"cover":155,"alt":153,"category":80,"categoryBasePath":101,"tags":156,"createDate":157,"updated":157,"homepage":85,"recommend":85,"showCover":87,"lang":104},"\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":159,"title":160,"description":161,"cover":162,"alt":160,"category":163,"categoryBasePath":164,"tags":165,"createDate":167,"updated":167,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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",[166],"AI","2025\u002F05\u002F01",{"_path":169,"title":170,"description":171,"cover":172,"alt":170,"category":173,"categoryBasePath":174,"tags":175,"createDate":176,"updated":177,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":179,"title":180,"description":181,"cover":182,"alt":180,"category":80,"categoryBasePath":101,"tags":183,"createDate":184,"updated":184,"homepage":85,"recommend":85,"showCover":87,"lang":104},"\u002Farticles\u002F2025\u002Fphysical-bookstore\u002F","リアル書店の選書体験","今回で改めて書店の良さに気付けたのが良かったです。ただ、ネット通販や電子書籍には手軽に買えるなど別の良さがあると思ってます。なのでうまく使い分けていきたいです。","https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Fjournal%2F2025%2F20250425%2F20250425_010.webp?alt=media",[],"2025\u002F04\u002F25",{"_path":186,"title":187,"description":188,"cover":189,"alt":187,"category":163,"categoryBasePath":164,"tags":190,"createDate":191,"updated":191,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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",[166],"2025\u002F04\u002F16",{"_path":193,"title":194,"description":195,"cover":196,"alt":194,"category":197,"categoryBasePath":198,"tags":199,"createDate":201,"updated":201,"homepage":87,"recommend":85,"showCover":87,"lang":104},"\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",[200],"OSS","2025\u002F04\u002F02",{"_path":203,"title":204,"description":205,"cover":206,"alt":204,"category":80,"categoryBasePath":101,"tags":207,"createDate":208,"updated":208,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":210,"title":211,"description":212,"cover":213,"alt":211,"category":214,"categoryBasePath":215,"tags":216,"createDate":217,"updated":217,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":219,"title":220,"description":221,"cover":222,"alt":220,"category":223,"categoryBasePath":224,"tags":225,"createDate":226,"updated":227,"homepage":87,"recommend":85,"showCover":87,"lang":104},"\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":229,"title":230,"description":231,"cover":232,"alt":230,"category":80,"categoryBasePath":101,"tags":233,"createDate":234,"updated":234,"homepage":87,"recommend":87,"showCover":87,"lang":104},"\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":236,"title":5,"description":83,"cover":81,"alt":5,"category":80,"categoryBasePath":101,"tags":237,"createDate":82,"updated":82,"homepage":85,"recommend":87,"showCover":87,"lang":104},"\u002Farticles\u002F2021\u002Fstudy-5-years\u002F",[],18,1776498755852]