katsu-coach1215

PHP

【php2shell対策】PHP緊急脆弱性で確認する環境と更新手順

この記事は2026年10月21日19時10分(日本時間)時点の情報です。PHPの修正版は同日23時に公開される予定です。影響バージョンと修正版が公式発表された後に追記します。PHP開発チームが、重大な脆弱性2件を修正する緊急リリースを予告し...
AI

ファイルアップロード機能、拡張子チェックだけで安全と思っていませんか?

ファイルアップロード機能の拡張子チェックだけでは不十分な理由と、安全な実装の基本(許可リスト方式・内容検証・保存先の設定)を解説します。
AI

本番環境のバックアップ、本当に復元できますか?開発者が確認すべきポイント

「バックアップを取っている」ことと「復元できる」ことは別の話です。情報漏えい・ランサムウェア被害に備えて、開発者が確認しておきたいバックアップ運用のポイントを解説します。
AI

Docker APIを無防備に公開していませんか?実例から学ぶ設定チェック

認証なしで公開されたDocker APIが侵入口として悪用された事例をもとに、安全な設定方法とチェックポイントを解説します。
AI

AIエージェントがWebサイトを自動攻撃する時代に、開発者が見直すべきこと

AIエージェントを悪用した自動攻撃が報告されています。何が起きているのか、開発者として今すぐ見直すべき入口・権限・検知の3つの視点を整理します。
プログラミング

【豆知識】Elementsパネルでその場でCSSを編集して確認する

こんにちは、かつコーチです。「この余白をあと10pxだけ広げたらどう見えるか試したい」というとき、いちいちCSSファイルを編集して保存するのは手間です。Elementsパネルを使えば、ブラウザ上で直接CSSを書き換えて確認できます。結論:ま...
プログラミング

【豆知識】Chrome DevToolsの開き方とタブ構成の全体像

こんにちは、かつコーチです。「DevToolsを開いてください」と言われても、ショートカットも各タブの役割も分からないと戸惑いますよね。今回は開き方とタブ構成の全体像をまとめます。結論:まずこれをやればいいDevToolsを開く方法は主に3...
プログラミング

【豆知識】更新ボタンを長押し・右クリックするだけでキャッシュをクリアする方法

こんにちは、かつコーチです。前回、CSSが反映されない時は設定画面から「キャッシュされた画像とファイル」を消せばいいとお伝えしました。ただ、毎回設定画面を開くのは正直面倒です。実はもっと手軽にキャッシュをクリアする方法があります。結論:まず...
プログラミング

【豆知識】CSSが反映されない時、Chromeのキャッシュはどれを消せばいい?

こんにちは、かつコーチです。CSSを修正してブラウザを更新したのに、見た目が変わらない。そんな経験は誰にでもあります。「とりあえずキャッシュを消せばいい」と聞いて設定画面を開くと、項目が多くて戸惑いますよね。今日は、CSS未反映を直すために...
AI

【Jev】比較検証 : 同じ判定タスクをJevと通常LLMで実装し、速度・コストを比較する

こんにちは、かつコーチです。このシリーズでは、話題の新AI「Jev」について、概要から実装例までを見てきました。最後となる今回は、同じ判定タスクをJevと通常のLLM(ChatGPT・Claudeなど)でそれぞれ実装した場合、実際にどれくら...
AI

【Jev】実践:Jevで問い合わせ内容の自動分類・優先度採点を作る

こんにちは、かつコーチです。前回の記事で、Jevの基本的なAPIの使い方を確認しました。今回はもう一歩進んで、実際の業務でありそうな「問い合わせ内容の自動分類・優先度採点」というシナリオを題材に、より具体的な実装例を紹介します。カスタマーサ...
AI

【Jev】Jevの使い方:APIキー取得から判定の実装まで

こんにちは、かつコーチです。前回の記事では、話題の新AI「Jev」がChatGPTやClaudeとどう違うのかを解説しました。「分類・採点・はい/いいえ判定に特化したAI」という位置づけが理解できたところで、今回は実際に手を動かして、API...
AI

【Jev】Jevとは?ChatGPT・Claudeと何が違うのか、話題の新AIを解説

こんにちは、かつコーチです。2026年9月15日に発表されたばかりの新しいAIモデル「Jev」が、開発者コミュニティで一気に話題になっています。「ChatGPTやClaudeの新しいライバルが出てきたのか」と思って調べてみると、実はちょっと...
Laravel

【Laravel】プロンプトインジェクション対策:安全にLLMを組み込む設計

こんにちは、かつコーチです。「LaravelへのLLM導入」シリーズもいよいよ最終回です。今回は、LLMをプロダクションで安全に運用するために避けて通れないプロンプトインジェクション対策について解説します。プロンプトインジェクションとは?プ...
Laravel

【Laravel】コスト管理とレート制限:トークン消費を抑える実装

こんにちは、かつコーチです。LLM連携機能は、使えば使うほどAPI利用料がかかります。野放しにしておくと、想定外の高額請求につながることもあります。今回は、トークン数の記録・可視化と、Laravel標準のRate Limiting機能を使っ...
Laravel

【Laravel】AI呼び出しをテストでモックする(Http::fakeパターン)

こんにちは、かつコーチです。LLM連携機能を実装したら、当然テストも書きたくなります。ただし、テストのたびに実際のAI APIを叩いていると、実行するたびに課金が発生してしまいます。今回はHttp::fake()を使って、AI API呼び出...
Laravel

【Laravel】RAGパイプラインを実装する(チャンク分割〜検索〜生成)

こんにちは、かつコーチです。前回はpgvectorでベクトル検索の環境を構築しました。今回はいよいよ、RAG(AI自身の知識ではなく、検索した文書を渡して回答させる仕組み。カンニングペーパーを渡してから質問に答えてもらうイメージです)のパイ...
Laravel

【Laravel】pgvectorでベクトル検索の環境を構築する

こんにちは、かつコーチです。RAG(RAG:AI自身の知識ではなく、検索した文書を渡して回答させる仕組み。カンニングペーパーを渡してから質問に答えてもらうイメージです)を実装するには、まずベクトル検索の基盤を作る必要があります。今回はPos...
Laravel

【Laravel】embeddingとは?文章の意味を数値化する仕組み

こんにちは、かつコーチです。「関連する記事を自動でおすすめしたい」「類似の問い合わせを検索したい」といった要望を実現する鍵になるのが、embeddingです。このシリーズもいよいよRAG(検索拡張生成)実装の入り口に差し掛かりました。この記...
Laravel

【Laravel】ツール呼び出し(Function Calling)でAIにアプリの操作を行わせる

こんにちは、かつコーチです。前回は構造化出力でJSON形式の応答を得る方法を紹介しました。今回はさらに一歩進んで、LLM自身に「この関数を呼び出したい」と判断させ、実際にアプリの処理を実行させる仕組みを解説します。ツール呼び出し(Funct...