2026年8月14日の開発日記 - 積み残しに番号を振って潰し、デプロイ25分の内訳を割った

daily-log

2026年8月14日の開発日記

朝いちで「積み残しをリストにしてください」と頼んだ。返ってきた項目に A-1 / A-2 / A-3 と番号が付いて、その番号順に一日が動いた。git の分岐、未コミットの53ファイル、本番 /search の廃止。3つ目まで片付けたところで話がデプロイの所要時間に移り、postgenerate に213.7秒かかっているという数字が画面に出た。

そこから先は、削れる場所と削れない場所を分ける作業になった。同じ日に、図解カタログの移行、税大講本のOCR、ナレーションの話速をBPMで決める試み、動画教材で何を売るかのリサーチも並んで走っている。セッションは18本。1本ずつ別々のことをやらせて、自分は違和感を拾う側に回った。

今日のタイムライン

タイムライン


今日やったこと

1. 積み残しの棚卸しと消化(A-1 / A-2 / A-3)

朝の時点で「何が残っているか」を機械に数えさせた。人の記憶ではなく計画書の状態ブロックとgitの差分から引かせたので、リストが1分で出る。出た3件に番号を振り、それぞれ別セッションへ配った。

/search の廃止(A-3)は、本番でページを開くたびに11.3MBのSQLダンプを取得していた問題の根治。リンクを外すだけで済ませるか迷ったが、404経由でもダンプを引いていたので、そちらまで塞いだ。

主な成果:

  • origin と分岐していたローカルを、origin 側へ寄せて解消
  • 未コミット53ファイル(未追跡44)を機能単位で分割コミット
  • /search を廃止し、404ページの転送量を558KBまで縮小

詳細: 積み残しを機械で数えてから、A-1 から順に潰した一日


2. デプロイ所要時間の計測と短縮

「このままだとデプロイできないのか」という不安から入って、実測で否定するところから始めた。途中でcookieが消えたという診断が間違いだったことも分かった。1回目のデプロイは自分の変更と関係ない理由で落ちている。

内訳を出せるようにしてから、postgenerate が213.7秒を占めていると特定した。その大半は、非公開記事が本番のダンプに漏れていないかを検査する1本だった。展開後の文字列に対して記事202本を最大3回ずつ、およそ600回も全文走査していたのが理由で、これを1パスに置き換えた。スクリプト単体の計測では277秒が40秒になり、出力は旧実装と完全に一致した。一方でタグページのオンデマンド生成は、外部リンクと検索流入を失う割に合わないと判断して見送っている。

主な成果:

  • フェーズごとの所要時間を計測できるランナーを挟んだ
  • 非公開記事のダンプ検査を1回の走査にまとめ、277秒→40秒
  • 走りっぱなしのプロセスを掃除し、最後の計測は15分55秒

詳細: デプロイ25分の内訳を計測して、削れる場所と削れない場所を分けた


3. 図解60型カタログの統一キャンバス移行

プロセスフロー11型と時間軸4型を、1024×576の統一キャンバスへ移した。移行の前にBeforeを凍結しておかないと後から比較できなくなるので、そこを先にやらせている。

移行後に見て気づいたのは、フローチャートの判断ノードだった。Beforeでは三角形だったひし形が、横に間延びした形に変わっている。差し戻して直させた。カテゴリCではフォントもサイズもBeforeのまま持っていくよう指示した。余計に整えようとすると、元の良さが消える。

ガントチャートを27系と33系のどちらに寄せるかは、デザインの良い27系を残す方向で決めた。方針がページのどこにも書かれていなかったので、上部に明示させた。

主な成果:

  • 移行前のBeforeを凍結してから、プロセスフロー11型と時間軸4型を移行
  • 横に伸びた判断ノードを差し戻して修正
  • 「33系は27系に統合する」方針をカタログページの上部に明示

詳細: 図解カタログをBefore付きで移した日。プロセスフロー11型と時間軸4型、横に伸びた判断ノード


4. 税大講本のPDF取り込みとOCR

ダウンロードフォルダに置いたままだった税大講本を、いつもの連番フォルダへ移した。8冊のつもりが3年分24冊、3,846ページあった。

途中で「これ、もともと検索可能なPDFなんじゃないですか」と気づいて確認させた。テキスト層は実際に入っていて品質も高い。それでも、表がMarkdownのテーブルとして残ることと図が抽出できることを取って、OCRをそのまま完走させる判断にした。ページの柱の除去は理由を変えながら何度も空振りしている。

主な成果:

  • 3年分24冊・3,846ページを連番フォルダへ整理し、OCRから全文検索まで通した
  • 年度版は流用が効かないと確認
  • OCR検算を1冊だけ試して、やり方の当たりを付けた

詳細: 税大講本3年分24冊をPDFから全文検索できる形にするまで


5. ナレーション音声のテンポをBPMで決める

手元のナレーションがいま何拍で喋っているのかを ffprobe で実測させたら、BPM98相当だった。遅い。BPM120との聞き比べページを作らせて並べて聴いたら、1.2倍くらいの感覚で、こちらの方が耳になじむ。

面白かったのは、4つ打ちを重ねて確かめたときだ。文と文のあいだの「間」も拍のグリッドに乗せた方がいい、と分かった。会計期間の説明で1.1秒空いていた箇所は、4拍目から始まっていて拍の頭とずれていた。ついでに、停止ボタンを押してもバックグラウンドのビートが鳴り続けるバグも直させた。

主な成果:

  • 既存音声の話速をBPM98相当と実測
  • BPM120ベースとの聞き比べページを作り、4つ打ちを重ねて確認
  • 文の間を拍のグリッドに置き直し、手順をスキルに落とした

詳細: ナレーションの話速をBPMで設計する。実測BPM98と、間をビートに乗せる試み


6. 動画教材で何を売るかのリサーチ

手持ちのリポジトリから出せる講座を調べさせたら、前提が二度ひっくり返った。自分が受ける側の話になっていたり、プラットフォーム前提で組まれていたりして、そのたびに軸を戻している。

うまくいかない原因は毎回こちら側にあった。前提を言い直させると出力が一段まともになる。制約として書かせていた条件も、実際には数えずに書いていただけで、材料を渡したら消えた。

主な成果:

  • 「出す側」の前提に置き直して候補を再抽出
  • 選別の軸を先に決めてから候補を絞る形に変えた
  • 具体的な着地は非公開の記録に残した

詳細: 記録は残したが、未launchの方針をそのまま書いているので非公開にした。


7. 行政手続の調査データMCPを試す

公開記事で見かけたMCPを、中身を知らないままスキルに登録しかけた。手を止めて「これ、何が使えるんですか」と聞き直したところから、実物を引かせにいくことになった。

応答が返らない時間があって、落ちているのか、間違えたのか、まだ走っているだけなのかが切り分けられなかった。最終的に、1行が1つの行政手続で38項目、条文単位で辿れるところまでは見えた。提出書面まで出るのかは確かめる前に止めている。

主な成果:

  • 登録前にMCPの中身をドキュメント化させた
  • 1行=1手続き・38項目、条文から手続きを辿れることを確認
  • 手元のDBに入れてある教材データと突き合わせる案まで到達

詳細: 行政手続の調査データを扱う MCP は何が引けるのか、スキルにする前に確かめた


今日の試行錯誤

#テーマ試したこと結果気づき
1積み残しの把握記憶ではなく計画書の状態ブロックとgit差分から機械集計させた成功リストが1分で出る。番号を振ると分配できる
2git の分岐origin 側へ寄せるか手元を残すかを判断成功分割で寄せた。バイナリも含めて取り込む方向で決着
3/search の廃止リンクを外すだけで済ませようとした不十分404経由でもSQLダンプを引いていた。そちらも塞いで558KBまで縮小
4デプロイの可否cookie が消えたせいだと診断した失敗診断が間違い。実測で否定できた
5デプロイ1回目そのまま流した失敗自分の変更と関係ない理由で落ちた
6デプロイ時間の短縮フェーズ内訳を計測できるランナーを挟んだ成功postgenerate 213.7秒が最大の詰まりだと分かった
7非公開記事の検査約600回の全文走査を1パスに置き換えた成功単体計測で277秒→40秒。遅い理由をgunzipだと思い込んでいた
8タグページオンデマンド生成で削れないか検討した見送り外部リンクと検索流入を失う。割に合わない
9図解カタログBefore を凍結してから移行させた成功凍結は移行の前にしかできない
10判断ノード移行後の形をそのまま受け入れかけた差し戻しひし形が横に間延びしていた。目視で気づけた
11カテゴリCの移行余計に整えようとしていた修正Before のフォントとサイズをそのまま持っていくよう指示
12税大講本のOCRテキスト層がある前提で全文抽出に切り替えるか迷った継続表と図を取るためOCRを完走させる判断
13柱の除去理由を変えて何度か試した空振り落としきれない箇所が残った
14ナレーション話速ffprobe で実測成功BPM98相当。遅いという体感の裏が取れた
15間の置き方4つ打ちを重ねて拍とのずれを見た成功1.1秒の間が4拍目から始まっていた
16講座テーマ手持ちから候補を出させた二度やり直し「受ける側」「プラットフォーム前提」で前提がずれていた
17行政手続MCP中身を知らないまま登録しかけた中断何が引けるか確かめてからにした

今日の学び

  • 積み残しは、思い出すのではなく数える。計画書の状態ブロックとgitの差分から引けば、朝いちで1分でリストになる
  • 遅い場所は勘では当たらない。デプロイ25分のうち213.7秒が1箇所に固まっていたのは、内訳を出すまで見えなかった
  • Before は移行の前にしか撮れない。凍結を後回しにすると、何が変わったのかを比べる手段そのものが消える
  • 移行の質は目視でしか拾えない部分が残る。判断ノードのひし形が横に伸びていたのは、数値のチェックには引っかからなかった
  • 体感は実測すると数字になる。「なんとなく遅い」ナレーションはBPM98で、BPM120と並べたら差がはっきりした
  • 前提がずれたリサーチは、やり直すより先に前提を1行で言い直させた方が早い

明日やること

  • 図解カタログの残り34型のうち、カテゴリDから移行を続ける
  • 行政手続MCPで、条文から提出書面まで辿れるかを1件で確かめる
  • OCR検算の残りを、1冊試した手順のまま他の年度版へ広げる
  • ナレーションのBPM設計を、既存の音声コンテンツへ適用し直す

同じ日に書いた記事

日記チェーンの外で、その日のうちに書いた記事。

このほかに、税大講本を基にした教材の利用条件を整理した調査記録も書いた(非公開)。


関連記事