[{"data":1,"prerenderedAt":367},["ShallowReactive",2],{"content-/2026-04-13-diary":3,"all-pages-for-dir":365,"og-image-/2026-04-13-diary":366},{"id":4,"title":5,"body":6,"category":347,"description":348,"extension":349,"meta":350,"navigation":351,"path":352,"project_name":353,"published":354,"publishedAt":355,"seo":356,"stem":357,"tags":358,"todo":363,"updatedAt":363,"__hash__":364},"pages/2026-04/2026-04-13/diary-2026-04-13.md","2026年4月13日の開発日記 - CF計算書2級拡張とタイムライン可視化",{"type":7,"value":8,"toc":333},"minimark",[9,14,18,22,29,32,37,40,46,62,73,76,80,83,87,104,110,118,120,124,127,131,151,159,161,164,295,297,300,314,316,319],[10,11,13],"h1",{"id":12},"_2026年4月13日の開発日記","2026年4月13日の開発日記",[15,16,17],"p",{},"朝6時からEDINETの四半期データスクリプトをドキュメント化し、そのままNuxtアプリに四半期チャートUIを組み上げた。午前中はCF計算書パイプラインの2級拡張に突入し、社債と固定資産応用の実装で10時間以上のマラソンセッション。合間にタイムライン可視化スクリプトを磨き上げ、make-diaryに統合するところまで完了した。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-04/2026-04-13/timeline-2026-04-13.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-edinet四半期財務データの市販機ビューア実装","1. EDINET四半期財務データの市販機ビューア実装",[15,38,39],{},"EDINET DB APIからの四半期データ取得パイプラインをドキュメント化し、Nuxt3アプリに四半期チャートUIを実装した。",[15,41,42],{},[43,44,45],"strong",{},"主な成果:",[47,48,49,53,56,59],"ul",{},[50,51,52],"li",{},"年次/四半期タブ切替（ページ全体をスイッチ）",[50,54,55],{},"売上高+営業利益+営業利益率のコンボチャート、純利益、総資産の3チャート",[50,57,58],{},"localStorageでタブ状態を永続化（500社対応を見据えて）",[50,60,61],{},"チャートレイアウトを1列フル幅に変更",[15,63,64,67,68],{},[43,65,66],{},"詳細:"," ",[69,70,72],"a",{"href":71},"/edinet-quarterly-viewer","EDINET四半期財務データの取得パイプラインとNuxt3チャートUI実装",[74,75],"hr",{},[33,77,79],{"id":78},"_2-cf計算書excel自動生成パイプラインの2級拡張","2. CF計算書Excel自動生成パイプラインの2級拡張",[15,81,82],{},"今日一番のヘビーセッション。社債（201）と固定資産応用（202）の2つの論点でExcel自動生成パイプラインを拡張した。",[15,84,85],{},[43,86,45],{},[47,88,89,92,95,98,101],{},[50,90,91],{},"社債: 2本体制（額面発行+割引発行/償却原価法）、社債発行費・株式交付費対応",[50,93,94],{},"固定資産応用: 圧縮記帳・減損・ARO・建設仮勘定の計画策定+Phase 1-2実装",[50,96,97],{},"Excel→HTMLスクリーンショットスキル作成、全7論点のCFWS画像を自動生成",[50,99,100],{},"サマリーCFWSシート（全年度横並び）を全8ライフサイクルに適用",[50,102,103],{},"check=0検証の列単位チェック追加",[15,105,106,109],{},[43,107,108],{},"壁にぶつかったこと:","\nPython verify_checksは通るのに、Excelを開くとcheck行にゼロでない数値が残る問題が繰り返し発生。ユーザーが手動修正したExcel（KK版）のロジックを抽出してドキュメント化し、次セッションへ引き継いだ。",[15,111,112,67,114],{},[43,113,66],{},[69,115,117],{"href":116},"/cf-excel-pipeline-expansion","CF計算書Excel自動生成パイプラインの2級拡張",[74,119],{},[33,121,123],{"id":122},"_3-タイムライン可視化スクリプトの開発","3. タイムライン可視化スクリプトの開発",[15,125,126],{},"Claude Codeのセッション履歴を解析し、1日のプロジェクト別タイムラインをSVG+PNGで生成するスクリプトを開発した。",[15,128,129],{},[43,130,45],{},[47,132,133,136,139,142,145,148],{},[50,134,135],{},"history.jsonl + セッション本体JSONLの2層解析（assistant応答も含めたfull版）",[50,137,138],{},"セッション別サブ行表示で同一プロジェクト内の複数セッションを可視化",[50,140,141],{},"GAP_THRESHOLDを5/10/15/20分で比較検証し、10分に決定",[50,143,144],{},"26プロジェクト分のラベル対応表",[50,146,147],{},"Playwright SVG→PNG変換、make-diaryコマンドへの統合",[50,149,150],{},"note記事タイトル提案スキル（note-title-generator）も同日に作成",[15,152,153,67,155],{},[43,154,66],{},[69,156,158],{"href":157},"/timeline-visualization-script","Claude Codeセッションのタイムライン可視化スクリプトを開発した",[74,160],{},[19,162,163],{"id":163},"今日の試行錯誤",[165,166,167,189],"table",{},[168,169,170],"thead",{},[171,172,173,177,180,183,186],"tr",{},[174,175,176],"th",{},"#",[174,178,179],{},"テーマ",[174,181,182],{},"試したこと",[174,184,185],{},"結果",[174,187,188],{},"気づき",[190,191,192,210,227,244,261,278],"tbody",{},[171,193,194,198,201,204,207],{},[195,196,197],"td",{},"1",[195,199,200],{},"社債のCFWS数式",[195,202,203],{},"SUMIFS中間テーブル + INDEX/MATCH",[195,205,206],{},"Excel上でcheck≠0",[195,208,209],{},"Python数値検証とExcel数式検証は別物",[171,211,212,215,218,221,224],{},[195,213,214],{},"2",[195,216,217],{},"社債発行費の配分",[195,219,220],{},"独立列 → 発行収入NET方式",[195,222,223],{},"ユーザー手修正で正解判明",[195,225,226],{},"実際のExcelを見せてもらうのが最速",[171,228,229,232,235,238,241],{},[195,230,231],{},"3",[195,233,234],{},"固定資産応用の圧縮積立金",[195,236,237],{},"DUAL_ACCOUNTSに追加",[195,239,240],{},"年次推移表に出ない",[195,242,243],{},"compute_retained_earningsが圧縮積立金振替を考慮していなかった",[171,245,246,249,252,255,258],{},[195,247,248],{},"4",[195,250,251],{},"Excel→HTMLスクリーンショット",[195,253,254],{},"openpyxlで値読取 → Excelキャッシュなし",[195,256,257],{},"生成スクリプトから直接計算する方式に変更",[195,259,260],{},"Excelを読むな、書くスクリプトを読め",[171,262,263,266,269,272,275],{},[195,264,265],{},"5",[195,267,268],{},"GAP_THRESHOLD",[195,270,271],{},"5分 → 10分 → 15分 → 20分",[195,273,274],{},"10分に決定",[195,276,277],{},"assistant応答を含めると5分でもバーが繋がるため20分は過剰",[171,279,280,283,286,289,292],{},[195,281,282],{},"6",[195,284,285],{},"タイムラインのPNG変換",[195,287,288],{},"sharp → パーミッションエラー → Playwright",[195,290,291],{},"Playwrightヘッドレスで解決",[195,293,294],{},"pnpmの隔離node_modules構造に注意",[74,296],{},[19,298,299],{"id":299},"今日の学び",[47,301,302,305,308,311],{},[50,303,304],{},"Python検証OKでもExcel数式がズレる問題は、ユーザーの手修正版（KK版）を受け取ってロジックを言語化するのが最も確実な解法だった",[50,306,307],{},"Excel→HTMLスクリーンショットスキルは「Excelを読まずに生成スクリプトのロジックを転用する」のが正解。openpyxlのdata_only=Trueはキャッシュなしファイルで詰む",[50,309,310],{},"タイムライン可視化で assistant 応答を含めると活動時間が体感に近づく。10分間隔がちょうど良い",[50,312,313],{},"Codex(GPT-5.4)レビューはサンドボックスのread-onlyポリシーで詰まることがある。手元で同等の検証を並行して走らせるのが安全策",[74,315],{},[19,317,318],{"id":318},"関連記事",[47,320,321,325,329],{},[50,322,323],{},[69,324,72],{"href":71},[50,326,327],{},[69,328,117],{"href":116},[50,330,331],{},[69,332,158],{"href":157},{"title":334,"searchDepth":335,"depth":335,"links":336},"",2,[337,338,344,345,346],{"id":21,"depth":335,"text":21},{"id":31,"depth":335,"text":31,"children":339},[340,342,343],{"id":35,"depth":341,"text":36},3,{"id":78,"depth":341,"text":79},{"id":122,"depth":341,"text":123},{"id":163,"depth":335,"text":163},{"id":299,"depth":335,"text":299},{"id":318,"depth":335,"text":318},"diary","簿記2級論点のExcel自動生成パイプラインで社債・固定資産応用に挑み、Python検証とExcel数式の乖離に半日格闘した。タイムラインSVG生成スクリプトとEDINET四半期ビューアも完成。","md",{},true,"/2026-04-13-diary","daily-log",false,"2026-04-13T00:00:00.000Z",{"title":5,"description":348},"2026-04/2026-04-13/diary-2026-04-13",[359,360,361,27,362],"日記","CF計算書","Excel自動生成","EDINET",null,"5i2Tbvx07dKxA_jqYKirTY75UiB_wP1NYZdbhQQj24Q",[],"https://log.eurekapu.com/favicon.svg",1776122262155]