このサイトを作る過程で、正直かなりの回数つまずきました。今回は、その中でも特に苦労したトラブルを、恥を忍んで振り返ってみようと思います。
1. ドメインが3日間つながらなかった
独自ドメインを取得して、DNSの設定(Aレコード)もちゃんと入力したはずなのに、3日経ってもDNS_PROBE_FINISHED_NXDOMAINという「そのドメインは存在しません」というエラーが出続けました。
原因を辿っていくと、ICANN Lookupで確認したドメインの正式なネームサーバーが、自分が設定していたものと全く違う値になっていることが判明しました。ドメイン管理画面の「ネームサーバー設定」というメニューが、実は別途「有効化」する必要があったのに、それをやらずにDNSレコードだけ設定していたのが原因でした。設定を一つ有効化し忘れていただけで、3日間まるまる無駄にしました。
2. Gitのコンフリクトで何度も詰まった
このサイトはSteamのデータを6時間ごとに自動更新する仕組みになっているのですが、この「自動更新」と自分の手元での作業がしょっちゅうタイミングがぶつかり、git pushのたびにrejectedと表示されるようになりました。
最初は原因が分からず、git pullしても解決せず、気づいたらVimという見慣れないエディタが開いて操作方法が分からなくなり、git merge --abortで仕切り直す、ということを何度も繰り返しました。今ではすっかり「いつもの作業」になりましたが、最初の頃は本当に焦りました。
3. 文字コードでファイルが壊れる
使っているエディタの保存時の文字コード設定のせいで、コードの一部が文字化けしたり、コピペのタイミングで謎にタグが1文字欠けたりする現象に何度も遭遇しました。同じ場所を直したつもりが、別の場所が壊れている、ということもありました。原因が分かってからは、極力ファイル全体を丸ごと置き換える運用に変えたことで、事故はかなり減りました。
4. バッジの色が何度直しても変わらなかった
サイトのステータス表示(「買い時」「様子見」など)の色を変更しても、何度直しても見た目が変わらないという謎の現象がありました。CSSの記述自体は合っているはずなのに反映されない。
結局これは、CSS(Tailwind CSS)の仕組み上、「どのファイルの中のクラス名を見て、実際に使うCSSを生成するか」の設定に、色の定義を書いていたファイル(libフォルダ)が含まれていなかったことが原因でした。定義自体は正しくても、ビルドの段階で「使われていない」と判断されて消されていた、という地味に厄介なバグでした。
5. 外部APIが403エラーで弾かれた
セール情報の精度を上げるために、SteamSpyという外部サービスを組み込んだところ、ある日から突然すべてのリクエストが403エラー(アクセス拒否)で弾かれるようになりました。ブラウザを偽装するような対策も試しましたが解決せず、最終的には「開発中にテストを繰り返しすぎて、一時的にアクセス制限がかかっただけかもしれない」という結論に落ち着き、しばらく時間を置くことにしました。(未解決)
振り返って思うこと
独学やAIから得る技術的な知識だけで全部解決できたわけではなく、「エラーメッセージを一つずつ読んで、順番に切り分けていく」という地道な作業の繰り返しでした。どんなにAIでコードを作成しても行き詰まったときにある程度コードを理解していないと先に進めません。派手な失敗談ではありませんが、これから個人開発をやってみたい人にとって、「こんな地味なところでみんな詰まるんだな」というのが伝われば嬉しいです。