今回は薄めの記事です。具体的なことを書くと長文になるので悩みましたが、スクショだけでも見てもらいたいなと思って記事を書くことにしました。上記スクショを見てのとおりで、画面デザインも含めて全てChatGPTで生成してます。
経緯
地元の業界仲間が集まるSlackスペース。というかアジャイル開発が強みの開発会社さんの社内Slackです。自社Slackを社外の関係者にも開放する形。取引先とかじゃなくて、ITイベントなどで仲良くなった人とかが雑談ベースで集まってる感じです。
お疲れ様です。WordPressについて少しお聞きしたいのですが、どなたか詳しかったりしますか?
やりたいこととしては、WordPressで構築されたサイトの複数ページの文字情報をcsvでダウンロードしたいです。
generalチャンネルに上記のような投稿がありまして。簡単なスクリプトだったら寝ぼけても書ける自信があったので、相談に乗りましょうか?って軽く返事しました。
すぐにハドルで連絡があって、具体的に確認。
WordPress記事のCSV出力って記事1件につきCSVのレコード1行ってのが普通で、それだったら自分が相談に乗るまでもなく既存の無料プラグインで対応できる。最初に試すのはそれかな~と思って、相談主さんに提案。
さっそくCSV変換プラグインを試していただいたところ、データが大きすぎてエクセルで開くことができないらしい。口頭で話を聞いた感じだと、レコード数がかなり多いんだろうなと思いました。だったら分割してあげるといいかな?
外出先から戻ってきました。実際のデータを見てみよう。
まず、CSV変換対象としたいページを見てみました。
タイトル:xxxxx
担当者:xxxxx
日時:xxxxx
内容:xxxxx
こんな感じで、ページによって違うけど、数百件~何千件くらい、セクションが繰り返される。スクロールバーが縦に長い。
カテゴリー内の記事を件数無制限で表示してるんだろうな~。
・・・と思ったら違いました。DBのレコードを見て分かりましたが、なんとテキスト全てベタ書きです。たぶん問い合わせメールの内容を自動的にアペンドするような仕組みになっている。
どうしよう笑
どうしたか
これはまあまあ面倒なテキスト整形案件になります。ChatGPTに聞きました。
「CSVに変換してほしいデータがある。5件ぶん貼りつけるので見てほしい」
具体的にどう変換するとか全く指示してないのに、あっという間にCSVが生成されました。分かってはいたけど、こういうのはChatGPTが得意とする作業です。
- 意図どおりになってないところは当然あるので、何度か修正指示を繰り返す
- 意図どおりの変換ができていると感じられた時点で、このような変換処理を行うPHPスクリプトの生成を指示
- サーバにスクリプトを転送し、問題なく動作することを確認。ここまで数分しかかかってない
- まだまだ余力があるので、生成したCSVをダウンロードするページの生成も指示
- できたページを確認したところ、デザインがショボい
- スタイリッシュな画面にしてほしいと指示
- 完成
こんな感じ。自分ではプログラミングを全くせずに、10分くらいで完成しました。普通だったらやりとり含めて最短でも一週間くらいかなみたいな案件です。
ChatGPTが生成したコードをプロの目線で見てみましたが、プログラミングの教科書に載ってそうなくらい、バランスよく書かれたコードです。システマチック過ぎず、ベタ書き過ぎず。「最終的には自分で修正したいからリーダブルなコードを生成して」と要望すれば、さらに分かりやすいコードを生成することもできる。
今回は変換スクリプトを生成したけど、わりと近いうちに、テキストデータをまるごと渡して直接変換することもできるようになるかも? 元請会社がこれくらいのことを自社でやっちゃうようになると、単発のお助け案件の依頼は減りそうです。