Virtual Craft Tech Blogのフィード
https://zenn.dev/p/virtualcraft
株式会社バーチャルクラフトのテックブログです。バーチャルクラフトは、クラウドサービスのプラットフォームのインフラエンジニア集団です。従来のインフラエンジニアの枠を超え、OPS分野のエキスパートを目指して日々研鑽しています。
フィード

【MCP Apps入門】Claudeの回答にグラフを埋め込む
Virtual Craft Tech Blogのフィード
はじめにClaudeに「このPCのCPU使用率を教えて」と聞けるようにしたとします。返ってくるのは例えば、こんな答えです。直近10分のCPU使用率は平均18.3%、最大62.1%でした。知りたいことには答えています。でも、62.1%がいつ跳ねたのかは分かりません。一瞬のスパイクだったのか、しばらく高いままだったのかも読み取れません。グラフなら一目です。MCP Appsを使うと、MCPサーバーが文字ではなく画面そのものを返せるようになります。下のグラフが、この記事で作るものです。作るのは、自分のPCのCPU使用率をグラフで返すMCPサーバーです。クラウドやAPIキーは要...
9日前

GitHub ActionsにClaude Codeを組み込んで、PRに自動コードレビューを付ける
Virtual Craft Tech Blogのフィード
この記事でやること今回はClaude Pro / Maxのサブスク枠だけを使って、GitHub ActionsにClaude Codeを組み込みます。APIの従量課金は使いません。PRを開く → Claudeが差分を読んでレビューコメントを投稿PRのコメントで @claude ここ直して と書く → Claudeがその場で修正CI失敗時 → Claudeが原因を調べてPRブランチを直す(記事後半の発展編)使うのはAnthropic公式のGitHub Action anthropics/claude-code-action@v1 です。サードパーティのラッパーではなく、C...
2ヶ月前

Claude Code × Trivy MCPで依存ライブラリの脆弱性を検出→修正→再スキャンする
Virtual Craft Tech Blogのフィード
はじめにAIがコードを書く時代になって、困りごとが1つ増えました。書くスピードが上がったぶん、「いま書いたコード、本当に安全か」を確かめる手間が追いつきません。依存ライブラリに既知の脆弱性が混ざっていても、生成された瞬間は気づけないことが多いものです。だったら、確かめる作業も同じAIに任せてしまえばいい。コードを書いたAIに、その場でスキャナを呼ばせて、脆弱性を見つけさせて、直すところまで一往復でやってもらう。これがこの記事のテーマです。ただし「AIに全部おまかせ」にはしません。ここで役割をはっきり分けておきます。スキャナ(Trivy)は事実を出す。決定論的で、何度やっても...
3ヶ月前

自動運転ミニカーバトル参加体験記
Virtual Craft Tech Blogのフィード
1. はじめに初めまして。丸山です。2025年11月〜2026年2月にかけて開催された、42 Tokyo 主催の「自動運転ミニカーバトル」に参加しました。電子制御できるミニカー(ラジコン)を制作費用5万円以内で自作し、自動運転プログラムを実装してコース3周のタイムを競う、約3ヶ月間のハッカソン型コンテストです。2025年11月29日のキックオフから始まり、2026年2月8日の予選レースで参加者50チームがタイムを競い、上位20チームが2026年2月15日の決勝レースに駒を進めました。結果は予選4位(31秒)/決勝4位(26.5秒)でした。普段はソフトウェア寄りの仕事をしてい...
3ヶ月前

Workers AIで技術記事を自動要約・分類する実践パイプライン
Virtual Craft Tech Blogのフィード
はじめに技術記事の情報量は増え続けています。毎日数十本のRSSフィードを追うのは現実的でなく、未読が溜まると放置してしまいがちです。そこでCloudflareのWorkers AIで、記事取得から要約・分類・スコアリングまでを担うパイプラインを作りました。これがAI Tech DigestというWebアプリで、1回のLLM呼び出しで主要処理を完結させ、短い要約は自動で書き直します。Cloudflare Workers上で動き、1日3回 + 週次のCronで自動実行して日次ダイジェストを生成します。このアプリ自体も、Claude CodeとCursorの4層アーキテクチャ(CL...
3ヶ月前

ECS on EC2 で混同しがちな3つのIAMロールの違いを、最小ハンズオンで観察する
Virtual Craft Tech Blogのフィード
はじめにECS on EC2 を運用していると、IAMロールを3つ書く場面に出くわします。コンテナインスタンスロール(EC2インスタンスプロファイル)ECSタスク実行ロール(executionRoleArn)ECSタスクロール(taskRoleArn)!本記事は ECS on EC2 launch type 固有 の話です。Fargate にはコンテナインスタンスロールが存在せず、登場するのは「タスク実行ロール」と「タスクロール」の2つです。後述する executionRoleArn 指定有無による pull 主体の切り替わりも、EC2 でしか起きない話です。...
3ヶ月前

既存リポジトリからTerraform IaCを移行し、リポジトリ分離した話
Virtual Craft Tech Blogのフィード
はじめに本番運用中のアプリケーションリポジトリにTerraformコードが同居していると、以下のような問題に直面します。アプリケーションの変更とインフラの変更が同じPRに混在し、レビューが困難CIパイプラインが肥大化し、アプリケーションのデプロイとインフラの変更が密結合開発者がインフラ(Terraform)を変更でき、インフラ担当者もアプリケーションコードに触れる状態となり、責務の境界が曖昧になる私たちのチームでも、これらが積み重なった結果、Terraformコードの保守性は悪化していました。このまま放置すれば技術的負債がさらに肥大化することも明らかだったため、IaCの...
3ヶ月前

OpenTelemetryで始める分散トレーシング
Virtual Craft Tech Blogのフィード
はじめにマイクロサービスアーキテクチャの普及に伴い、「オブザーバビリティ(Observability)」がインフラ運用の重要テーマになっています。従来のモニタリング(監視)が「何が壊れたか」を検知するのに対し、オブザーバビリティは 「なぜ壊れたか」を追跡できる仕組み です。複数のサービスが連携するマイクロサービス環境では、1つのリクエストがどのサービスを通過し、どこでエラーや遅延が発生したかを把握する必要があります。そこで注目されているのがOpenTelemetryです。 OpenTelemetryとはオブザーバビリティを実現するには、アプリケーションの各所からテレメトリ...
4ヶ月前

AIコーディングツールは"使う"より"設計する" ─ Claude Code × Cursorの4層アーキテクチャ
Virtual Craft Tech Blogのフィード
はじめに昨今、Claude CodeやCursorを使ってコードを書く人は増えました。しかし、こんな経験はないでしょうか。毎回同じ指示を繰り返し書いているAIの出力品質にムラがあり、レビューコストが減らない機能が増えてくるとAIが文脈を見失い、的外れな提案をしてくるこれらはツールの問題ではなく、使い方の設計が足りていないだけです。AIコーディングツールは「使う」だけでなく「設計する」ものです。CLAUDE.md、エージェント、スキル、フックを体系的に組み立てれば、個人開発でもチーム開発並みの品質と速度が手に入ります。この記事では、Claude Code × Cur...
4ヶ月前

AWS Lambdaのコールドスタートとウォームスタートの危険性について深掘りしてみた
Virtual Craft Tech Blogのフィード
はじめにAWS Lambdaを使用する時に、コールドスタートとウォームスタートを耳にすることがあります。そもそもコールドスタートとウォームスタートとは何か?そこにはどんなセキュリティリスクが潜んでいるのか?これらの疑問に答えるため、実際に動かして確認してみました。 コールドスタートとウォームスタートとは? コールドスタートコールドスタートは、Lambdaが新しい実行環境を初期化する必要がある場合に発生します。以下のプロセスが実行されるため、処理時間が長くなります。実行環境(コンテナ)の起動デプロイパッケージのダウンロードと展開ランタイムの初期化関数コー...
5ヶ月前

moved ブロック未使用が招いた Terraform リソース名衝突
Virtual Craft Tech Blogのフィード
はじめにTerraform でモジュールのリファクタリングを行ったとき、terraform apply が途中で失敗する事象に遭遇しました。エラーは EntityAlreadyExists ── IAM ポリシーの名前衝突です。原因を調べていくと、moved ブロックに対する自分の誤解が根本にありました。この記事では、名前衝突が起きるメカニズムと、moved ブロックについて調査して得られた教訓をまとめます。 どういう状況で起きるかモジュールのリファクタリングなどで、リソースの state アドレスが変わるケースを考えます。たとえば、以下のようにモジュール構造を変更した...
5ヶ月前

Chrome拡張機能をChromeウェブストアに公開するまでの全手順
Virtual Craft Tech Blogのフィード
はじめにChrome拡張機能を開発してChromeウェブストアに公開するまでの流れを、実際の体験をもとにまとめました。意外とこのプロセス全体を日本語で解説した記事が少なかったので、これから公開を考えている方の参考になれば幸いです。 全体の流れステップ内容1デベロッパー登録2拡張機能のパッケージ作成3デベロッパーダッシュボードからアップロード4ストア掲載情報の入力5プライバシーへの取り組み6審査提出7審査対応(リジェクト時)8公開 1. デベロッパー登録Chromeウェブストアに拡張機能を公...
5ヶ月前

Claude Codeで「Figma デザイン → 実装 → Agent Plugins for AWSでデプロイ」までやってみた
Virtual Craft Tech Blogのフィード
はじめに最近はAIエージェント周りのアップデートが盛んですが、中でも個人的に気になったものが2つありました。Figma MCP にuse_figmaツールが追加 (2026年3月) (公式ブログ)以前からデザインの読み取りやWebページのキャプチャ取り込みはできましたが、このuse_figmaツールの追加により、AIエージェントがPlugin API経由でキャンバスに自由に書き込めるようになりました。ゼロからのデザイン構築、既存デザインの編集、コンポーネントや変数を使ったデザインシステムの構築まで可能です。Agent Plugins for AWS の公開 (2026年...
5ヶ月前

【Grafana入門】CloudWatch経験者がゼロから学ぶGrafana完全ガイド
Virtual Craft Tech Blogのフィード
はじめに「CloudWatchは使えるけど、Grafanaって何がいいの?」監視運用の経験があっても、Grafanaに触れたことがないエンジニアは多いでしょう。筆者自身がまさにそうでした。CloudWatchベースの監視に慣れていたものの、Grafanaの全体像が掴めず、何から手をつければいいか分かりませんでした。この記事では、Grafanaのアーキテクチャから、Docker環境でのハンズオン、ダッシュボード作成、アラート設定、運用で役立つTipsまでを一気通貫で扱います。読み終わる頃には「Grafanaで何ができるか」「自分の環境にどう組み込むか」が判断できるようになっている...
5ヶ月前

エンジニア初心者がClaude Codeで Chrome拡張の翻訳ツールを作った話
Virtual Craft Tech Blogのフィード
はじめにこんにちは。株式会社バーチャルクラフトの大滝です。今回はエンジニアとしてまだまだ駆け出しの僕が、Claude Codeを利用して社内用にClaude APIを使ってブラウザ上のテキストを翻訳してくれるChrome拡張機能を作ったので、その過程と技術録を記事にします。 きっかけ社内で海外の技術ドキュメントを読む機会が増え、「テキストを選択するだけでサッと翻訳できるChrome拡張が欲しい」という声が上がりました。既存の翻訳拡張はいくつかありますが、機密情報の扱い方やAIによる文脈を加味した翻訳がしたいという思いがあり、自作することに。開発にはClaude Code(...
6ヶ月前

初心者が見落としがちなKubernetesセキュリティ設定7選
Virtual Craft Tech Blogのフィード
はじめに「Kubernetesは触ったことがあるけど、セキュリティを意識した構築方法がわからない」こんな悩みを持っていませんか?Kubernetesのデフォルト設定は 「とりあえず動く」ことを優先しています。つまり、セキュリティ的には甘い状態です。開発環境では問題なく動いても、本番環境にそのまま持っていくと重大なリスクを抱えることになります。この記事では、初心者が見落としがちな7つのセキュリティ設定を解説します。各項目で「何が問題か」「どう設定すべきか」「具体的なYAML例」「検証方法」を示します。読み終わる頃には、セキュリティを意識した設定ができるようになるはずです。!...
6ヶ月前

【意図乖離検出;連載 番外編2】知性の人間中心主義を超えて - AIという「種族」
Virtual Craft Tech Blogのフィード
知性の人間中心主義を超えて - AIという「別の種族」 はじめに前回の番外編では、「AIは心を持てるのか」という問いを、信念・願望・意図(BDI)と意識の哲学から考察しました。そこで到達した一つの視点は、知性と意識の分離 でした。AIは知性的な振る舞いをしているかもしれないが、意識を持っているかどうかは別問題である、と。しかし、この議論にはまだ、ある暗黙の前提が残っています。「知性」とは何かを、人間を基準に考えている。私たちは無意識のうちに、「人間の知性こそが知性の標準形であり、AIの知性はそれに近づくか、それを模倣するものだ」と考えていないでしょうか。今回の番外編2...
7ヶ月前

【意図乖離検出;連載 番外編1】信念・願望・意図と理解 - AIは「心」を持てるのか
Virtual Craft Tech Blogのフィード
信念・願望・意図と理解 - AIは「心」を持てるのか はじめに連載は第12回で完結しましたが、書き残したことがあります。本連載では「意図乖離」という問題を扱い、「AIは意図を理解できるのか」という問いを考えてきました。しかし、その背後には、さらに深い問いが潜んでいます。AIは「信念」「願望」「意図」を持てるのか。そして、本当の意味で「理解」できるのか。これは、単なる技術的な問いではありません。「人間とは何か」「心とは何か」という、哲学の根本問題に関わります。今回の番外編では、この深遠な問いに、AIの進化の歴史と最新の研究を参照しながら、向き合ってみたいと思います。技術...
7ヶ月前

【意図乖離検出;連載 第12回】エピローグ - パラダイムシフトの渦中で
Virtual Craft Tech Blogのフィード
エピローグ 連載を振り返ってこの連載も、いよいよ最終回となりました。第1回のプロローグから始まり、全12回にわたって「意図乖離」という問題について考えてきました。長い旅でした。お付き合いいただいた皆さんに、心から感謝申し上げます。最終回の今回は、これまでの議論を振り返り、残された問いに向き合い、そしてなぜこの連載を書いたのかをお話しさせてください。 旅の軌跡 何を問うてきたかこの連載では、一つの根本的な問いから出発しました。「要件通りに作ったはずなのに、なぜか違う」——この現象の本質は何か?この問いに答えるために、様々な角度からアプローチしてきました。 各...
7ヶ月前

【意図乖離検出;連載 第11回】なぜ今、IDDが必要なのか - AI時代の開発の変化
Virtual Craft Tech Blogのフィード
なぜ今、IDDが必要なのか - AI時代の開発の変化 前回のふりかえり前回は、哲学的な視点から「意図を理解する」とはどういうことかを考えました。現象学、解釈学、言語ゲーム。少し抽象的な話が続きました。今回は、より実践的な話に戻ります。「なぜ今、IDDが必要なのか」——この問いに答えていきます。ソフトウェア開発は今、大きな転換点にあります。AIの急速な進化、開発プロセスの変化、複雑さの増大。これらの変化の中で、IDDが果たす役割を考えてみましょう。!この記事のポイント(先に結論)長い記事なので、先にエッセンスを示します。ソフトウェア開発の構造が変わった → 人間が...
7ヶ月前