最先(いやさき)

three brown tabby kitten lying on board

かねてから日本の住所を外国語に変換するツールを作りたいと考えてきた。

ネット上にはいくつか変換ツールがあるけれど、変換の精度はそれぞれ難があり、あるいは精度が高くても使いにくかったりするというのがその理由である。

自分で作りたいと思っていたものの、プログラミングは完全に自学なので、完成までには膨大な労力が必要と予想して二の足を踏んでいたところ、天から我にChatGPTが与えられたではないか!

きっとChatGPTに聞けば、へなちょこの私でも作れるはず、そう思ってやってみたら本当に作れた。去年11月のことである。

大いに喜んだが、改善したいところがまだいくつかあるので、暇な時期を利用して完成させようと思う。

以前に聞いて理解したことも、数ヶ月ぐらいブランクがあるともうきれいさっぱり忘れてしまっているのも多い。そこで備忘録を兼ねてブログにその過程を記録していきたいと思う。

まず最初に、1つの機能だけを追加しようと思い、ChatGPTに質問してみた。

住所変換機でのエラーメッセージの表示の仕方についてChatGPTに聞く。

POSTAL_CODE_EMPTYとは、エーラコードの1つである。綴りの通り、郵便番号がEMPTY、つまり未入力の時に表示するエラーだ。▼

住所変換機APPのエラーメッセージ
POSTAL_CODE_EMPTYエラー(赤文字)

このエラーを未入力の時にだけ表示させ、未入力だけどカーソルを離した時(いわゆるJavaScriptのOnblurイベント)に表示させたくない。

上記の通りChatGPTに質問したが、ChatGPTが提供してくれたコードは、導入してもぜんぜん効果がない…

そしてコード全体を久しぶりに見返すと、もうすべてがこんがらがって、何がなんだかよくわからない状態である。

それもそのはずで、ChatGPTに聞きながらなんとか形にできたけど、質問ごとにその質問に対応したコードが返されるため、機能の重複や矛盾などコード全体の整合性が取れていない部分がたくさんある。

たとえば関数。完全な回答をしようとするためか、エラー処理やら画面操作やら、期待する以上の内容が盛り込まれた回答が多く、そのせいでChatGPTの作る関数はとにかく多機能である。

これでは今後何か機能を追加するときに変に絡み合って毎度困ることになりかねないと思い、さしずめコードの整理をすることにした。

次回から1回に1つの課題を取り上げ、記録していきたいと思う。