[{"data":1,"prerenderedAt":286},["ShallowReactive",2],{"content-/cf-skills-and-excel-vs-vue-doc":3,"all-pages-for-dir":284,"og-image-/cf-skills-and-excel-vs-vue-doc":285},{"id":4,"title":5,"body":6,"category":263,"description":264,"extension":265,"meta":266,"navigation":224,"path":267,"project_name":268,"published":269,"publishedAt":270,"seo":271,"stem":272,"tags":273,"todo":281,"updatedAt":282,"__hash__":283},"pages/2026-04/2026-04-24/cf-skills-and-excel-vs-vue-doc.md","CFパイプラインの全体把握と Excel vs Vue アーキテクチャ比較ドキュメントの整備",{"type":7,"value":8,"toc":249},"minimark",[9,14,18,23,26,31,34,38,41,45,48,51,55,58,65,84,87,91,94,133,136,139,143,146,149,161,180,197,200,203,206,209,213,245],[10,11,13],"h1",{"id":12},"cfパイプラインの全体把握と-excel-vs-vue-比較ドキュメントの整備","CFパイプラインの全体把握と Excel vs Vue 比較ドキュメントの整備",[15,16,17],"p",{},"CF精算表まわりのスキルが3つに分かれていて、どれが何をやっているのかが頭の中で繋がっていなかった。スキルを順に読み、Excel と Vue の両方でCF精算表を作る場合のアーキテクチャ比較ドキュメントに落とし込み、Codexレビューで6点指摘されて全反映した。最後に「最終的なキャッシュフロー計算書」シートが Excel側に存在しないことに気付き、3段階の作業計画を MoM として書き残した。",[19,20,22],"h2",{"id":21},"cfパイプライン3ステップを読み解く","CFパイプライン3ステップを読み解く",[15,24,25],{},"株主資本ライフサイクルのCF精算表は、3つのスキルが順番にバトンを渡しながら出来上がる。これまでは個別に触っていたので、全体の流れが見えていなかった。",[27,28,30],"h3",{"id":29},"step-1-取引モジュール生成cf-lifecycle-equity","Step 1: 取引モジュール生成（cf-lifecycle-equity）",[15,32,33],{},"最初のスキルは取引モジュールを生成する。設立・増資・減資・配当・自己株式取得など、株主資本に関わるイベントを「いつ・誰が・いくら」で整理し、JSON形式の取引データに変換する。これが後続スキルの入力となる。",[27,35,37],{"id":36},"step-2-年次推移表をexcelに書き出すcf-multi-year-worksheet","Step 2: 年次推移表をExcelに書き出す（cf-multi-year-worksheet）",[15,39,40],{},"取引モジュールを受け取って、年次推移表（multi-year worksheet）をExcelファイルとして書き出す。各年の貸借・損益・株主資本の動きを縦横に並べた表で、ここまでくると「どの年に何が起きたか」が一覧できる。",[27,42,44],{"id":43},"step-3-htmlビューア化cfws-excel-to-html","Step 3: HTMLビューア化（cfws-excel-to-html）",[15,46,47],{},"Excelで仕上げた精算表をHTMLビューアに変換する。Vue上で表示できる形に整形し、Webサイトの該当ページに埋め込む。ここで初めて読者の目に触れる形になる。",[15,49,50],{},"3つのスキルが「取引データ → 年次推移表 → HTML表示」というパイプラインを構成していることを、ようやく頭の中で1本につなげられた。",[19,52,54],{"id":53},"excel-vs-vue-比較ドキュメントを書く","Excel vs Vue 比較ドキュメントを書く",[15,56,57],{},"CF精算表は Excel でも Vue でも作れる。どちらで作るべきかの判断材料を、比較ドキュメントとして残しておきたかった。",[15,59,60,64],{},[61,62,63],"code",{},"memo/2026-04-24/excel-vs-vue-cfws-architecture.md"," に書き始めた。観点は以下のあたり。",[66,67,68,72,75,78,81],"ul",{},[69,70,71],"li",{},"データソース（手入力 vs SQLite）",[69,73,74],{},"数式の扱い（セル参照 vs composable）",[69,76,77],{},"検証のしやすさ（目視 vs Vitest）",[69,79,80],{},"公開形態（PDF/Excel配布 vs Web表示）",[69,82,83],{},"編集コスト（セル単位 vs コミット単位）",[15,85,86],{},"最初の草案は「Excelは柔軟、Vueは再現性が高い」という抽象的なまとめになっていた。これだと判断材料にならない。",[27,88,90],{"id":89},"codex-レビューで致命点6点","Codex レビューで致命点6点",[15,92,93],{},"書き終わってから Codex に投げた。瑣末な点ではなく致命点だけ指摘してもらう運用で投げると、6点返ってきた。",[95,96,101],"pre",{"className":97,"code":98,"language":99,"meta":100,"style":100},"language-bash shiki shiki-themes vitesse-light vitesse-light","codex exec -m gpt-5.4 \"このドキュメントをレビューして。瑣末な点へのクソリプはしないで。致命的な点だけ指摘して: memo/2026-04-24/excel-vs-vue-cfws-architecture.md\"\n","bash","",[61,102,103],{"__ignoreMap":100},[104,105,108,112,116,120,123,127,130],"span",{"class":106,"line":107},"line",1,[104,109,111],{"class":110},"senZ8","codex",[104,113,115],{"class":114},"sdGka"," exec",[104,117,119],{"class":118},"snbK4"," -m",[104,121,122],{"class":114}," gpt-5.4",[104,124,126],{"class":125},"sMJiu"," \"",[104,128,129],{"class":114},"このドキュメントをレビューして。瑣末な点へのクソリプはしないで。致命的な点だけ指摘して: memo/2026-04-24/excel-vs-vue-cfws-architecture.md",[104,131,132],{"class":125},"\"\n",[15,134,135],{},"返ってきた指摘は具体的だった。「データソース」の節が抽象論で止まっている、「数式の扱い」でVue側のcomposable例が無く読者が再現できない、「検証のしやすさ」でVitestのアサーション例が欠けている、といった調子。6点全てに具体的な反論が思いつかなかったので、全部反映して書き換えた。",[15,137,138],{},"書き換え後は、各項目に「具体的にどんなコードが書かれるか」「どこに不整合が出やすいか」を最低1ブロックずつ添える形になった。判断材料としての密度が上がった。",[19,140,142],{"id":141},"momを書く前に保存先を間違える","MoMを書く前に保存先を間違える",[15,144,145],{},"夕方、夕食前のタイミングで「最終的なキャッシュフロー計算書」シートが Excel 側に存在していないことに気付いた。Vue側はビューアで表示できる構造になっているのに、Excel側は精算表で止まっていてCF計算書本体のシートが無い。",[15,147,148],{},"このままだと「Excelで何が出来るか」の比較ができない。3段階の作業計画として MoM を残しておくことにした。",[150,151,152,155,158],"ol",{},[69,153,154],{},"Excel側に「最終的なキャッシュフロー計算書」シートを追加する",[69,156,157],{},"cf-multi-year-worksheet スクリプトを更新し、新しいシートも書き出すようにする",[69,159,160],{},"cfws-excel-to-html スクリプトを更新し、Web表示にも反映させる",[15,162,163,164,167,168,171,172,175,176,179],{},"最初、急いでいたので memo直下にファイルを作ってしまった。",[61,165,166],{},"memo/mom-cfws-final-sheet.md"," のような形で。あとで気付いて慌てて ",[61,169,170],{},"memo/2026-04-24/"," に移動した。画像パスも ",[61,173,174],{},"./image.png"," から ",[61,177,178],{},"../images/..."," に書き直した。",[95,181,183],{"className":97,"code":182,"language":99,"meta":100,"style":100},"# 移動後のパス\nmemo/2026-04-24/mom-cfws-final-sheet.md\n",[61,184,185,191],{"__ignoreMap":100},[104,186,187],{"class":106,"line":107},[104,188,190],{"class":189},"sxvE3","# 移動後のパス\n",[104,192,194],{"class":106,"line":193},2,[104,195,196],{"class":110},"memo/2026-04-24/mom-cfws-final-sheet.md\n",[15,198,199],{},"ディレクトリ構造のルールは自分で書いたはずなのに、急ぐと守れない。MoMを書き始める前に保存先を確認する習慣を、もう一度自分に課す。",[19,201,202],{"id":202},"振り返り",[15,204,205],{},"CFパイプラインを「3ステップの全体像」として一度把握できたのが大きい。これまでスキルを個別に触ると、毎回「これは何の入力で何の出力だっけ」と頭の中で組み直していた。1本につなげた今は、どのスキルがどこを担当しているか即座に分かる。",[15,207,208],{},"Codexレビューを「致命点だけ」に絞って投げると、瑣末な体裁の指摘が消えて、本当に直すべき構造の穴だけが返ってくる。今日も6点全てが具体的で、書き換えに迷わなかった。レビュー指示の文章を「瑣末な点へのクソリプはしないで」と添える運用は、もう外せない。",[19,210,212],{"id":211},"明日以降のtodo","明日以降のTODO",[66,214,217,227,233,239],{"className":215},[216],"contains-task-list",[69,218,221,226],{"className":219},[220],"task-list-item",[222,223],"input",{"disabled":224,"type":225},true,"checkbox"," Excelに「最終的なキャッシュフロー計算書」シートを追加する（手作業）",[69,228,230,232],{"className":229},[220],[222,231],{"disabled":224,"type":225}," cf-multi-year-worksheet スクリプトの出力に、追加した新シートを含める",[69,234,236,238],{"className":235},[220],[222,237],{"disabled":224,"type":225}," cfws-excel-to-html スクリプトを更新し、Web表示に新シートを反映させる",[69,240,242,244],{"className":241},[220],[222,243],{"disabled":224,"type":225}," 比較ドキュメントの「データソース」節を、新シート対応後に再度更新する",[246,247,248],"style",{},"html pre.shiki code .senZ8, html code.shiki .senZ8{--shiki-default:#59873A;--shiki-dark:#59873A}html pre.shiki code .sdGka, html code.shiki .sdGka{--shiki-default:#B56959;--shiki-dark:#B56959}html pre.shiki code .snbK4, html code.shiki .snbK4{--shiki-default:#A65E2B;--shiki-dark:#A65E2B}html pre.shiki code .sMJiu, html code.shiki .sMJiu{--shiki-default:#B5695977;--shiki-dark:#B5695977}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sxvE3, html code.shiki .sxvE3{--shiki-default:#A0ADA0;--shiki-dark:#A0ADA0}",{"title":100,"searchDepth":193,"depth":193,"links":250},[251,257,260,261,262],{"id":21,"depth":193,"text":22,"children":252},[253,255,256],{"id":29,"depth":254,"text":30},3,{"id":36,"depth":254,"text":37},{"id":43,"depth":254,"text":44},{"id":53,"depth":193,"text":54,"children":258},[259],{"id":89,"depth":254,"text":90},{"id":141,"depth":193,"text":142},{"id":202,"depth":193,"text":202},{"id":211,"depth":193,"text":212},"dev","株主資本ライフサイクルのCF精算表生成パイプライン3ステップ（取引モジュール → 年次推移表 → CFWS）を読み解き、Excel と Vue の精算表アーキテクチャ比較ドキュメントを Codex レビューで6点修正しながら仕上げた1日の記録。最後に「最終的なキャッシュフロー計算書」シート未作成の3段階計画を MoM として書き残した","md",{},"/cf-skills-and-excel-vs-vue-doc","eurekapu-nuxt4",false,"2026-04-24T00:00:00.000Z",{"title":5,"description":264},"2026-04/2026-04-24/cf-skills-and-excel-vs-vue-doc",[274,275,276,277,278,279,280],"CFWS","キャッシュフロー","Excel","Vue","アーキテクチャ","Codexレビュー","ドキュメント","memo",null,"vb-Mdla40B1SdDfrxC7lJKHh4ailiaGeC807rwkTKX0",[],"https://log.eurekapu.com/favicon.svg",1777329226495]