🙄

コード生成をやってみた

2024/01/31に公開

前提

Pythonによる簡単なコード生成とJavaScriptによるHTTPリクエストのコード生成、MySQLのクエリ生成の3種類を試してみた。

Pythonによる簡単なコード生成

プロンプト

#命令・指示###
あなたは優秀なITエンジニアです。Pythonにて1~10のランダムな数値をAさんからJさんに割り当てるコードを書いてください
###

回答

Pythonを使って各人にランダムな値を割り当てるコードを以下に示します:
import random

# 初期化
people = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']
random_values = {}

# 各人に対してランダムな数を割り当てる
for person in people:
    random_values[person] = random.randint(1, 10)

# 結果を表示
for person, value in random_values.items():
    print(f'{person}さんに割り当てられた数値は{value}です')
このコードは1から10までのランダムな整数をAさんからJさんまでの各人に割り当てます。
random_valuesという辞書を使って、各人(キー)とそのランダムな数値(値)を関連付けています。
その後、各人とその数値をループして表示します。

JavaScriptによるHTTPリクエストのコード生成

プロンプト

#命令・指示###
あなたは優秀なITエンジニアです。JavascriptでHTTPリクエストを実装してください。
###

回答

JavaScriptでHTTPリクエストを実装するには、Fetch APIやAxiosなどのライブラリを使用します。以下に基本的な例を示します。

Fetch APIを使用する例:
fetch('https://api.example.com/data', {
  method: 'GET', 
  headers: {
    'Content-Type': 'application/json',
  }
})
.then(response => response.json())
.then(data => console.log(data))
.catch((error) => {
  console.error('Error:', error);
});
上記のコードは、'https://api.example.com/data' URLにGETリクエストを行います。次に、応答をJSONとして解析し、結果をコンソールにログ出力します。エラーが発生した場合は、エラーメッセージをログ出力します。

Axiosを使用する例:
まずは、Axiosをプロジェクトにインストールします。
npm install axios
次に、以下のようにリクエストを実装します。
const axios = require('axios');

axios.get('https://api.example.com/data')
.then(function (response) {
  console.log(response.data);
})
.catch(function (error) {
  console.log(error);
});
こちらのコードも同様に、'https://api.example.com/data' URLにGETリクエストを行い、結果をコンソールにログ出力します。エラーが発生した場合も、エラーメッセージをログ出力します。

MySQLのクエリ生成

プロンプト

#命令・指示###
あなたは優秀なITエンジニアです。コンピューターサイエンス学科に所属する全ての生徒を抽出する、MySQLのクエリを作成してください。
###

#入力###
Table departments, columns = [DepartmentId, DepartmentName]
Table students, columns = [DepartmentId, StudentId, StudentName]
###

回答

以下のMySQLクエリを使って、コンピューターサイエンス学科に所属する全ての生徒を抽出できます。
SELECT s.StudentId, s.StudentName
FROM students s
INNER JOIN departments d ON s.DepartmentId = d.DepartmentId
WHERE d.DepartmentName = 'Computer Science';
このクエリでは、学生テーブル(students)と学科テーブル(departments)を内部結合しています。その結果から、学科名(DepartmentName)が 'Computer Science'(コンピューターサイエンス)である学生のID(StudentId)と名前(StudentName)を選択しています。

所感

どのコード生成の回答にも「解説」部分があり、エンジニア初心者の人でもわかりやすいなと感じました。
コードの回答は1つのみでなく、2回目、3回目と微妙に書き方が変わる部分があります。
自分の好みを見つけてコーディングしていってはいかがでしょうか。

ヘッドウォータース

Discussion