[{"data":1,"prerenderedAt":491},["ShallowReactive",2],{"content-/2026-08-04-diary":3,"all-pages-for-dir":469,"related-/2026-08-04-diary":470,"og-image-/2026-08-04-diary":490},{"id":4,"title":5,"body":6,"category":450,"concepts":451,"description":452,"extension":453,"meta":454,"navigation":397,"ogImage":451,"path":455,"project_name":456,"published":457,"publishedAt":458,"seo":459,"source":460,"stem":461,"tags":462,"todo":451,"unpublished":457,"updatedAt":451,"__hash__":468},"pages/2026-08/2026-08-04/diary-2026-08-04.md","2026年8月4日の開発日記 - 守ってくれているつもりの仕掛けが、止まっていた",{"type":7,"value":8,"toc":433},"minimark",[9,14,18,21,25,32,35,40,43,46,52,68,79,82,86,89,92,96,107,115,117,121,124,127,131,142,150,152,156,159,167,169,173,176,184,186,189,362,364,367,381,383,386,406,408,411],[10,11,13],"h1",{"id":12},"_2026年8月4日の開発日記","2026年8月4日の開発日記",[15,16,17],"p",{},"主な作業機を Mac に移してから数日たっていた。バックアップ一式を macOS でも動くように移す作業に手を付けたところ、設定ファイルの中のパスが旧マシンのまま残っていることに気づいた。",[15,19,20],{},"つまり、再帰削除のガードも、日次のバックアップも、鮮度の監視も、この数日間まったく動いていなかった。7月末に一度ファイルを消している身としては、気づいた瞬間に血の気が引く類の発見だった。しかも失敗は静かで、エラーらしいエラーは出ていなかった。",[22,23,24],"h2",{"id":24},"今日のタイムライン",[15,26,27],{},[28,29],"img",{"alt":30,"src":31},"タイムライン","/2026-08/2026-08-04/timeline-2026-08-04.png",[22,33,34],{"id":34},"今日やったこと",[36,37,39],"h3",{"id":38},"_1-macへの移行でバックアップを作り直し止まっていた安全機構を戻した","1. Macへの移行でバックアップを作り直し、止まっていた安全機構を戻した",[15,41,42],{},"スクリプトをOSごとに分けず、冒頭で判定して両方に対応する形にした。移行先には外付けSSDが無いので、送出先はクラウド1系統に変えた。2系統前提のままだと、片方が永久に成功しないので進捗の基準が前に進まない。",[15,44,45],{},"同じ流れで、日記生成のコマンドも macOS で回る範囲に絞った。株価取得や各国統計の取り込みは旧マシンの環境に依存しているので、そこは動かさないと決めた。",[15,47,48],{},[49,50,51],"strong",{},"主な成果:",[53,54,55,59,62,65],"ul",{},[56,57,58],"li",{},"バックアップ一式を両OS共用の1本にまとめ、OS差分は冒頭で吸収する形にした",[56,60,61],{},"設定のパスが旧マシンのままで、安全機構3つが動いていなかったのを見つけて直した",[56,63,64],{},"日記生成のコマンドを、macOSでは実行しない範囲を明示する形に整理した",[56,66,67],{},"利用状況が一目で分かるよう、ステータスラインに表示を足した",[15,69,70,73,74],{},[49,71,72],{},"詳細:"," ",[75,76,78],"a",{"href":77},"/mac-migration-backup-and-delete-guard","Macへの移行でバックアップを作り直したら、削除ガードが動いていなかった",[80,81],"hr",{},[36,83,85],{"id":84},"_2-積み残しの一覧化から始める進め方を一日通して回した","2. 積み残しの一覧化から始める進め方を、一日通して回した",[15,87,88],{},"朝いちばんに「昨日の積み残しは何だったか」を一覧にしてもらってから着手する。この日はその型を一日通して使った。区切りごとに一覧を作り直し、最後は粒度を分けてコミットして終えた。",[15,90,91],{},"途中、扱いにくい形式のファイルが出てきたり、処理が止まっていたりしたが、そのつど一覧に戻って次を決めた。",[15,93,94],{},[49,95,51],{},[53,97,98,101,104],{},[56,99,100],{},"着手前に積み残しを一覧化し、その日の順序を決めてから動いた",[56,102,103],{},"止まっていた処理を見つけて再開させた",[56,105,106],{},"一日の終わりに、意味のまとまりごとに分けてコミットした",[15,108,109,73,111],{},[49,110,72],{},[75,112,114],{"href":113},"/backlog-first-project-workflow","積み残しの一覧化から始めて、粒度を分けたコミットで締める一日",[80,116],{},[36,118,120],{"id":119},"_3-専門書をスキル化するときの線引きを決めた","3. 専門書をスキル化するときの線引きを決めた",[15,122,123],{},"蔵書データベースに入れてある専門書を、手順として使える形に落とす作業を始めた。どこまでを一般的な知識として書き出し、どこからを個別の判断に委ねるか。この線引きを先に決めないと、際限なく膨らむ。",[15,125,126],{},"並行して、自分の事業サイトの掲載内容も詰めた。実際にあった事例を載せる方針にした。",[15,128,129],{},[49,130,51],{},[53,132,133,136,139],{},[56,134,135],{},"書籍の内容を工程に落とすとき、どこまでを型にするかの基準を決めた",[56,137,138],{},"事業サイトの掲載内容を、実際の事例をもとに詰めた",[56,140,141],{},"ローカルで表示を確認しながら直した",[15,143,144,73,146],{},[49,145,72],{},[75,147,149],{"href":148},"/expert-book-skill-boundary","専門書をスキル化するときの線引きと、事業サイトの掲載内容の詰め方",[80,151],{},[36,153,155],{"id":154},"_4-3dスキャンの書き出し形式を比べた","4. 3Dスキャンの書き出し形式を比べた",[15,157,158],{},"実物のある大型模型を図面に起こしたい、という用途から、スマートフォンのスキャンアプリで作れる圧縮形式と、別方式で書き出せるメッシュ形式を比べた。見た目の再現に強い方式と、寸法を扱う方式は別物だった。",[15,160,161,73,163],{},[49,162,72],{},[75,164,166],{"href":165},"/3d-scan-splat-vs-mesh-export","3Dスキャンの書き出しはスプラットかメッシュか、図面に起こす用途で比べた",[80,168],{},[36,170,172],{"id":171},"_5-検索まわりの話題を事実確認してから記事にした","5. 検索まわりの話題を、事実確認してから記事にした",[15,174,175],{},"7月28日の仕様更新でAIによる自律的な検索最適化が現実になった、という話題を追った。実際にどこまでが仕様で、どこからが解釈なのかを確かめて公開記事にまとめた。",[15,177,178,73,180],{},[49,179,72],{},[75,181,183],{"href":182},"/mcp-2026-07-28-autonomous-seo-fact-check","「7月28日のMCP更新でAIの自律SEOが現実になった」は本当か",[80,185],{},[22,187,188],{"id":188},"今日の試行錯誤",[190,191,192,214],"table",{},[193,194,195],"thead",{},[196,197,198,202,205,208,211],"tr",{},[199,200,201],"th",{},"#",[199,203,204],{},"テーマ",[199,206,207],{},"試したこと",[199,209,210],{},"結果",[199,212,213],{},"気づき",[215,216,217,235,251,268,283,299,314,330,345],"tbody",{},[196,218,219,223,226,229,232],{},[220,221,222],"td",{},"1",[220,224,225],{},"移行後の環境",[220,227,228],{},"移行できているものとして使い続けた",[220,230,231],{},"失敗",[220,233,234],{},"安全機構3つが数日間止まっていた",[196,236,237,240,242,245,248],{},[220,238,239],{},"2",[220,241,225],{},[220,243,244],{},"設定の中のパスを実際に確かめた",[220,246,247],{},"成功",[220,249,250],{},"旧マシンのパスが残っていた",[196,252,253,256,259,262,265],{},[220,254,255],{},"3",[220,257,258],{},"バックアップの構成",[220,260,261],{},"OSごとにスクリプトを分ける案を検討した",[220,263,264],{},"却下",[220,266,267],{},"片方だけ直して差が開く",[196,269,270,273,275,278,280],{},[220,271,272],{},"4",[220,274,258],{},[220,276,277],{},"1本にまとめ、冒頭でOS差分を吸収した",[220,279,247],{},[220,281,282],{},"直す場所が1か所で済む",[196,284,285,288,291,294,296],{},[220,286,287],{},"5",[220,289,290],{},"送出先",[220,292,293],{},"2系統のまま動かした",[220,295,231],{},[220,297,298],{},"外付けSSDが無く、進捗の基準が前に進まない",[196,300,301,304,306,309,311],{},[220,302,303],{},"6",[220,305,290],{},[220,307,308],{},"クラウド1系統に変え、判定条件も直した",[220,310,247],{},[220,312,313],{},"有効な系統だけで判定する形にした",[196,315,316,319,322,325,327],{},[220,317,318],{},"7",[220,320,321],{},"日記生成の移植",[220,323,324],{},"全ステップをそのまま動かそうとした",[220,326,231],{},[220,328,329],{},"旧マシン依存のステップが落ちる",[196,331,332,335,337,340,342],{},[220,333,334],{},"8",[220,336,321],{},[220,338,339],{},"実行しない範囲を明示した",[220,341,247],{},[220,343,344],{},"切り分けの時間を使わずに済む",[196,346,347,350,353,356,359],{},[220,348,349],{},"9",[220,351,352],{},"3Dスキャン",[220,354,355],{},"見た目の再現が良い方式を第一候補にした",[220,357,358],{},"見直し",[220,360,361],{},"寸法を扱う用途には向かない",[80,363],{},[22,365,366],{"id":366},"今日の学び",[53,368,369,372,375,378],{},[56,370,371],{},"環境を移したら、まず「守ってくれているはずの仕掛けが本当に動いているか」を確かめる。動いていないことは、平常時には何の症状も出さない",[56,373,374],{},"フックの失敗は止めてくれない。エラーが出ていても処理はそのまま進むので、目に見えていても見過ごす",[56,376,377],{},"前提が変わったら、判定条件も一緒に変える。2系統を前提にした条件は、1系統になった瞬間に永久に満たされなくなる",[56,379,380],{},"「動かさない」と明示することも移植のうちだった。動くかどうか順に試すと、切り分けだけで時間が溶ける",[80,382],{},[22,384,385],{"id":385},"明日やること",[53,387,390,400],{"className":388},[389],"contains-task-list",[56,391,394,399],{"className":392},[393],"task-list-item",[395,396],"input",{"disabled":397,"type":398},true,"checkbox"," 移行後の環境で、ガードが実際に止めるかを試して確かめる",[56,401,403,405],{"className":402},[393],[395,404],{"disabled":397,"type":398}," 専門書のスキル化を、決めた線引きに沿って進める",[80,407],{},[22,409,410],{"id":410},"関連記事",[53,412,413,417,421,425,429],{},[56,414,415],{},[75,416,78],{"href":77},[56,418,419],{},[75,420,114],{"href":113},[56,422,423],{},[75,424,149],{"href":148},[56,426,427],{},[75,428,166],{"href":165},[56,430,431],{},[75,432,183],{"href":182},{"title":434,"searchDepth":435,"depth":435,"links":436},"",2,[437,438,446,447,448,449],{"id":24,"depth":435,"text":24},{"id":34,"depth":435,"text":34,"children":439},[440,442,443,444,445],{"id":38,"depth":441,"text":39},3,{"id":84,"depth":441,"text":85},{"id":119,"depth":441,"text":120},{"id":154,"depth":441,"text":155},{"id":171,"depth":441,"text":172},{"id":188,"depth":435,"text":188},{"id":366,"depth":435,"text":366},{"id":385,"depth":435,"text":385},{"id":410,"depth":435,"text":410},"diary",null,"Macへ移った環境でバックアップ一式を作り直したところ、削除ガードと鮮度監視がパスの食い違いで動いていなかった。積み残し起点の進め方、専門書のスキル化、3Dスキャンの比較も進めた一日。","md",{},"/2026-08-04-diary","daily-log",false,"2026-08-04T00:00:00.000Z",{"title":5,"description":452},"make-diary","2026-08/2026-08-04/diary-2026-08-04",[463,464,465,466,467],"日記","macOS","バックアップ","スキル化","Claude Code","s_u2FT7V0UbryGGM1pA_JF7PK3aRaUl_4Y3TV1xuWPM",[],[471,475,479,483,487],{"title":472,"path":473,"publishedAt":474},"2026年8月6日の開発日記 - 「取り込み済み」が使えるとは限らなかった","/2026-08-06-diary","2026-08-06T00:00:00.000Z",{"title":476,"path":477,"publishedAt":478},"2026年8月5日の開発日記 - 棚卸しと、画面の裏側を見に行った日","/2026-08-05-diary","2026-08-05T00:00:00.000Z",{"title":480,"path":481,"publishedAt":482},"2026年7月29日の開発日記 - 朝いちで ~/.claude が消えた日に、7本の作業が並走した","/2026-07-29-diary","2026-07-29T00:00:00.000Z",{"title":484,"path":485,"publishedAt":486},"2026年8月7日の開発日記 - 緩めたルールを、元に戻した日","/2026-08-07-diary","2026-08-07T00:00:00.000Z",{"title":488,"path":489,"publishedAt":486},"MacのPDFビューアーを自作する計画と、計画書レビューを必ず通す運用に戻した記録","/mac-pdf-viewer-plan-and-review-rule","https://log.eurekapu.com/og/blog/2026-08-04-diary.png?v=2026-08-04T00%3A00%3A00.000Z&title=2026%E5%B9%B48%E6%9C%884%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E5%AE%88%E3%81%A3%E3%81%A6%E3%81%8F%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%A4%E3%82%82%E3%82%8A%E3%81%AE%E4%BB%95%E6%8E%9B%E3%81%91%E3%81%8C%E3%80%81%E6%AD%A2%E3%81%BE%E3%81%A3%E3%81%A6%E3%81%84%E3%81%9F&author=Kei%20Komatsu&sig=6604f3119f183593",1786233163057]