[{"data":1,"prerenderedAt":623},["ShallowReactive",2],{"content-/2026-10-05-diary":3,"all-pages-for-dir":600,"related-/2026-10-05-diary":601,"og-image-/2026-10-05-diary":622},{"id":4,"title":5,"body":6,"category":580,"concepts":581,"description":582,"extension":583,"meta":584,"navigation":521,"ogImage":581,"path":585,"project_name":586,"published":587,"publishedAt":588,"seo":589,"source":590,"stem":591,"tags":592,"todo":581,"unpublished":587,"updatedAt":581,"__hash__":599},"pages/2026-10/2026-10-05/diary-2026-10-05.md","2026年10月5日の開発日記 - 統計の正本をD1へ、財務諸表講座の動画をスマホ縦版へ",{"type":7,"value":8,"toc":563},"minimark",[9,14,18,22,29,32,37,40,46,67,78,81,85,88,92,103,111,113,117,120,124,135,143,145,149,152,156,171,179,181,185,188,196,198,201,486,488,491,505,507,510,536,538,541],[10,11,13],"h1",{"id":12},"_2026年10月5日の開発日記","2026年10月5日の開発日記",[15,16,17],"p",{},"この日は、用意したものが思ったとおりには効いていない場面に3回ぶつかった。\n9月24日に作った音声合成のロックは、スキルに書かれていなかった。\n9月25日に作った D1 データベースには、テーブルが1本も無かった。\n新しく録った参照音声は、声の質しか写さず、読み方までは写さなかった。\n作業の大半は財務諸表講座（eurekapu-nuxt4）で、6セッションの時間を足すと約19時間50分になった。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-10/2026-10-05/timeline-2026-10-05.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-月次統計の正本をgitのtsファイルからcloudflare-d1へ移し始めた","1. 月次統計の正本をGitのTSファイルからCloudflare D1へ移し始めた",[15,38,39],{},"前日の日記を作る途中で、「なぜデータの差分が無いのか」と聞いた。\n答えをたどると、統計データは全部が DB に入っているわけではなく、外銷訂単は Git の TS ファイルにしか無かった。\n「DBに全部入れませんか」と持ちかけると、最初の答えは Turso だった。\n過去の資料を探させると、9月25日の Workers 移行計画と、作成済みでテーブル0本の D1 が見つかり、推奨は D1 に変わった。\n計画書は Codex に3回レビューさせ、判断事項3件はすべて A を選んだ。",[15,41,42],{},[43,44,45],"strong",{},"主な成果:",[47,48,49,58,61,64],"ul",{},[50,51,52,53,57],"li",{},"Phase 0（D1 のスキーマと書き込みルール、テスト）と Phase 1（取得スクリプト4本を D1 経由に切り替え）を Claude Code に実装させ、",[54,55,56],"code",{},"6d613308"," まで push した",[50,59,60],{},"全テストは266ファイル、21,138件が通った",[50,62,63],{},"公開記事8ファイルから、個人のメールアドレスと Workers のサブドメインを伏せさせた",[50,65,66],{},"様子見は10月12日まで。次の Phase 2 はメモリ価格",[15,68,69,72,73],{},[43,70,71],{},"詳細:"," ",[74,75,77],"a",{"href":76},"/stats-ssot-to-cloudflare-d1","月次統計のSSOTをGitのTSファイルからCloudflare D1へ移す",[79,80],"hr",{},[33,82,84],{"id":83},"_2-シーン回帰テストを改修しメモリ逼迫の原因からmacへの受け口を作った","2. シーン回帰テストを改修し、メモリ逼迫の原因からMacへの受け口を作った",[15,86,87],{},"前日に止まっていた回帰テストの改修は、計画書もまだ無い状態だった。\nCodex レビュー2回を経て実装まで通させ、全21区間の全コマを手元で照合すると、44件すべてが通った（44.9分）。\n並行して前日のメモリ逼迫を調べさせると、10/04 11:02 に別々のセッションが Irodori の合成を2本同時に起動し、物理メモリが 31.7 / 31.9GB に張り付いていた。\n9/24 に作ったロックがスキルに書かれていなかったためで、スキルにゲートを、settings.json にフックを入れさせた。\nMac から合成結果を受け取るのに R2 を使う案が出たとき、同じ Wi-Fi なら直接送れるのではと指摘し、Mac から Windows へ送る受け口を作らせた。",[15,89,90],{},[43,91,45],{},[47,93,94,97,100],{},[50,95,96],{},"CI も Build、単体テスト、E2E のすべてが通った",[50,98,99],{},"Windows の Firewall に受信許可を足し、Codex によるセキュリティレビューも済ませた",[50,101,102],{},"フックを Mac でも有効にする1行は Mac の auto mode に止められ、まだ渡せていない。Mac のセッション履歴バックアップが失敗する原因も分かっていない",[15,104,105,72,107],{},[43,106,71],{},[74,108,110],{"href":109},"/windows-mac-lan-messaging-regression-memory","シーン回帰テストの区間選びを改修し、メモリ逼迫からWindowsとMacのLAN直送を作った日",[79,112],{},[33,114,116],{"id":115},"_3-財務諸表講座の動画にフィードバックを反映し会計用語の読みを直した","3. 財務諸表講座の動画にフィードバックを反映し、会計用語の読みを直した",[15,118,119],{},"朝、Googleタスクを開くと、今日が期日のタスクが7件残っていた。\nまず動画への自分のフィードバックを反映させた。\n間接法は営業キャッシュ・フローの表示のさせ方の違いにすぎず、投資と財務は直接法と同じなので省略している、という補足を No02、導入3、導入6 の3か所に入れてもらった。\n第2回の No04 の丁寧さで問題ないと判断し、期中取引の19本をそろえさせた。\n講座用の台本を録って参照音声にし、全29本（全1,126文）を Windows と Mac で分担して合成し直させた。",[15,121,122],{},[43,123,45],{},[47,125,126,129,132],{},[50,127,128],{},"会計用語5語の渡し方を120本で聞き比べ、1-B、2-B、3-B、5-B、6-B、7-B、8-B を選んで26本、155文を作り直させた",[50,130,131],{},"全部ひらがなでも不自然だった減価償却費の3文は自分で録り直し、No03、No13、No15 に差し替えた",[50,133,134],{},"Excel講座「関数の活用」のフィードバックを独立した計画書にまとめさせ、本計画2本に「一旦おしまい」と書き戻させた",[15,136,137,72,139],{},[43,138,71],{},[74,140,142],{"href":141},"/fs-course-feedback-irodori-reading","irodori-ttsで「純資産」「減価償却費」の読みを直す",[79,144],{},[33,146,148],{"id":147},"_4-財務諸表講座の動画をスマホ縦画面で試作した","4. 財務諸表講座の動画をスマホ縦画面で試作した",[15,150,151],{},"PC 横表示で作ってきた No01 のスマホ縦版（1080×1920）を Claude Code に作らせた。\n① 取引から ⑥ 財務諸表までを縦1列に積み、段が進むたびにカメラが下へ動く形にした。\n縦に4つの表を積むと表が縮むので、まとめの画から取引、見出し、字幕を順に外すと決めた。\n締めの「取引が帳簿を通って財務諸表に到達しました」は意味のないメッセージだと判断し、取引の振り返りに書き直させた。",[15,153,154],{},[43,155,45],{},[47,157,158,161,164],{},[50,159,160],{},"⑥ に入った瞬間から見出しと字幕の帯を0.6秒で消し、字幕は表の上に半透明の黒い箱でかぶせた",[50,162,163],{},"書き直した締めで Irodori の音声を合成し直させた（No01 全体226秒）",[50,165,166,167,170],{},"別セッションとの書き込み衝突で ",[54,168,169],{},"fsScene.ts"," が0バイトになったが、バックアップから復元した（テスト370件通過）",[15,172,173,72,175],{},[43,174,71],{},[74,176,178],{"href":177},"/fs-video-mobile-vertical-layout","財務諸表講座の動画をスマホ縦画面に作り直す",[79,180],{},[33,182,184],{"id":183},"_5-ドメインとdnsを別の会社に分ける構成を調べた","5. ドメインとDNSを別の会社に分ける構成を調べた",[15,186,187],{},"「Cloudflare は通報フォームを悪用されて凍結されやすいので、ドメインは別の会社で取ったほうがいい」と勧められ、真偽を一次情報で調べた。\n凍結の事例は実在した。\nただ、分ける価値は凍結の起きやすさではなく、止められたときに逃げ道が残る点にあった。\nNamecheap にも同じ種類のリスクがあるので、分けたうえで備えが要る。",[15,189,190,72,192],{},[43,191,71],{},[74,193,195],{"href":194},"/cloudflare-registrar-vs-namecheap-dns-split","ドメインはNamecheap、DNSはCloudflareに分けるべきか",[79,197],{},[19,199,200],{"id":200},"今日の試行錯誤",[202,203,204,226],"table",{},[205,206,207],"thead",{},[208,209,210,214,217,220,223],"tr",{},[211,212,213],"th",{},"#",[211,215,216],{},"テーマ",[211,218,219],{},"試したこと",[211,221,222],{},"結果",[211,224,225],{},"気づき",[227,228,229,247,266,291,307,323,338,354,370,386,403,420,436,454,470],"tbody",{},[208,230,231,235,238,241,244],{},[232,233,234],"td",{},"1",[232,236,237],{},"統計のD1移行（06:42）",[232,239,240],{},"文字列置換スクリプトで手順書やスクリプトを書き換えさせた",[232,242,243],{},"一致しない、エスケープで失敗、CRLF で複数行一致が取れない、で空振り。Edit で1か所ずつ直させた",[232,245,246],{},"いずれも何も書き込まれていなかった",[208,248,249,252,254,257,264],{},[232,250,251],{},"2",[232,253,237],{},[232,255,256],{},"コミットゲートの Codex レビュー",[232,258,259,260,263],{},"モデルの容量不足で未レビューのまま保存された。issue に記録して手で再レビューさせ、",[54,261,262],{},"09b4bfa0"," は事後レビューした",[232,265],{},[208,267,268,271,274,277,280],{},[232,269,270],{},"3",[232,272,273],{},"回帰テスト（06:44）",[232,275,276],{},"試しの入力で区間選びを検証させた",[232,278,279],{},"コメントだけの変更が「実行に影響あり」と判定された。入力を直すと対象0本と正しく判定された",[232,281,282,283,286,287,290],{},"原因は Git Bash が ",[54,284,285],{},"//"," を ",[54,288,289],{},"/"," に変えて入力を壊していたこと",[208,292,293,296,298,301,304],{},[232,294,295],{},"4",[232,297,273],{},[232,299,300],{},"CI の完了を待たせた",[232,302,303],{},"昨日の古い実行を見ていた。今回の push を指定して待ち直すと全部通った",[232,305,306],{},"待つ対象の実行を指定する",[208,308,309,312,315,318,321],{},[232,310,311],{},"5",[232,313,314],{},"Mac連携（06:48）",[232,316,317],{},"Mac から合成結果を受け取るのに R2 を使う案",[232,319,320],{},"同一 Wi-Fi を指摘し、Mac→Windows の受け口を作らせた",[232,322],{},[208,324,325,328,330,333,336],{},[232,326,327],{},"6",[232,329,314],{},[232,331,332],{},"Mac から4件送った",[232,334,335],{},"2件しか受け取れていなかった。残り2件も取り出せた",[232,337],{},[208,339,340,343,345,348,351],{},[232,341,342],{},"7",[232,344,314],{},[232,346,347],{},"Remote Control 中にLANブリッジで送信",[232,349,350],{},"セッション名入りの線のせいで入力欄を認識できず止まった。ブリッジを直し、Mac の tmux で新しいセッションを立てると届いた",[232,352,353],{},"Mac 側は古い版のまま動いていた",[208,355,356,359,361,364,367],{},[232,357,358],{},"8",[232,360,314],{},[232,362,363],{},"フックの Mac 有効化とバックアップ調査を Mac に依頼した",[232,365,366],{},"Mac の auto mode に2件とも止められた",[232,368,369],{},"未解決",[208,371,372,375,378,381,384],{},[232,373,374],{},"9",[232,376,377],{},"合成のMac分担（06:50）",[232,379,380],{},"全29本の後ろ9本を Mac に分担させた",[232,382,383],{},"送り先の tmux セッション名が違って止まった。正しい名前を伝えて送り直し、全29本は11時に完了した",[232,385],{},[208,387,388,391,394,397,400],{},[232,389,390],{},"10",[232,392,393],{},"純資産の読み（06:50）",[232,395,396],{},"録音で読み違いを直せるか調べた",[232,398,399],{},"仕訳も純資産も録音には入っていたが、エンジンは声の質しか写さない。シード変更の聞き比べ（6文×4シード）に切り替えた",[232,401,402],{},"読みはシードか渡す文字で直す",[208,404,405,408,411,414,417],{},[232,406,407],{},"11",[232,409,410],{},"会計用語の読み（11:12）",[232,412,413],{},"会計用語5語の渡し方を120本で聞き比べた",[232,415,416],{},"7案を選んで26本、155文を作り直させた。減価償却費は全部ひらがなでも不自然で、3文を録り直した。Mac への分担は10分返事がなく取り消した",[232,418,419],{},"不自然な語は本人の録音で差し替える",[208,421,422,425,428,431,434],{},[232,423,424],{},"12",[232,426,427],{},"スマホ縦版（11:39）",[232,429,430],{},"まとめの画から要素を外し、字幕を箱でかぶせた",[232,432,433],{},"字幕の箱が CS の期末残高の行に重なった。カメラを箱の上までに収めて解消した",[232,435],{},[208,437,438,441,443,449,452],{},[232,439,440],{},"13",[232,442,427],{},[232,444,445,446,448],{},"締めの文を書き直して ",[54,447,169],{}," を更新させた",[232,450,451],{},"別セッションと書き込みが衝突し、ファイルが0バイトになった。バックアップから復元し、2か所を当て直した",[232,453],{},[208,455,456,459,461,464,467],{},[232,457,458],{},"14",[232,460,427],{},[232,462,463],{},"導入6の MP4 を2倍の解像度で撮って縮める形で書き出し直させた",[232,465,466],{},"1回目は失敗していたが、出力を tail で絞っていたため成功に見えた。やり直して、字は少しはっきりした",[232,468,469],{},"パイプの終端が終了コードを隠す",[208,471,472,475,478,481,484],{},[232,473,474],{},"15",[232,476,477],{},"3200番台の表示（13:55）",[232,479,480],{},"ページがブラウザで表示されない原因を調べさせた",[232,482,483],{},"サーバーは200を返していたが、再読み込みが2分以上終わらなかった。原因は二つ重なっていて、直したあとは表示された",[232,485],{},[79,487],{},[19,489,490],{"id":490},"今日の学び",[47,492,493,496,499,502],{},[50,494,495],{},"ロックは作っただけでは効かない。9/24 に作ったロックをスキルに書いていなかったので、別のセッションはロックを通さずに Irodori を2本同時に起動していた",[50,497,498],{},"朝の「Turso」という答えは、9月25日の計画と、すでに作ってあった D1 を読んだら改まった。過去に検討した覚えがあるなら、資料を探させてから決める",[50,500,501],{},"参照音声は声の質を写すが、読み方は写さない。読みはシードか渡す文字で直し、それでも不自然な語は本人の録音で差し替える",[50,503,504],{},"縦に4つの表を積む限り、表は縮む。表を縮めるかわりに、表以外のものを1つずつ画面から外していった",[79,506],{},[19,508,509],{"id":509},"明日やること",[47,511,514,524,530],{"className":512},[513],"contains-task-list",[50,515,518,523],{"className":516},[517],"task-list-item",[519,520],"input",{"disabled":521,"type":522},true,"checkbox"," フックを Mac でも有効にする1行を、Mac の auto mode に止められない形で渡す",[50,525,527,529],{"className":526},[517],[519,528],{"disabled":521,"type":522}," Mac のセッション履歴バックアップが失敗する原因を調べる",[50,531,533,535],{"className":532},[517],[519,534],{"disabled":521,"type":522}," 統計の D1 移行は10月12日まで様子を見てから、Phase 2（メモリ価格）に入る",[79,537],{},[19,539,540],{"id":540},"関連記事",[47,542,543,547,551,555,559],{},[50,544,545],{},[74,546,77],{"href":76},[50,548,549],{},[74,550,110],{"href":109},[50,552,553],{},[74,554,142],{"href":141},[50,556,557],{},[74,558,178],{"href":177},[50,560,561],{},[74,562,195],{"href":194},{"title":564,"searchDepth":565,"depth":565,"links":566},"",2,[567,568,576,577,578,579],{"id":21,"depth":565,"text":21},{"id":31,"depth":565,"text":31,"children":569},[570,572,573,574,575],{"id":35,"depth":571,"text":36},3,{"id":83,"depth":571,"text":84},{"id":115,"depth":571,"text":116},{"id":147,"depth":571,"text":148},{"id":183,"depth":571,"text":184},{"id":200,"depth":565,"text":200},{"id":490,"depth":565,"text":490},{"id":509,"depth":565,"text":509},{"id":540,"depth":565,"text":540},"diary",null,"月次統計の正本をGitのTSファイルからCloudflare D1へ移し始め、財務諸表講座の動画はフィードバック反映、会計用語の読み補正、スマホ縦版の試作を進めた。回帰テストの改修と、WindowsとMacのLAN直送も作った1日の記録。","md",{},"/2026-10-05-diary","daily-log",false,"2026-10-05T00:00:00.000Z",{"title":5,"description":582},"make-diary","2026-10/2026-10-05/diary-2026-10-05",[593,594,595,596,597,598],"日記","Cloudflare D1","財務諸表講座","TTS","回帰テスト","Mac連携","3KUQ0W0xyA4iiOo2IlVKrIksQXZ3J6O0EaREfS_cAWg",[],[602,606,610,614,618],{"title":603,"path":604,"publishedAt":605},"2026年10月6日の開発日記 - 並行セッションで講座3本を進め、統計の移行を締めた日","/2026-10-06-diary","2026-10-06T00:00:00.000Z",{"title":607,"path":608,"publishedAt":609},"2026年10月11日の開発日記 - 計算モジュールの動画を分割画面にまとめ、Gitの読み上げをカタカナ台本に切り替えた","/2026-10-11-diary","2026-10-11T00:00:00.000Z",{"title":611,"path":612,"publishedAt":613},"2026年10月4日の開発日記 - Excel講座のフィードバック消化と、問い合わせフォームの本番公開","/2026-10-04-diary","2026-10-04T00:00:00.000Z",{"title":615,"path":616,"publishedAt":617},"雑学ショート動画を11本まで一気に作った日｜脂肪の出口ネタの記事化から、BGMの途切れ対策と1文ずつ直せるレビュー画面まで","/sns-shorts-trivia-batch-production","2026-09-30T00:00:00.000Z",{"title":619,"path":620,"publishedAt":621},"2026年9月25日の開発日記 - 並行セッションがメモリを取り合い、関数の章をMacへ送った","/2026-09-25-diary","2026-09-25T00:00:00.000Z","https://log.eurekapu.com/og/blog/2026-10-05-diary.png?v=2026-10-05T00%3A00%3A00.000Z&title=2026%E5%B9%B410%E6%9C%885%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E7%B5%B1%E8%A8%88%E3%81%AE%E6%AD%A3%E6%9C%AC%E3%82%92D1%E3%81%B8%E3%80%81%E8%B2%A1%E5%8B%99%E8%AB%B8%E8%A1%A8%E8%AC%9B%E5%BA%A7%E3%81%AE%E5%8B%95%E7%94%BB%E3%82%92%E3%82%B9%E3%83%9E%E3%83%9B%E7%B8%A6%E7%89%88%E3%81%B8&author=Kei%20Komatsu&sig=a7b7728800b2ceb0",1791766732769]