どうもー!おはようございます、「zenncast」パーソナリティのマイクです。
2026年3月15日、日曜日の朝7時になりました。みなさん、いかがお過ごしでしょうか。通勤・通学の方も、ベッドの中でゴロゴロしている方も、ちょっとだけ耳を貸していただければと思います。
この番組「zenncast」では、Zennで話題になっているトレンド記事を、ゆるっと、でも中身はしっかりめに紹介していきます。今日も最新の技術ネタや開発のTIPSが盛りだくさんなので、コーヒー片手にお付き合いください。
今日は、Zennのトレンド記事を5本、ご紹介していきます。セキュリティからフロントエンドの新ツール、モバイルアプリのAPIキー管理、自宅スパコンの話、そして話題のCoding Agentまで、ジャンルもかなりバラバラで面白いラインナップになってますよ。
それでは、今日紹介する内容、1本目からいきましょう。
今回の1本目は……
「Playwright + OWASP ZAP + Claude Code で E2E テストから脆弱性診断まで一気通貫でできるかやってみた」
という記事です。
これはですね、TodoアプリみたいなシンプルなWebアプリを舞台に、E2Eテストと脆弱性診断を“ひとつながりのワークフロー”にできるのか試してみた、というチャレンジ記事です。フロントは Next.js、テストは Playwright。ここまではけっこう王道ですよね。面白いのは、そのPlaywrightで書いたE2Eテストを、そのままOWASP ZAPの脆弱性診断に流用しちゃおう、という発想です。バックエンドを FastAPI + MySQL にして、通信をZAPのプロキシ経由で流しつつ、アクティブスキャンとレポート取得まで自動で回す。認証まわりが甘いAPIなんかはちゃんと検出された一方で、ORMとPydanticのおかげでSQLインジェクション系は防げている、という確認もできたようです。さらに、Claude Codeを使って、アプリ本体・テストコード・インフラ設定・診断手順なんかをどんどん生成・修正していくワークフローも試していて、「AIに補助してもらいながら、OSSだけで一次スクリーニング的な脆弱性チェックを入れられる」っていう手応えが語られています。PlaywrightのE2Eがすでにあるチームなら、環境変数を1個足すくらいでZAP連携を試せるので、「セキュリティ診断を開発フローにどう組み込もうか悩んでた」という方にはかなり刺さる内容だと思います。もちろん、ZAPにもビジネスロジック系は苦手とか、誤検知が出るとか限界はあるんですが、「やらない」より圧倒的にいいよね、という現実的な落としどころが見えてきます。
。。。。
続いて2本目は、フロント界隈でちょっとざわついているこちら。
「新登場したVite+が速すぎる!— ESLint 100倍、しかも Next.js でも動く」
という記事です。
Vite+(Viteプラス)という、JavaScript/TypeScript向けの新しいツールチェーンのアルファ版を紹介した内容になっています。キーワードは「全部まとめて速くする」。ESLint、Prettier、Vitest、husky、lint-staged……と、普段だとdevDependenciesにズラッと並びがちなツールたちを、「vite-plus」と「typescript」くらいにギュッと集約して、設定もほぼ1つの vite.config.ts にまとめてしまおう、というアプローチです。裏側では Rust 製の Rolldown や Oxc が使われていて、リントやフォーマット、ビルド、型チェックを同じ基盤で処理することで、「ESLintより50〜100倍速い」と言われるレベルのパフォーマンスを叩き出していると。さらにユニークなのが、Viteに限らず Next.js みたいな非Viteプロジェクトでも、「Quality層」と「Build層」を分ける設計になっていて、`vp check` とか `vp test` だけを品質チェック用に導入できるところです。つまり、「プロジェクトのビルドはこれまでどおり、品質レイヤーだけVite+で統一」みたいな運用ができる。とはいえ、ESLintプラグインとの互換やIDE連携はまだ途上で、「本番導入はもうちょい待ったほうがよさそう」という冷静な評価もされています。それでも、フロントの環境構築が年々ゴチャゴチャしてきた中で、「設定をシンプルにしつつ、めちゃくちゃ速くする」という方向性は、今後の標準候補になりうるな……と感じさせる内容でした。性能比較や内部構成の説明も丁寧なので、フロントエンドの生産性に悩んでいる人は読んでおいて損はなさそうです。
。。。。
3本目はモバイルアプリ開発者に刺さるセキュリティのお話。
「【Flutter】API トークンを「適切」に管理する」
という記事です。
Flutterで.envファイルやenvied、flutter_secure_dotenvみたいなパッケージを使って、「APIトークンを隠した気になる」あの感じに、しっかり待ったをかけてくれている内容です。apkやipaは展開・解析可能で、難読化しても、暗号化しても、最終的には復号されたキーに辿りつけてしまう。バイナリ自体の解析もできるし、実行時のメモリや動的解析もある。「クライアントに置いた秘密は、いつかはバレる」と考えるのが現実的だよね、という整理です。一方でFirebaseやStripeのpublishable key、Mapboxのpublic tokenみたいに、「見られる前提」で設計されているキーもありますよね。そういったキーは、それ単体では致命的な不正操作ができないようになっていて、Security RulesやApp Check、Row Level Security、スコープ管理、アクセス元制限、定期的なキーのローテーションなど、「被害の範囲を制御する」仕組みで守られています。記事では、「secret keyをクライアントに入れるのは論外」とバッサリ切りつつ、env系パッケージは“便利ツール”ではあっても“セキュリティツール”ではないんだ、という点を丁寧に解説してくれています。クライアントに配布する値は奪われるもの、と割り切った上で、バックエンド側の権限設計やルール設計をどう組み立てるか。Flutterに限らず、モバイル・フロント全般に通じる考え方なので、「とりあえずenvに入れておけば安心でしょ」と思っていた方は、一度立ち止まるきっかけになる記事だと思います。
。。。。
4本目はちょっと毛色が変わって、ハード寄りの話題です。
「中古PC3台で自宅スパコン(もどき)を構築した話」
という記事。
タイトルからすでにワクワクしますよね。筆者の方は、中古のタワーサーバー1台と、小型PC2台を組み合わせて、3ノード構成の小さなクラスタを自宅に構築しています。しかも、各ノードはディスクレス。PXEブートとNFS rootでストレージレス運用をする、という本格仕様です。OpenMPIとHPL(High Performance Linpack)で性能測定をしてみると、最初は1GbEのネットワークがボトルネックになってしまい、ノードを増やしているのに単体構成より遅くなる、という“分散あるある”を体験。問題サイズをいじっても、なかなか1台構成の性能を超えられない。そこで、管理用の1GbEと、計算用の2.5GbEを分けて、USB NICまで使ってネットワークを強化した結果、174.85→279.09 GFLOPSと、約1.6倍の性能アップに成功します。このあたりで、「ボトルネックはCPUじゃなくてネットワークだったんだ」という教訓が、すごく実感を伴って伝わってきます。また、PXEブートが不安定になったり、設定が消えたり、ノード識別がややこしくなったりと、ディスクレスならではのトラブルも山盛りで、それを起動後の初期化スクリプトや運用手順で乗り越えていく様子も面白いです。筆者は、「家庭用クラスタは“最速マシン”を作る場じゃなくて、通信と計算のバランスや運用再現性を学ぶ実験場だ」とまとめています。分散処理って、CPUを足せば足すほど速くなるイメージを持ちがちですけど、ネットワーク設計がちゃんとしてないと、むしろ遅くなる。これを自宅で体験してしまう、技術者のロマンが詰まった記事でした。
。。。。
そして最後、5本目はAIエージェント界隈のホットトピック。
「Coding Agent に loop して欲しいのは prdじゃない skill だ」
という記事です。
最近、Ralph loopに代表されるような「コーディングエージェントを長時間走らせっぱなしにする」アイデアが話題ですけど、著者はそこにちょっと問題意識を持っています。今の多くの実装では、“雑に作った実行計画(prd)”をグルグル回してしまっていて、そのリポジトリ固有の事情や文脈がうまく反映されないから、「実際にはあまり機能してない」と感じる人も多いんじゃないか、という指摘です。そこで著者が提案するのが、「ループさせるべきなのは場当たり的なprdではなく、リポジトリごとに丁寧に設計されたskillだ」という考え方。そのためのOSSとして「skill-loop」というツールを作っています。routerモデルと、複数のskill群をyamlで定義しておいて、`skill-loop run config.yml` と叩くと、tmux上に長期実行環境が立ち上がる。CLIのダッシュボードでは進行状況や、「ここは人間に聞きたいです」といったフィードバック要求が見えるようになっていて、cron形式のスケジューラで定期実行も可能です。さらに、vercelのskill.shと連携して、設定支援を受けることもできると。特定のベンダーやツールにロックインされず、「自然言語でやりたいことを相談しつつ、その裏でエージェントが継続的に作業を進める」ようなワークフローを作れるのが魅力になっています。これが著者にとって初の本格的なOSSだそうで、複数の既存OSSから設計やUIのインスピレーションを受けている点も、記事の後半で語られていました。エージェントを“長く回すこと”よりも、“何を回すか=skill設計”にフォーカスする視点は、これからのAI活用を考えるうえで、かなり大事なポイントになりそうです。
。。。。
というわけで、今日は5本の記事を駆け足でご紹介しました。
PlaywrightとOWASP ZAPとClaude Codeを組み合わせて、E2Eテストから脆弱性診断まで一気通貫で回してみた話。
それから、ESLintより何十倍も速いかもしれない新ツールチェーン、Vite+のお話。
FlutterアプリでのAPIトークン管理について、「隠せば安心」ではない現実を教えてくれる記事。
中古PC3台で自宅スパコンもどきを作りながら、ネットワーク設計の大切さを学んだ体験記。
そして、Coding Agentには雑な計画じゃなく、よく設計されたskillをループさせよう、という「skill-loop」のお話。
気になった記事があれば、ぜひショーノートから元の記事をチェックして、じっくり読んでみてください。ここでは触れきれなかった細かい工夫やコードの雰囲気も伝わると思います。
この番組「zenncast」では、リスナーのみなさんからの感想やご意見もお待ちしています。「こんなテーマを取り上げてほしい」「ここが面白かった」「ここはよく分からなかった」などなど、気軽に送ってもらえると、番組づくりの参考になります。
それでは、そろそろお別れの時間です。
次回また、この時間にお会いしましょう。
パーソナリティのマイクでした。今日も良い一日を!