502 Bad Gatewayを脱出する
そんなことも知らずにやっているのか
という非難は甘んじて受けます。
「そんなこと」も知らずにここまでやってきました。
そして、今日、ようやっと、少し理解しました。
だから、どれだけバカにされても気にならないほど、けっこうゴキゲンです。
これからもたぶん、「そんなこと」が山積みだろうと思います。
でも、一歩一歩進みます。
これまでの歩み
前回も書いたように、ServerpodやFlutterをUpgradeするたびに
いろんなErrorが出てAWSにdeployできなくなり、
修正に修正を重ねてdeployすると、502BadGatewayになる、
ということを繰り返していました。
そしてBadGatewayは、リリース済みのアプリ全部のダウンを意味するので、
それを回避するために、「とりあえずバージョンを戻す」という手段をとってきたわけです。
バージョンを戻せば、動く。
でも、その理由をちゃんと考えていなかった。
とりあえず動いた、で済ませていた。
バージョンを戻すとき、
バックエンドやフロントエンドで加えた変更も全部戻してしまっていたので、
つまり一歩も前に進めない、
現状でできることだけで作れるものをつくる、みたいな開発でした。
GPTo1を使い倒してみる
還暦過ぎてプログラミングをはじめた時には、ChatGPTなんてものはありませんでした。
それが突然現れて、「これは天が私に使わした守護天使だ!」ぐらいに思ったものです。
といっても、彼の学習期間はFlutterの最初期、Serverpod以前でしたから、
具体的なことはあまり答えてくれませんでした。
でも、私がド素人だから、「いろはのい」を聞くのにはちょうどよかった。
4oになってからは、かなり具体的なcodeについても、相談できるようになりました。
私の質問力も上がったかなと思います。
さらにo1は「考えています、調べています、まとめています・・・」
とつぶやきながら、30秒から1分もかけて、私のレベルにまで砕いた回答をくれます。
だから今回、BadGatewayで後ずさりすることなく
これを解決しよう、と思ったわけです。
そもそもAWSのどこでcommandを打ち、ログを見るのかも知らなかった
これならo1じゃなくてもいいのかも、とも思いましたけど、
ともかく、「AWSのEC2のターミナル」の開き方から、commandの書き方まで
逐一聞きながら、とうとう一つ、問題を見つけました。
Can't load Kernel binary: Invalid kernel binary format version.
o1の回答は「DartSDKバージョンの不一致の可能性があります、バージョンを確認してください」
あああああ、わかった、わかってしまいました。
なぜバージョンを戻すと動くのか・・・・UpgradeするとBadGatewayになるのか・・・
ServerpodはFlutterではなく、AWSは私のProjectではない
FlutterをUpgradeするとServerpodと齟齬が出るのは、
FlutterだけUpgradeして、Serverpodのdartや関連PackageをUpgradeしてなかったからでした。
同じように、「私の」プロジェクトをUpgradeしてdeployしながら、
AWSをUpgradeしなければいけないなんて、考えてもいなかったのです。
AWSは基本なんでも完備の「貸店舗」で
私はそこに自分のお店をまるっと一つdeployしているつもりでした。
でも、AWSにも「AWSのDart」があったのです。
それがずっと、古いバージョンのままでした。
いったら、貸店舗のコンセントと、私のプラグが合ってなかったという・・。
だからAWSのDartをUpgradeしました。
最後までo1と一歩一歩進みました。
o1への質問は一ヶ月50回までです
作業の途中で、警告が出ました。
もし50回を越えてしまったら、11月11日のリセットまで使えなくなります、と。
でも、幸いなことに、問題解決までつき合ってもらえました。
最後に、1回分を無駄遣いと承知で
「できました、ありがとう」と打ちました。
o1の回答: お役に立てて嬉しいです!問題が解決して良かったです。
生成AIは未熟なプログラマーを駆逐するか
どうでしょう、
下手なプログラマーを雇うよりAIに書かせたほうが速い、というのはあるかもれません。
なにより、安いし。
でも、せっかく優秀なプログラマーにプロンプト書いてもらうのも、ちょっとムダな気がします。
もちろんこれは、プロの世界のプロの判断なので私が口出しすることじゃありませんが、
「未熟なプログラマーこそAIを使いこなして自分を底上げすべし」じゃないのかな。
少なくとも個人開発者である私は、
中途半端に楽するためではなく、とことん突き詰めて理解を深めるために
AIをしっかり活用していきたいと思っています。
Discussion