見出し画像

(エンジニア向け)ChatGPTをうまく活用する方法

おはようございます!
キャリアシップパートナーです!

ChatGPTの活用について、
反響が色々ありましたので、
【その2】として
今回お伝えしていきたいと思います。

ChatGPTの活用の仕方について、
中々分からない、もう少し知りたいといった声も
多くいただきましたので、
ChatGPTの活用事例について
もう少しご紹介していきます。

今回は、
エンジニア向けの内容として
「5つ」ご紹介です。

因みに、前回の投稿はこちらからご覧ください!👇



1.Excel関数を教えてもらう

「Microsoft Excel」で処理したいが、どの関数を使えば良いのか分からない、といった事ありませんか?
そんなときに以下のようにChatGPTを活用できます。

◎ChatGPTへの投稿例👇

Excel関数について質問があります。セルA1からセルA20まで整数が入っているセルが並んでいます。このうち、2番目に大きな数が入っているセルを返す関数を教えてください。

2.プログラムのコードを生成してもらう

プログラムコードを書いている際、どのコードを書いたらいいのか分からない事ありませんか?
そんなときに以下のようにChatGPTを活用できます。

以下は「Python」のコードをChatGPTに生成してもらえる投稿例を記載します。

◎ChatGPTへの投稿例👇

画像へのファイルパスを入力とし、画像をnumpy配列としてメモリにロードし、行と列がしきい値より暗ければ周囲を切り抜くPython関数を書いてください。行と列の平均値を使用して、削除のためにマークされるべきかどうかを決定してください。

3.コードを説明する

エンジニアの方は、コードを自分で新規で書いていくのではなく、他のメンバーが書いたプログラムを読み解くこともあるかと思いますが、読み解けない事ありませんか?
マクロやスクリプトといった単純なものなら良いのですが、複雑な処理があったりすると読み解くまでに時間が掛かったりします。
そんなときは以下のようにChatGPTを活用できます。

◎ChatGPTへの投稿例👇

プログラムのコードの一部を渡すので、簡潔に説明してください。

class Log:
        def __init__(self, path):
            dirname = os.path.dirname(path)
            os.makedirs(dirname, exist_ok=True)
            f = open(path, "a+")
    
            # Check that the file is newline-terminated
            size = os.path.getsize(path)
            if size > 0:
                f.seek(size - 1)
                end = f.read(1)
                if end != "\n":
                    f.write("\n")
            self.f = f
            self.path = path
    
        def log(self, event):
            event["_event_id"] = str(uuid.uuid4())
            json.dump(event, self.f)
            self.f.write("\n")
    
        def state(self):
            state = {"complete": set(), "last": None}
            for line in open(self.path):
                event = json.loads(line)
                if event["type"] == "submit" and event["success"]:
                    state["complete"].add(event["id"])
                    state["last"] = event
            return state

◎ChatGPTの回答例👇

このコードでは、イベントをファイルに記録したり、ログの状態を取得したりするために使用する`log`というクラスを定義しています。
`__init__`メソッドはログファイルを初期化します。引数としてファイルパスを取り、ディレクトリが存在しない場合はそのディレクトリを作成し、追記モードでファイルを開きます。
`log`メソッドはファイルにイベントを記録します。log`メソッドは辞書を引数に取り、一意の識別子を追加してJSONに変換し、改行とともにファイルに書き込みます。
`state`メソッドはログの状態を取得します。2つのキーを持つ辞書を初期化します:complete"(完了したイベントのセット)と"last"(最後のイベント)です。そして、ログファイルを1行ずつ読み込み、各行をJSONとして解析し、イベントのタイプが"submit"で成功した場合、そのイベントIDを"complete"セットに追加し、"last"イベントを更新します。最後に、ステート辞書を返します。

4.プログラムのバグを見つけ出す

プログラミングで「バグを見つける」ことは、時間が掛かるかと思います。そんなときにでもChatGPTを活用できます。

◎ChatGPTへの投稿例👇

Pythonのコードを渡すので、バグを見つけて修正してください。

import Random
    a = random.randint(1,12)
    b = random.randint(1,12)
    for i in range(10):
        question = "What is "+a+" x "+b+"? "
        answer = input(question)
        if answer = a*b
            print (Well done!)
        else:
            print("No.")

5.コード効率の改善

プログラミングを行う中で、処理性能が中々遅い場合もあるかと思います。そんなときにもChatGPTを活用できます。

◎ChatGPTへの投稿例👇

Pythonのコードの一部を次に渡します。効率を改善するためのアイデアを提供してください。

def has_sum_k(nums: List[int], k: int) -> bool:
        """
        Returns True if there are two distinct elements in nums such that their sum 
        is equal to k, and otherwise returns False.
        """
        n = len(nums)
        for i in range(n):
            for j in range(i+1, n):
                if nums[i] + nums[j] == k:
                    return True
        return False

6.まとめ

ChatGPTを活用することで、より効率的な開発に取り組むことができるようになりますので、ぜひうまく活用していきましょう。
ただし、自分のスキルがあってこそ活用レベルが伴う形になりますので、スキルの自己研鑽は引き続きやっていくことが大事になります!


転職・フリーランス・副業に関する情報を発信していますので、興味ありましたら、下記で友だち追加いただけたらと思います。

また、何かご不明な点、相談したいことがあれば、
お気軽に下記よりお問い合わせくださいませ!


✅我々は、
そんなこれから就職・転職をされたい方を応援しております!
「人々に新たな可能性を。新たな価値を。」を私たちのミッションとし、
転職・フリーランス・副業したい方が目標を実現できるよう、
ITスキル習得 × キャリア形成を全力で本気でサポートしています🌟

ご興味ありましたら、下記を覗いてみてください!
よろしくお願いいたします。