ChatGPT란?
https://openai.com/blog/chatgpt
Introducing ChatGPT
We’ve trained a model called ChatGPT which interacts in a conversational way. The dialogue format makes it possible for ChatGPT to answer followup questions, admit its mistakes, challenge incorrect premises, and reject inappropriate requests.
openai.com
간단하게 설명하면 OpenAI에서 개발한 대화형 인공지능 모델이다. GPT는 "Generative Pre-trained Transformer"의 약자로, 사전 학습된 모델을 기반으로 문장 생성, 자연어 이해, 질문-답변, 대화 등 다양한 자연어 처리 작업을 수행할 수 있습니다.(GPT한테 직접 물어봤다)
아무튼 요즘 개발자뿐만 아니라 여러 블로거 여러 사업체 또는 여러 가지 일에서 매우 다방면 하게 이용되고 있는 상황이다. 이런 상황에서 우리 또한 도태될 수 없다.
쓰읍.
답을 찾는 것보다 질문하는 법이 더 중요해진 시대에서 ChatGPT를 개발자 측면에서도 도움이 될 수 있게 한번 작성해 본다.
질문법
영어로 하면 더 좋은 결과를 내는 경우도 있다고 하고 한글로 해도 별차이 없다는 경우가 있는데 이 글에선 한글로 하는 법을 알려주도록 하겠다.
개발내용에 대해 질문
내가 무언가를 개발하려고 할 때 그 주제에 대해 어떤 방식으로 해야 할지 감이 안 잡힐 경우 질문하는 것이 좋다.
예시 1) 디스코드 봇은 어떤 방식으로 만들어?
이후에 해당사항의 예시를 들어줘라고 하면 예시를 들어주지만 틀린 코드를 맞다고 말하는 경우가 종종 있으니 구글링을 통해 더블체크 하거나 여기서 방식만 얻고 나머지는 본인의 역량으로 개발하는 것을 추천한다.
코드 리뷰
개발자로서 나의 부족함을 수정해 가면서 더 발전해야 한다. 그렇기에 코드리뷰는 상당히 중요하다고 볼 수 있는데 우리는 공짜 챗봇을 통해서 나의 코드의 부족함을 찾을 수 있다.
예시는 간단한 코드지만 난해한 코드도 거의 완벽하게 이해하여 리뷰한다.
import os
from tkinter import *
root = Tk()
root.title("제목 없음 - Windows 메모장")
root.geometry("640x480+500+200")
# 함수 영역
filename = "mynote.txt"
def open_file():
if os.path.isfile(filename): # 파일 있으면 true, 없으면 false
with open(filename, "r", encoding="utf8") as file:
txt.delete("1.0", END) # 본문 삭제
txt.insert(END, file.read()) # 본문입력 ,위젯에 넣음 file.read()는 어떤내용을? 부분임
def save_file():
with open(filename, "w", encoding="utf8") as file:
file.write(txt.get("1.0", END)) # 모든 내용을 가져와서 저장
# 메뉴 영역
menu = Menu(root)
menu_file = Menu(menu, tearoff=0)
menu_file.add_command(label="열기", command=open_file) # command 뒤에는 ()붙이지 않기
menu_file.add_command(label="저장", command=save_file)
menu_file.add_separator()
menu_file.add_command(label="끝내기", command=root.quit) # 프로그램 종료
menu.add_cascade(label="파일(F)", menu=menu_file) # 메뉴에 넣기
menu.add_cascade(label="편집(E)")
menu.add_cascade(label="서식(O)")
menu.add_cascade(label="보기(V)")
menu.add_cascade(label="도움말(H)")
# 스크롤바 영역
scrollbar = Scrollbar(root)
scrollbar.pack(side="right", fill="y")
# 내용 영역
txt = Text(root, yscrollcommand=scrollbar.set) # 서로 매핑
txt.pack(side="left", fill="both", expand=True) # 꽉 채우는것
scrollbar.config(command=txt.yview) # 서로 매핑
root.config(menu=menu) # 메뉴 영역필수
root.mainloop() # 전체 영역필수
위 해당 코드는 유튜브 "나도 코딩"님 영상 내 코드를 발췌하였다. 이 위 코드를 그대로 ChatGPT한테 보내주고 코드를 리뷰해 달라고 하면 아래와 같다.
정말 대단하다. 해당하는 코드를 거의 완벽하게 리뷰해 냈다. 하지만 여기서 ChatGPT의 엄청난 확장성이 나를 더 놀라게 한다.
코드 개선
이어서 개선해 달라고 하면 나의 코드를 개선해 준다.
코드 리팩토링
굉장히 놀란부분이다. python에 있는 GUI 패키지 중 tkinter 말고 PyQt5로 변환해 달라고 하면 변환해 준다.
이를 거의 완벽하게 리팩토링 해냈다.
코드 오류개선
코드의 오류를 입력할 시 그에 대한 해결법도 알려준다. 하지만 이는 틀린 걸맞다고 하는 이 녀석 특성상 아닐 경우도 있으니 항상 감안해야 한다.
이런 식으로 대충 말해도 잘 알아듣는다. 너무 타박하지는 말자
결론
이 외에도 엄청나게 많은 질문법이 존재하지만 가장 중요한 것들만 담았다. 이를 이용해서 본인의 개발속도를 올려보도록 하자. 앞으로의 개발은 구글링과 ChatGPT를 번갈아가면서 코드 생산성을 늘리는 시대가 도래했는지도 모른다. 항상 도태되지 않게 나를 발전하는 것이 중요하다.
내 미래 돌려내 빼애애애애액!!!!!!!