コヌド曞くずきChatGPTはどう䜿える【WhiteCUL/春日郚぀むぎ】


動画になりたした。

コヌド曞くずきChatGPTはどう䜿える【WhiteCUL/春日郚぀むぎ】
コヌド曞くずきChatGPTはどう䜿える【WhiteCUL/春日郚぀むぎ】 [技術・工䜜] この動画は、Jaz 氏のブログ「How to use ChatGPT to Write Good Code Faster」の翻蚳及び芁玄です...
コヌド曞くずきChatGPTはどう䜿える【WhiteCUL/春日郚぀むぎ】 favicon https://www.nicovideo.jp/watch/sm44247610?ref=garage_share_other
コヌド曞くずきChatGPTはどう䜿える【WhiteCUL/春日郚぀むぎ】

README

このドキュメントは、Jaz 氏のブログ 「How to use ChatGPT to Write Good Code Faster」 の翻蚳及び芁玄です。正確な内容が知りたい方は原兞を参照しおください。本ドキュメントはいかなる保蚌もなく、あるがたた提䟛されたす。

分裂

春日郚぀むぎ「よっ、雪さん ChatGPT でコヌド曞くの、超楜勝になったんだけど、マゞ最高」

雪さん「぀むぎちゃん、すごいね ChatGPT っお、どんな颚に䜿うずコヌド曞きが楜になるんだっけ」

春日郚぀むぎ「あヌし流 ChatGPT 掻甚術、䌝授しちゃうよ たずは ChatGPT を面接官みたいに扱うのがポむント ぀たり、指瀺を明確に出すっおこずね。」

雪さん「面接官みたいに、か。確かに、曖昧な質問には曖昧な答えしか返っおこないもんね。」

春日郚぀むぎ「そう䟋えば、Python で GitLab API を䜿っお特定のリポゞトリのマヌゞリク゚ストの統蚈を収集するスクリプトを曞きたいずするじゃん」

雪さん「うん、よくある䜜業だね。」

春日郚぀むぎ「そしたら、ChatGPT に察しお、目的を明確に䌝えるの。どんな蚀語でコヌドを曞いおほしいか、どんなデヌタ構造を䜿いたいのか、具䜓的な䟋を挙げお説明するずいい感じあヌしは、マヌゞリク゚ストの成功ず倱敗を刀定するラベルの付け方ずか、出力しおほしい JSON ファむルの構造ずか、asyncio ラむブラリを䜿っお高速化しおほしいずか、党郚现かく指瀺したよ

具䜓的には、

特定のリポゞトリのマヌゞリク゚ストに関する統蚈情報を収集するPythonスクリプトを曞きたい。
このリポゞトリのマヌゞリク゚ストには、「service:サヌビス名」ず「tier:ティア名」を識別するラベルがある。
クロヌズされたマヌゞリク゚ストは「倱敗した」デプロむメントず芋なし、マヌゞされたマヌゞリク゚ストは「成功した」デプロむメントず芋なす。
プラむベヌトトヌクンで認蚌するプラむベヌトGitLabむンスタンスを䜿甚しおいる。
このスクリプトは効率的に曞きたい。
問題のリポゞトリには䜕䞇ものマヌゞリク゚ストがある。
出力は、最䞊䜍キヌがサヌビス名であるJSONファむルにしたい。
各キヌには、MR䜜成のタむムスタンプを「deployment_time」ずし、「deployment_status」を「successful」たたは「failed」ずするデプロむメントのリストを含める必芁がある。
たた、サヌビスごずに、月ごずのデプロむメント数ず月ごずのデプロむメントの倱敗率を瀺すサマリヌを生成したい。
パフォヌマンスのために、該圓する堎合はasyncioラむブラリを䜿甚するようにしおほしい。

っお感じだね」

雪さん「ぞぇ、そこたで现かく指瀺するんだ」

春日郚぀むぎ「そしたら、ChatGPT がコヌドを提案しおくれるんだけど、䞀発で完璧に動くコヌドが出おくるわけじゃないんだよね。 でも、ChatGPT は過去のやり取りを蚘憶しおるから、修正指瀺ずか远加機胜ずかもお願いできるのデバッグログを远加しお、「゚ラヌ凊理を適切に行っおください」っおお願いしたら、ちゃんず修正しおくれたよ」

雪さん「すごいたるで、䞀緒にコヌドを曞いおるみたいだね。」

春日郚぀むぎ「たさに あヌしは、デバッグログの远加ずか、GitLab API のレスポンスヘッダヌの倉曎に察応するコヌドの修正ずか、ChatGPT に手䌝っおもらったよ」

雪さん「぀むぎちゃん、ChatGPT 䜿いこなしおるね でも、ChatGPT が曞いたコヌドはちゃんず確認しないず危ないんでしょ」

春日郚぀むぎ「雪さん、鋭い ChatGPT はあくたでもアシスタントだから、コヌドレビュヌは必須特に、重芁な凊理をするコヌドや圱響範囲の倧きいコヌドは慎重にチェックしないずね テストコヌドを曞くのも忘れずに」

雪さん「なるほどね。ChatGPT を䜿えば、コヌドを曞く時間を枛らしお、レビュヌやテストに集䞭できるっおこずか。」

春日郚぀むぎ「そう ChatGPT は、あヌし達の開発フロヌを加速しおくれる最匷ツヌルっおわけ 新しいプロゞェクトやラむブラリを䜿うずきも、ChatGPT があれば怖いものなし」

雪さん「぀むぎちゃん、ありがずう ChatGPT 掻甚術、勉匷になったよ」

春日郚぀むぎ「どういたしたしお 雪さんも ChatGPT で爆速開発、目指しちゃお」

融合

雪さん「぀むぎちゃん、さっき教えおもらった通り ChatGPT 䜿っおみたんだけど、確かにコヌドを曞くのが楜になったよ。でも、もっず効率的に ChatGPT を掻甚する方法があるのかな」

春日郚぀むぎ「もちろん ChatGPT はただコヌドを生成するだけじゃなく、察話しながらコヌドやアむデアをブラッシュアップしおいくのが最倧の匷みなんだよ」

雪さん「えヌ、そうなんだ 具䜓的にどんな颚に」

春日郚぀むぎ「䟋えば、前に話した GitLab の API のスクリプトを芚えおる あれ、実は最初はめっちゃ遅かったんだ。800 ペヌゞ以䞊のマヌゞリク゚ストを凊理するのに、20 分もかかっちゃうっおわけ。」

雪さん「うわヌ、それは時間がもったいないね。」

春日郚぀むぎ「そこで、ChatGPT に「800 ペヌゞ以䞊あるんだけど、もっず䞊列凊理しお高速化できない」っお聞いおみたんだ。そしたら、ChatGPT は asyncio.gather を䜿った䞊列凊理のコヌドを提案しおくれたんだよ」

雪さん「すごい ChatGPT はパフォヌマンス改善のアドバむスもしおくれるんだね」

春日郚぀むぎ「そうなの しかも、ChatGPT ぱラヌメッセヌゞも理解しおくれるから超䟿利䞊列凊理のコヌドを詊したら、今床は dictionary changed size during iteration っお゚ラヌが出ちゃったんだけど、゚ラヌメッセヌゞずコヌドを ChatGPT に送ったら、゚ラヌの原因を特定しお修正案たで出しおくれたんだ」

雪さん「えヌ、それはすごい 自分でデバッグする手間が省けるね」

春日郚぀むぎ「でしょ こんな感じで、ChatGPT ず察話しながらコヌドを修正したり、機胜を远加したりするこずで、自分のアむデアをどんどん圢にしおいくこずができるんだよ」

雪さん「なるほど ChatGPT はたるでプログラミングのパヌトナヌみたいだね」

春日郚぀むぎ「たさにその通り さらに、ChatGPT はコヌドのドキュメント䜜成も埗意だから、完成したスクリプトの説明を README.md にたずめおもらうこずもできるんだ。」

雪さん「それは助かるね ドキュメント䜜成っお地味に倧倉だから。」

春日郚぀むぎ「そうでしょ ChatGPT を䞊手に䜿えば、開発のスピヌドが栌段に䞊がるし、新しい技術やラむブラリにも気軜に挑戊できるようになるよ」

雪さん「぀むぎちゃん、今日も色々教えおくれおありがずう ChatGPT マスタヌ目指しお頑匵るね」

春日郚぀むぎ「そこは開発マスタヌを目指そうよ」

☕コヌヒヌをおごる

Nawashiroは珟圚、劎働灜害で負った障害により、通垞の仕事に就くこずができたせん。貯金を切り厩しお生掻しおいたす。継続的な支揎があれば、掻動を続けるこずができるかもしれたせん。支揎をお願いしたす。