最近はChatGPTの使用頻度をあげています。
普段はちゃんと調べてやるんだけど、今回はChatGPTに「なんか動かない!修正して!」という同僚・先輩に言ったらぶっこ〇な依頼を投げてみたら、見事に期待にこたえてくれた。
やろうとしたこと
dokcer imagesの中で、特定の文字列が含まれたリポジトリを全部保存しようとした。
ワンライナーで済ませたかったので、 docker imagesとawk grepで対象を絞りこみ xargsでsaveみたいな流れになる。
その際に、タグは「:」でつなぐものの保存するファイル名では「_」にしたかった。ここがうまく動かなかった。
元々のコード
元々はこんな感じ。
まあ、強い人は直ぐちがうじゃんって思うかもだけど、シェル芸ができないものには原因調査がめんどくさい。そもそもそんなに頑張るほどのことじゃない。
1 |
docker images | awk '{print $1":"$2}' | grep myImage | xargs -I {} echo docker save -o ./`echo "{}" | sed "s/:/_/"`.tar {} |
課題は sedのところ
ChatGPTが返してきたもの
まあ、なにか返ってきたら良いなぐらいな気持ちでChatGPTに質問してみた。
下記のコマンドはsedがうまく動いていません。 修正してください。
docker images | awk '{print $1":"$2}' | grep myImage | xargs -I {} echo docker save -o ./
echo "{}" | sed "s/:/_/"
.tar {}
その結果、返ってきた修正版のコマンドがこちら
1 2 |
docker images | awk '{print $1":"$2}' | grep myImage | xargs -I {} sh -c 'echo docker save -o "./$(echo "{}" | sed "s/:/_/").tar" "{}"' |
いや!天才やんお主!
結果、ちゃんとtarファイルができてた。
あれ。
頑張って調べる必要なくね?
こうして、素人エンジニアはChatGPTからまるまるコピペしたコードを採用するのであった。
かつて、日本のソフトウェア業界はStack Overflowからのコピペコードであふれかえっていたが、今後はChatGPTのコピペコードで本番環境が埋め尽くされることになるだろう。
そこから生じる負債はより回収困難になるだろう。
なぜならStack Overflowなら参考にした情報は残っているが、ChatGPTから同様の情報を絞り出すことはできない。
そして、時は流れ、
2025年、コピペエンジニアはチャピペエンジニアと呼ばれるようになったという。