[{"data":1,"prerenderedAt":454},["ShallowReactive",2],{"content-/2026-08-17-diary":3,"all-pages-for-dir":431,"related-/2026-08-17-diary":432,"og-image-/2026-08-17-diary":453},{"id":4,"title":5,"body":6,"category":411,"concepts":412,"description":413,"extension":414,"meta":415,"navigation":416,"ogImage":412,"path":417,"project_name":418,"published":419,"publishedAt":420,"seo":421,"source":422,"stem":423,"tags":424,"todo":412,"unpublished":419,"updatedAt":412,"__hash__":430},"pages/2026-08/2026-08-17/diary-2026-08-17.md","2026年8月17日の開発日記 - 税大講本38枚の図解とポートフォリオ前回比のバグ",{"type":7,"value":8,"toc":395},"minimark",[9,14,18,22,29,32,37,40,46,59,70,73,77,80,84,95,103,105,109,112,116,135,143,145,149,156,160,173,181,183,187,190,194,202,210,212,215,346,348,351,368,370,373],[10,11,13],"h1",{"id":12},"_2026年8月17日の開発日記","2026年8月17日の開発日記",[15,16,17],"p",{},"月曜の朝、ポートフォリオ更新の通知が+417万円という前回比を出した。\n週末に株式市場は動いていないはずなのに、桁が違う。\nこの違和感の追跡から一日が始まり、気づけば税大講本の図解38枚、書籍データベースの重複整理、積み残し棚卸しコマンドの実装まで、5つの作業が並走する日になった。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-08/2026-08-17/timeline-2026-08-17.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-消費税本の蔵書データベース整理","1. 消費税本の蔵書データベース整理",[15,38,39],{},"蔵書データベースに消費税関連の本が何冊入っているか確かめようとして、190チャンク完全一致の重複登録を見つけた。\n片づけたあと、未取り込みだった簿記系資格教材2冊(259ページ版と237ページ版)をOCRで取り込んだ。\nメタデータは「インボイス対応」と記録していたが、全文検索で「適格請求書」の出現回数を数えると、259ページ版だけが対応版で237ページ版は旧版のままだと判明した。",[15,41,42],{},[43,44,45],"strong",{},"主な成果:",[47,48,49,53,56],"ul",{},[50,51,52],"li",{},"重複登録1組を削除し、蔵書を384冊に整理",[50,54,55],{},"教材2冊のOCR取り込みと目次照合(見出し一致率が24/89から89/89に改善)",[50,57,58],{},"バックアップスクリプトのページング方式をOFFSETからkeyset paginationへ書き換え",[15,60,61,64,65],{},[43,62,63],{},"詳細:"," ",[66,67,69],"a",{"href":68},"/consumption-tax-textbook-review","消費税本の蔵書データベースを棚卸し、重複削除とOCR未収録2冊の取り込みを進めた",[71,72],"hr",{},[33,74,76],{"id":75},"_2-税大講本の図解国税徴収法38枚と所得税法の損益通算図","2. 税大講本の図解、国税徴収法38枚と所得税法の損益通算図",[15,78,79],{},"税大講本の図解SVG化プロジェクトで、国税徴収法38枚を仕分けから作図まで進めた。\n差し押さえ図の点線接続や三角形の向きは、原図と条文を読み直してから直している。\n所得税法では、手描きの参考図をもとに損益通算の詳細図を拡張し、雑所得や譲渡所得の内訳を親セル分岐の形に組み替えた。\n間接税法では、OCRで崩れた別表11個を原本のページ画像に差し替えている。",[15,81,82],{},[43,83,45],{},[47,85,86,89,92],{},[50,87,88],{},"国税徴収法38枚(SVG34枚、原図採用4枚)の仕分けと作図が完了",[50,90,91],{},"損益通算図の拡張と、雑所得と4種の譲渡所得の親セル分岐化",[50,93,94],{},"間接税法の崩れた表11個を原本画像へ差し替え、文字数の一致で情報欠落なしを確認",[15,96,97,64,99],{},[43,98,63],{},[66,100,102],{"href":101},"/zeimu-koten-figure-content-fixes","税大講本の図解を作り込んだ一日、国税徴収法の差し押さえ図から所得税法の損益通算図まで",[71,104],{},[33,106,108],{"id":107},"_3-税大講本ビューアーの機能改善","3. 税大講本ビューアーの機能改善",[15,110,111],{},"前セッションからの引き継ぎで見つかったadminのドラフト表示バグを直すところから始め、図解そのものにはほとんど手を付けず周辺機能を固めた一日になった。\n横幅の広い表のレイアウト崩れ、拡大モーダルの統合、SVGへのウォーターマーク導入、ダウンロード機能、記事ごとのSEOメタ情報整備と、直すたびに次の指摘が積み上がった。",[15,113,114],{},[43,115,45],{},[47,117,118,125,132],{},[50,119,120,124],{},[121,122,123],"code",{},"usePurchase","の認証ヘッダー漏れを直し、adminのドラフト直URLアクセスを復旧",[50,126,127,128,131],{},"図307件と表89件の拡大表示を",[121,129,130],{},"useZoomableContent","に統合し、280枚のSVGへ位置自動判定つきのウォーターマークを注入",[50,133,134],{},"SVGダウンロードをSVG/PNG選択式に変更、8冊104章のSEOメタ情報を整備",[15,136,137,64,139],{},[43,138,63],{},[66,140,142],{"href":141},"/zeimu-figure-viewer-improvements","税大講本ビューアーのドラフト表示バグ修理とSVGウォーターマーク導入の記録",[71,144],{},[33,146,148],{"id":147},"_4-ポートフォリオの前回比バグ修正と積み残し棚卸しコマンド","4. ポートフォリオの前回比バグ修正と積み残し棚卸しコマンド",[15,150,151,152,155],{},"朝の通知で気づいた前回比の桁違いは、市場が休みの週末に為替(USD/JPY)だけが動いていたのに、比較の起点がそれを拾えていなかったのが原因だった。\n比較元を「株価の前営業日比」から「直前の実行結果」に差し替えて直した。\n同じ日の午前中には、以前から気になっていた積み残し事項の棚卸しを",[121,153,154],{},"/carryover","コマンドとして実装し、25本の計画書に機械可読な状態ブロックを書き込んでいる。",[15,157,158],{},[43,159,45],{},[47,161,162,165,170],{},[50,163,164],{},"ポートフォリオ前回比のロジックを実行結果ベースの比較に修正(diff 2ファイル、+83/−2)",[50,166,167,169],{},[121,168,154],{},"コマンドを実装し、25本の計画書に状態ブロックを付与、テスト32件を追加",[50,171,172],{},"バラバラに溜まっていた変更を6コミットに仕分けてプッシュ",[15,174,175,64,177],{},[43,176,63],{},[66,178,180],{"href":179},"/carryover-command-and-portfolio-fx-fix","ポートフォリオ「前回比」の為替バグ修正と積み残し棚卸しコマンドの実装",[71,182],{},[33,184,186],{"id":185},"_5-夏の体験イベントの日程確認","5. 夏の体験イベントの日程確認",[15,188,189],{},"夏に子どもと申し込んだ体験イベントの参加日を忘れていたのに気づき、期限切れを心配してメールを検索した。\n支払いと発券はすでに完了していたが、「両日入場できる」という思い込みは誤りで、実際は2日間のうち1日を選ぶチケットだった。",[15,191,192],{},[43,193,45],{},[47,195,196,199],{},[50,197,198],{},"メール検索でチケット購入済みで期限内であることを確認",[50,200,201],{},"1日選択制と未就学児無料の条件を確かめ、カレンダーに登録",[15,203,204,64,206],{},[43,205,63],{},[66,207,209],{"href":208},"/family-experience-event-schedule-check","夏に申し込んだ体験イベントの参加日をメールで調べ直した記録",[71,211],{},[19,213,214],{"id":214},"今日の試行錯誤",[216,217,218,240],"table",{},[219,220,221],"thead",{},[222,223,224,228,231,234,237],"tr",{},[225,226,227],"th",{},"#",[225,229,230],{},"テーマ",[225,232,233],{},"試したこと",[225,235,236],{},"結果",[225,238,239],{},"気づき",[241,242,243,261,278,295,312,329],"tbody",{},[222,244,245,249,252,255,258],{},[246,247,248],"td",{},"1",[246,250,251],{},"消費税本の版判定",[246,253,254],{},"メタデータの「インボイス対応」表記を信用した",[246,256,257],{},"259ページ版と237ページ版で判定が食い違った",[246,259,260],{},"全文検索で「適格」「区分記載」の出現回数を数える方が確実だった",[222,262,263,266,269,272,275],{},[246,264,265],{},"2",[246,267,268],{},"差し押さえ図の点線",[246,270,271],{},"仕分け直後のSVGをそのまま公開した",[246,273,274],{},"元本と利息をつなぐ点線が途切れていた",[246,276,277],{},"原図と本文を読み直し、図の意味を確定させてから修正した",[222,279,280,283,286,289,292],{},[246,281,282],{},"3",[246,284,285],{},"ビューアーの拡大モーダル",[246,287,288],{},"横幅を基準に画面いっぱいへ拡大する実装にした",[246,290,291],{},"縦長の図の横幅が161pxまで潰れた",[246,293,294],{},"高さいっぱいを基準にする方式へ切り替えた",[222,296,297,300,303,306,309],{},[246,298,299],{},"4",[246,301,302],{},"図解のダウンロード機能",[246,304,305],{},"SVG単体のダウンロードボタンを実装した",[246,307,308],{},"スマホでSVGファイルを開いても何も見えなかった",[246,310,311],{},"PNGも選べる2ボタン方式に変更した",[222,313,314,317,320,323,326],{},[246,315,316],{},"5",[246,318,319],{},"ポートフォリオの前回比",[246,321,322],{},"各銘柄の前営業日比をそのまま「前回比」として使っていた",[246,324,325],{},"週末の為替の動きを取りこぼし、+417万円という桁違いの誤表示が出た",[246,327,328],{},"比較の起点を「直前の実行結果」に統一して直した",[222,330,331,334,337,340,343],{},[246,332,333],{},"6",[246,335,336],{},"carryoverコマンドのtargets宣言",[246,338,339],{},"計画書の対象範囲に日付ディレクトリをまるごと書いた",[246,341,342],{},"無関係な計画書を編集しただけでゲートが誤検知した",[246,344,345],{},"targetsはファイル単位に絞る規約を追加した",[71,347],{},[19,349,350],{"id":350},"今日の学び",[47,352,353,356,359,362,365],{},[50,354,355],{},"メタデータの「対応済み」表記は鵜呑みにできない。全文検索で実際の用語の出現回数を数えるほうが確実だった",[50,357,358],{},"図の点線の意味や三角形の向きのような図の意味論は、サブエージェントの仕分けだけでは直せない。原図と条文に立ち返って初めて確定できた",[50,360,361],{},"UIの拡大表示は一律の基準では対応しきれない。縦長と横長どちらのケースも試してから基準を決める必要がある",[50,363,364],{},"指標名は比較の起点を明示していないと壊れやすい。市場の休日と為替の稼働日がずれているだけで、桁違いの誤表示が起きた",[50,366,367],{},"新しく作った仕組みは、作った初日に自分自身の設計ミスを教えてくれることがある",[71,369],{},[19,371,372],{"id":372},"関連記事",[47,374,375,379,383,387,391],{},[50,376,377],{},[66,378,69],{"href":68},[50,380,381],{},[66,382,102],{"href":101},[50,384,385],{},[66,386,142],{"href":141},[50,388,389],{},[66,390,180],{"href":179},[50,392,393],{},[66,394,209],{"href":208},{"title":396,"searchDepth":397,"depth":397,"links":398},"",2,[399,400,408,409,410],{"id":21,"depth":397,"text":21},{"id":31,"depth":397,"text":31,"children":401},[402,404,405,406,407],{"id":35,"depth":403,"text":36},3,{"id":75,"depth":403,"text":76},{"id":107,"depth":403,"text":108},{"id":147,"depth":403,"text":148},{"id":185,"depth":403,"text":186},{"id":214,"depth":397,"text":214},{"id":350,"depth":397,"text":350},{"id":372,"depth":397,"text":372},"diary",null,"税大講本の国税徴収法38枚を図解し、ビューアーのadminバグとウォーターマークも直した一日。ポートフォリオの「前回比」が為替分を取りこぼして桁違いの誤表示を出した原因究明と、積み残し棚卸しコマンドの実装も記録。","md",{},true,"/2026-08-17-diary","daily-log",false,"2026-08-17T00:00:00.000Z",{"title":5,"description":413},"make-diary","2026-08/2026-08-17/diary-2026-08-17",[425,426,427,428,429],"日記","SVG図解","税大講本","book-knowledge-base","バグ修正","CJwLNcBJFaFNuIvM1ZAu8f_32iD_B8Aj7q7F7otQA68",[],[433,437,441,445,449],{"title":434,"path":435,"publishedAt":436},"報道の1段落から解説記事1本にするまで、決定的な材料は過去の自分の記事にあった","/rubin-ultra-hbm-article-making","2026-08-15T00:00:00.000Z",{"title":438,"path":439,"publishedAt":440},"2026年8月12日の開発日記 - 隠したつもり、届いたつもり、揃ったつもりを1日で剥がした","/2026-08-12-diary","2026-08-12T00:00:00.000Z",{"title":442,"path":443,"publishedAt":444},"AIトークン工場の解説記事ができるまで: 1時間超のディープリサーチと並走してウォーターフォール図を3枚に育てた","/ai-token-factory-writing-process","2026-07-19T00:00:00.000Z",{"title":446,"path":447,"publishedAt":448},"2026年7月8日の開発日記 - 旅行出発前日、デザインシステム講座と学習ゲートの穴を塞いだ一日","/2026-07-08-diary","2026-07-08T00:00:00.000Z",{"title":450,"path":451,"publishedAt":452},"2026年7月4日の開発日記 - スキルを教材に同期し、図解を縦に流した日","/2026-07-04-diary","2026-07-04T00:00:00.000Z","https://log.eurekapu.com/favicon.svg",1787053849534]