サーバーサイド
標準 auth_user は一切変更しない。紐付けは専用テーブルで持つ

個人開発の株式分析Webアプリで、認証基盤を全面的に入れ替えました。移行元は「Django allauth + Simple JWT のメール/パスワード認証」、移行先は「AWS Cognito User Pool ベースの OAuth 2…

続きを読む
MySQL備忘録
主キー設計入門 — AUTO_INCREMENT と UUID をどう選ぶか

テーブルを作るときに必ず決めるのが「主キー(Primary Key)をどう採番するか」です。最も一般的な選択肢は次の2つです。

続きを読む
サーバーサイド
標準 auth_user は一切変更しない。紐付けは専用テーブルで持つ

個人開発の株式分析Webアプリで、認証基盤を全面的に入れ替えました。移行元は「Django allauth + Simple JWT のメール/パスワード認証」、移行先は「AWS Cognito User Pool ベースの OAuth 2…

続きを読む
サーバーサイド
パブリック/プライベートサブネットの設計と使い分け

AWS で VPC を設計するとき、最初に迷うのが「サブネットをどう分けるか」です。とくに パブリックサブネット と プライベートサブネット の違いと使い分けは、セキュリティにもコストにも直結する基本設計です。この記事では、両者の違いを「ル…

続きを読む
サーバーサイド
VPC 入門 — サブネット / ルートテーブル / IGW を図解で理解する

AWS を触りはじめて最初にぶつかるのが VPC(Virtual Private Cloud)です。EC2 を1台立てるだけでも「どのサブネットに置くか」「インターネットに出られるか」を意識せざるを得ません。

続きを読む
MySQL備忘録
NFC来店・ポイント・承認フローを支える飲食店アプリのDB設計 — 100テーブル超を破綻させない5つの勘所

飲食店発見・来店ポイント系アプリのバックエンド設計に携わり、100テーブルを超えるスキーマを扱いました。「ユーザーが店を探す → NFCタグをスキャンして来店 → ポイントが貯まる → 投稿・応援・スタンプラリー」という体験を支えるデータモ…

続きを読む
MySQL備忘録
テーブル命名規約 — プレフィックスで種別を明示する設計

テーブルが数十を超えたあたりから、スキーマは「一覧を眺めただけでは構造がわからない」状態になっていきます。マスタなのかトランザクションなのか、それとも中間テーブルなのか。名前だけでは判別できず、毎回 DDL を開いて確認するという状況は珍し…

続きを読む
サーバーサイド
NAT Gateway の仕組みとコスト最適化

AWS で VPC を設計すると、ほぼ必ず登場するのが NAT Gateway です。プライベートサブネットに置いたリソース(EC2、Lambda、ECS タスクなど)から外部インターネットへ「出ていく」通信を可能にするマネージドサービスで…

続きを読む
MySQL備忘録
リレーショナルDBの基本概念を図解で理解する

Webアプリケーションやバックエンドの学習を進めると、必ずと言っていいほど「リレーショナルデータベース(RDB)」に出会います。MySQL、PostgreSQL、SQLite、Oracle、SQL Server などはすべて RDB の仲間…

続きを読む
MySQL備忘録
本番DB障害を「探索SQL→原因特定→修正SQL」のループでAIに調査させる

本番データベースの不整合や問い合わせチケットは、開発チームにとって避けて通れない仕事だ。「請求金額がおかしい」「あるはずのデータが表示されない」「二重に登録されている」——こうした報告が届くたびに、経験者が本番へおそるおそる SELECT …

続きを読む