[{"data":1,"prerenderedAt":551},["ShallowReactive",2],{"content-/2026-07-15-diary":3,"all-pages-for-dir":549,"og-image-/2026-07-15-diary":550},{"id":4,"title":5,"body":6,"category":530,"concepts":531,"description":532,"extension":533,"meta":534,"navigation":478,"ogImage":531,"path":535,"project_name":536,"published":537,"publishedAt":538,"seo":539,"stem":540,"tags":541,"todo":531,"unpublished":537,"updatedAt":547,"__hash__":548},"pages/2026-07/2026-07-15/diary-2026-07-15.md","2026年7月15日の開発日記 - 公開記事5本の執筆デーと講座公開、AEHR・ASMLのモニタリング追加",{"type":7,"value":8,"toc":512},"minimark",[9,14,18,22,29,32,37,40,46,70,80,83,87,90,94,109,117,119,123,130,134,146,154,156,160,163,167,175,183,185,189,197,205,207,211,222,230,232,235,443,445,448,462,464,467,481,483,486],[10,11,13],"h1",{"id":12},"_2026年7月15日の開発日記","2026年7月15日の開発日記",[15,16,17],"p",{},"朝の統計チェーンで見つけた輸出単価の分岐を記事に起こしたのを皮切りに、この日は公開記事を5本書かせた。並行して、自作APIのMCP化講座をMiller Column形式に変換して公開し、beat-monitoringにはAEHRとASMLの2銘柄を追加。夕方には書籍OCRの取り込みとNotion自動アーカイブの計画書まで進めた、書き物の多い一日だった。",[19,20,21],"h2",{"id":21},"今日のタイムライン",[15,23,24],{},[25,26],"img",{"alt":27,"src":28},"タイムライン","/2026-07/2026-07-15/timeline-2026-07-15.png",[19,30,31],{"id":31},"今日やったこと",[33,34,36],"h3",{"id":35},"_1-半導体aiの公開記事を5本執筆","1. 半導体・AIの公開記事を5本執筆",[15,38,39],{},"毎朝の統計チェーンでSSDとDRAMの単価横ばい・HBM上昇に気づき、「AIサーバーへの近さの序列」を単価分岐記事の冒頭に追記させた。続けて内閣府のAI基本計画PDFのSVG図解、英文分析記事2本（Tokens per Watt / CMX vs CXL）の読解、Xで見かけた「AIユーザー800万人」説の事実確認からのフェルミ推定と、1日で5本を書かせた。",[15,41,42],{},[43,44,45],"strong",{},"主な成果:",[47,48,49,53,60,63],"ul",{},[50,51,52],"li",{},"単価分岐記事の冒頭追記＋品目別単価の読み解き",[50,54,55],{},[56,57,59],"a",{"href":58},"/japan-ai-basic-plan-phase2","第Ⅱ期AI基本計画のSVG図解記事",[50,61,62],{},"Nvidia Tokens per Watt 読解 / CMX vs CXL 読解（いずれも未公開）",[50,64,65,69],{},[56,66,68],{"href":67},"/ai-user-count-fermi-estimate","AIユーザー数のフェルミ推定","（実際は週間アクティブ8億人）",[15,71,72,75,76],{},[43,73,74],{},"詳細:"," ",[56,77,79],{"href":78},"/semiconductor-ai-articles-writing-day","半導体・AIの記事を1日で5本書いた日",[81,82],"hr",{},[33,84,86],{"id":85},"_2-自作apiのmcp化講座をmiller-column形式に変換して公開","2. 自作APIのMCP化講座をMiller Column形式に変換して公開",[15,88,89],{},"mdx-playgroundで書いた長文チュートリアルをeurekapu-nuxt4のMiller Column講座に変換する実装を回した。レビュー指摘の「Pythonコード抜粋を全ページに横展開」（12セクション・15箇所）とCOPYボタンの復活まで対応し、学習ゲートを通して3コミット。ブラウザレビューはviewportエミュレーションで行うルールもこの日に確立した。",[15,91,92],{},[43,93,45],{},[47,95,96,99,102],{},[50,97,98],{},"講座データ6ファイル・ページ7本・配布zipの実装と公開",[50,100,101],{},"レビュー指摘の全ページ横展開とCOPYボタン復活",[50,103,104,108],{},[105,106,107],"code",{},"browser-review-emulation.md"," ルールの新設",[15,110,111,75,113],{},[43,112,74],{},[56,114,116],{"href":115},"/journal-mcp-miller-column-course","自作APIのMCP化講座をMiller Column形式に変換して公開した",[81,118],{},[33,120,122],{"id":121},"_3-beat-monitoring-に-aehr-と-asml-を追加","3. beat-monitoring に AEHR と ASML を追加",[15,124,125,126,129],{},"前日の決算スキャンで拾ったAEHRを朝に、ASMLを午後に ",[105,127,128],{},"/add-ticker"," で登録した。ASMLはビート幅平均+1.7%と小さいのに株価が伸びており、上昇の半分近くがPER拡大という構図に気づいた。EUVがBlackwell/RubinのロジックダイとHBM向けDRAM工場の両方につながる整理を公開記事に落とした。",[15,131,132],{},[43,133,45],{},[47,135,136,139],{},[50,137,138],{},"AEHR / ASML の2銘柄をモニタリングに登録",[50,140,141,145],{},[56,142,144],{"href":143},"/asml-guidance-rerating-and-euv","ASMLのガイダンス改定とEUVの記事","を公開",[15,147,148,75,150],{},[43,149,74],{},[56,151,153],{"href":152},"/beat-monitoring-add-aehr-asml","決算ビートモニタリングにAEHR・ASMLを追加",[81,155],{},[33,157,159],{"id":158},"_4-語源英単語アプリの例文を作り込み","4. 語源英単語アプリの例文を作り込み",[15,161,162],{},"例文画像の生成方針を実写風から抽象イラスト風にひっくり返し、章単位で量産させた。例文中の見出し語はマゼンタ強調、英文フォントは拡大、音声はPiper TTSを1文だけ試してから再生ボタンを本実装。英→日と日→英のクイズが同時に見えて答えが丸見えになる問題も分離させた。",[15,164,165],{},[43,166,45],{},[47,168,169,172],{},[50,170,171],{},"例文画像の方針転換と量産フロー — 最終的に141枚を完走（failed=0）し、検収・全18章QA・デプロイまで到達",[50,173,174],{},"マゼンタ強調・フォント拡大・音声再生ボタン",[15,176,177,75,179],{},[43,178,74],{},[56,180,182],{"href":181},"/gogen-eitango-example-images-and-audio","語源英単語アプリの例文を作り込んだ日",[81,184],{},[33,186,188],{"id":187},"_5-herdr導入felica勤怠構想環境の小修理","5. herdr導入・FeliCa勤怠構想・環境の小修理",[15,190,191,192,196],{},"AIエージェント用ターミナルマネージャherdrのWindowsベータを導入して記事化。安いFeliCaカードを探すうちに手持ちのRC-S380リーダーで勤怠管理を作れると気づいて",[56,193,195],{"href":194},"/felica-attendance-system-rc-s380","構想を記事化","。Claude Code起動時の permission 警告は死にルール1行の削除で解決し、非公開記事のパンくずリストも直させた。",[15,198,199,75,201],{},[43,200,74],{},[56,202,204],{"href":203},"/herdr-felica-and-env-fixes","herdr Windowsベータ導入とFeliCa勤怠構想、Claude Code警告の退治まで",[81,206],{},[33,208,210],{"id":209},"_6-書籍ocr取り込みと-notion-自動アーカイブ計画","6. 書籍OCR取り込みと Notion 自動アーカイブ計画",[15,212,213,214,217,218,221],{},"395ページの参考書PDFを ",[105,215,216],{},"/yomitoku"," でOCRしてTursoに格納し、",[105,219,220],{},"/restructure-book"," で目次ベースのセクションに統合、書籍ビューアで表示確認まで完走した。午後はNotion APIファーストの自動アーカイブ計画書を修正してCodexの再レビューを通し、実装は明日に持ち越した。",[15,223,224,75,226],{},[43,225,74],{},[56,227,229],{"href":228},"/book-ocr-and-notion-archive-plan","395ページの参考書をAI OCRでクラウドDBに取り込み、Notion自動アーカイブの計画書を固めた日",[81,231],{},[19,233,234],{"id":234},"今日の試行錯誤",[236,237,238,260],"table",{},[239,240,241],"thead",{},[242,243,244,248,251,254,257],"tr",{},[245,246,247],"th",{},"#",[245,249,250],{},"テーマ",[245,252,253],{},"試したこと",[245,255,256],{},"結果",[245,258,259],{},"気づき",[261,262,263,281,298,315,338,355,372,392,409,426],"tbody",{},[242,264,265,269,272,275,278],{},[266,267,268],"td",{},"1",[266,270,271],{},"例文画像",[266,273,274],{},"実写風の画像生成で例文イラストを作成",[266,276,277],{},"却下→抽象イラスト風に転換して成功",[266,279,280],{},"抽象概念の単語は実写より抽象イラストの方が表現しやすい",[242,282,283,286,289,292,295],{},[266,284,285],{},"2",[266,287,288],{},"例文音声",[266,290,291],{},"Piper TTSを1文だけ試作してから本実装",[266,293,294],{},"成功",[266,296,297],{},"聞いたことのないアプローチは1文のスモークテストで判断が早い",[242,299,300,303,306,309,312],{},[266,301,302],{},"3",[266,304,305],{},"AEHR追加",[266,307,308],{},"/add-ticker のテスト3件失敗を tail 切りで調査",[266,310,311],{},"切り分けて解消",[266,313,314],{},"テスト失敗はログの見せ方（tail切り）で誤診しやすい",[242,316,317,320,323,329,335],{},[266,318,319],{},"4",[266,321,322],{},"記事内の$表記",[266,324,325,328],{},[105,326,327],{},"$"," を2つ書いたらLaTeX数式として解釈された",[266,330,331,334],{},[105,332,333],{},"\\$"," エスケープで解決",[266,336,337],{},"ドル金額を2箇所書くときはエスケープ必須",[242,339,340,343,346,349,352],{},[266,341,342],{},"5",[266,344,345],{},"チャートラベル",[266,347,348],{},"100分比チャートのラベルが見切れ",[266,350,351],{},"短縮＋2行化で解決",[266,353,354],{},"SVGチャートは実表示の確認までがワンセット",[242,356,357,360,363,366,369],{},[266,358,359],{},"6",[266,361,362],{},"書籍ビューア確認",[266,364,365],{},"スクリーンショット取得が2回タイムアウト",[266,367,368],{},"コンソール・テキスト確認に切り替え",[266,370,371],{},"描画確認の経路は複数持っておく",[242,373,374,377,380,383,389],{},[266,375,376],{},"7",[266,378,379],{},"permission警告",[266,381,382],{},"Claude Code起動時の警告の原因調査",[266,384,385,388],{},[105,386,387],{},"Write(.claude/**)"," の死にルール1行削除で解決",[266,390,391],{},"バージョンアップで死にルールが警告に昇格することがある",[242,393,394,397,400,403,406],{},[266,395,396],{},"8",[266,398,399],{},"devサーバー復旧",[266,401,402],{},"database is locked 再発を疑って調査",[266,404,405],{},"シロ（タスクラッパー停止のみ、本体は生存）",[266,407,408],{},"「killed」通知でも本体プロセスの生死は別途確認する",[242,410,411,414,417,420,423],{},[266,412,413],{},"9",[266,415,416],{},"ブラウザレビュー",[266,418,419],{},"実ウィンドウのリサイズでスクショ",[266,421,422],{},"viewportエミュレーションに切り替えてルール化",[266,424,425],{},"ユーザーが見ている全タブのサイズを変えない",[242,427,428,431,434,437,440],{},[266,429,430],{},"10",[266,432,433],{},"800万人説",[266,435,436],{},"Xのポストの数値を公式発表と突き合わせ",[266,438,439],{},"実際は週間アクティブ8億人",[266,441,442],{},"ネタポストの数値は桁から疑って一次情報に当たる",[81,444],{},[19,446,447],{"id":447},"今日の学び",[47,449,450,453,456,459],{},[50,451,452],{},"毎朝の統計チェーンは記事ネタの供給源を兼ねる。単価の横ばいに気づいた瞬間に記事化の指示を出せば、その日のうちに公開まで届く",[50,454,455],{},"ブラウザレビューのサイズ変更はエミュレーションで行う。実ウィンドウを触ると自分が見ているタブまで巻き込まれる",[50,457,458],{},"「ビート幅は小さいのに株価が伸びる」銘柄は、業績ではなくPER拡大が主役。時系列チャートに追加した瞬間に違和感として現れる",[50,460,461],{},"長時間のOCRや画像生成は完了を待たずに並列で進める。語源英単語アプリでは既存版の画像を暫定表示に使い、生成完了分から順に上書きして公開とQAを前倒しできた",[81,463],{},[19,465,466],{"id":466},"明日やること",[47,468,471],{"className":469},[470],"contains-task-list",[50,472,475,480],{"className":473},[474],"task-list-item",[476,477],"input",{"disabled":478,"type":479},true,"checkbox"," Notion APIファーストの自動アーカイブ計画の実装（計画書レビュー済み）",[81,482],{},[19,484,485],{"id":485},"関連記事",[47,487,488,492,496,500,504,508],{},[50,489,490],{},[56,491,79],{"href":78},[50,493,494],{},[56,495,116],{"href":115},[50,497,498],{},[56,499,153],{"href":152},[50,501,502],{},[56,503,182],{"href":181},[50,505,506],{},[56,507,204],{"href":203},[50,509,510],{},[56,511,229],{"href":228},{"title":513,"searchDepth":514,"depth":514,"links":515},"",2,[516,517,526,527,528,529],{"id":21,"depth":514,"text":21},{"id":31,"depth":514,"text":31,"children":518},[519,521,522,523,524,525],{"id":35,"depth":520,"text":36},3,{"id":85,"depth":520,"text":86},{"id":121,"depth":520,"text":122},{"id":158,"depth":520,"text":159},{"id":187,"depth":520,"text":188},{"id":209,"depth":520,"text":210},{"id":234,"depth":514,"text":234},{"id":447,"depth":514,"text":447},{"id":466,"depth":514,"text":466},{"id":485,"depth":514,"text":485},"diary",null,"半導体・AIの公開記事を1日で5本書き、自作APIのMCP化講座をMiller Column形式で公開。beat-monitoringにAEHRとASMLを追加し、書籍OCR取り込みとNotionアーカイブ計画も進めた一日。","md",{},"/2026-07-15-diary","daily-log",false,"2026-07-15T00:00:00.000Z",{"title":5,"description":532},"2026-07/2026-07-15/diary-2026-07-15",[542,543,544,545,546],"日記","半導体","beat-monitoring","MCP","OCR","2026-07-16T00:00:00.000Z","duEpwbfhi4gu5tJA0D7b37nflqaDjYWekdzc45juBGE",[],"https://log.eurekapu.com/og/blog/2026-07-15-diary.png?v=2026-07-16T00%3A00%3A00.000Z&title=2026%E5%B9%B47%E6%9C%8815%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20%E5%85%AC%E9%96%8B%E8%A8%98%E4%BA%8B5%E6%9C%AC%E3%81%AE%E5%9F%B7%E7%AD%86%E3%83%87%E3%83%BC%E3%81%A8%E8%AC%9B%E5%BA%A7%E5%85%AC%E9%96%8B%E3%80%81AEHR%E3%83%BBASML%E3%81%AE%E3%83%A2%E3%83%8B%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E8%BF%BD%E5%8A%A0&author=Kei%20Komatsu&sig=a66de244d6c391c1",1784186909409]