[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"tag-articles-nuxt4":3},[4,10,14,18,22,27,32,36,40,45,50,54,58,63,68,73,78,82,87,91,96,101,106,110,114,118,122,127,132,136],{"title":5,"description":6,"path":7,"publishedAt":8,"updatedAt":9},"蔵書ナレッジベースの構築 - Gemini OCRとNuxt 4で書籍PDFをWebリーダーにする","book-knowledge-baseプロジェクトで創業手帳PDFをGemini APIでOCR処理し、SQLiteに格納。Nuxt 4でMiller Columnsレイアウトの書籍ビューアを構築した開発記録。","/book-knowledge-base-nuxt4-frontend-2026-02-07","2026-02-07T00:00:00.000Z",null,{"title":11,"description":12,"path":13,"publishedAt":8,"updatedAt":9},"2026年2月7日の開発日記 - 3プロジェクト並行で書籍リーダー・帳票ビューア・業種別LP構築","book-knowledge-baseでPDF書籍リーダーをゼロから構築、消費税パターン帳票ビューアーの方針転換、tax-lpで業種別ランディングページのサブドメイン運用まで、3プロジェクトを一日で進めた記録。","/diary-2026-02-07",{"title":15,"description":16,"path":17,"publishedAt":8,"updatedAt":9},"業種別LPサイト構築 - Nuxt 4 + サブドメイン方式で税務コンサルティングのランディングページを量産する","税務コンサルティング向け業種別ランディングページ「tax-lp」プロジェクトの構築記録。Nuxt 4 + pnpm + Tailwind CSS + @nuxt/contentでプロジェクトを初期化し、localhostサブドメインで業種を切り替える仕組み、マークダウンのLP統合、不動産LP専用コンポーネント、記事システム、ページトランジションまでを一日で実装した。","/tax-lp-industry-landing-pages-2026-02-07",{"title":19,"description":20,"path":21,"publishedAt":8,"updatedAt":9},"yomitoku OCR変換と画像表示改善 - 日本語PDF112ページを3分でMarkdown化する実践記録","日本語特化OCRツールyomitokuで創業手帳Ver.99(112ページ)をMarkdown変換。--combineオプションの罠、日本語ファイル名問題、Nuxt 4のpublic配信問題、不要な\u003Cbr>タグ除去、装飾アイコンの面積ベースフィルタリングまで、実運用で直面した課題と解決策を詳細に記録。","/yomitoku-ocr-markdown-conversion-2026-02-07",{"title":23,"description":24,"path":25,"publishedAt":26,"updatedAt":9},"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","2026-02-15T00:00:00.000Z",{"title":28,"description":29,"path":30,"publishedAt":31,"updatedAt":9},"2026年2月20日の開発日記 - Eurekapu大規模移行・税務アシスタント機能拡張・書籍OCR一括処理","簿記問題集のNuxt4移行とCloudflare Pagesデプロイ、Better Auth認証基盤構築、税務アシスタントの税区分機能実装、書籍OCRバッチクリーンアップなど、5プロジェクトを横断した開発ログ。","/2026-02-20-diary","2026-02-20T00:00:00.000Z",{"title":33,"description":34,"path":35,"publishedAt":31,"updatedAt":9},"Eurekapu Cloudflare Pages SSR化とBetter Auth認証基盤の構築","eurekapu-nuxt4をSSGからSSR化してCloudflare Pagesにデプロイ。D1データベースのセットアップ、Better Auth + Google OAuthの認証スケルトン実装、認証テスト7件全パスまでの記録。","/eurekapu-infra-auth-2026-02-20",{"title":37,"description":38,"path":39,"publishedAt":31,"updatedAt":9},"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",{"title":41,"description":42,"path":43,"publishedAt":44,"updatedAt":9},"独立型ダッシュボードを作って壊した日 — 1ドメイン統合型への方針転換","eurekapu-dashboardを独立アプリとして設計・実装・デプロイまで通したが、ユーザー体験を掘り下げた結果、サブドメイン分離の問題に気づき1ドメイン統合型に方針転換。作って壊すまでの経緯と、得られた技術知見の記録。","/eurekapu-dashboard-development-2026-02-21","2026-02-21T00:00:00.000Z",{"title":46,"description":47,"path":48,"publishedAt":49,"updatedAt":9},"2026年2月22日の開発日記 - 決済4フェーズ実装とタイムラインビューア構築","eurekapu-nuxt4で1ドメイン統合・Stripe決済・認証整備を一気に進め、mdx-playgroundではプロジェクトタイムラインビューアを新規構築した1日の記録。","/2026-02-22-diary","2026-02-22T00:00:00.000Z",{"title":51,"description":52,"path":53,"publishedAt":49,"updatedAt":9},"eurekapu-nuxt4: 認証・DB運用・デプロイ整備の一日","SSRクッキー転送修正、Better Authメール認証追加、D1マイグレーション管理、画像配信ルート上限対策、E2Eテスト強化など、eurekapu-nuxt4プロジェクトの認証・DB・デプロイ周りを一気に整備した記録","/eurekapu-auth-db-deploy-2026-02-22",{"title":55,"description":56,"path":57,"publishedAt":49,"updatedAt":9},"1ドメイン統合とStripe決済4フェーズ実装 -- 独立ダッシュボードを捨てて /admin に集約した日","eurekapu-nuxt4で独立型ダッシュボードを廃止し/admin統合へ方針転換。購入管理テーブル、アクセス制御ミドルウェア、管理画面、Stripe Checkout+Webhookの4フェーズ実装を1日で完了。Codexレビュー、テストカバレッジ改善、動画ホスティング調査も実施。","/eurekapu-stripe-implementation-2026-02-22",{"title":59,"description":60,"path":61,"publishedAt":62,"updatedAt":9},"eurekapu-nuxt4: Drizzle ORM移行計画 -- 4並行エージェント調査からCodexレビューまで","eurekapu-nuxt4プロジェクトの全体構造を4並行エージェントで調査し、@atinux/kysely-d1の正体を突き止め、Drizzle ORMへの移行計画を策定した記録。Codexレビューでテーブル名混同リスクの指摘を受けて計画に反映するまでの流れ。","/drizzle-orm-migration-2026-02-23","2026-02-23T00:00:00.000Z",{"title":64,"description":65,"path":66,"publishedAt":67,"updatedAt":9},"ログインページ刷新と利用規約の全面改定 - eurekapu Nuxt4","eurekapuのログインページUIをサインインフロー中心に再設計し、利用規約を13条から14条に拡張。無料/有料コンテンツの区分や将来的な課金方式を見据えた条項を整備した記録","/eurekapu-terms-overhaul","2026-03-06T00:00:00.000Z",{"title":69,"description":70,"path":71,"publishedAt":72,"updatedAt":9},"サインインUIの改善と利用規約ドラフト作成 - Nuxt4認証画面の整備記録","eureka学習プラットフォームのサインインページUI改善（Googleログイン・ギャラリーリンク・利用規約インラインリンク）と、将来の有料化を見据えた利用規約ドラフトの作成・改善の記録","/eurekapu-signin-tos-setup","2026-03-07T00:00:00.000Z",{"title":74,"description":75,"path":76,"publishedAt":77,"updatedAt":9},"2026年3月8日の開発日記 - 書籍ナレッジベース4冊統合と会計学習サイトUI全面刷新","PDF取り込みバグの発見からyomitoku OCRへの移行、4冊分のセクション統合コマンド作成、会計学習サイトのKindleページ新設・分野別ナビゲーション構築まで","/2026-03-08-diary","2026-03-08T00:00:00.000Z",{"title":79,"description":80,"path":81,"publishedAt":77,"updatedAt":9},"会計学習サイトのUI刷新 - サムネイル整備・Kindleページ新設・分野別ナビゲーション構築","Udemy講座4本のサムネイルリサイズと配置、Kindle書籍ページの新規作成、トップページへの分野別コンテンツマトリックス追加、コースカードの商品一覧化までのUI改修記録","/eurekapu-content-navigation",{"title":83,"description":84,"path":85,"publishedAt":86,"updatedAt":9},"簿記3級コンテンツのNuxt 4移行計画 - 旧プロジェクト調査とGit LFS導入","Nuxt 2の簿記3級コンテンツをNuxt 4に移行する計画を策定。旧プロジェクトの構造調査、Codexレビューによるプラン精査、2,300超のSVGファイルのGit LFS管理を実施","/bookkeeping-nuxt4-migration-plan","2026-03-12T00:00:00.000Z",{"title":88,"description":89,"path":90,"publishedAt":86,"updatedAt":9},"2026年3月12日の開発日記 - 教育コンテンツUIをTheater型で一新","簿記3級コンテンツのNuxt 4移行計画を策定し、教育コンテンツの表示UIをTheater型・Scrollytelling・ミラーカラムレイアウトの3パターンで実装・比較した1日","/2026-03-12-diary",{"title":92,"description":93,"path":94,"publishedAt":95,"updatedAt":9},"簿記3級コンテンツ全18セクション一括移行 - サブエージェント並列で1日完走","旧プロジェクトの簿記3級コンテンツ全18セクションをNuxt4環境へ移行した作業ログ。サブエージェント並列実行、画像欠損の発見、Miller Columns化、移行ガイドの継続更新まで。","/boki3-content-mass-migration","2026-03-13T00:00:00.000Z",{"title":97,"description":98,"path":99,"publishedAt":100,"updatedAt":9},"3600行のドラフトMDを11個のVueページに変換し、stepsレイアウトを汎用化した記録","会計テキスト教材10章分のマークダウンをVueページへ変換。ドラフトがCloudflareで表示されない原因を突き止め、レイアウトをstepsに統一し、SVGパス解決やトップページ追加まで一気に進めた1日の記録","/beppyo-vue-conversion","2026-04-22T00:00:00.000Z",{"title":102,"description":103,"path":104,"publishedAt":105,"updatedAt":9},"case100の76件深掘りノートを52件にライフサイクル統合する計画をCodex 6回レビューと並列5セッションで実装した記録","本版化した76件のノートを、A型対比/B型分岐/C型並置のライフサイクル軸で52件に統合する計画立案。Codex（gpt-5.5）の6回レビューで致命的指摘を6点→2点→0点に削り込み、α-εの5並列セッションで22件→52件への統合を完走させた。","/case100-note-consolidation-plan-codex-review","2026-05-04T00:00:00.000Z",{"title":107,"description":108,"path":109,"publishedAt":105,"updatedAt":9},"case100 第III部の76論点をClaude Codeのサブエージェント並列5セッションで一気に本版化した記録","75論点の叩き台を本版化するために、Claude Codeのサブエージェントを5並列で走らせた記録。共通index.tsをぶつけずに編集する『番号予約→再読込→自分の範囲だけ追記』パターンと、貸借バランス目視チェックの運用が固まった日。","/case100-parallel-honban-5sessions",{"title":111,"description":112,"path":113,"publishedAt":105,"updatedAt":9},"Excel関数の統合インデックスページをNuxt4側に移植してfxアイコン巨大化バグを潰し、SEOタイトルを動的化した記録","旧eurekapu.com（WordPress）の『Excel講座 関数の活用』を新Nuxt4側に再現。/lessons/excel/functions に統合インデックス、/lessons/excel/functions/practice にMillerスライド形式を分離。BookkeepingScrollArticleのscrollChaptersダミーで singleSectionMode + noChapterCol を発動させ、ScrollArticleに :has(.excel-wide) で動的に幅を切り替えるCSSを差し込んだ。SyntaxCard内の小さなfxアイコンが画面いっぱいに膨れ上がる『:deep(svg)』巻き込み事故と、practiceページのタイトルが『- Eurekapu.com』だけになっていたSEO事故を片付けた日。","/excel-functions-integrated-index",{"title":115,"description":116,"path":117,"publishedAt":105,"updatedAt":9},"Excel風HTMLモックの数式吹き出しヘルパーをClaude Codeのプロジェクトスキル化して11関数の解説に適用した記録","VLOOKUPの注意点ページで作った『商品マスタ＋作業シート＋数式吹き出し』のExcel風HTMLモックを、F2編集モード風の色対応・シート分離・吹き出し位置調整まで詰めて、excel-html-mockプロジェクトスキルに固めた。10個の重複コードを1ヘルパー（formulaCallout）に集約し、IF/IFERROR/INDEX-MATCH/SUMIFS/TEXT/ROUNDなど11関数の解説に同じ図解を量産した日。","/excel-html-mock-skill-and-functions",{"title":119,"description":120,"path":121,"publishedAt":105,"updatedAt":9},"Cloudflare R2の動画が再生できない原因はWordPress時代のShift_JISファイル名だった話とCDNキャッシュバスター対応","本番環境で4本の動画が再生できないとユーザーから報告。HTTP 200は返るのに中身が49KBの404 HTMLになっていた。原因はWordPressからの移行時、Shift_JIS（%8eQ%8f%c6...）でエンコードされた日本語ファイル名のURLをUTF-8で叩いて404 HTMLを掴み、それをそのまま.mp4としてR2に上げていたこと。実体MP4を再取得してR2に再アップロードし、Cloudflare CDNが古いHTMLを返してくる対策に動画URLへ`?v=2`を付けてキャッシュバスターした。","/r2-video-shiftjis-corruption",{"title":123,"description":124,"path":125,"publishedAt":126,"updatedAt":9},"Worker bundleを2.909→2.744MiBへ削減 - lessons数百ページの外部HTML化とClientOnly+Lazy化","Plan D Phase 2/3を1日で走り切った記録。beppyo 9件の外部HTML化、JournalExample 147件のClientOnly+Lazy化、MillerViewer 73件のLazy化を経てWorker bundleのmarginをRedゾーンの91KiBからGreenゾーンの262KiBまで広げた。","/eurekapu-plan-d-phase2-lessons-externalization","2026-06-17T00:00:00.000Z",{"title":128,"description":129,"path":130,"publishedAt":131,"updatedAt":9},"2026年6月18日の開発日記 - Kindle取り込みパイプライン完成と裏方タスクの整理","Kindle Cloud Reader を Chrome 拡張で巡回スクショして OCR にかける /yomitoku-kindle を一日かけて仕上げ、ハイライト・メモも Turso に取り込んだ。並行して Eurekapu Nuxt4 のコンテンツ HTML 化ルール策定、make-diary への update-portfolio チェーン化、Turso Sync クォータの判断、Winbond 表記対応など、裏方の整理が一気に進んだ日。","/2026-06-18-diary","2026-06-18T00:00:00.000Z",{"title":133,"description":134,"path":135,"publishedAt":131,"updatedAt":9},"Nuxt4移行プロジェクトでコンテンツのHTML化ルールを策定した話 - インタラクティブはVue、純粋テキストはHTML","Eurekapu Nuxt4移行のPlan E Phase F-1で2件のVueをHTML化してPRをマージした。並行して「インタラクティブ教材はVue、純粋な解説テキストはHTML」というコンテンツ配置ルールをCLAUDE.mdに固定した記録。","/eurekapu-nuxt4-content-html-rules",{"title":137,"description":138,"path":139,"publishedAt":140,"updatedAt":9},"学習ゲートの全リポジトリ展開とSVG図解のNG/OK表現改善","eurekapu-nuxt4で学習ゲートが起動しない原因をcore.hooksPathの上書きから突き止め、Git_Repo配下約160リポジトリを棚卸しした記録。あわせてsvg-diagramスキルのアップデートをNG/OKのテーブル表記から×/チェックマークの視覚表現へ作り直し、財務数値ケースの教材ページへも反映した一日の記録。","/svg-diagram-and-learn-gate-rollout","2026-07-08T00:00:00.000Z",1784786395849]