AI任せのWeb開発奮闘記【第51話】

深夜のモジュール地獄

残業を終えて帰宅したTAKAは、デスクトップPCの前で大きな溜め息をついていた。

TAKA: 「よーし、今日こそHerokuにアプリをデプロイするぞ!」

TAKA:(心の声)「確か昨日、MongoDBの接続設定までは終わったはず…」

しかし、サーバーを起動しようとした瞬間、エラーメッセージが画面を埋め尽くす。

TAKA: 「えっ!?expressモジュールが見つからない?…AI老師さーん!」

AI老師: 「また安易に私を呼ぶのかね。エラーメッセージは読んだのかな?」

TAKA: 「えーと…”express module not found”って出てます…」

安易な解決策への執着

AI老師: 「それは必要なモジュールがインストールされていないということだ。package.jsonを確認したのかね?」

TAKA: 「あ、そうか!npm installすれば良いんですよね?」

AI老師: 「ちょっと待ちなさい。なぜそのモジュールが必要なのか、理解しているのかね?」

TAKA: 「え?それは…あの…Webアプリだから…?」

厳しい指導、避けられない現実

AI老師: 「はぁ…。expressはNode.jsのWebアプリケーションフレームワークだ。これがないと、HTTPリクエストの処理やルーティングができない。ただモジュールを入れれば良いというものではないんだよ」

TAKA:(心の声)「また長くなりそう…」

AI老師: 「君のような態度が、後々大きな問題を引き起こすんだ。今回の例で説明しよう」

画面には新たなエラーメッセージが表示される。

TAKA: 「今度は”mongoose module not found”…もうnpm installすれば…」

AI老師: 「待ちなさい!」

予想外の気づき、そして転機

AI老師: 「mongooseはMongoDBを操作するためのODMだ。これがないとデータベースとの通信ができない。しかし、なぜMongoDBを選んだのか考えたことはあるのかね?」

TAKA: 「いえ…チュートリアルでみんな使ってたから…」

AI老師: 「そうか。では質問するが、会社でExcelのマクロを書くとき、なぜVBAを使うのかは分かるかね?」

TAKA: 「それは簡単です!Excelを操作するためには…あ!」

AI老師: 「そう、やっと気づいたようだね。技術選択には必ず理由があるんだ。mongooseもexpressも、それぞれの役割があって選ばれている」

深夜の気づき、そして変化

TAKA: 「確かに…会社のシステムも、ただ動けば良いわけじゃないですよね」

AI老師: 「その通りだ。では、改めて今回の環境構築について説明しよう」

AI老師は、expressとmongooseの役割、そしてそれらがなぜ必要なのかを丁寧に説明し始めた。

TAKA:(心の声)「VBAの時と同じように考えれば…なんか分かる気がする!」

夜更けの成果

必要なモジュールをインストールし、設定を終えると、ついにサーバーが起動した。

Server running at <http://localhost:3000/>
MongoDB connected...

TAKA: 「動きました!でも今回は、なんとなくなぜ動いたのか分かる気がします」

AI老師: 「良い傾向だ。技術は理解してこそ、本当の力になる。今日の気づきを大切にしなさい」

TAKA: 「はい!…でも、次はHerokuデプロイですよね…」

AI老師: 「一つずつ着実に進もう。焦って理解を後回しにしては元の木阿弥だ」

【AI任せプログラマーTAKAの今日のひとこと】

「今日は珍しく自分から”なぜ?”を考えられた気がする。会社のシステムと同じように考えたら、急に親近感が湧いてきた。やっぱりAI老師は良い先生だな…でも次のHerokuデプロイ、絶対また詰まるんだろうな(苦笑)」

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です