[{"data":1,"prerenderedAt":678},["ShallowReactive",2],{"content-/2026-08-02-diary":3,"all-pages-for-dir":658,"related-/2026-08-02-diary":659,"og-image-/2026-08-02-diary":677},{"id":4,"title":5,"body":6,"category":638,"concepts":639,"description":640,"extension":641,"meta":642,"navigation":585,"ogImage":639,"path":643,"project_name":644,"published":645,"publishedAt":646,"seo":647,"source":648,"stem":649,"tags":650,"todo":639,"unpublished":645,"updatedAt":639,"__hash__":657},"pages/2026-08/2026-08-02/diary-2026-08-02.md","2026年8月2日の開発日記 - WindowsからMacへ環境を移した一日",{"type":7,"value":8,"toc":621},"minimark",[9,14,18,21,25,32,35,40,48,54,80,91,94,98,101,107,110,114,125,133,135,139,142,145,149,160,168,170,174,177,183,186,190,201,209,211,215,218,221,225,236,244,246,249,545,547,550,569,571,574,594,596,599],[10,11,13],"h1",{"id":12},"_2026年8月2日の開発日記","2026年8月2日の開発日記",[15,16,17],"p",{},"新しいMacBook Proに開発環境を移す作業を、朝から夜まで続けた。",[15,19,20],{},"朝のうちは順調だった。\nWindowsでやっていることの大半は、設定を持ってきて認証情報を書き出せばそのまま動いた。\n引っかかったのは夜になってからだった。\nしかもその引っかかり方は、Macの都合というより自分の確認の仕方に由来していた。",[22,23,24],"h2",{"id":24},"今日のタイムライン",[15,26,27],{},[28,29],"img",{"alt":30,"src":31},"タイムライン","/2026-08/2026-08-02/timeline-2026-08-02.png",[22,33,34],{"id":34},"今日やったこと",[36,37,39],"h3",{"id":38},"_1-mac開発環境の初日セットアップ","1. Mac開発環境の初日セットアップ",[15,41,42,43,47],{},"最初に打った ",[44,45,46],"code",{},"hello"," に401が返ってきて、OAuthトークンのログインし直しから始まった。\nそこからClaude Code本体を上げ、ユーザーレベルの設定がGitHubと繋がっているかを確かめさせた。\nMac側は56コミット分遅れていたので、そこまで引いてきて追いつかせた。\n日次でGitHubへ送っておいた分が、そのまま移行の手段になった。",[15,49,50],{},[51,52,53],"strong",{},"主な成果:",[55,56,57,61,64,71,77],"ul",{},[58,59,60],"li",{},"ユーザー設定をGitHub経由で同期し、スキルとルールを持ち込んだ",[58,62,63],{},"作業対象のリポジトリをclone",[58,65,66,67,70],{},"1Password CLIから ",[44,68,69],{},".env"," を書き出し、Tursoのクラウドへ直接繋いだ",[58,72,73,74,76],{},"clone済み6リポジトリで ",[44,75,69],{}," がgitignoreされていることを一斉に確認させた",[58,78,79],{},"OCRツールがApple GPU（MPS）で動き、テスト画像1枚を4.2秒で処理した",[15,81,82,85,86],{},[51,83,84],{},"詳細:"," ",[87,88,90],"a",{"href":89},"/mac-dev-environment-bootstrap","WindowsからMacへ開発環境を移す初日にやったこと",[92,93],"hr",{},[36,95,97],{"id":96},"_2-windows前提のリポジトリをmacで動かす","2. Windows前提のリポジトリをMacで動かす",[15,99,100],{},"このサイトのリポジトリをMacで起動できるところまで確かめ、あわせて運用上の判断を2つ決めた。",[15,102,103,104,106],{},"学習ゲートは、Macでは有効にしないことにした。\nフック自体を持ち込まないので、コミットのたびにスキップを指定する必要もない。\n",[44,105,69],{}," は隣のリポジトリのもので、1Passwordにある正本と一致していることだけ確認した。",[15,108,109],{},"その流れでマルチセッション管理ツールのherdrを入れたものの、立ち上げてから手が止まった。\nペイン1枚が1セッションに対応すると分かるまで、何をどう並べるのかが掴めなかった。",[15,111,112],{},[51,113,53],{},[55,115,116,119,122],{},[58,117,118],{},"Node v26.5.1 / pnpm 10.10.0 でクローン直後の起動を確認",[58,120,121],{},"学習ゲートを持ち込まない判断と、その代わりの運用を決めた",[58,123,124],{},"tmuxとマルチセッション管理ツールを導入し、統合フックを自分で入れた",[15,126,127,85,129],{},[51,128,84],{},[87,130,132],{"href":131},"/mdx-playground-mac-migration","Windows 前提のリポジトリを Mac で動かし、herdr でセッションを並べ始めるまで",[92,134],{},[36,136,138],{"id":137},"_3-gmail接続の確認とメールの下書き","3. Gmail接続の確認とメールの下書き",[15,140,141],{},"移ったばかりのMacに、Google Workspace CLIは入っていなかった。\n別の経路で検索させると目当ての1件がすぐ出て、宛先がそのまま取れた。",[15,143,144],{},"PDFは添付するには大きく、クラウドストレージの共有リンクに切り替えた。\n送信はさせず、下書きで止めた。\nそこで拾えたのは文面の誤りではなく、下書きが仕事用と個人用のどちらのアカウントに入ったのかという問題だった。",[15,146,147],{},[51,148,53],{},[55,150,151,154,157],{},[58,152,153],{},"Mac新環境でのGmail到達性を確認",[58,155,156],{},"宛先を特定し、共有リンクを添えた下書きを保存",[58,158,159],{},"AC電源時のスリープを10分から30分に変更",[15,161,162,85,164],{},[51,163,84],{},[87,165,167],{"href":166},"/gws-cli-mail-draft-on-mac","Mac の新環境で Gmail 接続を確かめ、送信前に下書きで止める",[92,169],{},[36,171,173],{"id":172},"_4-584ページのocrからサイトの解説コンテンツまで","4. 584ページのOCRからサイトの解説コンテンツまで",[15,175,176],{},"専門技術書のスキャンPDFをOCRにかけ、ページ単位のチャンクを章と節に畳み直して全文検索まで通した。\nOCR自体は25分で終わっている。\n時間を食ったのはそのあとで、しかも失敗が成功のように見えていた。",[15,178,179,182],{},[44,180,181],{},"| tail"," を挟んだせいで終了コードが0に見え、失敗が通ったことになっていた。\n全文検索の索引の作り直しでは、動いていないものを15分待った。\n図版のアップロードは403で返り、書き込みキーが未発行のままになっている。",[15,184,185],{},"DBに入れた知識をサイトの読みものに変える段では、最初の解説の水準が物足りず、上位モデルで作り直させた。\n3状態の切り替えでは噛み合う瞬間が見えなかったので、スライダーで段階的に動かす形に変えた。",[15,187,188],{},[51,189,53],{},[55,191,192,195,198],{},[58,193,194],{},"584ページをOCRし、セクション単位への再構造化と全文検索まで到達",[58,196,197],{},"図を装飾と情報に仕分け、サイトへ転用する方針を立てた",[58,199,200],{},"キーワード設計とAI経由の流入を含む改善計画をまとめさせた",[15,202,203,85,205],{},[51,204,84],{},[87,206,208],{"href":207},"/book-ocr-to-web-content","584ページのスキャンPDFをOCRしてナレッジベースに入れ、サイトの解説コンテンツに変えるまで",[92,210],{},[36,212,214],{"id":213},"_5-生成aiツールがmac先行な理由を調べさせた","5. 生成AIツールがMac先行な理由を調べさせた",[15,216,217],{},"Windowsから移ってきた流れで、前から引っかかっていたことが疑問の形になった。\n生成AI系のツールは、なぜMac対応が先なのか。",[15,219,220],{},"調べさせるだけなら簡単だが、返ってくる分量が問題だった。\nターミナルに長文を流されると読み返せない。\nそこで目次付きのHTMLに落とさせ、さらにSVGの図解を5枚入れさせた。",[15,222,223],{},[51,224,53],{},[55,226,227,230,233],{},[58,228,229],{},"疑問を仮説の形にしてから調査を投げた",[58,231,232],{},"調査結果をHTML＋SVG図解として受け取る形を試した",[58,234,235],{},"図の描画はPNGに落として目視で確かめさせた",[15,237,238,85,240],{},[51,239,84],{},[87,241,243],{"href":242},"/why-genai-tools-favor-mac","生成AIツールはなぜMac先行なのか、調べさせてHTMLとSVG図解で受け取った",[92,245],{},[22,247,248],{"id":248},"今日の試行錯誤",[250,251,252,274],"table",{},[253,254,255],"thead",{},[256,257,258,262,265,268,271],"tr",{},[259,260,261],"th",{},"#",[259,263,264],{},"テーマ",[259,266,267],{},"試したこと",[259,269,270],{},"結果",[259,272,273],{},"気づき",[275,276,277,297,314,332,348,364,381,398,414,430,447,465,481,497,513,529],"tbody",{},[256,278,279,283,286,291,294],{},[280,281,282],"td",{},"1",[280,284,285],{},"Claude Codeの起動",[280,287,288,290],{},[44,289,46],{}," と打った",[280,292,293],{},"失敗",[280,295,296],{},"401が返り、トークンの再ログインから始まった",[256,298,299,302,305,308,311],{},[280,300,301],{},"2",[280,303,304],{},"設定の持ち込み",[280,306,307],{},"ユーザー設定がGitHubと同期しているか確認させた",[280,309,310],{},"成功",[280,312,313],{},"56コミット遅れていた。日次バックアップがそのまま移行手段になった",[256,315,316,319,322,327,329],{},[280,317,318],{},"3",[280,320,321],{},"認証情報",[280,323,66,324,326],{},[44,325,69],{}," を書き出した",[280,328,310],{},[280,330,331],{},"正本を1Passwordに置く運用が、新しいマシンでそのまま通った",[256,333,334,337,340,343,345],{},[280,335,336],{},"4",[280,338,339],{},"誤push対策",[280,341,342],{},"clone済み6リポジトリのgitignoreを一斉に確認させた",[280,344,310],{},[280,346,347],{},"全リポジトリで除外されていた",[256,349,350,353,356,359,361],{},[280,351,352],{},"5",[280,354,355],{},"OCRツール",[280,357,358],{},"Apple GPUで動くか試した",[280,360,310],{},[280,362,363],{},"テスト画像1枚が4.2秒。CPUに落ちてはいなかった",[256,365,366,369,372,375,378],{},[280,367,368],{},"6",[280,370,371],{},"学習ゲート",[280,373,374],{},"Macにも持ち込むか検討した",[280,376,377],{},"判断",[280,379,380],{},"持ち込まないことにした。フックが無いのでスキップ指定も要らない",[256,382,383,386,389,392,395],{},[280,384,385],{},"7",[280,387,388],{},"マルチセッション",[280,390,391],{},"管理ツールを入れて起動した",[280,393,394],{},"部分的",[280,396,397],{},"立ち上がったが手が止まり、ペイン1枚=1セッションと分かるまで進めなかった",[256,399,400,403,406,409,411],{},[280,401,402],{},"8",[280,404,405],{},"Gmail",[280,407,408],{},"Google Workspace CLIを探した",[280,410,293],{},[280,412,413],{},"Macには入っていなかったので別経路に切り替えた",[256,415,416,419,422,425,427],{},[280,417,418],{},"9",[280,420,421],{},"PDFの送付",[280,423,424],{},"添付しようとした",[280,426,293],{},[280,428,429],{},"大きすぎたのでクラウドストレージの共有リンクに変えた",[256,431,432,435,438,441,444],{},[280,433,434],{},"10",[280,436,437],{},"下書きの保存先",[280,439,440],{},"どちらのアカウントに入ったか確認した",[280,442,443],{},"発見",[280,445,446],{},"差出人の取り違えは、文面を見ていても気づけなかった",[256,448,449,452,455,460,462],{},[280,450,451],{},"11",[280,453,454],{},"OCRの成否判定",[280,456,457,459],{},[44,458,181],{}," を挟んで出力を見ていた",[280,461,293],{},[280,463,464],{},"終了コードが0に見え、失敗が通ったことになっていた",[256,466,467,470,473,476,478],{},[280,468,469],{},"12",[280,471,472],{},"全文検索の索引",[280,474,475],{},"リビルドの完了を待った",[280,477,293],{},[280,479,480],{},"動いていないものを15分待った",[256,482,483,486,489,492,494],{},[280,484,485],{},"13",[280,487,488],{},"図版のアップロード",[280,490,491],{},"書き込みを試した",[280,493,293],{},[280,495,496],{},"403。書き込みキーが未発行のままになっている",[256,498,499,502,505,508,510],{},[280,500,501],{},"14",[280,503,504],{},"仕組みの可視化",[280,506,507],{},"3状態の切り替えで作らせた",[280,509,293],{},[280,511,512],{},"噛み合う瞬間が見えず、スライダーで段階的に動かす形に作り直した",[256,514,515,518,521,524,526],{},[280,516,517],{},"15",[280,519,520],{},"計画書の分量",[280,522,523],{},"文字数を数えさせた",[280,525,293],{},[280,527,528],{},"バイト数で数えていたため、全面的に書き直すことになった",[256,530,531,534,537,540,542],{},[280,532,533],{},"16",[280,535,536],{},"調査結果の受け取り",[280,538,539],{},"ターミナルに出させた",[280,541,293],{},[280,543,544],{},"読み返せないのでHTMLとSVG図解に切り替えた",[92,546],{},[22,548,549],{"id":549},"今日の学び",[55,551,552,555,560,563,566],{},[58,553,554],{},"環境を移すコストの大半は、ツールの再インストールではなかった。どこに何を置いていたかを思い出す作業に時間がかかる。1Passwordを正本にしていた認証情報だけは、書き出すだけで済んだ",[58,556,557,559],{},[44,558,181],{}," を挟むと、直前のコマンドの終了コードが隠れる。パイプの終端の成否しか見ていないので、失敗したまま先へ進む",[58,561,562],{},"待つ前に、動いていることを確かめる。15分待ってから止まっていたと分かるのが最も高くつく",[58,564,565],{},"長い調査結果はターミナルに流さない。HTMLに落とせば読み返せるし、図を入れれば比較もできる",[58,567,568],{},"メールは下書きで止めると、文面以外の間違いも拾える。今日拾えたのは差出人だった",[92,570],{},[22,572,573],{"id":573},"明日やること",[55,575,578,588],{"className":576},[577],"contains-task-list",[58,579,582,587],{"className":580},[581],"task-list-item",[583,584],"input",{"disabled":585,"type":586},true,"checkbox"," 図版アップロード用の書き込みキーを発行し、403を解消する",[58,589,591,593],{"className":590},[581],[583,592],{"disabled":585,"type":586}," マルチセッション管理ツールで実際に複数セッションを並べ、何枚までなら追えるか確かめる",[92,595],{},[22,597,598],{"id":598},"関連記事",[55,600,601,605,609,613,617],{},[58,602,603],{},[87,604,90],{"href":89},[58,606,607],{},[87,608,132],{"href":131},[58,610,611],{},[87,612,167],{"href":166},[58,614,615],{},[87,616,208],{"href":207},[58,618,619],{},[87,620,243],{"href":242},{"title":622,"searchDepth":623,"depth":623,"links":624},"",2,[625,626,634,635,636,637],{"id":24,"depth":623,"text":24},{"id":34,"depth":623,"text":34,"children":627},[628,630,631,632,633],{"id":38,"depth":629,"text":39},3,{"id":96,"depth":629,"text":97},{"id":137,"depth":629,"text":138},{"id":172,"depth":629,"text":173},{"id":213,"depth":629,"text":214},{"id":248,"depth":623,"text":248},{"id":549,"depth":623,"text":549},{"id":573,"depth":623,"text":573},{"id":598,"depth":623,"text":598},"diary",null,"MacBook Proに開発環境を移した一日の記録。設定の同期、1Passwordからの認証情報の書き出し、OCRツールのGPU動作確認までは朝のうちに片付いた。夜に引っかかったのは、Macの都合ではなく自分の確認の仕方だった。","md",{},"/2026-08-02-diary","daily-log",false,"2026-08-02T00:00:00.000Z",{"title":5,"description":640},"make-diary","2026-08/2026-08-02/diary-2026-08-02",[651,652,653,654,655,656],"日記","Mac","開発環境","Claude Code","OCR","1Password","pdLFv4-bZjWikfTernKkPvZOvYs2-wj1zYxjDoHnqa0",[],[660,661,665,669,673],{"title":90,"path":89,"publishedAt":646},{"title":662,"path":663,"publishedAt":664},"2026年8月7日の開発日記 - 緩めたルールを、元に戻した日","/2026-08-07-diary","2026-08-07T00:00:00.000Z",{"title":666,"path":667,"publishedAt":668},"2026年8月6日の開発日記 - 「取り込み済み」が使えるとは限らなかった","/2026-08-06-diary","2026-08-06T00:00:00.000Z",{"title":670,"path":671,"publishedAt":672},"Macへの移行でバックアップを作り直したら、削除ガードが動いていなかった","/mac-migration-backup-and-delete-guard","2026-08-04T00:00:00.000Z",{"title":674,"path":675,"publishedAt":676},"Macに移った2日目、引っかかるたびに設定を直した","/mac-workflow-friction-fixes","2026-08-03T00:00:00.000Z","https://log.eurekapu.com/og/blog/2026-08-02-diary.png?v=2026-08-02T00%3A00%3A00.000Z&title=2026%E5%B9%B48%E6%9C%882%E6%97%A5%E3%81%AE%E9%96%8B%E7%99%BA%E6%97%A5%E8%A8%98%20-%20Windows%E3%81%8B%E3%82%89Mac%E3%81%B8%E7%92%B0%E5%A2%83%E3%82%92%E7%A7%BB%E3%81%97%E3%81%9F%E4%B8%80%E6%97%A5&author=Kei%20Komatsu&sig=8dcc332327f921b1",1786233142186]