【AWS】RDS(MySQL)のバックアップとリストア戦略|スナップショット・自動バックアップの実務設計
RDS for MySQL を本番で動かしていると、「バックアップは取っているつもり」でも、いざ障害や誤削除が起きたときに次の判断で止まりがちです。
自動バックアップと手動スナップショット、どちらを使うべきか【AWS】CloudWatch Logsで本番障害を追う|ログクエリ(Logs Insights)の実践例
本番で障害が出たとき、まず CloudWatch Logs のコンソールでログストリームを開き、エラー文字列を目で追っていませんか。ログ量が多いとスクロールが追いつかず、「いつから増えたか」「どのリクエスト ID か」を掴むま ...
【PHP】型宣言とNull許容型の書き方|strict_typesと実務での落とし穴
PHP の関数やメソッドに型を付けると、想定外の値を実行時に検出しやすくなります。一方でデフォルトではスカラー型が暗黙変換され、declare(strict_types=1) の有無で同じ呼び出しでも結果が変わります。本記事では型宣言 ...
【PHP】Enumの使い方|PHP 8.1の新機能とLaravelでの実践的な活用法
PHP 8.1 で導入された enum(列挙型)は、有限の選択肢を型として表現するための仕組みです。本記事では enum の基本から Laravel でのキャスト・バリデーションまでを整理します。コード例は PHP 8.1 以降、La ...
【Laravel】Middlewareの自作方法|認証・ロギング・APIキー検証の実装パターン
Laravel のルート処理には、認証チェックやログ出力、API キー検証など、多くの HTTP リクエストで共通する処理があります。これらをコントローラやトレイトに散らすと重複が増え、適用順の取り違えも起きやすくなります。ミ ...
【Laravel】Form Requestによるバリデーション設計|authorize・rules・カスタムエラーメッセージ
Laravel のコントローラに $request->validate() を直接書くと、ルールが増えるほどメソッドが長くなります。権限チェックと入力検証も混ざりやすくなります。Form Request は、認可(authori ...
AIエージェントにHMAC署名検証をさせてはいけない理由|セキュリティの「確実性の穴」を埋めるMCP設計
MCP(Model Context Protocol)は、Cursor や Claude などのエージェントが DB 更新や API 呼び出しなどのツールをプロンプト経由で実行するための仕組みです。Webhook の HMAC ...
Thousand APIのNext.js製フロントエンドをどう作ったか|App Router・TypeScript・Stripe連携の設計
個人開発の MCP サーバー「Thousand API」では、ドキュメント閲覧、プラン選択、API Key の発行・管理を Web フロントエンドで担っています。MCP(Model Context Protocol)は、Cla ...
【AWS】S3のライフサイクルポリシー設定ガイド|ストレージクラス移行・自動削除の実践
S3 バケットにログやバックアップ、一時ファイルを置き続けると、オブジェクト数と容量が増え、ストレージ料金が積み上がります。手動で古いファイルを削除したり、ストレージクラスを変更したりする運用は、バケットが増えるほど負担になり ...
【AWS】Lambda + API Gatewayでサーバーレスなエンドポイントを作る|Node.js・デプロイ・コールドスタート対策
「小さな API をサーバーなしで公開したい」「EC2 やコンテナの運用コストを抑えたい」といった場面で、AWS Lambda と API Gateway の組み合わせはよく検討されます。HTTP リクエストを受け取り、Lam ...