사례 제작자: : CAD개발셀 김민섭님
원문 : 컨플루언스 글 https://midasitdev.atlassian.net/wiki/spaces/CADDEV/pages/2977202348/ChatGPT+ChatGPT+RT
요즘 사회적, 전사적으로 ChatGPT에 대한 관심이 많습니다.
기사를 읽고, 세미나를 들었을때 신기하단걸 알겠는데 실제로 적용하기가 쉽지가 않습니다.
아마 저희 CAD 개발셀이 사용하고 있는 도메인이 ODA, ITC 기반의 코드들, 즉 라이센스가 필요한 필요한 코드들이기 때문이지 않을까 싶습니다.
ChatGPT는 인터넷 상에 Open 되어 있는 자료를 기반으로 학습된 반면에 돈을 주고 사용하는 라이센스 라이브러리에 대한 자료를 찾기 쉽지 않기 때문일 것입니다.
ChatGPT가 잘 할수 있는 분야의 업무를 부탁해보았습니다.
ChatGPT를 통해 진행했던 업무
제가 Chat GPT를 활용한 업무는 다음과 같습니다. 부탁한 언어는 Python 언어로 진행하였습니다.
DrafterRT 정답파일 일괄 교체 프로그램 개발
기능 개발
UI 개발
Bitbucket API를 통해서 Pull-Request에 댓글을 달 수 있는 프로그램 개발
Jenkins에서 주기적으로 빌드를 돌게 하는 방법
DrafterRT 정답파일 일괄 교체 프로그램 개발
ChatGPT를 활용하여 DrafterRT의 정답파일을 일괄 교체하는 프로그램입니다.
UI 구성부터 함수까지 모두 ChatGPT의 도움을 받았습니다.
위 프로그램의 동작의 구성은 다음과 같습니다.
위 폴더와 같이 RT 결과들이 모여있는 곳의 결과를 받습니다.
특정 번호 안에 들어가 보면 RTDefaultFile.bmp, DWG 파일들이 존재합니다. → 새로 지정한 파일
본 프로그램은 특정 번호 안에 있는 RTDefaultFile.bmp, DWG 파일을 파일밖에 있는 RTDefaultFile.bmp, DWG 로 대치 해주는 프로그램입니다. 즉, 일일이 복붙해주는 노가다를 대신 해주는 착한 프로그램입니다!!
굉장히 단순한 프로그램이지만, GPT 도움 없이 충분히 개발이 가능한 수준이지만
저의 시간적 자원은 매우 소중하고, GPT의 사용역량을 늘려야 하기 때문에 GPT에 질문을 해봤습니다.
(절대 개발하기 귀찮아서 GPT를 시킨 것이 아닙니다.)
어떤 질문을 진행했나?
저는 다음과 같은 단계를 거치면서 프로그램을 개발하였습니다.
A_num(빌드 위치) 위치에 있는 파일을 B(정답위치) 위치로 이동시켜주는 python 코드 작성해줘 (빌드 번호 입력)
1번 코드를 함수로 만들어줘
2번 함수를 사용해서 빌드 번호를 받을 수 있는 GUI 만들어줘
폴더 경로를 입력받을 수 있도록 GUI 만들어줘 → 이 폴더 경로는 B(정답위치)의 상위 경로
Log를 표현될 수 있도록 해줘
UI를 보다 세련되게 만들어줘(음… 실제 세련되었는지는 모르겠습니다.)
처음부터 모든 과정을 시키지 않고 단계별로 작성을 시킬 수 있도록 하였습니다.
제가 사용하고 있는 ChatGPT는 무료버전(3.5)이기 때문에 이전의 대화를 전부 기억할 수 없었습니다.
그래서 1,2,3 을 통해 얻은 결과물에 대한 코드를 질문할때 넣어주었습니다.
또한 한번에 많은 양의 코드를 작성할 수 없는 무료버전 특성상 UI를 작성할때에는 함수들을 작성하지 않도록 할 수 있도록 질문 끝에 “함수 내용은 작성하지 않아도 됨”이라는 말도 덧붙여 주었습니다.
Bitbucket API를 통해서 Pull-Request에 댓글을 달 수 있는 프로그램 개발
Bitbucket API를 활용하여 Pull-Request에 댓글을 달 수 있는 코드를 파이썬으로 작성해 달라고 ChatGPT에 부탁하였습니다. 이 과정에서는 다음과 같은 질문을들 통해서 진행하였습니다.
Bitbucket API를 활용하여 Pull-Request에 댓글을 달 수 있는 코드를 파이썬으로 작성해줘 -> OAuth 1.0 버전으로 답변을 해 주었습니다.저는 2.0 버전을 원했습니다. (기존에 세팅이 2.0 기반으로 진행되고 있었음)
2.0 버전으로 답변해줘!
여기에있는 코드 그대로 적용했더니
그냥 바로 적용되었습니다…. ㅎㄷㄷㄷ 갓 GPT….
Jenkins에서 주기적으로 빌드를 돌게 하는 방법
젠킨스에서 주기적으로 빌드를 돌게 할 수 있는 방법은 간단합니다.
젠킨스 속성에서 빌드유발 - 주기적으로 빌드(Build periodically) 선택해주고 스케줄을 입력해 주면 됩니다.
하지만 전…. 저 암호같은 스케줄을 공부하고 싶지 않았기에…. GPT에 물어보기로 했습니다.
GPT 말대로 Jenkins에 적용시켜보니 매주 금요일과 토요일 마다 빌드를 돌았습니다!!
5월 5일 : 금요일
5월 6일 : 토요일
ChatGPT를 활용해서 다소 범용적인 부분들에 대한 과제를 진행하였습니다.
세상에 공개되어 있는 부분에 대해서는 정확도 높은 답변을 보여주었습니다.
그리고 간단한 코드 작성, 단계별로 코드 작성을 하는 부분에서도 높은 정확도를 보여주었습니다.
ChatGPT 에게 메모장 어플을 개발해줘! 라고 한다면 못하거나 굉장히 오류를 많이 범할 것 같습니다.
하지만 이를 단계별로 끊어서 진행한다면 개발업무를 함에 있어서 많은 시간을 단축 시킬 수 있을 것 같습니다. 즉, 개발자는 제품을 어떻게 개발할지 구상하고, 설계를 진행하고 세부적인 코드는 GPT에게 위임을 진행하는 것 입니다. 그리고 활용할때 코드리뷰를 하듯 코드를 살펴보면서 적용시킨다면 개발 업무의 효율성을 기하 급수적으로 늘어 날 것이라 예상됩니다.






