코드의 개발시, 생성성향상에 대해서 많은 아이디어와 고민을 하게 됩니다.
그런 관점에서 ChatGPT에 대한 부분은 이제 필수적으로 검토하고, 관심을 가지게 됩니다.
인터넷에도 정보가 많이 있지만, 활용 방법과 종류도 많고 사용법도 조금 체계적으로 배우기위해서는
책을 통해서 정보를 얻는 방법이 조금 더 효과적이지 않을가 생각합니다.
목차를 살펴보았을때, 눈에 들어오는 부분이 있었습니다.
보통 코딩을 할때 도움을 받을수 있다고 생각하지만, 이 책에서는 코딩 이외의 다양한 소프트웨어 개발에 필요한 부분을
설명하고 있습니다.
3장 : 리팩토링에서의 활용
4장 : 문서의 자동 작성
5장 : 각종 개발 방법의 제안
6장 : 학습 과정에서의 활용
코드적인 부분을 도와주는 것 이외에 책의 제목 처럼 "소프트웨어 개발에~" 라는 부분이 조금 더 이해하기 좋게
다가왔습니다.
■ 실습환경 및 예제코드
· 책에서 사용되는 예제 코드
https://github.com/Choonholic/jpub_chatgpt
· 책에서 사용되는 모든 예제는 코랩으로 동작이 됩니다. 자연스럽게 언어의 기준은 Python인 것을 참고 하시면 됩니다.
https://github.com/Choonholic/jpub_chatgpt/blob/main/notebooks/
· 책을 작성하시는 시점에서는 GTP3.5가 무료여서 그 기준으로 작성이 되어 있습니다.
현재 기준에서는 gpt 4.0을 무료로 이용 가능하니, 참고 하시면 좋을거 같습니다.
■ 프로그래밍에 활용하기
· 트랜스포머, 합성곱신경망, 순환 신경망등에 대해서도 간단하게 살펴볼 수 있습니다.
어떻게 질의를 해야 더 좋은 내용을 답변 받을 수 있을지 궁금증이 있있다면 참고할 수 있습니다.
· 이해는 하지만, 잘하지 못하는 것을 ChatGPT에게 맡긴다.
- 정규표현식 같은 부분도 많은 활용범위가 있습니다.
책에서 예시로 사용한 프롬프트는 아래와 같은 것이 있어서 소개 합니다.
파이썬3로 정규표현식을 사용하여 비밀번호를 검증하는 코드를 작성해주세요. 비밀번호의 조건은 영문 소문자, 영문 대문자, 숫자, 기호가 섞여 있는 것입니다.
파이썬으로 텍스트 파일을 읽는 예제 코드를 작성해주세요. 단 읽기 전용으로 문자 코드는 cp932로 하고 잘못된 코드인 경우에는 무시하고 계속 읽어들이게 해주세요
매개변수로 깃허브 계정 이름을 지정하면, 그 정보를 반환하는 파이썬 함수를 작성해주세요
· 테스트 코드 작성하기
# 이전 질문을 통해서 코드를 제공 받았다는 가정하에 아래와 같이 활용하면 좋습니다.
위의 코드에서 테스트 코드 부분을 unittest로 다시 작성해주세요
· 클래스 구성도로 부터 코드 생성 접근하기
- 객체지향 프로그래밍을 접근하기 위해서 활용하기 좋습니다.
- Mermaid 표기법을 활용해서 프롬프트 구성시, 소스 코드 정의가 됩니다.
· 상태이전표로 코드 생성 접근하기
- 우리는 다양한 if조건을 이용해서 상태를 정의하고 로직을 수행합니다.
이러한 코드를 상태 디자인 패턴을 이용해서 리팩토링도 지원합니다.
이러한 부분을 활용하여서, 사용하는 코드를 제시하고 가장 적합한 디자인 패턴을 제안받고, 적용에 활용할수 있습니다.
소스코드가 회사에서 사용하는 코드나 외부 유출이 불가한 내용인지 잘 확인해서 gpt 프롬프트 사용에 주의를 기울여야 합니다.
■ 리팩토링에서 활용하기
하고 싶고, 필요성은 느끼지만 바로 기존에 정상적으로 동작되는 소스를 변경하는것에는 부담을 느낄 수 밖에 없습니다.
이러한 부분에서도 chatgpt를 통해서 도움을 받는다면, 좋은 사수의 역활을 충분히 할 수 있습니다.
· 내가 생각하고 필요한 부분을 질의하고 원하는 답을 얻을수 있습니다.
사용된 프롬프트를 보면, 내가 원하고 수행해야 하는 사항을 명확히 설명식으로 입력하면 원하는 결과를 도출 할수 있는 것을 알수 있습니다.
샘플
파이썬으로 함수를 프로그래밍했지만, 그것을 좀더 작고 좀더 초점을 맞춘 함수로 리팩토링 하고 싶습니다.
(코드를 붙여서 넣습니다)
이 코드를 가독성에 중점을 두고 처리는 함수 안에서 충족시키며, 좀더 작으면서도 초점을 맞춘 함수로 분리해 리팩터링 하는 것을 도와주세요
함수 분할, 변수 이름과 함수 이름의 개선, 중복 제거
인라인 주석을 추가하기, 함수 문서를 추가하기
보안취약성 확인하기,, 예외처리와 논리 완전성 개선 등에 활용하고 개선할수 있습니다.
■ 문서의 자동 작성, 학습하기, ChatGPT API 활용
사용되는 다양한 라이브러리들이 있습니다. (코렙에서 쉽게 설치가 가능합니다)
· python-pptx (파워포인트)
· python-docx (워드문서)
· openpyxl (엑셀 연계 문서 자동 작성)
· diagrams (클라우드 구조도를 표현하고, 파이션에서 이용 가능)
대부분 pip install XXX의 형태로 모두 설치가 가능합니다.
· 도메인 주도 설계 방법, 테스트 주도 개발에 의한 구현 과 같은 아키텍처 구현 방법에 대해서 ChatGPT를 이용해서
내용을 살펴보고 샘플 코드를 구현합니다.
pip intall openai
를 통해서 chatgpt의 api 키를 받아서 자연스럽게 챗봇화 구성을 하여서, input, ouput구성 하는 화면을 구성할수 있습니다.
· 장문 데이터 연계
외부의 장문 데이터와 연계하기 위해서 빠르게 색인을 생성하고 검색하는 실험에는
단 몇불 만으로 대상이 되는 장문의 백터 데이터베이스를 구성할수 있는 아래 서비스가 유명합니다.
· 랭체인
마지막 장에서는 랭체인에 대해서 설명하고 동작 방식을 설명합니다.
대형 언어 모델 기반 서비스 개발에 접학한 라이브러리 입니다.
랭체인에서는 검색엔진의 검색 결과를 반화하는 도구가 있어 이런 요구 사항을 단 몇줄의 코드로 구현할수 있습니다.
pip install langchain을 통해서 우선 구성 테스트를 진행합니다.
'book' 카테고리의 다른 글
전혀 다른 생성형 AI (4) | 2024.10.20 |
---|---|
코딩 자율학습 Vue.js 프런트엔드 개발 입문 (0) | 2024.09.15 |
소프트웨어 설계의 정석 (0) | 2024.09.07 |
기본기가 탄탄한 자바 개발자 (제2판) (0) | 2024.08.25 |
자바스크립트 + 리액트 디자인 패턴 (2) | 2024.08.24 |