2026年6月19日の開発日記
今日は Kindle 軸での蔵書整備とフロント可視化を行き来した1日。早朝に書棚 UI を整え、会計書籍10冊を OCR バッチで流し、午後は NVIDIA の新セグメントを memory-makers に追加した。並行して会計ソフトA の内部 API ハンズオン教材、Cloudflare Workers の連載記事、OpenAI 財務リークの SVG ウォーターフォールも作った。
今日のタイムライン

今日やったこと
1. 書棚 UI の Kindle 識別と漫画フィルタ整備
shelf ページに Kindle 蔵書識別バッジを足し、シリーズもの集約のモーダル展開を入れ、漫画タグで初期非表示にできるフィルタを追加した。BLOODY MONDAY のシリーズ集約が \s+ regex の取りこぼしで効いていなかった件と、紙本のチ。が kindle_library に1行も入っていないので入口にすら立っていなかった件を直した。仕上げに /books 一覧を Kindle 取り込みとその他で上下2セクションに分割した。
2. 会計書籍10冊を一括OCR→DB投入
/import-batch で会計5thバッチ10冊を回した。05:40 着手 → 07:50 コミットの2時間で OCR 1時間40分・DB 取り込み20分。最大の罠は「ファイル名と Amazon タイトルが食い違う紛らわしい3冊」で、PDF 実体を先に確認したら別書籍と判明し、重複ではなく別 book_id で進められた。中間 jpg 自動削除を OCR スクリプトに組み込んだのでディスクは 94GB 空きで安定した。
詳細: 会計書籍10冊を /import-batch で一括取り込み
3. /yomitoku-kindle で Kindle 5冊を並列パイプライン処理
午後に Kindle Cloud Reader から5冊を撮影 → OCR → DB 投入 → restructure まで一気通貫で回した。1冊目は「Kindle App is Required」でスキップ、残り4冊は撮影と OCR と DB 投入を並列にして1時間5分で完走。途中で &ref_=kwl_kr_iv_rec_2 パラメータの仕様、Tabs cannot be edited エラー、content.js の文字化けに出くわし、その都度スラッシュコマンド側に挙動を固定した。restructure はサブエージェントで非同期並列化した。
詳細: /yomitoku-kindle で Kindle 4冊を並列パイプラインで取り込む
4. Kindle 蔵書521冊を優先順位付きで進捗管理
最初に書いた計画書が「個別の取り込み手順」になっていて、本意の「Kindle 全件をどう優先順位付けして進めるか」とズレていた。書き直して、Python ヒューリスティック分類スクリプトで521冊全件を15カテゴリに振り分け、チェックボックスで進捗管理できる67KB / 625行の Markdown を生成した。漫画157件は除外、未OCR 464冊が対象。ファイル冒頭に「次セッションクイックスタート」を追加して、明日からそのまま着手できる状態にした。
5. NVIDIA 個別ページを Hyperscale/ACIE/Edge セグメントで作成
NVIDIA のセグメントが Hyperscale / ACIE / Edge の3層に変わったことを受けて、micron.vue と同じパターンで nvidia.vue を立ち上げた。売上 QoQ の赤い折れ線とセグメント別 QoQ の subchart を上下に並べ、stacked SVG には各バー内に数値ラベルを足した。ACIE 内訳カードでは Neo Cloud と Sovereign AI を青の点線で上下分割した。Palantir や Anduril などモデル中立な顧客の話、Anthropic × Palantir × ペンタゴンの揉め事、Vera Rubin の Q3 量産時期も書き込んだ。全チャートは ExpandableChart 汎用コンポーネントでクリック拡大対応にした。
詳細: NVIDIA 個別ページを memory-makers に追加する
6. 会計ソフトA 内部 API のハンズオン教材を作成
Chrome 拡張で会計ソフトA の内部 API を叩いて未登録明細を取得する仕組みを、教材化した。最初はエクスポート編・インポート編の2記事を書いたが「コードの説明よりも、叩いたら何が返ってきて次にどう繋がるか」が知りたい、という再依頼があって DevTools Console ハンズオン編を別途追加した。mermaid 図はクリックでモーダル拡大できるようにし、3記事とも個人 ID(暗号化済みではあるが)が混じっているので一旦 unpublished に切り替えた。
詳細:
- 会計ソフトA 内部 API ハンズオン編(DevTools Console で実機を触る)— unpublished
- 会計ソフトA 内部 API:未登録明細エクスポート編 — unpublished
- 会計ソフトA 内部 API:仕訳インポート編 — unpublished
7. Cloudflare Workers でエージェント基盤を作る連載記事
和田卓人さんの「Cloudflare で AI エージェント基盤」ポストへの呼応として、Hono 作者 yusukebe さんの「3秒以内に200を返す Webhook を Workers の前段で受けて Queue に積む」構成を起点に、Wrangler 〜 Agents SDK までを順に書く連載構成にした。ユースケース4案を洗ったら B/C/D は Claude Code で十分間に合うと気づいて、結局「外部トリガーが Claude Code に届かない場合のみエージェント化が効く」「定額の Claude Code が使える間は経済合理性的に動かさないのが正解」という注意書きを冒頭に足し、todo は条件付き積み残しに切り替えた。
詳細: Cloudflare で AI エージェント基盤を作る 4ステップ
8. OpenAI 財務リークを SVG ウォーターフォールで可視化
夜に wheresyoured.at の OpenAI 財務リーク記事を見て、米国公的書類で裏が取れるかを並行で調べた(結論:信頼度は高いが、現時点で公的書類では確認不可)。SVG でウォーターフォールチャートを作って記事化し、svg-diagram スキルの規律(viewBox 720、12カラム、グレースケール+マゼンタ、塗りのみで分離、タイトル=結論文)に合わせて全面書き直した。コンポーネント名 OpenAIFinancialsWaterfallChart.vue が MDC のケース正規化で OpenAiFinancialsWaterfallChart として解決され空要素になっていたのに気付いて修正した。
詳細: OpenAI 財務リーク記事を SVG ウォーターフォールで読み解く
9. /make-diary とタスクスケジューラの重複実行を解消
昨朝、/make-diary で日記を生成したあと7時に Windows タスクスケジューラから update-portfolio がもう一度走り、LINE プッシュが2回送られた。run-update-portfolio.cmd に --skip-if-today-success フラグを1行足し、.last-success-date を見て同日成功実行があればスキップするように直した。明日以降は1日1回で固定される。
10. earnings-beat-scan 自動チェーン
/make-diary の決算チェーンで SWBI(+57% EPS / +15% 売上ビート)が検出された。6/19 は Juneteenth(米連邦祝日・休場)で対象は6/18 AMC 発表分のみ、SWBI は beat-monitoring 未登録なので自動更新対象なし。記事化のみ実施。
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | 漫画シリーズ集約 | 巻数除去 regex の先頭を \s+ で書いた | BLOODY MONDAY が取りこぼされて別カードのまま | 【】 で先に文字を消すと巻数がスペース無しで直結するので \s* に直す必要があった |
| 2 | 紙本の漫画判定 | kindle_library.tags だけで判断 | 紙本の「チ。」が漫画扱いされず棚に残った | API 側で amazon_metadata.title パターンマッチも併用する二段構えに変更 |
| 3 | 紛らわしい書籍 | 重複と思った3冊を統合しようとした | PDF 実体を確認したら別書籍 | ファイル名と Amazon タイトルが食い違うときは実体を先に見る |
| 4 | Kindle Cloud Reader | read.amazon.co.jp/?asin=... だけで開いた | ライブラリにリダイレクトされた | &ref_=kwl_kr_iv_rec_2 パラメータが必要 |
| 5 | Kindle 撮影並列化 | OCR 中に別タブで次の本を開いた | 4冊目で Tabs cannot be edited エラー | 撮影中に他の本の new_page をしない、と運用ルール化 |
| 6 | restructure 並列化 | チャンク→セクション統合をメインで回した | 1冊あたり5〜10分で直列だと長い | サブエージェントで非同期並列化、スラッシュコマンドにも反映 |
| 7 | NVIDIA セグメント図 | stacked SVG だけで売上を見せた | 各バーの数値が読めない | バー内に数値ラベル(緑/紫は白、橙は黒)を追加 |
| 8 | Vue コンポーネント解決 | OpenAIFinancialsWaterfallChart.vue という名前で作った | MDC ケース正規化で空要素に化けた | ファイル名と markdown 参照を OpenAiFinancialsWaterfallChart に揃える |
| 9 | 計画書の意図 | 個別取り込み手順を書いた | ユーザーの本意は「全件の優先順位戦略」だった | 計画書は「粒度」と「視座」の2軸で考える。同じ単語でも意味が違う |
| 10 | /make-diary 重複 | LINE プッシュが7時に追加で来た | タスクスケジューラ側が無条件で走っていた | --skip-if-today-success を .cmd に1行足して解消 |
今日の学び
- regex の前段で文字を削るパイプラインは、後段のマッチ条件が前段の削り方に依存する。
\s+と\s*の1文字差で挙動が真逆になる - フラグ名と実体が乖離してきたら一度立ち止まる。「漫画フィルタ」は実質「初期表示から外したい本のフラグ」に育っていた
- OCR と DB 投入は並列化できる。撮影中だけ排他制御すれば残りは独立タスクなので、サブエージェント不要で並列パイプラインが組める
- Kindle Cloud Reader は URL パラメータの仕様で挙動が変わる。気付いたら即スラッシュコマンドに固定して、次回の自分が同じ罠に踏み込まないようにする
- 計画書を書くときは「個別手順」か「戦略ロードマップ」かを最初に確定する。粒度を間違えると書き直しコストが大きい
- Vue/Nuxt のコンポーネント自動インポートは MDC のケース正規化と相性が悪い。
AI・APIのような連続大文字はAi・Api扱いになる
明日やること
- Kindle 優先順位計画の上から進める(カテゴリ別に着手) — 6/21 に経営KU4冊+午後4冊で計8冊取込完了(/kindle-import-8books-parallel-pipeline)
- 税務3rd(残15冊)バッチを走らせる — Kindle優先のため未着手、繰越
- NVIDIA ページに ACIE 内訳テーブルの追加データソース確認 — 未着手、
nvidia.vueの sources は初版3件のまま、繰越 - /make-diary の1日1回固定が実際に効くか明朝確認 — 6/20・6/21・6/22 の朝に LINE 重複プッシュなく
timeline-*.pngも毎朝定時生成されており、1日1回固定が効いていることを実機で確認
関連記事
- 書棚のKindle蔵書識別と漫画フィルタを整える
- /yomitoku-kindle で Kindle 4冊を並列パイプラインで取り込む
- 会計書籍10冊を /import-batch で一括取り込み
- Kindle 蔵書521冊の優先順位計画書を整える
- NVIDIA 個別ページを memory-makers に追加する
- 会計ソフトA 内部 API ハンズオン編(DevTools Console で実機を触る)— unpublished
- Cloudflare で AI エージェント基盤を作る 4ステップ
- OpenAI 財務リーク記事を SVG ウォーターフォールで読み解く