🛠 ツール制作ログ

【初心者の沼記録】コードを修正しても、動かないのはなぜ?実は〇〇が原因だった

【初心者の沼記録】コードを修正しても、動かないのはなぜ?実は〇〇が原因だった

🟣 はじめに:AI時代、誰でもアプリが作れる…はずだった

「ChatGPTがいれば、もうエンジニアいらないんじゃね?」

…そんなことを思った日もありました。
でも現実は、甘くなかった。

こんにちは。非エンジニア代表、シランコーダーです。

最近は話題のChatGPTを駆使して、「音声をS3にアップロードするWebアプリ」を作ってます。

Firebase認証とか、署名付きURLとか、もう言葉だけでカッコイイやつです。

でね、「アップロードできない」となったとき。

「ChatGPTが間違ってるのか!?」「バグか!?」と思うじゃないですか?

いやいや、違ったんですよ。

ChatGPTはちゃんと修正してくれてた。

でも私が…やらかしてました。地味で単純なミス。なのにめちゃくちゃ沼るやつ。

そう、それは
「コードを反映してなかった」という、衝撃の事実。

もうね、コードは完璧なのに動かないって地獄です。

ChatGPTに何度も泣きついて、コードを直してもらったけど…

「あのー、あなた再起動してませんよね?」

っていう、超冷静なツッコミ。

はい、見事に沼りました。

🟡 見た目は完璧。コードも完璧。なのに「動かない」

コード?完璧。UI?美しい。エラー?……なぜか出る。

ChatGPT先生が何度も手直ししてくれたコード、見た目も内容も問題なさそうに見える。

それでもなぜか、音声ファイルがアップロードされない!!!

  • 「え?どこがおかしいの??」
  • 「CloudFront?署名付きURL?ヘッダー?CORS?」
  • 「いやもう用語が呪文。何言ってんの?」

と、フロントエンドとネットワークタブと格闘する日々が始まりました。

気づけば、軽く3日が経過

進捗ゼロ。

もはやバグなのか自分がバグなのかも分からない。

ChatGPTのコードは確かに毎回的確。

でも動かない。

この時、私はまだ気づいていなかったのです。

本当の原因は、コードじゃなかったということに。

🔴 原因はまさかの「反映されてなかった

え?コードは何度も修正したよ?

何回 Key: ${filename} に直したと思ってるの?

CloudFrontのキャッシュも消した。ブラウザもスーパーリロードした。

でもね、server.jsが再起動されてなかったの。

もっというと、3日前のサーバーが、のうのうと生きてた。

いやいや、そんなの見た目で分からんって!

こっちはGUIで育ってきた人間なんですよ?

黒い画面に「ps aux | grep node」って…誰が分かるんじゃ。

  • 「ターミナルにプロセスって何?」
  • 「何か止めていいの?」
  • 「それって爆発しない?」

そういうレベルだったんです。

ChatGPTがいくら正確に修正してくれても、再起動しなきゃ反映されないのよ!サーバーって!!(←ここ重要)

物理的なスイッチなら「ON」「OFF」が見えるけど、ターミナルは全部文字。どれが今の自分のサーバーなのか、分かるわけがない。

そりゃ、何やっても動かないわけだわ。

🟠 非エンジニアにとって「ターミナルの再起動」は壁すぎる

「コード、修正した!動くはず!」…でも、動かない。

え?反映されてない??
「いや、そんなバカな…」って思いますよね。

でもね、サーバーを再起動しないと、前のバージョンのままなの。

ターミナルって“命令を送る場所”だけど、今どんな状態なのかは、まったく教えてくれない。

見た目でON/OFFが分からない。再起動できてるのかも不明。

そのくせ node server.js をもう一回やったら、前のやつと共存したりする

え、それアリなの?ぶつかんないの?ってなるよね。

「GPTがコードを書いてくれて、修正も完璧」

でも、反映は人間の仕事。ここが最大の盲点でした。

そして私はこう思うのです。

「黒い画面にも、ステータスランプが欲しい」と。

🟢 キャッシュ地獄:CloudFrontとブラウザも油断大敵

やっと修正できた!
再起動もした!
これで…いける!!!

と思いきや、「変わってない」現象が再発。

何度index.htmlを直しても、反映されてないように見える。

「GPTの言うとおりにやったのに…」と、再び沼る私。

でもそれ、古いの見てるだけだったーーーッ!!(ズコー)

🔹 CloudFrontにはキャッシュがある
しかも、即時反映じゃない。数分〜十数分かかることも

🔹 ブラウザも手強い
Ctrl+R?
それじゃダメダメ!
Ctrl+Shift+R(スーパーリロード)じゃないと「前のデータ」を見続けてる。

コードは合ってるのに動かないとき、「最新のやつ、本当に見てる?」って疑うの、大事。

キャッシュ、マジで油断ならない…。

🔁 Node.jsの再起動、ちゃんとできてる?〜見えない敵と戦う〜

「コード修正したのに、全然反映されない…」

それ、もしかして Node.jsサーバーが“古いやつ”のまま動いてるかも!?

🧩 Node.jsサーバーってなに?

これは「アップロード用の署名付きURLを作ってくれる裏方さん」。

つまり、index.html(フロント)から「アップロードしたいんだけど〜」ってお願いすると、Node.js(サーバー)が「OK!URL出すよ〜」って返してくれてるわけです。

でも…

修正しても、そのサーバーが再起動されてなければ、昔のまま。

…そりゃ動かないよね🥲

🛠 再起動の方法(Jupyterでやってる場合)

  1. Jupyter のトップ画面(/tree)で「New → Terminal」を開く
  2. 以下のコマンドを打つ👇
ps aux | grep node ←これは1行で入力してEnter押していいやつ

これで「どの Node.js が動いてるか」がわかります。

出てきた中で /home/ubuntu/server.js っぽいやつがあったら、それを止める👇

kill <プロセスID>

※ たとえば kill 3663 ←こんな感じ
プロセスIDは ps aux の2列目(数字)です。

3. そして、再起動!

node server.js

「Listening on http://localhost:3000」って出たらOK!

⚠️ ポイント

  • node server.js何回も打つと複数起動してバグることも(再起動時はちゃんと前のを止めよう!)
  • ターミナルは無限に優しくない。ちゃんと自分で「ON/OFF管理」するのが大事!

「コードは正しいのに動かない」系トラブル、“再起動忘れ”はガチで多い。

これは、次にハマらないように絶対メモ!

🧠 今回学んだ「再起動・キャッシュ・反映」の三大原則

AI時代の開発はラクになった。

でも「反映されない」問題は、今も昔も健在。

今回ハマった沼で学んだのは、この3つの基本原則でした👇

🔁 1. 再起動は“物理スイッチ”だと思え!

Node.jsサーバーは勝手に最新のコードを読んでくれません。

電気製品と一緒で「電源を入れ直さないと変化が反映されない」。

ターミナルで node server.js を叩くだけ…なんだけど、それを忘れて数日沼るのが初心者あるある。

修正後は「再起動した?」とまず疑うクセをつけるべし!

🔍 2. プロセス確認&killを恐れない

Jupyterからターミナルを開いて

ps aux | grep node

と入力すれば、今動いてるNode.jsサーバーのプロセス番号(PID)が見えます。

それを止めるには👇

kill <番号>

これができれば、「古いサーバーが裏で生きてる問題」はもう怖くない!

🧹 3. キャッシュ地獄には“スーパーリロード”で勝て!

CloudFrontも、ブラウザも、キャッシュという罠を仕掛けてきます。

  • CloudFrontは古いHTMLやJSを持ち続ける
  • ブラウザも Ctrl + R では不十分

正しい反映のためには👇

  • CloudFrontのInvalidation(キャッシュ削除)を使う
  • ブラウザは Ctrl + Shift + R(スーパーリロード)を習慣に

💬 最後に:GPTは“コード先生”、でも反映の責任は人間

ChatGPTは何度も親切にコードを書き直してくれた。

でも、それを動かす環境が更新されてないと意味がない。

「再起動」「キャッシュ」「反映」
この3つはノーコード・ローコードでも絶対に避けられない落とし穴。

だからこそ今回の失敗は、未来の成功の布石!

✍️ おわりに:再起動で人生変わる(かもしれない)

まさかの主犯、「再起動し忘れ」。

コードは完璧、GPTも完璧、でも動かないのは自分のせいでした!\(^o^)/

この再起動という名の“魔法のボタン”を押さなかったばかりに、世界が何日も止まっていたと思うと、震えるしかない。

でも逆に言えば、再起動ひとつで世界は動き出す

「え、そんなことで詰むの?」って話なんだけど、それが現実。そして沼。ナマケモノの沼。

でも、今回はそこから這い上がってこれた。

ノンエンジニアでも、GPTと一緒にここまで来られたんだから、きっと誰でも、少しずつ進んでいける

この記事が、あなたの未来の「再起動ボタン」になったら最高です。

じゃ、またどこかの沼で会いましょう〜!👋🐢✨

  • この記事を書いた人

SHIRAN

「コードは知らない。でも作れる。」AIとツールで便利を生む非エンジニア。挫折も経験しながら、今は作る楽しさを発信中。詳しくはこちら

-🛠 ツール制作ログ
-, ,