[{"data":1,"prerenderedAt":632},["ShallowReactive",2],{"content-/2026-10-13-diary":3,"all-pages-for-dir":615,"related-/2026-10-13-diary":616,"og-image-/2026-10-13-diary":631},{"id":4,"title":5,"body":6,"category":594,"concepts":595,"description":596,"extension":597,"meta":598,"navigation":528,"ogImage":595,"path":599,"project_name":600,"published":601,"publishedAt":602,"seo":603,"source":604,"stem":605,"tags":606,"todo":595,"unpublished":601,"updatedAt":595,"__hash__":614},"pages/2026-10/2026-10-13/diary-2026-10-13.md","2026年10月13日の開発日記 - 父のPCの退避をセッション分担で進め、USBのビット化けをSHA256で見抜いた",{"type":7,"value":8,"toc":576},"minimark",[9,14,18,22,29,32,37,40,46,62,73,76,80,83,87,98,101,109,111,115,118,122,136,144,146,150,158,162,177,185,187,191,194,198,209,217,219,223,226,228,231,496,498,501,512,514,517,549,551,554],[10,11,13],"h1",{"id":12},"_2026年10月13日の開発日記","2026年10月13日の開発日記",[15,16,17],"p",{},"父の PC の個人データを USB に書き終え、あとは抜くだけのつもりでいた。\nところが、USB に置いた tar の SHA256 が、C ドライブ側と一致しなかった。\n調べると、USB が1ビットずつ化けて記録していた。\n書き込みが終わったことと、中身が正しいことは別の話だった。\nこの日は、ほかの作業でも「終わったように見えるもの」を一つずつ確かめ直していた。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-10/2026-10-13/timeline-2026-10-13.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-父のpcのデータ退避を左右2つのclaude-codeに分担させた","1. 父のPCのデータ退避を、左右2つのClaude Codeに分担させた",[15,38,39],{},"父の Windows 11 PC にリモートデスクトップで入り、左右2つの Claude Code に図面データと個人データの退避を分担させた。\n筆者は手元のセッションから、両方の進捗を見て回った。\n父の PC 側で Remote Control をオンにすると、2つのセッションが手元の一覧に現れ、メッセージで直接やり取りできるようになった。\n図面データは DXF に変換させ、115件すべてが変換でき、失敗は0件だった。\n個人データは、メモリ不足でのコピー停止と USB のビット化けを経て、Wi-Fi（SMB）で自分の Mac へ送り直した。",[15,41,42],{},[43,44,45],"strong",{},"主な成果:",[47,48,49,53,56,59],"ul",{},[50,51,52],"li",{},"図面データ115件を DXF に変換し（失敗0件）、図面の一覧 HTML も作った",[50,54,55],{},"robocopy を8本同時で回したらメモリ不足で強制終了したので、同時書き込みを1に下げて続きから再開させた",[50,57,58],{},"USB 上の tar の SHA256 不一致から、USB のビット化けに抜く前に気づいた",[50,60,61],{},"Mac への転送は 13:25 に完了し（25.1分）、一覧の CSV にある全15,573件のサイズと SHA256 がすべて一致した",[15,63,64,67,68],{},[43,65,66],{},"詳細:"," ",[69,70,72],"a",{"href":71},"/family-pc-data-evacuation-claude-sessions","家族のWindows PCのデータ退避をClaude Codeの複数セッションで分担した記録：USBのビット化けからWi-Fi転送へ",[74,75],"hr",{},[33,77,79],{"id":78},"_2-動画講座の収録音声を台本と突き合わせ書籍版スライドを講義ノートへ移す計画を立てた","2. 動画講座の収録音声を台本と突き合わせ、書籍版スライドを講義ノートへ移す計画を立てた",[15,81,82],{},"基礎知識の冒頭3本の収録音声を Whisper で文字起こしさせ、台本と比べさせた。\n旧スライドの台本を基準にすると、話した32分36秒のうち16分32秒がアドリブと判定された。\nプロンプター基準で比べ直すと、商品売買の動画では23分49秒のうち8分50秒（約37%）がアドリブだった。\n講義ノートの抜けは移行で落ちたのではなく、移行元にも最初から無かったと分かった。\n講義ノート1,369枚と書籍18本（計1,750ページ）の差を見て、書籍版を講義ノートへ入れる計画書を作らせた。",[15,84,85],{},[43,86,45],{},[47,88,89,92,95],{},[50,90,91],{},"正本を作業ディレクトリへコピーさせ、59本のコピーに Illustrator を走らせた（58本成功）",[50,93,94],{},"図の見た目での照合は1,286枚中957枚で頭打ちだった。アートボード名から引く方法に切り替え、対応がほぼ決まった",[50,96,97],{},"次のセッションで、スライド1,286枚と原稿1,378件のどちらも未判定を0件にした",[15,99,100],{},"夕方は、別のセッションで Git 講座の第3部と第4部を push し、本番へデプロイした。\nCF精算表ストーリー版の R2 へのアップロードは、Step 3〜7 の17本が制作画面でまだ「完了」になっていないので保留にした。\nそのチェックを「要チェック」として Google タスクに登録させた。",[15,102,103,67,105],{},[43,104,66],{},[69,106,108],{"href":107},"/lecture-audio-vs-prompter-script-book-slides-plan","動画講座の収録音声を台本と突き合わせ、書籍版スライドを講義ノートへ移す計画を立てた",[74,110],{},[33,112,114],{"id":113},"_3-クーポン一覧ページを二重レビューして直しクリック計測を足した","3. クーポン一覧ページを二重レビューして直し、クリック計測を足した",[15,116,117],{},"GitHub にだけあった動画講座のクーポン一覧ページ（別の AI エージェントが作ったもの）を手元にクローンさせた。\nClaude Code と Codex のレビューを突き合わせると、結論は「今すぐ壊れている所はないが、毎月の更新で誤表示しやすい所がある」だった。\n筆者は「レビューじゃないよ。修正すべきであれば全て直してほしい」と伝え直し、全部直させた。\n午後は計画のレビューで、Cloudflare Web Analytics だけではクリック数を取れないと分かり、いったん作業を止めた。\nクリック計測を足す方針を選び、本番で閲覧数とクリックの両方が記録されるところまで確かめた。",[15,119,120],{},[43,121,45],{},[47,123,124,127,130,133],{},[50,125,126],{},"1講座だけ価格の下限の都合で他と揃えられない事情を、ドキュメントに残させた",[50,128,129],{},"ビルド失敗（Analytics Engine が未有効）を、有効化と反映待ちで越えた",[50,131,132],{},"値をコピーする前に閉じてしまった読み取り専用の API トークンを、ローテーションで作り直した",[50,134,135],{},"パスワード管理ツール経由で、集計スクリプトから閲覧数とクリック数を取れることを確かめた",[15,137,138,67,140],{},[43,139,66],{},[69,141,143],{"href":142},"/coupon-page-double-review-click-tracking","別のAIエージェントが作ったクーポン一覧ページをCodexと二重レビューし、Cloudflareでクリック計測を足した",[74,145],{},[33,147,149],{"id":148},"_4-統計チェーンの予備経路を足しコミットゲートの誤検知を直した","4. 統計チェーンの予備経路を足し、コミットゲートの誤検知を直した",[15,151,152,153,157],{},"台湾の外銷訂単は、公開 CSV が何度取り直しても 8/20 版（7月分まで）しか返さなかった。\nそこで、経済部の新聞稿に付く附表 xlsx（表2）を予備経路として Claude Code に実装させた。\nNode の fetch は Cloudflare に 403 で弾かれ、curl は通った。\n韓国の品目別旬報は10月上旬分を D1 に10件追加させたが、SSD の2行が null で入ってテストが落ちたので、その2行を消して TS を再生成させた。\n記事 URL の ",[154,155,156],"code",{},"sk-"," に反応してゲートが Codex レビューを飛ばしていた件は、「検知パターンを修正しましょう」と判断し、後読みの条件で誤検知を止めさせた。",[15,159,160],{},[43,161,45],{},[47,163,164,167,170],{},[50,165,166],{},"予備経路のテストを6件足し、15件が通った。再実行しても改定0件、exit 0 で冪等だった",[50,168,169],{},"本物のキーの形をした文字列は、引き続き検知されることも確かめた",[50,171,172,173,176],{},"非公開にしたい記事が公開の SQL ダンプに残らないよう、",[154,174,175],{},"_local-unpublished"," へ移した",[15,178,179,67,181],{},[43,180,66],{},[69,182,184],{"href":183},"/taiwan-export-orders-fallback-and-secret-scan-false-positive","台湾の外銷訂単CSVが止まったので経済部の新聞稿xlsxを予備経路にした（韓国品目別旬報の欠けとコミットゲートの誤検知も直す）",[74,186],{},[33,188,190],{"id":189},"_5-作業pcのメモリを空けillustratorで消えたフォントの1ウェイトを追った","5. 作業PCのメモリを空け、Illustratorで消えたフォントの1ウェイトを追った",[15,192,193],{},"空きメモリが3.1GBまで減ったので、/procs で走りっぱなしのプロセスを洗い出させ、4つを選んで止めた。\n空きは4.2GBに増えたが、止めた4つの合計約2.2GBに対して、増えたのは1.1GBだった。\nAqua Voice を再起動すると AquaWindowsBridge は1,350MBから33MBに下がり、空きは9.6GBまで戻った。\nそれでも13:06には、dev サーバーがメモリ不足で自動停止された。\n夕方は Illustrator が AXIS ProN の UltraLight を「無い」と表示したので、購入メールとバックアップをたどらせた。",[15,195,196],{},[43,197,45],{},[47,199,200,203,206],{},[50,201,202],{},"PC にあるのは6ウェイトだけで、購入メールからは7ウェイトセットの購入（2017年11月 CD、2020年8月 ダウンロード）を確認した",[50,204,205],{},"Dropbox のバックアップは、2019年2月25日に作った時点ですでに UltraLight が欠けていた",[50,207,208],{},"CD-ROM がどこにあるかは、まだ分かっていない",[15,210,211,67,213],{},[43,212,66],{},[69,214,216],{"href":215},"/windows-memory-cleanup-and-missing-font-weight","作業PCのメモリ逼迫を/procsとAqua Voiceの再起動で戻し、Illustratorで消えたAXIS UltraLightを購入メールとバックアップから追った",[74,218],{},[33,220,222],{"id":221},"_6-そのほか","6. そのほか",[15,224,225],{},"朝は、Mac 側のセッションに読み上げ音声の確認を頼んだ。\n章の先頭3か所でエラーも 404 も0件という返信が届き、残りは自分の試聴だけになった。\nほかに、買い物の下調べと、契約しているサブスクリプションの整理を非公開のメモに残した。",[74,227],{},[19,229,230],{"id":230},"今日の試行錯誤",[232,233,234,256],"table",{},[235,236,237],"thead",{},[238,239,240,244,247,250,253],"tr",{},[241,242,243],"th",{},"#",[241,245,246],{},"テーマ",[241,248,249],{},"試したこと",[241,251,252],{},"結果",[241,254,255],{},"気づき",[257,258,259,277,293,309,325,345,362,378,395,412,429,446,462,479],"tbody",{},[238,260,261,265,268,271,274],{},[262,263,264],"td",{},"1",[262,266,267],{},"父のPC（08:04）",[262,269,270],{},"リモートデスクトップの画面に文字を貼り付けて指令を送った",[262,272,273],{},"1回目は入らず、試し直しで入った。のちに Remote Control をオンにし、メッセージで直接やり取りする形に切り替えた",[262,275,276],{},"画面越しに打つより、セッション同士のメッセージのほうが確実だった",[238,278,279,282,284,287,290],{},[262,280,281],{},"2",[262,283,267],{},[262,285,286],{},"個人データを USB へ8本同時の robocopy でコピーさせた",[262,288,289],{},"9:17 にメモリ不足で強制終了した（メモリ7.9GB、空き約1.8GB）。同時書き込みを1に下げて再開させた",[262,291,292],{},"非力な PC では並列度が裏目に出る",[238,294,295,298,300,303,306],{},[262,296,297],{},"3",[262,299,267],{},[262,301,302],{},"残り4〜6時間の見込みだったので、tar 1ファイルにまとめて USB に書かせた",[262,304,305],{},"USB 上の tar の SHA256 が不一致。USB が1ビットずつ化けていた",[262,307,308],{},"照合したから、抜く前に気づけた",[238,310,311,314,316,319,322],{},[262,312,313],{},"4",[262,315,267],{},[262,317,318],{},"Wi-Fi（SMB）で自分の Mac へ送らせた",[262,320,321],{},"ゲスト接続の拒否と「Windows ファイル共有」の未有効で2回止まり、5GHz への切り替えで IP が変わって中断。13:00 に送り直し、13:25 に完了した",[262,323,324],{},"止まるたびに原因が1つずつ見えた",[238,326,327,330,332,335,342],{},[262,328,329],{},"5",[262,331,267],{},[262,333,334],{},"再起動用ターミナルを wt で開かせ、claude --continue も試した",[262,336,337,338,341],{},"wt が ",[154,339,340],{},";"," を区切りとして扱い、Claude Code が起動しなかった。--continue は \"No conversation found to continue\" だった",[262,343,344],{},"普通に起動し直すのが早かった",[238,346,347,350,353,356,359],{},[262,348,349],{},"6",[262,351,352],{},"講座の音声（12:21）",[262,354,355],{},"文字起こしと比べる基準を「いまのスライド」→「旧スライドの台本」→「プロンプター PDF」と替えた",[262,357,358],{},"プロンプター基準で商品売買のアドリブは約37%（8分50秒/23分49秒）。PDF は pdftotext で文字化けし、PyMuPDF に切り替えた",[262,360,361],{},"基準を替えると、アドリブの割合が大きく変わる",[238,363,364,367,369,372,375],{},[262,365,366],{},"7",[262,368,352],{},[262,370,371],{},"スライドと書籍のページを図の見た目で照合させた",[262,373,374],{},"1,286枚中957枚で頭打ち。アートボード名から引く方法で59本中58本が成功した",[262,376,377],{},"見た目より、書き出し元の名前のほうが確実だった",[238,379,380,383,386,389,392],{},[262,381,382],{},"8",[262,384,385],{},"講座の音声（16:42）",[262,387,388],{},"一致度が中か低、または対応なしの組を画像で1件ずつ確かめさせた",[262,390,391],{},"スライドと原稿の未判定が0件。本当の漏れは17ページで、43ページは誤検出だった",[262,393,394],{},"自動照合の候補には誤検出が混じる",[238,396,397,400,403,406,409],{},[262,398,399],{},"9",[262,401,402],{},"クーポン（09:01）",[262,404,405],{},"Claude Code と Codex で二重レビューし、「レビューではなく修正」と指示を出し直した",[262,407,408],{},"全部直させ、push 前に確認を挟んで本番反映し、本番で4点を確かめさせた",[262,410,411],{},"「いま動く」と「毎月の更新で崩れない」は別物だった",[238,413,414,417,420,423,426],{},[262,415,416],{},"10",[262,418,419],{},"クーポン（15:52）",[262,421,422],{},"クリック計測を足し、ビルド失敗のあと Analytics Engine を有効化して再実行した",[262,424,425],{},"再実行も失敗し、次の push で成功した（反映待ちと判断）。トークンはローテーションで作り直した",[262,427,428],{},"有効化の直後は、まだ未有効として扱われることがある",[238,430,431,434,437,440,443],{},[262,432,433],{},"11",[262,435,436],{},"統計（07:01）",[262,438,439],{},"外銷訂単を新聞稿の附表 xlsx から Node fetch で取ろうとした",[262,441,442],{},"403 で弾かれ、curl では通った",[262,444,445],{},"予備の取得元は同じ統計の新聞稿にあった",[238,447,448,451,453,456,459],{},[262,449,450],{},"12",[262,452,436],{},[262,454,455],{},"誤検知の箇所を洗い出そうとした",[262,457,458],{},"ゲートの迂回にあたるとして権限で拒否された。検知パターンに後読みを足して誤検知が消えた",[262,460,461],{},"ゲートを残したまま直す道を選んだ",[238,463,464,467,470,473,476],{},[262,465,466],{},"13",[262,468,469],{},"メモリ（11:26）",[262,471,472],{},"/procs で4プロセスを止め、続けて Aqua Voice を再起動した",[262,474,475],{},"空きは3.1GB→4.2GB→9.6GB。AquaWindowsBridge は1,350MB→33MB",[262,477,478],{},"止めた分だけ空きが増えるとは限らない",[238,480,481,484,487,490,493],{},[262,482,483],{},"14",[262,485,486],{},"フォント（16:20）",[262,488,489],{},"PC 内のフォントを確かめ、購入メールと Dropbox のバックアップを検索させた",[262,491,492],{},"PC は6ウェイトのみ。バックアップも2019年2月25日の作成時点で UltraLight が欠けていた",[262,494,495],{},"「取ってある」バックアップでも、中身の欠けには気づけない",[74,497],{},[19,499,500],{"id":500},"今日の学び",[47,502,503,506,509],{},[50,504,505],{},"書き込みが終わっても、USB の中身が正しいとは限らない。SHA256 で照合してから抜くと、ビット化けを見逃さずに済む。",[50,507,508],{},"画像の見た目でスライドと書籍を突き合わせると、1,286枚中957枚で止まった。書き出し元のアートボード名を引いたら、対応はほぼ決まった。",[50,510,511],{},"誤検知を迂回しようとすると、権限で止まる。検知パターンを直し、本物のキーの形が引き続き捕まることまで確かめれば、ゲートを残したまま通せる。",[74,513],{},[19,515,516],{"id":516},"明日やること",[47,518,521,531,537,543],{"className":519},[520],"contains-task-list",[50,522,525,530],{"className":523},[524],"task-list-item",[526,527],"input",{"disabled":528,"type":529},true,"checkbox"," CF精算表ストーリー版の Step 3〜7（17本）を制作画面で「完了」にし、R2 へのアップロードを進める",[50,532,534,536],{"className":533},[524],[526,535],{"disabled":528,"type":529}," Mac で読み上げ音声を試聴し、Google タスクを閉じる",[50,538,540,542],{"className":539},[524],[526,541],{"disabled":528,"type":529}," ローテーションした API トークンの有効期限が1年になっているか確かめる",[50,544,546,548],{"className":545},[524],[526,547],{"disabled":528,"type":529}," AXIS フォントの CD-ROM を探し、UltraLight を入れ直す",[74,550],{},[19,552,553],{"id":553},"関連記事",[47,555,556,560,564,568,572],{},[50,557,558],{},[69,559,72],{"href":71},[50,561,562],{},[69,563,108],{"href":107},[50,565,566],{},[69,567,143],{"href":142},[50,569,570],{},[69,571,184],{"href":183},[50,573,574],{},[69,575,216],{"href":215},{"title":577,"searchDepth":578,"depth":578,"links":579},"",2,[580,581,590,591,592,593],{"id":21,"depth":578,"text":21},{"id":31,"depth":578,"text":31,"children":582},[583,585,586,587,588,589],{"id":35,"depth":584,"text":36},3,{"id":78,"depth":584,"text":79},{"id":113,"depth":584,"text":114},{"id":148,"depth":584,"text":149},{"id":189,"depth":584,"text":190},{"id":221,"depth":584,"text":222},{"id":230,"depth":578,"text":230},{"id":500,"depth":578,"text":500},{"id":516,"depth":578,"text":516},{"id":553,"depth":578,"text":553},"diary",null,"父のWindows PCのデータ退避を左右2つのClaude Codeに分担させ、USBのビット化けに気づいてWi-Fi転送へ切り替えた日。動画講座の収録音声と台本の突き合わせ、クーポン一覧ページの二重レビューとクリック計測、統計チェーンの予備経路、作業PCのメモリとフォントの調査も進めた。","md",{},"/2026-10-13-diary","daily-log",false,"2026-10-13T00:00:00.000Z",{"title":5,"description":596},"make-diary","2026-10/2026-10-13/diary-2026-10-13",[607,608,609,610,611,612,613],"日記","Claude Code","データ移行","SHA256","Codex","統計データ","動画教材","OevDuZc_YOxdB6V3s4LwdshOCF0mWxNLjUYzVaoegJQ",[],[617,621,622,623,627],{"title":618,"path":619,"publishedAt":620},"2026年10月16日の開発日記 - 読み上げ音声をMacに任せ、Windowsで教材の図と台本を直した日","/2026-10-16-diary","2026-10-16T00:00:00.000Z",{"title":72,"path":71,"publishedAt":602},{"title":184,"path":183,"publishedAt":602},{"title":624,"path":625,"publishedAt":626},"2026年10月12日の開発日記 - 講座を「左に図、右に解説」の型に作り替え、困りごと動画48本をそろえた","/2026-10-12-diary","2026-10-12T00:00:00.000Z",{"title":628,"path":629,"publishedAt":630},"2026年10月11日の開発日記 - 計算モジュールの動画を分割画面にまとめ、Gitの読み上げをカタカナ台本に切り替えた","/2026-10-11-diary","2026-10-11T00:00:00.000Z","https://log.eurekapu.com/og/blog/2026-10-13-diary.png?v=2026-10-13T00%3A00%3A00.000Z&title=2026%E5%B9%B410%E6%9C%8813%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E7%88%B6%E3%81%AEPC%E3%81%AE%E9%80%80%E9%81%BF%E3%82%92%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E5%88%86%E6%8B%85%E3%81%A7%E9%80%B2%E3%82%81%E3%80%81USB%E3%81%AE%E3%83%93%E3%83%83%E3%83%88%E5%8C%96%E3%81%91%E3%82%92SHA256%E3%81%A7%E8%A6%8B%E6%8A%9C%E3%81%84%E3%81%9F&author=Kei%20Komatsu&sig=b03cf060fe35c7c7",1792550155339]