[{"data":1,"prerenderedAt":542},["ShallowReactive",2],{"content-/2026-06-11-diary":3,"related-/2026-06-11-diary":491,"all-pages-for-dir":540,"og-image-/2026-06-11-diary":541},{"id":4,"title":5,"body":6,"category":472,"description":473,"extension":474,"meta":475,"navigation":476,"path":477,"project_name":478,"published":479,"publishedAt":480,"seo":481,"stem":482,"tags":483,"todo":489,"unpublished":479,"updatedAt":489,"__hash__":490},"pages/2026-06/2026-06-11/diary-2026-06-11.md","2026年6月11日の開発日記 - 自炊書籍の一括OCRから演習再設計・ピアノロールまで",{"type":7,"value":8,"toc":455},"minimark",[9,14,18,22,29,32,37,40,46,59,70,73,77,80,84,95,103,105,109,112,116,127,135,137,141,144,148,159,167,169,173,176,180,191,199,201,205,208,212,220,228,230,233,398,400,403,424,426,429],[10,11,13],"h1",{"id":12},"_2026年6月11日の開発日記","2026年6月11日の開発日記",[15,16,17],"p",{},"朝は自炊書籍のOCR取り込みを回しながら、簿記学習ノートの演習を自作問題集ベースに作り替える方針を固めた。昼は台湾OSATと韓国の品目別輸出統計のチャート整備、午後はChrome拡張のセキュリティレビューと蔵書リライトコンテンツの実装、夕方にはスクショ1枚からピアノロールアプリまで作ってもらった。6プロジェクトを行き来した密度の高い1日。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-06/2026-06-11/timeline-2026-06-11.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-自炊書籍のocr一括取り込みとembedded-replicaハング調査","1. 自炊書籍のOCR一括取り込みとEmbedded Replicaハング調査",[15,38,39],{},"投資関連の実務書3冊と設計を扱った技術書1冊をyomitoku OCRで取り込み、リストラクチャーまで流した。途中でTurso Embedded Replicaの読み取りがハングする問題に再びぶつかり、別セッションの同時取り込みが原因と判明。HTTP（Web）同期へ方針を切り替えた。devサーバーのポートも3000→3100に変えて他プロジェクトとの衝突を解消。",[15,41,42],{},[43,44,45],"strong",{},"主な成果:",[47,48,49,53,56],"ul",{},[50,51,52],"li",{},"書籍4冊の取り込み＋restructure完了",[50,54,55],{},"Replicaハングの原因特定とHTTP同期への切り替え",[50,57,58],{},"book-knowledge-baseのポートを3100に変更",[15,60,61,64,65],{},[43,62,63],{},"詳細:"," ",[66,67,69],"a",{"href":68},"/book-ocr-batch-and-replica-hang","自炊書籍3冊をyomitoku OCRで一括取り込み、TursoのEmbedded Replica読み取りハングをHTTP同期に切り替えた日",[71,72],"hr",{},[33,74,76],{"id":75},"_2-会計ソフトa連携chrome拡張のセキュリティレビュー","2. 会計ソフトA連携Chrome拡張のセキュリティレビュー",[15,78,79],{},"自作Chrome拡張の全コードを対象に、脆弱性・行儀の悪いAPIの叩き方・バグを一括レビューさせ、問題点をMarkdownに書き出してから修正をかけた。レビューの過程で顧客名やスプレッドシートIDがGit履歴に残っていることが発覚し、履歴を書き換えて除去。Turso化も検討したが今回は見送り、最後にChrome DevToolsでスモークテストまで通した。",[15,81,82],{},[43,83,45],{},[47,85,86,89,92],{},[50,87,88],{},"全コードのセキュリティレビューと修正",[50,90,91],{},"Git履歴からの機密データ除去",[50,93,94],{},"スモークテストで動作確認",[15,96,97,64,99],{},[43,98,63],{},[66,100,102],{"href":101},"/chrome-extension-security-review","自作Chrome拡張の一括セキュリティレビューとGit履歴からの機密データ除去",[71,104],{},[33,106,108],{"id":107},"_3-簿記学習ノートの演習再設計とクラウド会計風帳簿アプリ","3. 簿記学習ノートの演習再設計とクラウド会計風帳簿アプリ",[15,110,111],{},"既存の自動生成70問を捨て、自分で論点網羅をチェック済みの自作仕訳問題集ベースに置き換える方針へ転換。カテゴリごとにサンプル3問＋問題集リンクの構成に統一し、長大な総復習・模試ページも論点別に分割した。さらに「紙の帳簿を前提にした出題」への問題意識から、仕訳帳・総勘定元帳・補助元帳をテーブルデータで再現するクラウド会計風の帳簿アプリを作らせた。",[15,113,114],{},[43,115,45],{},[47,117,118,121,124],{},[50,119,120],{},"演習ページを自作問題集ベースに再設計",[50,122,123],{},"review-questions / mock-exam のページ分割",[50,125,126],{},"帳簿アプリ（ledger-app）の新規実装",[15,128,129,64,131],{},[43,130,63],{},[66,132,134],{"href":133},"/bookkeeping-notes-practice-redesign","簿記学習ノートの演習を自作問題集ベースに再設計し、クラウド会計風の帳簿アプリを実装した日",[71,136],{},[33,138,140],{"id":139},"_4-台湾osatページ整備と韓国品目別輸出のチャート化","4. 台湾OSATページ整備と韓国品目別輸出のチャート化",[15,142,143],{},"/memory-makers にASEのページを追加し、チャート順序・数値表示・粗利率の見せ方を画面を見ながら詰めた。IR資料と数字がずれている箇所も目で拾って直させた。KYECのアプリ別・プロセス別ブレイクダウン、OSAT4社の総括記事（テスト工程の伸び＝NVIDIA Blackwell等の製造増の先行指標、という示唆へ書き直し）、韓国の品目別半導体輸出（DRAM/NAND/MCP）のチャート化まで進め、品目別取得は毎朝のmake-diaryチェーンに組み込んだ。",[15,145,146],{},[43,147,45],{},[47,149,150,153,156],{},[50,151,152],{},"ASEページ追加＋KYECブレイクダウンチャート",[50,154,155],{},"OSAT4社総括記事の作成と示唆の磨き込み",[50,157,158],{},"韓国品目別輸出（金額・重量・$/kg）のチャート化と自動化チェーン組み込み",[15,160,161,64,163],{},[43,162,63],{},[66,164,166],{"href":165},"/osat-pages-and-export-stats","台湾OSAT4社のページ整備と韓国品目別半導体輸出のチャート化",[71,168],{},[33,170,172],{"id":171},"_5-蔵書リライトコンテンツコーディング原則と書籍qa","5. 蔵書リライトコンテンツ（コーディング原則）と書籍Q&A",[15,174,175],{},"蔵書DBに取り込んだ設計系の技術書を自分向けに全編リライトするコンテンツを計画し、Codexレビューを通してから /coding-principles として実装（Miller Columnレイアウト・非公開dev扱い）。Q&A形式の投資実務書も1つのコンテンツにまとめ直し、カード分割＋矢印キー移動に対応させた。文字だらけで読む気が失せる解説にはSVG図解を足し、その流れでsvg-diagramスキルにドキュメント・コミュニケーションの論点も組み込んだ。",[15,177,178],{},[43,179,45],{},[47,181,182,185,188],{},[50,183,184],{},"/coding-principles の実装（Miller Column・dev限定）",[50,186,187],{},"書籍Q&Aコンテンツのカード化＋SVG図解追加",[50,189,190],{},"svg-diagramスキルの改善",[15,192,193,64,195],{},[43,194,63],{},[66,196,198],{"href":197},"/coding-principles-and-book-qa","蔵書DBの技術書を自分用に全編リライト——Miller Column学習コンテンツとQ&A図解化",[71,200],{},[33,202,204],{"id":203},"_6-synthesia風ピアノロールwebアプリ","6. Synthesia風ピアノロールWebアプリ",[15,206,207],{},"スクショ1枚を見せて「ピアノアプリを作ってもらいたい」と依頼し、/piano-roll として88鍵Canvas＋Web Audio合成＋運指表示のページが形になった。公開前提で進め、実装解説記事まで作成。",[15,209,210],{},[43,211,45],{},[47,213,214,217],{},[50,215,216],{},"/piano-roll の実装と公開",[50,218,219],{},"実装解説記事の作成",[15,221,222,64,224],{},[43,223,63],{},[66,225,227],{"href":226},"/piano-roll-web-app","スクショ1枚からSynthesia風ピアノロールWebアプリを作ってもらった日",[71,229],{},[19,231,232],{"id":232},"今日の試行錯誤",[234,235,236,258],"table",{},[237,238,239],"thead",{},[240,241,242,246,249,252,255],"tr",{},[243,244,245],"th",{},"#",[243,247,248],{},"テーマ",[243,250,251],{},"試したこと",[243,253,254],{},"結果",[243,256,257],{},"気づき",[259,260,261,279,296,313,330,347,364,381],"tbody",{},[240,262,263,267,270,273,276],{},[264,265,266],"td",{},"1",[264,268,269],{},"Embedded Replica",[264,271,272],{},"ローカルレプリカ経由で書籍取り込み",[264,274,275],{},"ハングで失敗",[264,277,278],{},"別セッションの同時取り込みが競合。HTTP同期に切り替えて解消",[240,280,281,284,287,290,293],{},[264,282,283],{},"2",[264,285,286],{},"演習問題の構成",[264,288,289],{},"自動生成70問をそのまま掲載",[264,291,292],{},"却下",[264,294,295],{},"論点網羅を自分でチェック済みの自作問題集に置き換え、サンプル3問＋リンク方式へ",[240,297,298,301,304,307,310],{},[264,299,300],{},"3",[264,302,303],{},"AIへの問題指示",[264,305,306],{},"「問いの位置」など曖昧な指し方",[264,308,309],{},"伝わらない",[264,311,312],{},"問題集側のユニークIDをドラフト表示して指示のズレを解消",[240,314,315,318,321,324,327],{},[264,316,317],{},"4",[264,319,320],{},"売掛金元帳の構造",[264,322,323],{},"補助元帳に売掛金元帳を並置",[264,325,326],{},"違和感",[264,328,329],{},"売掛金元帳＝総勘定元帳の売掛金の取引先別内訳、という整理に到達",[240,331,332,335,338,341,344],{},[264,333,334],{},"5",[264,336,337],{},"OSAT総括記事",[264,339,340],{},"下書き前提の検証スタイルで執筆",[264,342,343],{},"書き直し",[264,345,346],{},"下書きの存在を消し、先行指標としての示唆を中心に再構成",[240,348,349,352,355,358,361],{},[264,350,351],{},"6",[264,353,354],{},"チャートの数字",[264,356,357],{},"IR資料と画面の数値を突き合わせ",[264,359,360],{},"ズレを発見",[264,362,363],{},"データソースの取り方を修正。画面の違和感を拾うのは人間の係",[240,365,366,369,372,375,378],{},[264,367,368],{},"7",[264,370,371],{},"品目別輸出統計",[264,373,374],{},"関税庁サイトをagent-browserで取得",[264,376,377],{},"成功",[264,379,380],{},"HSKコード指定で金額＋重量が取れ、$/kg単価まで分解できた",[240,382,383,386,389,392,395],{},[264,384,385],{},"8",[264,387,388],{},"Git履歴の機密データ",[264,390,391],{},".gitignoreだけで安心していた",[264,393,394],{},"履歴に残存",[264,396,397],{},"ignoreは「今後」しか守らない。履歴書き換えで除去",[71,399],{},[19,401,402],{"id":402},"今日の学び",[47,404,405,408,415,418,421],{},[50,406,407],{},"Embedded Replicaは複数セッションからの同時書き込みに弱い。取り込みパイプラインはHTTP同期に寄せた方がスムーズに流れる",[50,409,410,414],{},[411,412,413],"code",{},".gitignore"," は過去のコミットを守らない。機密データは履歴ごと書き換える必要がある",[50,416,417],{},"AIに修正指示を出すときは、対象を一意に指せるID表示を先に仕込むと対話が一気に速くなる",[50,419,420],{},"自動生成の問題より、自分で論点網羅を保証した問題集を正とする方が品質を説明できる",[50,422,423],{},"テスト工程（OSAT）の売上はGPU・メモリ製造増の先行指標として読める。データは示唆まで書いて初めて記事になる",[71,425],{},[19,427,428],{"id":428},"関連記事",[47,430,431,435,439,443,447,451],{},[50,432,433],{},[66,434,69],{"href":68},[50,436,437],{},[66,438,102],{"href":101},[50,440,441],{},[66,442,134],{"href":133},[50,444,445],{},[66,446,166],{"href":165},[50,448,449],{},[66,450,198],{"href":197},[50,452,453],{},[66,454,227],{"href":226},{"title":456,"searchDepth":457,"depth":457,"links":458},"",2,[459,460,469,470,471],{"id":21,"depth":457,"text":21},{"id":31,"depth":457,"text":31,"children":461},[462,464,465,466,467,468],{"id":35,"depth":463,"text":36},3,{"id":75,"depth":463,"text":76},{"id":107,"depth":463,"text":108},{"id":139,"depth":463,"text":140},{"id":171,"depth":463,"text":172},{"id":203,"depth":463,"text":204},{"id":232,"depth":457,"text":232},{"id":402,"depth":457,"text":402},{"id":428,"depth":457,"text":428},"diary","自炊書籍4冊のOCR取り込みとReplicaハング調査、Chrome拡張のセキュリティレビュー、簿記ノートの演習再設計、台湾OSAT・輸出統計のページ整備、設計原則コンテンツ、ピアノロールアプリ作成までを記録。","md",{},true,"/2026-06-11-diary","daily-log",false,"2026-06-11T00:00:00.000Z",{"title":5,"description":473},"2026-06/2026-06-11/diary-2026-06-11",[484,485,486,487,488],"日記","OCR","セキュリティ","簿記","半導体",null,"M7kDQWcz_X4Be-Thep2Ar7TKE67yBHlt2_mAB8zgCJM",[492,504,513,523,532],{"title":493,"description":494,"path":495,"tags":496,"publishedAt":503,"updatedAt":489},"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",[497,498,487,499,500,501,502,486,484],"eurekapu","nuxt4","移行","vitest","playwright","パフォーマンス","2026-02-20T00:00:00.000Z",{"title":505,"description":506,"path":507,"tags":508,"publishedAt":512,"updatedAt":489},"2026年6月10日の開発日記 - 書籍を読んで終わらせない日。OCR取り込みから教材化・スキル化・Kindle出版まで","数学参考書のOCR取り込みとインタラクティブ教材化、専門書のスキル化、Vivliostyle CLIでのKindle出版環境立ち上げ、輸出統計のSSOT化、4プロジェクト一斉バグスキャンまで盛りだくさんの一日。","/2026-06-10-diary",[484,485,509,510,511],"スキル化","Kindle出版","インタラクティブ教材","2026-06-10T00:00:00.000Z",{"title":514,"description":515,"path":516,"tags":517,"publishedAt":522,"updatedAt":489},"2026年5月27日の開発日記 - 残骸9222リスナーを片付け、過去問と参考書をDBに流し込んだ一日","Chrome DevTools MCP が固まる真因（残骸9222リスナー）を掘り当てて reconnect だけで直すと実証し、ある国家資格試験の過去問と自炊した参考書を Turso DB に流し込み、状態 vs イベントの設計教材を仕上げた一日。","/2026-05-27-diary",[484,518,519,485,520,521],"Claude Code","Turso","Vue","データベース設計","2026-05-27T00:00:00.000Z",{"title":524,"description":525,"path":526,"tags":527,"publishedAt":531,"updatedAt":489},"2026年5月20日の開発日記 - 画面の違和感拾いで日本円パーサ未対応バグを発掘","イビデン株を追加してチャートが空欄になる現象を画面で拾い、parseCurrencyToNumberの日本円バグを潰した。/make-diaryと/check-earningsをチェーン化、GitHub侵入事件契機にChrome拡張を53→31に削減。","/2026-05-20-diary",[484,528,529,486,518,530],"イビデン","parseCurrency","agent-browser","2026-05-20T00:00:00.000Z",{"title":533,"description":534,"path":535,"tags":536,"publishedAt":539,"updatedAt":489},"2026年5月9日の開発日記 - クイズ画面のBS/PL初期残高をCodex 5回レビューで詰める","クイズ画面のBS/PL全科目事前表示と動的初期残高をCodex 5回レビューで実装、コクピットのレスポンシブ7段階検証＋モーダル自動ズーム、quiz画面のスタイル統一とdelta-popup・装飾点線、CFリファレンスのライフサイクル順再構成、breadcrumb 130ファイル一括統一、Dropbox古いPC残骸の謎解きとSQL Serverサービス棚卸し、将棋盤のキーボード操作。","/2026-05-09-diary",[484,520,537,487,538],"Codexレビュー","Windows","2026-05-09T00:00:00.000Z",[],"https://log.eurekapu.com/og/blog/2026-06-11-diary.png?v=2026-06-11T00%3A00%3A00.000Z&title=2026%E5%B9%B46%E6%9C%8811%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E8%87%AA%E7%82%8A%E6%9B%B8%E7%B1%8D%E3%81%AE%E4%B8%80%E6%8B%ACOCR%E3%81%8B%E3%82%89%E6%BC%94%E7%BF%92%E5%86%8D%E8%A8%AD%E8%A8%88%E3%83%BB%E3%83%94%E3%82%A2%E3%83%8E%E3%83%AD%E3%83%BC%E3%83%AB%E3%81%BE%E3%81%A7&author=Kei%20Komatsu&sig=71e34c028d7f0e71",1781333881939]