[006]2026.03.20log

マイグレーションは冷蔵庫の棚替え

知らない言葉と仲良くなる

エンベディング、マイグレーション、CORS、JWT、非同期、DI。

管制塔と会話していると、こういう単語が次々と出てくる。最初はその都度やり過ごした。文脈からだいたいの見当はつくから。「CORS設定が必要です」と言われれば、何かを設定しなければならないことは分かるし、CORSが何かは後で知ればいいと思った。

しかし単語が積み重なるにつれ状況が変わった。一つ一つはやり過ごせても、十個、二十個になると会話そのものが不透明になる。

ある夜、管制塔にこう言った。

「一度もプログラミングを経験したことがない人間にとって、あなたの説明はぼんやり分かるけど、概念がしっかり掴めない。」

そして三つ整理してほしいと頼んだ。一つ目、このプロジェクトで使われている全技術の一覧図。二つ目、よく使うコマンドとその理由。三つ目、繰り返し出てくる用語の比喩的説明。

AIが作ってくれたものは期待以上だった。技術スタック全体を一つの比喩体系にまとめてくれた。「このシステムはレストランです。」そこから始まった。

フロントエンドはレストランのホール。お客さんが入ってきてメニューを見て注文する空間。バックエンドは厨房。お客さんには見えないが、注文が入ると調理して出す場所。データベースは冷蔵庫であり倉庫。食材と完成料理を保管する場所。認証サービスは入口のセキュリティ。デプロイは建物そのもの。

この比喩体系が定まると——不思議なことに——技術的な会話ができるようになった。

たとえば「この機能はフロントで処理するか、バックエンドで処理するか」という問い。以前はこの問い自体の意味が分からなかった。しかしレストランの比喩を当てはめれば、「これはホールでお客さんに直接見せるか、それとも厨房で一度加工してから出すか」になる。こうすれば判断ができる。

マイグレーションもこの文脈で理解できた。データベースの構造を変える作業。冷蔵庫の棚を入れ替えることだ。食材(データ)はそのまま、棚(テーブル構造)の配置を変える。

非同期は呼び出しベル。注文したらすぐ結果が出るのではなく、「処理中です」という通知を受けて他のことをし、完了したら結果を取りに行く方式。

この夜以降、変わったのは、AIとの会話で受動的に聞く側から能動的に判断する側に移ったことだ。コードが読めるようになったからではない。構造が読めるようになったからだ。

そしてその構造を読む言語は、コードではなく比喩だった。


🔧 このエピソードの技術用語解説

フロントエンド(Frontend) ユーザーが直接見て操作する画面。ボタン、入力欄、メニュー——目に見えるすべて。

バックエンド(Backend) ユーザーには見えないが、裏でデータを処理するサーバー。注文を受けて料理をする厨房。

API(Application Programming Interface) フロントエンドとバックエンドが会話する窓口。ホールスタッフが注文票を厨房に渡すようなもの。

マイグレーション(Migration) データベース構造を変更する作業。冷蔵庫の棚を入れ替えること。データはそのまま、棚(テーブル構造)だけ変える。

CORS(Cross-Origin Resource Sharing) 異なるアドレスのサーバー同士がデータをやり取りできるよう許可するセキュリティ設定。

JWT(JSON Web Token) デジタル身分証。ログインするとサーバーが発行し、以降のリクエストのたびにこのトークンを提示して本人確認する。

非同期(Asynchronous) 呼び出しベルシステム。リクエストを送ってすぐ結果を受け取るのではなく、「処理中」通知を受けて他のことをし、完了時に結果を受け取る方式。