php備忘録
外部キーだらけの旧DBを新DBへ移行する — Seederの依存解決とDB定義書からのDDL自動生成新着!!

ある業務システムのリニューアル案件で、旧DBから新DBへデータを移し替える「シーディング(初期データ投入)基盤」をPHPで整備しました。設計の核は2つです。

続きを読む
MySQL備忘録
外部キーと参照整合性の設計:入門から実務判断まで新着!!

リレーショナルデータベースでは、複数のテーブルが「参照」で結びついています。注文テーブルの userid はユーザーテーブルの誰かを指し、注文明細の orderid はどこかの注文を指します。この「指す・指される」の関係が壊れると、どのユー…

続きを読む
JavaScript備忘録
ESLint + Prettier の設定ベストプラクティス(React / TypeScript)新着!!

React プロジェクトで ESLint と Prettier を併用すると、「保存のたびに整形が競合して怒られる」「どちらが何を担当しているのか曖昧なまま設定ファイルが肥大化する」という問題が起きがちです。

続きを読む
php備忘録
「ガチャの確率」を実装したら、それは確率ではなく重み付けだった新着!!

あるアミューズメント系システムの案件で、いわゆる「ガチャ(抽選)」機能を実装する機会がありました。仕様書には当たり前のように 「確率」 という言葉が並んでいたのですが、要件を詰めていくうちに、運用側が本当に求めていたのは確率そのものではなく…

続きを読む
AI活用
Claude Code の hooks で自動チェックを仕込む新着!!

Claude Code には、エージェントの動作の節目でユーザー定義のコマンドを実行する hooks という仕組みがあります。「ファイルを編集したら自動で整形する」「危険なコマンドを実行前にブロックする」といった処理を、プロンプトでのお願い…

続きを読む
MySQL備忘録
DB設計の失敗パターンと改善事例 ― 現場でよく踏む地雷とその外し方新着!!

アプリケーションの寿命は、DB設計の質にかなり左右されます。コードはリファクタリングで直せますが、テーブル設計の失敗は本番データを抱えたまま直すことになるため、修正コストが桁違いに高くなります。

続きを読む
html備忘録
`` では 26:00 が入力できない — 深夜シフトの時間入力を select 化した話新着!!

飲食・バーなどの深夜業態向けにシフト管理システムを開発していたとき、「22:00〜翌02:00」のような日跨ぎの夜間シフトをパターン登録できないというバグに遭遇しました。

続きを読む
php備忘録
fideloper/proxyで理解するリバースプロキシ配下のLaravel設定

ロードバランサやリバースプロキシの背後にLaravelを配置すると、「ローカルでは正常なのに本番だけおかしい」という症状が高確率で発生します。代表的なものは次のとおりです。

続きを読む
未分類
計画承認→実装→セルフレビュー是正→マージ:移行案件を「記録駆動」で回す開発ループ

レガシーシステムの移行・是正案件では、1週間で十数個の修正PRが並行して流れることがある。テナントフィルタの横断是正、ロールガードの追加、2リポジトリにまたがる仕様の食い違い——粒度もリスクもバラバラなタスクを、抜けなく・後から追跡できる形…

続きを読む
CI/CD
GitHub Actions で Lambda のデプロイを自動化する

AWS Lambda を手動でデプロイしていると、更新のたびに「zip を作って」「コンソールにアップロードして」「環境変数を確認して」という作業が発生します。ちょっとした修正でもこの手順を踏むのは負担で、手作業のぶんだけデプロイ漏れや事故…

続きを読む