2026年4月29日の開発日記
朝、Cドライブの空き容量が10%を切っていた画面を眺めるところから始まり、夜には蔵書841冊が二軸+第3軸(コンテンツ)で分類され、Excel講座の全章が共通の縦記事レイアウトに揃い、GIFターンテーブルが7種類のSVGアニメに化けていた。並走したセッションは11本、プロジェクトは3つ(book-knowledge-base / eurekapu-nuxt4 / mdx-playground)。
今日のタイムライン

今日やったこと
1. Cドライブ大規模クリーンアップ:733GB使用 → 188GB空きへ
朝イチで空き容量が10%を切っていた C ドライブを丸1日かけて整理した。uv cache clean で37GB、Tempから11GB、Google Drive残骸を削除、Microsoft 365 Personal の OneDrive を「ファイルオンデマンド」に切り替え、Dropbox の「ハードドライブ容量を管理」で200GBをクラウドのみへ。Docker / WSL / npm cache / Adobe Media Cache まで一通りスキャン。
主な成果:
- 18.3% → 22.4% まで空き容量が回復し、188GB を解放
- Google Drive ミラーリング時代の残骸を
gogcliスキルで突き合わせて安全に削除 - OneDrive と Dropbox の「同期はするがローカルに置かない」モードを正しく理解した
詳細: Cドライブ大規模クリーンアップで733GB使用→188GB空き達成
2. 蔵書841冊にセミラティス的タグを付ける
Amazon商品メタの全件取得を完走させたあと、841冊をサブエージェント8並列でタグ付けした。Codexに2回(v1→v3)プランレビューを依頼し、キー設計バグと検証ロジックの欠落を直してから本番投入。shelf UIに★区切り(5.0/4.5以上/4.0以上)の横線とタグフィルタを追加し、ユーザー要望から「コンテンツ軸」(第3軸:連結/簿記/キャッシュフロー計算書/Excel等)を新設して98ペアを補正した。
主な成果:
- baseline 60冊+781件を8バッチに分割、サブエージェント並列でJSONL生成→DB投入
- タイトルマッチ自動付与+Claude全件再走査の二段構えで漏れを最小化
- 著者情報(#bylineInfo)も追加で344件取得(CAPTCHAで中断、明日朝リトライ)
詳細: 蔵書841冊にセミラティス的タグを付ける:サブエージェント8並列+Codex2回レビュー
3. /restructure-book を Turso API に書き換えて専門書2冊を再構造化
旧コマンドはローカル SQLite を better-sqlite3 で直接叩く前提だったので、Embedded Replica + Turso クラウドに合わせて全面書き換えた。書き換え後、専門書2冊(連結CFマニュアル341→31、設例CF Q&A 411→95)に通し、合計752チャンクを126セクションに圧縮。蔵書UIには「整」(黄色:cleanup_status)と「済」(緑:restructure_status)の2バッジを並べ、書籍ページから /shelf への戻り導線も右上に追加した。
主な成果:
- スラッシュコマンド本体を Turso API 対応に書き換え
- 752チャンク → 126セクション(うち626チャンク削除、FTS検索でも検証)
- shelf画面でカバー画像左上に「済」バッジ表示(著者NULLでも消えない実装)
詳細: /restructure-book を Turso API に書き換えて専門書2冊を再構造化
4. Excel講座の統合記事パターンを ScrollArticle に共通化
朝、contents.vue にフック→伏線→回収構造を入れたところから一日が転がった。short-video-strategy スキルにあるホテル再建計画氏の方法論を講座のスクロール体験に移植。途中、hardware と contents で目次レイアウトが揃わない問題に当たり、原因が scroll-layout の DOM 構造分岐だと判明。ScrollArticle.vue を新規作成して両側を共通化した。Codex 3回レビューを挟み、モバイルでデスクトップTOCとモバイル本文が二重描画されるバグも潰した。stream-deck の各章も「1章=1統合記事」に集約。
主な成果:
- ScrollArticle.vue を共通コンポーネント化、h2/h3 の id 属性が DOM に正しく載って deep link が機能
- フック→伏線→回収構造を導入、画像モーダル(.scroll-img / .exercise-img)を白背景で拡張
- 用語を「統合記事パターン」「スライドパターン」に固定
詳細: Excel講座の統合記事パターンを ScrollArticle に共通化した日
5. CF精算表ページに年次推移表を追加、列幅をピクセル単位で揃える
/cashflow-statement/v2/statement と /v2/accounting/annual-table の年次推移表を V2AnnualTableSection に統一し、CF計算書の直下に年次推移表を挿入して財務3表の縦並びを成立させた。借/貸列・期首列を削除、CF計算書ページのみ補助科目を畳む compact プロパティを追加。最後の難所は列幅で、table-layout: fixed と列幅定数化で完全一致(x=307→659→779→899→1019→1139)。/simplify 3エージェント並列レビューで574行→451行(-123行)まで削った。
主な成果:
- V2AnnualTableSection.vue を新規作成、CF精算表+年次推移表ページを共有
- table-layout: fixed で列幅をピクセル単位で同期
- PL 8グループをメタデータ駆動に再構成し、テンプレートDRY化
詳細: CF精算表ページに年次推移表を追加、列幅をピクセル単位で揃えて財務3表を縦並びにした
6. GIFターンテーブル75フレーム → SVGアニメデモ7種
ユーザーから受け取った Adobe Firefly のターンテーブルGIF(74フレーム)を ImageMagick で分解し、コンタクトシートで全体像を確認。yaw+pitchの2軸データであることが判明したので、まずラスター(PNG/GIF)でデモを12種作った。途中で「実は全部ラスター処理でSVGに一切変換していない」と気づいて自己訂正。ユーザーから提供されたSVG74ファイルでデモを書き直し、2軸ビューア/カラーパレット動的変更/パーツ表示/レイヤー分解/線画ドローイング/連続再生/蛇行飛行アニメの7種を完成させた。
主な成果:
- 75フレームのスプライトシート+CSSアニメHTMLデモ
- SVGの
<style>を innerHTML 書き換えで効かないバグをpath.style.fill直接設定で回避 - 雲削除+画面外飛行パターンへユーザーフィードバックで改修
詳細: AdobeターンテーブルのGIF75フレームをImageMagickで分解してSVGアニメデモを7種作った
7. Bloom Energy Q1 2026 決算分析記事
朝の隙間時間で、Bloom Energy($BE)の過去5年・21四半期分の業績まとめ記事を作成。チャート1枚と本文。
詳細: Bloom Energy Corporation $BE Q1 2026決算と過去5年21四半期の業績推移
今日の試行錯誤
| # | テーマ | 試したこと | 結果 | 気づき |
|---|---|---|---|---|
| 1 | Amazonメタ取得 | バックグラウンド再走→cp932で例外 | 30件ごとログ出力で止まるだけでDB書き込みは成功 | stdout/stderrのUTF-8切替を入れて再発防止 |
| 2 | 著者取得 | 全788件を再取得 | 5件連続CAPTCHA→344件成功で中断 | 「連続5件」判定は成功が間に入るとリセット。累積カウンタが必要 |
| 3 | 841冊タグ付け | Codex v1レビュー | キー設計 (file_no, category) でINSERT OR REPLACE破壊リスク | source を含めた3カラム複合キーへ変更 |
| 4 | コンテンツ軸の漏れ | タイトルマッチで自動付与→Claude全件再走査 | 漏れは大きく見つからず、誤付与5件を除外 | 「速いが取りこぼす」と「遅いが文脈で拾う」の二段構えが効く |
| 5 | /restructure-book | 旧コマンドをそのまま実行 | better-sqlite3前提で1行も動かない | スラッシュコマンドをTurso API対応に全面書き換え |
| 6 | shelf 「済」バッジ | 著者列の右隣に表示 | 著者NULLだとバッジも消える | カバー画像左上に重ねて配置(白文字+緑背景) |
| 7 | 目次レイアウト差異 | hardware側のCSSだけ揃える | 構造が違うので根本解決にならず | scroll-layout構造そのものを共通化(ScrollArticle.vue 新規) |
| 8 | モバイル幅確認 | iPhone 375px で表示 | ScrollArticleとtheater-mobileが二重描画 | article モード時は theater-mobile を v-if で隠す |
| 9 | CF年次推移表の列幅 | CSS の min-width / width 調整 | FY26列だけ1〜2px ズレる | table-layout: fixed + 列幅定数化で完全一致 |
| 10 | SVGカラーパレット | <style> の innerHTML 書き換え | path の色が元のまま(再評価されない) | path.style.fill で inline style 設定(presentation attribute対抗) |
| 11 | 雲+ターンテーブル飛行 | 画面内で機体が回転 | 雲のサイズが固定で奥行きが嘘っぽい | 雲削除+画面外フレームアウト/インを挟む |
| 12 | Cドライブクリーンアップ | OneDrive all folder を一気にクラウド化 | 39,699件で10時間表示→止めて様子見 | スマートシンク/オンデマンドの仕組み(200GBは論理サイズ、実体13GB)を腹落ち |
今日の学び
- 二段構えが効く: 「自動マッチで速く拾う+全件再走査で文脈拾い」は精度を上げる。タグ付けでもチャンク統合でも同じ構造。
- 共通化は構造から: CSSだけ揃えても根本解決にならない。DOM 構造そのものを分岐させない設計に踏み込む必要がある(ScrollArticleがその好例)。
- table-layout: fixed は最後の砦: 列幅をピクセル単位で揃えたいときは、auto レイアウトでの調整に粘らず、fixed+定数化に早めに切り替える。
- CSSクラスはpresentation attributeを上書きする: SVGの
fill="..."属性が<style>のCSSルールに勝つので、動的に色を変えたいときは inline style で書く。 - Cドライブの容量食い犯人は予想と違う: pagefile.sys や hiberfil.sys ではなく、開発ツールキャッシュ(uv 37GB / npm / Temp)と OneDrive / Dropbox のローカル同期分が大半。
明日やること
- 著者情報の残り444件をリトライ(CAPTCHAクールダウン明けを確認してから)
- ゲシュタルトのGIF動画を講座ページに置き換える作業
- Excel講座の全ページを統合型 / スライド型でレビュー(統合型に倒せるものを洗い出し)
- CF Q&A 設例書籍(95セクション化済み)の蔵書UIで「済」バッジ反映を確認
- book-knowledge-base の
bs-pl-impact-100-cases(180チャンク)の OCR マージ修正
関連記事
- Cドライブの空きを7.9%から22.4%に戻した話 — 開発者のWindowsクリーンアップ手順
- 蔵書841冊にセミラティス的タグを付ける:サブエージェント8並列+Codex2回レビュー
- /restructure-book を Turso API に書き換えて専門書2冊を再構造化
- Excel講座の統合記事パターンを ScrollArticle に共通化した日
- CF精算表ページに年次推移表を追加、列幅をピクセル単位で揃えて財務3表を縦並びにした
- AdobeターンテーブルのGIF75フレームをImageMagickで分解してSVGアニメデモを7種作った
- Bloom Energy Q1 2026決算と過去5年の四半期推移:売上倍増と利益率プラス転換の構造変化