AWS

【AWS】RDS(MySQL)のバックアップとリストア戦略|スナップショット・自動バックアップの実務設計
はじめに

RDS for MySQL を本番で動かしていると、「バックアップは取っているつもり」でも、いざ障害や誤削除が起きたときに次の判断で止まりがちです。

自動バックアップと手動スナップショット、どちらを使うべきか

AWS

【AWS】CloudWatch Logsで本番障害を追う|ログクエリ(Logs Insights)の実践例
はじめに

本番で障害が出たとき、まず CloudWatch Logs のコンソールでログストリームを開き、エラー文字列を目で追っていませんか。ログ量が多いとスクロールが追いつかず、「いつから増えたか」「どのリクエスト ID か」を掴むま ...

PHP

【PHP】型宣言とNull許容型の書き方|strict_typesと実務での落とし穴

PHP の関数やメソッドに型を付けると、想定外の値を実行時に検出しやすくなります。一方でデフォルトではスカラー型が暗黙変換され、declare(strict_types=1) の有無で同じ呼び出しでも結果が変わります。本記事では型宣言 ...

Laravel

【PHP】Enumの使い方|PHP 8.1の新機能とLaravelでの実践的な活用法

PHP 8.1 で導入された enum(列挙型)は、有限の選択肢を型として表現するための仕組みです。本記事では enum の基本から Laravel でのキャスト・バリデーションまでを整理します。コード例は PHP 8.1 以降、La ...

Laravel

【Laravel】Middlewareの自作方法|認証・ロギング・APIキー検証の実装パターン
はじめに

Laravel のルート処理には、認証チェックやログ出力、API キー検証など、多くの HTTP リクエストで共通する処理があります。これらをコントローラやトレイトに散らすと重複が増え、適用順の取り違えも起きやすくなります。ミ ...

Laravel

【Laravel】Form Requestによるバリデーション設計|authorize・rules・カスタムエラーメッセージ

Laravel のコントローラに $request->validate() を直接書くと、ルールが増えるほどメソッドが長くなります。権限チェックと入力検証も混ざりやすくなります。Form Request は、認可(authori ...

Thousand API

AIエージェントにHMAC署名検証をさせてはいけない理由|セキュリティの「確実性の穴」を埋めるMCP設計
はじめに

MCP(Model Context Protocol)は、Cursor や Claude などのエージェントが DB 更新や API 呼び出しなどのツールをプロンプト経由で実行するための仕組みです。Webhook の HMAC ...

Thousand API

Thousand APIのNext.js製フロントエンドをどう作ったか|App Router・TypeScript・Stripe連携の設計
はじめに

個人開発の MCP サーバー「Thousand API」では、ドキュメント閲覧、プラン選択、API Key の発行・管理を Web フロントエンドで担っています。MCP(Model Context Protocol)は、Cla ...

AWS

【AWS】S3のライフサイクルポリシー設定ガイド|ストレージクラス移行・自動削除の実践
はじめに

S3 バケットにログやバックアップ、一時ファイルを置き続けると、オブジェクト数と容量が増え、ストレージ料金が積み上がります。手動で古いファイルを削除したり、ストレージクラスを変更したりする運用は、バケットが増えるほど負担になり ...

AWS

【AWS】Lambda + API Gatewayでサーバーレスなエンドポイントを作る|Node.js・デプロイ・コールドスタート対策
はじめに

「小さな API をサーバーなしで公開したい」「EC2 やコンテナの運用コストを抑えたい」といった場面で、AWS Lambda と API Gateway の組み合わせはよく検討されます。HTTP リクエストを受け取り、Lam ...