2026年6月16日の開発日記
今日は別プロジェクトの「壁」に2つ頭をぶつけた日だった。一つは eurekapu-nuxt4 の Cloudflare Pages Worker bundle 1MB 制限。もう一つは mdx-playground の Nuxt Content v3 でビルド20分という重さ。前者は構成図A/B/C/Dを HTML で書き起こしながら設計判断を整理し、後者は並列化を試して「意味なかった」とドキュメントに残して撤退した。並行して beat-monitoring の scatter に FCF 軸を生やし、本棚(Turso)には会計と税務の本を10冊単位で流し込み、LINE 通知には「最高値比較カード」を足した。
今日のタイムライン

今日やったこと
1. Cloudflare Pages の 1MB Worker bundle 制限に当たって構成図A〜Dを書いた
eurekapu-nuxt4 で Cloudflare Pages にデプロイしようとしたら、Worker bundle の index2.mjs と [chapter].mjs がそれぞれ 1.0 MB で無料枠の上限を踏んだ。$5 払っても 10 MiB にしか増えないと気づいた瞬間、増額ではなく構成自体を見直す方向に切り替わった。プランA(現状維持)/B(hybrid)/C(フロント・バックエンド分離)/D(HTML/JS 直配信・SSGメイン)の比較を HTML で書き起こし、最終的にプランDの方向へ。Phase 1 を Step 0〜Step 4 まで実装してデプロイしたが 404、ロールバックも失敗して Codex に原因の深掘りをさせた。
主な成果:
- 構成A〜D比較の HTML 解説を
memo/2026-06-16/に保存 - Phase 1 の Step 0〜4 を実装、デプロイまで実行
- 失敗時の原因解析を Codex に投げる指示書を作成
詳細: Cloudflare Pages の 1MB Worker bundle 制限に当たって構成図A〜Dを書きながら設計判断を整理した
2. Nuxt Content v3 でビルド時間20分の壁に並列化で挑んだが意味なかった
mdx-playground の本番ビルドが20分かかる。タグページ(旧 [tag].vue)の削除で 13分40秒まで縮んだあと、concurrency: 8 を入れて並列化を試した。結果、むしろ遅くなって撤退。Codex に診させる前に Web で Nitro Issue #1447 を引き当てて、worker_threads が未対応で並列化が効かないと判明。Aプランに戻し、「効かなかった理由」をドキュメントに残した。
主な成果:
- 旧タグページと関連リンクを全削除(13分40秒、32%短縮)
- 並列化試行と撤退の経緯をドキュメント化
- Nitro Issue #1447 の根拠を確認
詳細: Nuxt Content v3 でビルド時間20分の壁に並列化で挑んだが意味なかった話
3. beat-monitoring scatter に FCF 基準トグルを追加した(前日の積み残し)
memo/2026-06-15/scatter-fcf-extension-plan.md の積み残しを片付けた。朝の点検で BeatValuation 型の FCF 4 フィールドが抜けているねじれを発見、optional + nullable で追補。scatter ページに「指標基準」トグルを足して、Codex のレビューを4ラウンド回しながら最終形へ。Codex の致命的指摘2件(pe フィールド流用の危険性、ADR の式が逆)を取り込んで 5548092d / 47add3b6 の2コミットで決着。
主な成果:
BeatValuation型に FCF 4 フィールドを追補- scatter に「指標基準」トグルを実装
- Codex 4 ラウンドで設計の穴を埋め切った
詳細: beat-monitoring scatter に FCF 基準トグルを追加して 13 銘柄の割安成長ゾーンを別軸で読む
4. 裁断した実務書を Turso の本棚に毎日10冊単位で取り込んだ
book-knowledge-base プロジェクトで、yomitoku で OCR したマークダウンを /restructure-book で章節単位に再構築し、Turso にぶち込む流れを「会計分野10冊」「税務分野10冊」と分野別に流した。1バッチ約1時間45分。進捗マークダウンが実態と乖離していたので、朝イチで差分を整理してから流し始めた。SQL は書かないので、後で本棚を引くときは Claude Code に「○○について関連書籍から検索して要約して」と頼む構図。
主な成果:
- 会計分野・税務分野で合計20冊強を Turso に取り込み
- 進捗マークダウンを実態に合わせて整理
- /import-batch 運用が分野横断で安定
詳細: 裁断した実務書をOCRしてTursoのDBに横串検索できる本棚を毎日10冊単位で増やす
5. LINE のポートフォリオ通知に「最高値比較カード」を足した
personal-notification-bots を見直して、LINE Flex Message の Bubble にバーチャートで7日/30日/90日の総額推移を描こうとした。300px幅では差がほぼ消えるので諦め、代わりに「最高値(過去のピーク)からの差分を%と日付で出す」カードに切替。履歴は Google スプレッドシートで管理しているので、そこから純粋関数 peakByPersonBefore で最大値を引いてカードに流し込む。Windows のタスクスケジューラの定期実行時刻も実値に合わせ直した。
主な成果:
- Bubble カードに最高値比較カード(4資産分)を追加
- 純粋関数
peakByPersonBeforeで履歴から最大値を抽出 - タスクスケジューラの定期実行設定を実値に合わせ直し
詳細: LINE Flex Message の Bubble カードに『最高値比較』を足してポートフォリオの天井からの落差を毎日通知する
6. BofA の「2030年メモリー$900B」予測を積み上げ棒チャートで読み解いた
Xで流れてきた BofA の長期半導体予測(2030年に半導体市場1.96T、うちメモリ900B)を積み上げ棒チャートにして、各期間の CAGR を点線で区切って妥当性を眺めた。SVG で描画して、メモリの構成比率を右軸で重ねた。
詳細: BofA「半導体市場は2030年に1.96T、うちメモリだけで900B」予測を積み上げ棒で読む — 妥当性チェック
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | Nuxt ビルド20分 | タグページ削除 | 成功(20分→13分40秒、32%減) | 不要ルートの削除は確実に効く |
| 2 | Nuxt ビルド | concurrency: 8 で並列化 | 失敗(逆に遅くなった) | Nitro Issue #1447 で worker_threads 未対応と判明 |
| 3 | LINE Bubble にバーチャート | SVG をカードに埋め込む | 失敗(300px幅で差が消える) | 最高値比較カードに切替 |
| 4 | Cloudflare Pages のデプロイ | Phase 1 Step 0〜4 完走 | 404、ロールバックも失敗 | Codex に原因解析を投げて翌日へ持ち越し |
| 5 | BeatValuation 型 | 朝の点検で FCF フィールド欠落を発見 | 成功(型補完→テスト pass) | データだけ入って型が抜けるパターンは目視で拾うしかない |
| 6 | Codex の scatter レビュー | 4 ラウンド回した | 致命指摘2件、軽微指摘多数 | pe フィールド流用の罠を未然に防げた |
今日の学び
- 増額ではなく構成変更で逃げる: Cloudflare Pages の Worker bundle は $5 払っても 10 MiB。1MBで詰まったら有料化ではなくアーキテクチャを書き直すほうが筋がいい。
- 並列化は前提条件を確認してから手をつける: Nitro が worker_threads 未対応なら
concurrencyを上げても無意味。試す前に Issue を引くべきだった。 - HTML メモは設計判断に向く: 構成図を SVG で挟みながら長文を書くなら、Markdown より HTML の方が見やすい。
- データだけ追加して型を放置すると朝に気づく: 前日 Phase 4 で valuation データ4列を入れたのに
BeatValuation型を更新し忘れていた。朝の点検で発見できなければ scatter のプロットが壊れていた。 - Bubble カードに棒グラフは入らない: LINE Flex の幅制約(300px弱)で、複数本の棒を比較するチャートは差が見えない。1スカラーの値+日付の方が伝わる。
明日やること
- Cloudflare Pages の 404 原因を Codex の診断結果から特定して Phase 1 を完走
- beat-monitoring scatter の FCF 軸でユーザー検証の反応をチェック
- 本棚への取り込みを「資産運用」「ファイナンス」あたりの分野で継続
- LINE 最高値比較カードのテスト運用結果を翌朝確認
関連記事
- Cloudflare Pages の 1MB Worker bundle 制限に当たって構成図A〜Dを書きながら設計判断を整理した
- Nuxt Content v3 でビルド時間20分の壁に並列化で挑んだが意味なかった話
- beat-monitoring scatter に FCF 基準トグルを追加して 13 銘柄の割安成長ゾーンを別軸で読む
- 裁断した実務書をOCRしてTursoのDBに横串検索できる本棚を毎日10冊単位で増やす
- LINE Flex Message の Bubble カードに『最高値比較』を足してポートフォリオの天井からの落差を毎日通知する
- BofA「半導体市場は2030年に
1.96T、うちメモリだけで900B」予測を積み上げ棒で読む — 妥当性チェック