daily-log

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セクションに分割した。

詳細: 書棚のKindle蔵書識別と漫画フィルタを整える


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冊が対象。ファイル冒頭に「次セッションクイックスタート」を追加して、明日からそのまま着手できる状態にした。

詳細: Kindle 蔵書521冊の優先順位計画書を整える


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 未登録なので自動更新対象なし。記事化のみ実施。

詳細: earnings beats 2026-06-18


今日の試行錯誤

#テーマ試したこと結果気づき
1漫画シリーズ集約巻数除去 regex の先頭を \s+ で書いたBLOODY MONDAY が取りこぼされて別カードのまま【】 で先に文字を消すと巻数がスペース無しで直結するので \s* に直す必要があった
2紙本の漫画判定kindle_library.tags だけで判断紙本の「チ。」が漫画扱いされず棚に残ったAPI 側で amazon_metadata.title パターンマッチも併用する二段構えに変更
3紛らわしい書籍重複と思った3冊を統合しようとしたPDF 実体を確認したら別書籍ファイル名と Amazon タイトルが食い違うときは実体を先に見る
4Kindle Cloud Readerread.amazon.co.jp/?asin=... だけで開いたライブラリにリダイレクトされた&ref_=kwl_kr_iv_rec_2 パラメータが必要
5Kindle 撮影並列化OCR 中に別タブで次の本を開いた4冊目で Tabs cannot be edited エラー撮影中に他の本の new_page をしない、と運用ルール化
6restructure 並列化チャンク→セクション統合をメインで回した1冊あたり5〜10分で直列だと長いサブエージェントで非同期並列化、スラッシュコマンドにも反映
7NVIDIA セグメント図stacked SVG だけで売上を見せた各バーの数値が読めないバー内に数値ラベル(緑/紫は白、橙は黒)を追加
8Vue コンポーネント解決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 のケース正規化と相性が悪い。AIAPI のような連続大文字は AiApi 扱いになる

明日やること

  • 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回固定が効いていることを実機で確認

関連記事