[{"data":1,"prerenderedAt":383},["ShallowReactive",2],{"tag-articles-eurekapu":3},[4,17,28,39,51,60,70,84,92,102,109,117,125,132,142,150,159,167,174,184,192,199,207,218,225,232,240,248,255,264,272,278,287,295,305,317,324,331,337,344,353,363,371,378],{"title":5,"description":6,"path":7,"tags":8,"publishedAt":15,"updatedAt":16},"連結精算表データ生成とレビュー - 一部売却パターン5種の実装記録","子会社株式の一部売却に関する連結精算表データを生成した作業記録。80→70%、80→10%、80→20%、80→70→20%の4パターンと税効果を含む設例を実装し、ソースデータとの照合レビューを実施した。","/consolidated-worksheet-data-generation-2026-02-03",[9,10,11,12,13,14],"連結会計","連結精算表","一部売却","TypeScript","テスト自動化","eurekapu","2026-02-03T00:00:00.000Z",null,{"title":18,"description":19,"path":20,"tags":21,"publishedAt":27,"updatedAt":16},"2026年2月15日の開発日記 - 音アーカイブ2031コンセプトサイト構築とEurekapu移行始動","音アーカイブの5年後ビジョンサイトをNuxtで構築し5,850件のライブラリデータを自動生成。再開発フィールドワークマップのUI改善。Eurekapu Nuxt 4移行プロジェクトも始動した1日。","/diary-2026-02-15",[22,23,24,25,14,26],"日記","nuxt","oto-archive","leaflet","tokyo-soundscape","2026-02-15T00:00:00.000Z",{"title":29,"description":30,"path":31,"tags":32,"publishedAt":27,"updatedAt":16},"Eurekapu Nuxt 4移行プロジェクト始動 - Vue 2からの脱却とScoped CSS方式への転換","Vue 2製の学習プラットフォームapp.eurekapu.comをNuxt 4に移行するプロジェクトを開始。既存計画のNuxt 4更新、Codex CLIでのドキュメントレビュー、Phase 1プロジェクト作成、Vuetifyを試して撤退しScoped CSS方式に決定するまでの記録。","/eurekapu-nuxt4-migration-2026-02-15",[14,33,34,35,36,37,38,22],"nuxt4","vue3","移行","vuetify","scoped-css","codex-cli",{"title":40,"description":41,"path":42,"tags":43,"publishedAt":50,"updatedAt":16},"2026年2月20日の開発日記 - Eurekapu大規模移行・税務アシスタント機能拡張・書籍OCR一括処理","簿記問題集のNuxt4移行とCloudflare Pagesデプロイ、Better Auth認証基盤構築、税務アシスタントの税区分機能実装、書籍OCRバッチクリーンアップなど、5プロジェクトを横断した開発ログ。","/2026-02-20-diary",[22,14,44,45,46,33,47,48,49],"tax-assistant","book-knowledge-base","tokyo-onkei","cloudflare-pages","better-auth","OCR","2026-02-20T00:00:00.000Z",{"title":52,"description":53,"path":54,"tags":55,"publishedAt":50,"updatedAt":16},"Eurekapu Cloudflare Pages SSR化とBetter Auth認証基盤の構築","eurekapu-nuxt4をSSGからSSR化してCloudflare Pagesにデプロイ。D1データベースのセットアップ、Better Auth + Google OAuthの認証スケルトン実装、認証テスト7件全パスまでの記録。","/eurekapu-infra-auth-2026-02-20",[14,33,47,56,57,48,58,59,22],"ssr","d1","google-oauth","認証",{"title":61,"description":62,"path":63,"tags":64,"publishedAt":50,"updatedAt":16},"Eurekapu簿記問題集をNuxt4へ移行 - 2カラムUI・テスト整備・パフォーマンス99%改善まで","旧Vue2プロジェクトからNuxt4への簿記問題集ページ移行。CLAUDE.md作成、VPS経由の画像一括DL、2カラムレイアウト、正解/不正解の色分け、Vitest+Playwright全パス、JSON lazy import化で305KB→300バイト削減など一日の全記録。","/eurekapu-quiz-migration-2026-02-20",[14,33,65,35,66,67,68,69,22],"簿記","vitest","playwright","パフォーマンス","セキュリティ",{"title":71,"description":72,"path":73,"tags":74,"publishedAt":83,"updatedAt":16},"開発環境とテストスイートの整備 - Volta Node.js更新・ESLint修正・E2Eテスト全パス","VoltaでのNode.js更新によるClaude Codeアップデート、eurekapu-nuxt4のESLint・E2Eテスト修正、Claude Codeコンテキストウィンドウ表示設定など開発環境整備の記録。","/dev-environment-testing-2026-02-21",[75,76,77,78,79,80,81,14,82,22],"開発環境","Volta","Node.js","Claude Code","ESLint","Playwright","E2E","テスト","2026-02-21T00:00:00.000Z",{"title":85,"description":86,"path":87,"tags":88,"publishedAt":83,"updatedAt":16},"2026年2月21日の開発日記 - ダッシュボードを作って壊し、1ドメイン統合型へ舵を切った日","Better Auth + Google OAuthの本番投入、問題集機能6フェーズ拡張、独立型ダッシュボードの設計・実装・デプロイを経て同日中に1ドメイン統合型への方針転換を決断。メール環境のゼロコスト構築、テストスイート全パスまで。","/2026-02-21-diary",[22,14,48,89,90,91],"dashboard","cloudflare","インフラ",{"title":93,"description":94,"path":95,"tags":96,"publishedAt":83,"updatedAt":16},"Better Auth認証基盤の本番投入と問題集機能6フェーズ拡張の記録","Better Auth + Google OAuthの本番認証基盤を21ファイル・1029行で構築し、GCP ConsoleでのOAuth設定、D1マイグレーション、devサーバーのポート固定まで完了。同日に問題集機能を6フェーズで拡張し、回答履歴のD1永続化、アクセスレベル3段階制御、復習ページの3階層表示、ランダム10問出題を実装。Codex（GPT-5.3）コードレビューとCloudflare Workers nodejs_compat問題の解決も記録。","/eurekapu-auth-quiz-features-2026-02-21",[14,48,58,57,97,98,99,100,101,22],"cloudflare-workers","問題集","学習履歴","アクセス制御","codex",{"title":103,"description":104,"path":105,"tags":106,"publishedAt":83,"updatedAt":16},"独立型ダッシュボードを作って壊した日 — 1ドメイン統合型への方針転換","eurekapu-dashboardを独立アプリとして設計・実装・デプロイまで通したが、ユーザー体験を掘り下げた結果、サブドメイン分離の問題に気づき1ドメイン統合型に方針転換。作って壊すまでの経緯と、得られた技術知見の記録。","/eurekapu-dashboard-development-2026-02-21",[14,89,33,47,57,48,107,108,22],"管理画面","設計変更",{"title":110,"description":111,"path":112,"tags":113,"publishedAt":116,"updatedAt":16},"2026年2月22日の開発日記 - 決済4フェーズ実装とタイムラインビューア構築","eurekapu-nuxt4で1ドメイン統合・Stripe決済・認証整備を一気に進め、mdx-playgroundではプロジェクトタイムラインビューアを新規構築した1日の記録。","/2026-02-22-diary",[22,14,114,33,115,57,59],"stripe","タイムライン","2026-02-22T00:00:00.000Z",{"title":118,"description":119,"path":120,"tags":121,"publishedAt":116,"updatedAt":16},"eurekapu-nuxt4: 認証・DB運用・デプロイ整備の一日","SSRクッキー転送修正、Better Authメール認証追加、D1マイグレーション管理、画像配信ルート上限対策、E2Eテスト強化など、eurekapu-nuxt4プロジェクトの認証・DB・デプロイ周りを一気に整備した記録","/eurekapu-auth-db-deploy-2026-02-22",[14,33,48,122,56,123,124],"cloudflare-d1","e2e-test","devops",{"title":126,"description":127,"path":128,"tags":129,"publishedAt":116,"updatedAt":16},"1ドメイン統合とStripe決済4フェーズ実装 -- 独立ダッシュボードを捨てて /admin に集約した日","eurekapu-nuxt4で独立型ダッシュボードを廃止し/admin統合へ方針転換。購入管理テーブル、アクセス制御ミドルウェア、管理画面、Stripe Checkout+Webhookの4フェーズ実装を1日で完了。Codexレビュー、テストカバレッジ改善、動画ホスティング調査も実施。","/eurekapu-stripe-implementation-2026-02-22",[14,33,114,130,107,57,100,101,131,22],"決済","動画ホスティング",{"title":133,"description":134,"path":135,"tags":136,"publishedAt":141,"updatedAt":16},"eurekapu-nuxt4: Drizzle ORM移行計画 -- 4並行エージェント調査からCodexレビューまで","eurekapu-nuxt4プロジェクトの全体構造を4並行エージェントで調査し、@atinux/kysely-d1の正体を突き止め、Drizzle ORMへの移行計画を策定した記録。Codexレビューでテーブル名混同リスクの指摘を受けて計画に反映するまでの流れ。","/drizzle-orm-migration-2026-02-23",[14,33,137,122,138,139,140],"drizzle-orm","database","migration","claude-code","2026-02-23T00:00:00.000Z",{"title":143,"description":144,"path":145,"tags":146,"publishedAt":149,"updatedAt":16},"2026年3月6日の開発日記 - エウレカプの利用規約を構造から見直した","eurekapu-nuxt4のログインページ刷新と利用規約の13条→14条への構造改定。make-diaryコマンドのファイル名規則も修正","/2026-03-06-diary",[22,14,147,148],"利用規約","Nuxt","2026-03-06T00:00:00.000Z",{"title":151,"description":152,"path":153,"tags":154,"publishedAt":149,"updatedAt":16},"ログインページ刷新と利用規約の全面改定 - eurekapu Nuxt4","eurekapuのログインページUIをサインインフロー中心に再設計し、利用規約を13条から14条に拡張。無料/有料コンテンツの区分や将来的な課金方式を見据えた条項を整備した記録","/eurekapu-terms-overhaul",[14,155,147,156,157,158],"Nuxt4","ログインページ","UI","Terms of Service",{"title":160,"description":161,"path":162,"tags":163,"publishedAt":166,"updatedAt":16},"2026年3月10日の開発日記 - CF教材プロジェクト本格始動","キャッシュフロー計算書の教材プロジェクトを本格始動。リポジトリ構築から会計サービス仕訳生成、PDF教材の画像化・目次作成、ワークフロー可視化まで一気に整備した","/2026-03-10-diary",[22,14,164,165],"キャッシュフロー","会計","2026-03-10T00:00:00.000Z",{"title":168,"description":169,"path":170,"tags":171,"publishedAt":173,"updatedAt":16},"2026年3月12日の開発日記 - 教育コンテンツUIをTheater型で一新","簿記3級コンテンツのNuxt 4移行計画を策定し、教育コンテンツの表示UIをTheater型・Scrollytelling・ミラーカラムレイアウトの3パターンで実装・比較した1日","/2026-03-12-diary",[22,14,155,172],"UI設計","2026-03-12T00:00:00.000Z",{"title":175,"description":176,"path":177,"tags":178,"publishedAt":183,"updatedAt":16},"Miller Columns UIコンポーネントの進化 - スライドナビゲーションとゲーミフィケーション","TheaterViewer/MillerViewerのスタイル改善、4カラム化、全65スライドフラットナビゲーション、進捗バーのゲーミフィケーション、アスペクト比問題の解決、コンポーネント抽出までの1日の記録。","/miller-columns-ui-evolution",[179,180,172,181,182,14],"Miller Columns","Vue","ゲーミフィケーション","コンポーネント設計","2026-03-13T00:00:00.000Z",{"title":185,"description":186,"path":187,"tags":188,"publishedAt":191,"updatedAt":16},"2026年3月14日の開発日記 - MillerViewerを書籍体験に進化させた日","MillerViewerのバグ修正から始まり、書籍風構造化目次、ディープリンク、Udemy撮影用フォーカスモード、シーンカードトランジションまで一気に実装した1日の記録。","/2026-03-14-diary",[22,179,180,189,190,14],"フォーカスモード","UX","2026-03-14T00:00:00.000Z",{"title":193,"description":194,"path":195,"tags":196,"publishedAt":191,"updatedAt":16},"MillerViewerの書籍風目次とディープリンク対応 - URLベースからnameベースへの転換","MillerViewerのチャプター選択をnameベースマッチングに変更し、書籍風の構造化目次、クエリパラメータによるディープリンク、singleSectionMode、セクション単位の要約データを実装した記録。","/miller-viewer-toc-redesign",[179,180,172,197,198,14],"ディープリンク","目次",{"title":200,"description":201,"path":202,"tags":203,"publishedAt":191,"updatedAt":16},"Udemy撮影用フォーカスモードの設計と実装 - 全幅表示・進捗バー・シーンカード","動画撮影用にColumn 2/3を非表示にするフォーカスモードを設計・実装。useFocusMode composable、パンくずリスト統合進捗バー、セクション境界のシーンカードトランジション、localStorageによるスライド位置復帰まで。","/udemy-focus-mode-implementation",[189,180,204,205,190,206,14],"composable","進捗バー","動画撮影",{"title":208,"description":209,"path":210,"tags":211,"publishedAt":217,"updatedAt":16},"2026年3月15日の開発日記 - 会計学習コンテンツに音声ナレーションを載せた日","VOICEVOXとGoogle Cloud TTSで181台詞分の音声ナレーション機能を構築し、Cloudflare R2で配信。MillerViewerのSSRハイドレーションバグ修正と純粋関数リファクタリング、レスポンシブ対応修正も完了。","/2026-03-15-diary",[22,212,213,214,215,216,14],"VOICEVOX","Google Cloud TTS","Cloudflare R2","SSR","レスポンシブ","2026-03-15T00:00:00.000Z",{"title":219,"description":220,"path":221,"tags":222,"publishedAt":217,"updatedAt":16},"MillerViewerのレスポンシブ対応修正 - モバイル画像非表示バグとiPad Pro 2カラムレイアウト","MillerViewerの:deep() CSSオーバーライドがTheaterViewerのモバイルレイアウトを破壊していた問題を修正し、iPad Pro フォーカスモード時の2カラムレイアウトを実装した記録。","/miller-viewer-responsive-fix",[223,216,180,179,224,14],"CSS","iPad",{"title":226,"description":227,"path":228,"tags":229,"publishedAt":217,"updatedAt":16},"会計学習コンテンツのナレーション機能構築 - VOICEVOX・GCP TTS・Cloudflare R2","会計学習スライドに音声ナレーション機能を追加。VOICEVOX APIで181台詞分の音声を生成し、Google Cloud TTS Chirp 3 HDで高品質化。NarrationViewer.vueで自動再生・倍速・シーン一覧を実装し、Cloudflare R2で配信するまでの記録。","/narration-feature-voicevox-gcp-tts",[212,213,214,180,230,231,14],"音声合成","ナレーション",{"title":233,"description":234,"path":235,"tags":236,"publishedAt":239,"updatedAt":16},"音声ファイル管理基盤の整備 - Git除外・R2配信・dev middleware構築","152個の音声ファイルをpublic/audioからaudio-assets/に移行し、.gitignoreで除外。dev server middlewareとuseAudioUrl composableで開発・本番のURL解決を一元化。Cloudflare R2へのアップロードとデプロイ手順の文書化まで。","/audio-asset-management",[214,237,238,148,14,91],"音声管理","dev middleware","2026-03-16T00:00:00.000Z",{"title":241,"description":242,"path":243,"tags":244,"publishedAt":239,"updatedAt":16},"2026年3月16日の開発日記 - ElevenLabs TTS導入と音声管理基盤の整備","会計学習コンテンツの音声基盤を一日で大幅に前進。ElevenLabs v3で本番音声59行を生成し、audio-assetsへの移行とR2配信を完了。ナレーション196行のレビュー修正、ステレオパン実装、動画レンダリング試行、Vitest 49テスト追加まで。","/2026-03-16-diary",[22,245,246,214,247,14],"ElevenLabs","TTS","NarrationViewer",{"title":249,"description":250,"path":251,"tags":252,"publishedAt":239,"updatedAt":16},"ナレーションコンテンツ改善とNarrationViewer拡張 - レビュー・音声・テスト・動画レンダリング","Chapter 01+04のナレーション196行を通しレビューし8件の問題を修正。NarrationViewerにmessageLine表示・ステレオパン・デバッグパネルを追加。Playwright+ffmpegで動画レンダリングを試行し、Vitestで49テストを新規作成して全292テスト合格。","/narration-viewer-improvements",[247,212,80,253,254,180,231,14],"ffmpeg","Vitest",{"title":256,"description":257,"path":258,"tags":259,"publishedAt":263,"updatedAt":16},"会計入門コンテンツのMiller Column移行 - 10ページ分のデータ変換と品質検証","会計入門編の全10ページをMiller Column Layoutへ移行。Codexレビューで計画を2回修正し、7つのサブエージェントで並行変換。Chrome DevToolsで表示確認しながらUI問題4件を修正し、双方向整合性テストを追加するまでの記録。","/accounting-intro-miller-column-migration",[260,139,261,262,66,14],"miller-column","codex-review","sub-agent","2026-03-17T00:00:00.000Z",{"title":265,"description":266,"path":267,"tags":268,"publishedAt":263,"updatedAt":16},"2026年3月17日の開発日記 - R2 CORSの沼とMiller Column移行、合間にボイスクローン実験","PRレビューから始まりR2カスタムドメインのCORS地獄に半日はまり、会計入門10ページのMiller Column移行をサブエージェント7本で並行処理し、Fish Audio S2で自分の声のTTS実験まで詰め込んだ一日の記録","/2026-03-17-diary",[22,269,270,271,14],"CORS","Miller Column","Fish Audio",{"title":273,"description":274,"path":275,"tags":276,"publishedAt":263,"updatedAt":16},"Fish Audio S2でボイスクローン - 自分の声でTTS生成する実験記録","Fish Audio S2 TTSサービスで自分の声のクローンモデル（test_akira）を作成しテスト。API 402エラーからWebプレイグラウンドで代替、感情タグの3パターン試行、固有名詞の発音補正、料金・ローカル実行の調査、生成スクリプトへのto_tts_text()追加までの記録。","/fish-audio-s2-voice-clone",[271,246,277,230,14],"ボイスクローン",{"title":279,"description":280,"path":281,"tags":282,"publishedAt":263,"updatedAt":16},"PRレビューからCORSデバッグまで - 本番デプロイで音声が消えた一日","2つのPRレビュー・修正から始まり、本番デプロイで音声404、Web Audio APIのCORSエラー、crossorigin追加で完全破壊、Codexレビューを経て3段階CORS検証で解決するまでの試行錯誤ログ","/pr-review-cors-debugging",[283,269,284,285,286,14],"PRレビュー","Web Audio API","Cloudflare Pages","デバッグ",{"title":288,"description":289,"path":290,"tags":291,"publishedAt":294,"updatedAt":16},"簿記入門『概要とまとめ』インタラクティブセクションをMiller Columns 4列目に移行した記録","旧プロジェクトの財務3表コンポーネント・取引入力・段階的表示をMiller Columnsの4列目slot機構で再現。aspect-ratio問題を3回直し、画像マッピングのずれをChrome DevToolsで追い詰めた1日の記録。","/bookkeeping-interactive-summary-migration",[260,292,293,66,14,37],"vue","interactive","2026-03-18T00:00:00.000Z",{"title":296,"description":297,"path":298,"tags":299,"publishedAt":294,"updatedAt":16},"ナレーションビューアのモバイル対応 - レスポンシブ3パターン・進捗保存・音声途切れ修正","ナレーションビューアをスマホ/タブレット/PCの3パターンでレスポンシブ対応。LocalStorageによる進捗保存、モバイル倍速再生の音声途切れ修正、画像トランジション除去など、実機確認を繰り返しながら改善した記録。","/narration-viewer-mobile-responsive-improvements",[300,301,302,303,304,14],"responsive","mobile","web-audio-api","localstorage","css",{"title":306,"description":307,"path":308,"tags":309,"publishedAt":316,"updatedAt":16},"CFWSマトリックスベース生成への改修計画 - 勘定科目JSONとSUMIFSセル参照化","論点ごとの勘定科目マッピングをJSONマスタ化し、年次推移表のハードコードをセル参照に置換する大規模改修の仕様書を策定。Codex 3ラウンドレビューで計画書をブラッシュアップ。","/cfws-matrix-based-refactor-plan",[14,310,311,312,313,314,315],"キャッシュフロー計算書","リファクタリング","Codex","Excel","JSON","仕様設計","2026-04-16T00:00:00.000Z",{"title":318,"description":319,"path":320,"tags":321,"publishedAt":316,"updatedAt":16},"CFWS全37Q網羅修正 - 引当金と貸倒損失の調整ロジック再設計","キャッシュフロー計算書ワークシートのQ3-3/Q3-4等の調整項目漏れをパーサーとアロケータの改修で根治。全37Qの網羅チェックをCodexレビューで補強。","/cfws-q3-all-sheets-fix",[14,310,322,311,312,323],"Python","会計基準",{"title":325,"description":326,"path":327,"tags":328,"publishedAt":316,"updatedAt":16},"2026年4月16日の開発日記 - CFWS全37Qの網羅修正とスキル構造の公式準拠","eurekapu-nuxt4のキャッシュフローワークシートをQ3-3/Q3-4を皮切りに全37Q網羅で修正。Claude Codeスキルを公式ディレクトリ構造に全面移行。Twitter動画のGemini用分割スクリプトも作成。","/2026-04-16-diary",[22,14,310,78,329,330],"スキル","PowerShell",{"title":332,"description":333,"path":334,"tags":335,"publishedAt":336,"updatedAt":16},"CFWS NGフィックス Phase 3 - 繰越利益剰余金・CFラベルSoT化・年次推移表1列化で OK 32件到達","キャッシュフロー計算書ワークシートのNG論点をPhase 3-A/B/Cで段階的に潰し、OK 5件から32件まで改善。年次推移表の1列化リファクタリングと会計ソフトA形式の仕訳整形も実施。","/cfws-phase3-ng-fix",[14,310,322,311,312,313,286],"2026-04-17T00:00:00.000Z",{"title":338,"description":339,"path":340,"tags":341,"publishedAt":343,"updatedAt":16},"2026年4月18日の開発日記 - 会計基準条文取得90%達成とCFWS差分レビュー","CF計算書の条文取得Phase Fで解決率90%に到達、Layer 3平易解説の加筆、CFWS KK版との差分レビューとマッピングCSV正規化を実施した1日の記録。","/2026-04-18-diary",[22,323,342,14],"CF計算書","2026-04-18T00:00:00.000Z",{"title":345,"description":346,"path":347,"tags":348,"publishedAt":352,"updatedAt":16},"Playwright E2Eテストが3つの原因で落ち続けていた問題を特定・修正してPR #5をマージした","eurekapu-nuxt4のCI失敗を調査し、セレクタ変更・オンボーディングオーバーレイ・回答記録の3つの原因を1つずつ潰して36テスト全パスに持ち込んだ記録","/e2e-test-fix-onboarding",[349,80,350,351,14],"E2Eテスト","CI","オンボーディング","2026-04-22T00:00:00.000Z",{"title":354,"description":355,"path":356,"tags":357,"publishedAt":361,"updatedAt":362},"2026年4月23日の開発日記 - 会計教育コンテンツのUI刷新と基準データベース整備、開発環境の大掃除","eurekapuのCF計算書ページをミラーカラムからスクロール形式に変換し、会計基準42件のソース収集・URL検証を完了。書籍9冊のOCR処理でTurso DBを28冊に拡張。さらにNode.js管理をVoltaからmiseへ移行し、Claude Codeも入れ直した1日","/2026-04-23-diary",[22,14,358,323,49,359,360,78],"レイアウト","TursoDB","mise","2026-04-23T00:00:00.000Z","2026-04-24T00:00:00.000Z",{"title":364,"description":365,"path":366,"tags":367,"publishedAt":362,"updatedAt":16},"boki3（CF計算書3級編）の章順並び替えとexam削除を Codexレビュー付きで実施した記録","eurekapuのboki3を steps と整合するライフサイクル順（株主資本→借入金→運転資本→…）に並び替え、配当セクションとexamページを削除して教材A化した記録。計画書を一度上書きしてしまい git staging から復元した試行錯誤と、Codex レビューで指摘された Phase 間の中途半端状態を解消する設計修正までの実装過程","/boki3-chapter-reorder-and-exam-removal",[14,368,311,369,180,370],"boki3","Codexレビュー","計画書",{"title":372,"description":373,"path":374,"tags":375,"publishedAt":377,"updatedAt":16},"CF精算表ページに年次推移表を追加、列幅をピクセル単位で揃えて財務3表を縦並びにした","別リポジトリ eurekapu-nuxt4 で /v2/statement と /v2/accounting/annual-table の年次推移表を統一し、CF精算表のCF計算書直下に年次推移表を差し込んで財務3表の縦並びを実現した。table-layout: fixed と列幅定数化でピクセル単位の完全一致まで詰めた記録。","/2026-04-29-cf-annual-table-column-alignment",[180,376,358,311,14],"CF精算表","2026-04-29T00:00:00.000Z",{"title":379,"description":380,"path":381,"tags":382,"publishedAt":377,"updatedAt":16},"Excel講座の統合記事パターンを ScrollArticle に共通化した日","Excel講座でフック→伏線→回収構造を導入し、目次レイアウトの差異を ScrollArticle.vue として共通化。Codex 3回レビューを経てモバイル重複バグも潰した一日の記録。","/2026-04-29-excel-scroll-article-unification",[180,311,369,14,358,190],1781076309709]