どうも、マイクでーす。おはようございます。
12月27日、土曜日の朝7時になりました。ここからの時間は「zenncast」、今日もZennで話題になっているトレンド記事を、ゆるっと楽しく紹介していきます。コーヒー飲みながらでも、通勤しながらでも、耳だけ貸してもらえたら嬉しいです。
今日はね、まとめ系から実務テク、パフォーマンスチューニング、環境構築、そして趣味全開のRust開発まで、全部で5本の記事を紹介していきます。AIと開発の今がギュッと詰まったラインナップになってますよ。
まず1本目。
タイトルは「Claude Codeアドベントカレンダー: 24 Tipsまとめ」。
これは、12月1日から24日まで、Xで毎日1個ずつ投稿されていたClaude CodeのTipsを、ドーンと全部まとめた記事です。Opus 4.5への移行や、Thinkingモードの仕様変更で「前と挙動変わってない?」と思ってた人には刺さる内容ですね。AGENTS.mdが今は効かないよ、とか、プロジェクトで設定するルールはCLAUDE.mdに書こう、みたいな運用tipsも細かく書いてあります。面白いのが、on the Web環境のセットアップで、Sandbox側にちゃんと守ってもらって、うっかり`rm -rf`しちゃっても大惨事にならないようにする話。あと、MCPツール使うとコンテキスト食うから乱用しないほうがいいよ、とか、Agent Skillsのベストプラクティス、skill-creatorっていうスキル作成用の仕組みまで触れていて、「Claude Codeで何ができるのか」を一望できる感じです。Hooksでレスポンスをフィルタしたり整形したり、Auto-compact Bufferで履歴をいい感じに詰めたり、Subagentを非同期で並列に動かして生産性を上げたりと、かなり実戦的。最後は、Claude in ChromeとかCode Action連携などエコシステムの広がりまで触れつつ、「アドベントカレンダーやったおかげで自分の知識も整理できた」と振り返っていて、ガチ検証の空気が伝わってきます。Claude Codeを本腰入れて使ってみたい人には、まさに入口にも辞書にもなる一記事ですね。
。。。。
続いて2本目。
タイトルは「Claude Code中心のAIコーディング運用:実務で効いた5つの型」。
これはもう、AIコーディングを「ちょっと補助してもらう」レベルじゃなくて、開発プロセスのど真ん中に据えちゃった運用ノウハウです。5つの「型」が紹介されていて、まず面白いのがgit worktreeでモジュールごとに作業ディレクトリを分けるスタイル。ディレクトリごとにClaudeのコンテキストも分かれるので、モジュール単位で話が通じやすくなるんですよね。ただ、そのぶん人間側のマルチタスク負荷が上がるという、実務っぽい悩みも正直に書いてあります。次に、タスク管理をMarkdownでやって、そのままClaude Codeへのプロンプトにするという「指示の資産化」。さらに熱いのが、モジュール別のsubagentとスラッシュコマンドを組み合わせて、「実装エージェント」と「レビューエージェント」を自動で交互に呼び出す仕組み。実装したら必ずAIレビューが走るので、擬似ペアプロみたいな感じで品質を底上げするんですね。そのぶん実行時間とトークンコストは重くなるけど、「速度より再現性と品質」を取っている姿勢が伝わります。仕様・実装の詳細はmodule配下のREADME.mdとCLAUDE.mdに一元化して、変更があったらテストとドキュメントもAIに更新させる運用もかなり実務的。そして最後に、「ルールを文章で書いても守られづらいものはSkillsとして実装して、フックで強制する」という割り切りも印象的です。全体を通して、AIコーディングは「速く書く道具」じゃなくて、「プロセスを固定して品質と再現性を上げる仕組み」として捉えた記事になっています。
。。。。
3本目はフロントエンドのテスト高速化ネタです。
タイトルは「フロントエンドテストパフォーマンス改善:Vitestのボトルネックを探っていく」。
CIが遅くてつらい、というフロントエンドあるあるに真正面から向き合った記事ですね。Vitestで単体テストを回しているんだけど、Durationの内訳を見てみたら、テスト実行そのものよりも、collectフェーズが異様に遅いと。テストファイル集めたり、依存解決したりするあのフェーズですね。そこでViteの`DEBUG=vite:transform`ログを仕込んで、どのファイルのtransformに時間がかかってるかをスクリプトで集計していったところ、「@mui/icons-material/esm/index.js」が圧倒的なボトルネックだと判明します。いわゆるバレルインポートで、全部まとめたindexからアイコンを取ってくるやつが、テストのcollect時間をひたすら食っていたと。そこで、公式ドキュメントの推奨どおり、`import { Delete } from '@mui/icons-material'`みたいなのを、`import Delete from '@mui/icons-material/Delete'`という具合に、パスを指定した個別importに書き換えたところ、collect時間が1392秒から367秒までドーンと削減。テスト全体も3分から2分、CIの単体テストジョブは10分オーバーから4分45秒と、かなりの短縮になっています。感覚で「たぶんここが重い」と決めつけないで、ちゃんと計測してボトルネックを特定する大事さと、MUI Iconsのバレルファイルがいかに重いかが、数字でよくわかる記事です。今後はVitest v4の`printImportBreakdown`などの新機能も使いながら、さらに継続的な高速化に取り組む予定とのことで、CIを速くしたい人はチェックしておきたい内容ですね。
。。。。
4本目は環境構築・dotfiles沼の最前線。
タイトルは「2025年のdotfiles」。
筆者のテーマは「どのマシンでも同じ環境を再現する」。これを本気でやるとどうなるか、という実例が詰まっています。dotfilesやNixOS、Home Manager、Terraform、Kubernetesの設定まで、全部ひとつのモノレポ`momeemt/config`で管理するスタイル。NixとHome Managerを使って、パッケージ・設定・シークレット・GUIアプリ・サービスを宣言的に定義して、いつでもロールバックできるようにしているのが特徴です。シークレットはsops-nixで暗号化管理、GUIアプリはbrew-nixで、tmux、Alacritty、AeroSpace、OpenSSH、Cloudflare Tunnelといった日々使うサービス群も、Nixのモジュールとして構成。zsh、Nixvim、VSCode、tmux、Alacrittyなど、毎日触るところはほぼNix化されていて、足りない部分は自作のNixOSモジュールで補っているというこだわりぶりです。インフラ側ではTerraformでCloudflareやGitHubの設定・シークレットを一元管理し、自宅環境ではNixVirt+cloud-initでUbuntu VMを立ち上げ、kubeadmでKubernetesクラスタを構築。Argo CDでGitOps運用する準備も進めている、と。2026年はCIでのビルド検証を回したり、karabiner-elementsやLinux/Windowsデスクトップ環境も整えたり、Kubernetes上でさまざまなアプリを動かしていきたいという展望も語られていて、「個人なのにここまでやるのか!」というレベルの構成管理です。環境構築が趣味な人にはたまらない内容ですね。
。。。。
そして最後、5本目。
タイトルは「RustでWeb漫画更新検知ツールを書いた!たのし~~!!」。
タイトルからもう楽しさがあふれてますが、中身もかなり本格的です。Web漫画って、更新通知がなかったり、サービスごとに仕様がバラバラだったりで、追いかけるのが大変ですよね。それを解決するために、登録した作品の最新話更新を一括チェックして通知してくれるツールを、Rustで自作したお話です。構成としては、PostgreSQLとSeleniumをDocker上で動かしつつ、Rust側はAPIサーバーとバッチ処理用の2バイナリ構成。APIサーバーが漫画情報のCRUD、バッチが最新話のチェックと通知を担当します。アーキテクチャもちゃんとしていて、ドメイン駆動設計+オニオンアーキテクチャで、domain、application、infra、registry、server、batch、sharedと責務をきれいに分離。RSSの有無や、各ポータルサイトごとの取得ロジックも「ドメイン知識」としてモデル化していて、URLの種類や制約も型で表現するなど、Rustらしい堅さと安全性を活かしています。Seleniumは複数コンテナを立てて、セマフォとRAIIを使った自作WebDriverプールで安全に共有しているのも、読みどころですね。タスクランナーのcargo-makeでDockerの準備から実行までを自動化していて、ワンコマンドで環境が立ち上がるようになっているとのこと。結果として、30作品以上の漫画を漏れなく追えるようになったそうで、「好き」を起点に、Rustで日常を便利にしていく楽しさが伝わる記事でした。
。。。。
というわけで、今日のzenncastでは、
Claude Codeアドベントカレンダーの24Tipsまとめから、AIコーディング運用の5つの型、Vitestのボトルネック解析とテスト高速化、Nix中心の2025年版dotfiles、そしてRustで作るWeb漫画更新検知ツールまで、5本を駆け足でご紹介しました。気になった記事があれば、詳しい内容はショーノートにまとめてありますので、あとでゆっくりチェックしてみてください。
この番組「zenncast」では、感想や「こんなテーマ取り上げてほしい!」といったリクエストもお待ちしています。開発環境の話でも、AIとの付き合い方でも、ちょっとした悩み相談でも大歓迎です。
それでは、そろそろお別れの時間です。
今日も良い一日をお過ごしください。お相手はマイクでした。
また次回のzenncastでお会いしましょう。バイバーイ。