【Next.js】ページを表示させる前に「ちょっと待った!」 Middlewareを職場のベテランお局様に例えたら、守備力が爆上がりした話
こんにちは!5月に入り、仕事もコードも「整理整頓」に命をかけている、午年(うまどし)エンジニアの筆者です。
Next.jsでアプリを作っていると、「ログインしていない人にはこのページを見せたくないな」「特定の国からのアクセスだけ制限したいな」という場面が出てきます。 そんな時、すべてのページにチェック処理を書くのは、PM視点で見ても効率が悪いですよね。
そこで登場するのが 「Middleware」 。 こいつが、職場の入り口に陣取っている 「ベテランのお局様」 のような働きをしてくれるんです。
💡 1. Middlewareは「入り口の番人」
お局様は、社員がデスクに着く前に必ずチェックを入れます。
「あんた、社員証(セッション)持ってる?」
「その格好(デバイス環境)、うちの規定に合ってる?」
もし不備があれば、「あんたは給湯室(リダイレクト先)へ行きなさい!」と、ページが表示される前に追い返してくれます。 プログラムが実行される 「一歩手前」 で処理を完結させる。これがMiddlewareの凄さです。
💡 2. 処理は「光の速さ(Edge Runtime)」
Middlewareの素晴らしいところは、お局様のくせに(?)動きがめちゃくちゃ速いこと。 Next.jsでは Edge Runtime という環境で動くため、世界中のどこからアクセスしても、爆速で「通ってよし!」の判断を下してくれます。
この「厳格かつ迅速」な守備体制をGitHubにPushした時の快感……これこそがNext.js開発の醍醐味です。
📚 「職場(コード)の規律」を整えるために
お局様の指示を的確にコードに落とし込むには、基本の徹底が不可欠です。
『プロを目指す人のためのTypeScript入門』 Middlewareを書くとき、型安全なコードが書けると、お局様からの「型が違うわよ!」という小言(エラー)を未然に防げます。
🐎 午年の脚力を支える「回復の秘策」
31日目。走り続けるには、足腰のケアが重要です。トレランやマラソンを愛するヤスさんに、デスクの下で使える「秘密兵器」を。
『フォームローラー(トリガーポイント)』
コーディングの合間に足裏やふくらはぎをコロコロ。お局様に叱られて固まった体も、これで一気にほぐれます。午年の軽やかなステップを取り戻しましょう!
📝 31日目の課題
middleware.ts ファイルを作成し、未ログインユーザーを /login に飛ばす「お局スタンプ」を実装しましょう。
Obsidianに「Middleware = 職場の番人」とメモ。
GitHubに「セキュリティの守護神(お局様)を召喚」とコミット!
#Nextjs #TypeScript #100DaysOfCode #エンジニアの休日 #午年 #プロジェクトマネージャー #GitHub #Obsidian
