エンジニアとしては今更感ありますが、ChatGPTで生成したコードでredashにプルリクを出して、マージしてもらったよ!
という、貴重な経験をしたのでブログに残しておこうと思います
長くなっちゃうかもしれないので、そのときはChatGPTに要約してもらってください!笑
先にこんな事書いてます!的なものを置いておきます。
- 私はほとんどコードを書けない
- プルリクをした一番のモチベーションは、アップデート時にコンフリクトしたくない!運用者目線だった
- OSSにプルリクエストを出してからマージされるまでの過程がとっても勉強になった
もくじ
きっかけ
redashから、Oracle CloudのAutonomous Databaseに接続したかった
redashから、OracleDBに接続することはできるのは知っていて
じゃあ、今度はOracle CloudのAutonomous Databaseに接続したいなー!?と思ったのがきっかけです。
当時のquery_runner/oracle.py
ではどう頑張ってもできないことがわかった
やってみたら!あら面倒。多分このままじゃできないね!?
てところまではわかった!けど、どうしよう?これ接続できるようにしたいんだよなー
社内で聞いてみる投稿をしながら、「あれ?ChatGPTに聞けばいいんじゃね?」って思った
Slackでプログラミングについて聞けるチャンネルがあって
そこで聞いてみようと思って、文章を書きながら思った。。。
あれ?これこそChatGPTに聞けばいいんじゃね?
とりあえず、Slackに質問投稿してChatGPTに登録するー!(そこから?)
ChatGPTに聞いてみたらすごかった!
ChatGPTにどうやって意図とコードを伝えるか?を悩んだけど。。。
まず、
- どこを修正すればいいか?は特定済み
- どう修正したらいいか?わからない(私はPythonに慣れていない)
生成するコードは簡単なものなのかもしれないが、ChatGPTにどうやって意図とコードを伝えるか?を悩んだけど。。。とりあえずやってみた
まず、登録するところから!笑
ChatGPTのサイトにはじめてアクセスした!
あら、登録しないと使えないのね!?
ChatGPTに質問を入力してみたら・・・
登録を完了させて、入力してみた
相手はAIいうても、コンピューター理解できるようにしなきゃ(そもそも日本語でいいのかもしらんけど)
- Pythonのコードであること
- 修正箇所のコードはわかっているから、その部分を提示
- やりたいことを端的に説明
- 今回はとある文字列が入ってきたら、すでに入力している別の値を利用する
最初はこの程度で行ってみよー!理解してもらえなかったら、追加で情報入力すればいいし。
(最初から、何も考えずに日本語入力している pythonのスペル間違っているし)
実際に動かしてみて、動いた
そして、このコードでやりたいことはできている!動いたよ!
ChatGPTに修正依頼をかけたら、想像以上の返答だった!
これ、[](かっこ)内がキーワードだよ!って意味で入れてしまったら、
そのままの意味で捉えてしまわれた(頭がいい)
なので、[](かっこ)部はいらないよという意味で、キーワード変更をお願いしてみて(ここはイジワルです)
まてまてまて!!!え?謝られたし、なんならここが修正点ですって意味合いのコメント入れてくるじゃんか!!?
真骨頂は、この応答
上の回答には見切れてるけど、続きがありまして。以下になります・・・
入力値の大文字小文字変換して、統一させてからの比較・・・
すみません。負けました。もはやこれでChatGPTの虜です!笑
ブログ書いてて面白くなってきたので、Redash本家へのプルリク編は別投稿にします。
余談ですが、今回のタイトルもChatGPTで生成しました!笑 「注目のChatGPTを使ってRedashにプルリクエストを出してみた!」