2026年の開発環境

今年は、デスク周りと開発ツールを見直した。 パッケージ管理はまだ整理の途中だ。 この記事で分かること USB-Cドックを中心にしたデスク周りとMacBookの接続構成 VS Code と iTerm2 と tmux をやめて選んだエディタとターミナル フォントとテーマ、パッケージ管理を見直している現状 毎朝のケーブル抜き差しに嫌気が差していた 自分はリモートワークではなく毎日出社している。 職場のセキュリティポリシーで、退社時にマシンをロッカーにしまわなければならない。 デスクに置きっぱなしにできないため、出退勤時や会議のたびに、複数のケーブルを抜き差ししていた。 モニター2台分のケーブル、キーボードのケーブル、トラックパッドの充電ケーブル、ACアダプタ。 これら4〜5本のケーブルを毎回抜き差しするのは、小さいようで積もり積もるとかなりのストレスになる。 …

2026-07-15 · 8 分 · j1nn0

AIエージェントをコンテナに入れず、devcontainer execで動かしている話

この記事で分かること ホストで動かすAIエージェントから Dev Container 内の PHP と Node.js を実行する方法 devcontainer exec を使うときの実行ルールとサンドボックスの扱い コンテナ内にAIエージェントを入れない構成を選んだ理由 Laravel と Vue を使った Web アプリの開発環境は、Dev Container CLI で起動する Docker Compose コンテナの中に置いている。 PHP や Node.js のランタイムもコンテナ内にある。 一方で、AI エージェントはホストマシン上で動かしている。 そのため、エージェントが php artisan や pnpm run build をそのまま実行すると、エラーになる。 …

2026-07-07 · 5 分 · j1nn0

AIで技術文書をObsidianノートに変換している話

この記事で分かること PDF を Marker と ChatGPT で Obsidian ノートへ変換する流れ RAGを使わずにノートとして読む構成を選んだ理由 AIレビューを挟んで技術文書を読みやすくする方法 RAGにしないと決めた 技術文書をAIに食わせてRAG化する、という使い方がある。 「質問すれば答えてくれる」という仕組みは便利そうに聞こえる。 でも自分がやりたいのはそれではなかった。 …

2026-07-07 · 4 分 · j1nn0

vanilla-autokanaをフォークして半角カナとIME追跡に対応した話

この記事で分かること vanilla-autokana をフォークして半角カナに対応した理由 IME入力中の未確定文字と確定文字を扱い分ける実装 Vite 8 と TypeScript へ更新したパッケージの使い方 クライアントサイドでのフリガナ自動入力における課題 日本のWebフォームにおけるフリガナ自動入力は、入力の手間を減らすための定番のUXデザインだ。 今なお jQuery 依存のライブラリが多く使われ続けているのが実態だ。 …

2026-07-06 · 6 分 · j1nn0

ターミナル起動を1秒も遅くせず、Homebrewを裏で安全に自動更新する

Homebrew の更新をターミナル起動時に同期実行すると、起動が遅くなる。 この構成では更新確認だけを裏で走らせ、更新が必要なときだけ通知から実行する。 この記事で分かること Homebrew の更新確認を1日1回だけ非同期で実行する仕組み Caskの更新で sudo が必要になったとき、macOSの認証ダイアログを使う設定 ターミナル起動を待たせない更新確認と、更新が見つかったときの通知 同期実行の遅さと自動更新の壊れやすさを避ける ターミナル起動時に毎回「brew update」を同期実行すると、シェルの起動が遅くて耐えられない。 …

2026-07-03 · 6 分 · j1nn0