[{"data":1,"prerenderedAt":273},["ShallowReactive",2],{"article-2022-learn-programming":3,"articles-[]":129},{"id":4,"title":5,"alt":5,"body":6,"category":114,"cover":115,"createDate":116,"description":117,"extension":118,"homepage":119,"meta":120,"navigation":119,"path":121,"recommend":122,"seo":123,"showCover":119,"slug":124,"stem":125,"tag":126,"updated":127,"__hash__":128},"articles\u002Farticles\u002F2022\u002Flearn-programming.md","プログラミング勉強のコツを調べてみた",{"type":7,"value":8,"toc":103},"minimark",[9,13,17,20,23,27,30,33,36,39,42,45,48,51,54,57,70,73,76,79,82,85,88,91,94],[10,11,12],"h2",{"id":12},"はじめに",[14,15,16],"p",{},"私はエンジニアとして働いています。仕事柄、毎日新しいことを勉強しながら過ごしています。",[14,18,19],{},"私はプログラミングを一生続けていきたいと思っています。なのでもっと自分の技術力を上げていきたいです。",[14,21,22],{},"一度、プログラミングの勉強の仕方自体を調べてみることにしました。",[10,24,26],{"id":25},"プログラミング上級者ってどんな人","プログラミング上級者ってどんな人？",[14,28,29],{},"まず、技術力のある人(上級者)はどんな人なのか調べることで、そこに近づく足がかりになりそうです。",[14,31,32],{},"プログラミングの上級者の特徴を調べた研究では「自分の中に応用の効く知識を沢山持っている」という結果になったそうです。",[14,34,35],{},"なんとも当たり前の結果ですね。ですが逆に考えると、自分の中に使える知識を効率的に蓄えることができれば、ちゃんとプログラミング上級者になることができるということになります。",[14,37,38],{},"次からは効率的に使える知識を蓄える方法を考えてみます。",[10,40,41],{"id":41},"マシンイメージ",[14,43,44],{},"ある別の研究では、上達の速い「筋のいい初心者」ほど頭の中に正確なコンピューターのイメージがあったそうです。",[14,46,47],{},"エラーを解決するためにそのコンピューターイメージを使って、どうすれば解決できるか脳内シュミレーションすることができるということだと思います。",[10,49,50],{"id":50},"エラーに対する態度",[14,52,53],{},"エラーに対する態度によっても上達速度が違ってきます。",[14,55,56],{},"エラーに対する態度は3パターンあります。",[58,59,60,64,67],"ol",{},[61,62,63],"li",{},"うまくいかないことに怒り出す人",[61,65,66],{},"闇雲にコードを変えてうまくいくか試す人",[61,68,69],{},"なぜエラーが出てるか考えて試していく人",[14,71,72],{},"上達が早いのはもちろん3番目のパターンです。言われてみれば当たり前な話ですが、エラーに直面している時にこんなことまでなかなか考えないと思います。",[14,74,75],{},"事前に知っておくことで、エラーに直面した時に少し落ち着いて対処できそうです。",[10,77,78],{"id":78},"脳内メモリ",[14,80,81],{},"プログラミングは認知しなければいけない情報量が多いのでワーキングメモリ(作業記憶)が重要です。コンピュータのメモリと一緒です。ワーキングメモリが広いと一度にたくさんの概念を保持しておけるので、複雑な理論などを理解しやすいというわけです。",[14,83,84],{},"ワーキングメモリが広いことも重要なのですが、上級者は情報をうまくグループ化できるのでワーキングメモリを節約できるそうです。ここでも知っている知識の量が関わってくるというわけです。",[10,86,87],{"id":87},"最後に",[14,89,90],{},"参考にした論文をまとめた本は6,000円近くする上に洋書だったのですが、参考になる内容が沢山ありました。",[10,92,93],{"id":93},"参考",[14,95,96],{},[97,98,102],"a",{"href":99,"rel":100},"https:\u002F\u002Famzn.asia\u002Fd\u002F6fsMsT8",[101],"nofollow","Amazon.co.jp: The Cambridge Handbook of Computing Education Research (Cambridge Handbooks in Psychology) (English Edition) 電子書籍: Fincher, Sally A., Robins, Anthony V.: 洋書",{"title":104,"searchDepth":105,"depth":105,"links":106},"",2,[107,108,109,110,111,112,113],{"id":12,"depth":105,"text":12},{"id":25,"depth":105,"text":26},{"id":41,"depth":105,"text":41},{"id":50,"depth":105,"text":50},{"id":78,"depth":105,"text":78},{"id":87,"depth":105,"text":87},{"id":93,"depth":105,"text":93},"programming","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","2022\u002F05\u002F23","エラーに対する態度は3パターンあります。上達が早いのはもちろん3番目のパターンです。事前に知っておくことで、エラーに直面した時に少し落ち着いて対処できそうです。","md",true,{},"\u002Farticles\u002F2022\u002Flearn-programming",false,{"title":5,"description":117},"learn-programming","articles\u002F2022\u002Flearn-programming",[],"2025\u002F02\u002F12","WgCF48UK0FrkrKmm4fy5Rah0pSttkGTJrD4ZkP5VH7Y",{"items":130,"total":272},[131,141,149,155,163,171,178,187,194,204,214,221,228,238,245,254,258,265],{"_path":132,"title":133,"description":134,"cover":135,"alt":133,"category":136,"categoryBasePath":137,"tags":138,"createDate":139,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":142,"title":143,"description":144,"cover":145,"alt":145,"category":104,"categoryBasePath":146,"tags":147,"createDate":148,"homepage":122,"recommend":122,"showCover":122,"lang":140},"\u002Farticles\u002F2026\u002Fthe-goal\u002F","『ザ・ゴール ― 企業の究極の目的とは何か』を読んだ","「ザ・ゴール ― 企業の究極の目的とは何か」を読みました。",null,"\u002Farticles\u002Fcategory\u002F",[],"2026\u002F02\u002F10",{"_path":150,"title":151,"description":152,"cover":145,"alt":145,"category":104,"categoryBasePath":146,"tags":153,"createDate":154,"homepage":122,"recommend":122,"showCover":122,"lang":140},"\u002Farticles\u002F2026\u002Ftidy-first\u002F","『Tidy First? ―個人で実践する経験主義的ソフトウェア設計』を読んだ","「Tidy First? ―個人で実践する経験主義的ソフトウェア設計」を読んだ。",[],"2026\u002F01\u002F31",{"_path":156,"title":157,"description":104,"cover":158,"alt":157,"category":159,"categoryBasePath":160,"tags":161,"createDate":162,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":164,"title":165,"description":166,"cover":167,"alt":165,"category":136,"categoryBasePath":137,"tags":168,"createDate":169,"updated":170,"homepage":122,"recommend":122,"showCover":119,"lang":140},"\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":172,"title":173,"description":174,"cover":175,"alt":173,"category":136,"categoryBasePath":137,"tags":176,"createDate":177,"updated":177,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":179,"title":180,"description":181,"cover":182,"alt":180,"category":183,"categoryBasePath":184,"tags":185,"createDate":186,"updated":186,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":188,"title":189,"description":190,"cover":191,"alt":189,"category":136,"categoryBasePath":137,"tags":192,"createDate":193,"updated":193,"homepage":122,"recommend":122,"showCover":119,"lang":140},"\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":195,"title":196,"description":197,"cover":198,"alt":196,"category":199,"categoryBasePath":200,"tags":201,"createDate":203,"updated":203,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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",[202],"AI","2025\u002F05\u002F01",{"_path":205,"title":206,"description":207,"cover":208,"alt":206,"category":209,"categoryBasePath":210,"tags":211,"createDate":212,"updated":213,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":215,"title":216,"description":217,"cover":218,"alt":216,"category":136,"categoryBasePath":137,"tags":219,"createDate":220,"updated":220,"homepage":122,"recommend":122,"showCover":119,"lang":140},"\u002Farticles\u002F2025\u002Fphysical-bookstore\u002F","リアル書店の選書体験","今回で改めて書店の良さに気付けたのが良かったです。ただ、ネット通販や電子書籍には手軽に買えるなど別の良さがあると思ってます。なのでうまく使い分けていきたいです。","https:\u002F\u002Fasset.hirameki.dev\u002Fimg%2Fblog%2Fjournal%2F2025%2F20250425%2F20250425_010.webp?alt=media",[],"2025\u002F04\u002F25",{"_path":222,"title":223,"description":224,"cover":225,"alt":223,"category":199,"categoryBasePath":200,"tags":226,"createDate":227,"updated":227,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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",[202],"2025\u002F04\u002F16",{"_path":229,"title":230,"description":231,"cover":232,"alt":230,"category":233,"categoryBasePath":234,"tags":235,"createDate":237,"updated":237,"homepage":119,"recommend":122,"showCover":119,"lang":140},"\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",[236],"OSS","2025\u002F04\u002F02",{"_path":239,"title":240,"description":241,"cover":242,"alt":240,"category":136,"categoryBasePath":137,"tags":243,"createDate":244,"updated":244,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":246,"title":247,"description":248,"cover":249,"alt":247,"category":250,"categoryBasePath":251,"tags":252,"createDate":253,"updated":253,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":255,"title":5,"description":117,"cover":115,"alt":5,"category":114,"categoryBasePath":256,"tags":257,"createDate":116,"updated":127,"homepage":119,"recommend":122,"showCover":119,"lang":140},"\u002Farticles\u002F2022\u002Flearn-programming\u002F","\u002Farticles\u002Fcategory\u002Fprogramming\u002F",[],{"_path":259,"title":260,"description":261,"cover":262,"alt":260,"category":136,"categoryBasePath":137,"tags":263,"createDate":264,"updated":264,"homepage":119,"recommend":119,"showCover":119,"lang":140},"\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":266,"title":267,"description":268,"cover":269,"alt":267,"category":136,"categoryBasePath":137,"tags":270,"createDate":271,"updated":271,"homepage":122,"recommend":119,"showCover":119,"lang":140},"\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,1776498755827]