-
-
소프트웨어 개발에 ChatGPT 사용하기 - 챗GPT를 활용한 프로그래밍부터 리팩터링, 문서 자동화, ChatGPT API, 랭체인까지
오노 사토시 지음, 김진호 옮김 / 제이펍 / 2024년 9월
평점 :
'내돈내산' 책
《소프트웨어 개발에 Chat GPT 사용하기》이다.
이 책은
'프리랜서 소프트웨어 개발자(프로그래머)의 Chat GPT 사용 노하우'를 배울수 있는 책이다.
구체적인 내용은 아래와 같다.
1. 프로그래밍
2. 리팩토링
3. 문서작성
4. 개발 방법의 제안
5. 학습 과정에 대한 제안
6. API의 활용과 외부 데이터 연계, 과정 자동화
『인상 깊은 내용』

현장에서 필요한 수준의 거대한 프로그램은 작성해 주지 않는다는 것도 금방 알게 됩니다.
설계서를 그대로 주고 부탁하기만 하면 완성되는 그런 일은 없는 것이지요.
[p.25]
▶▶▶
필자도 100% 공감하는 내용이다.
소프트웨어 개발 실무에서도 Chat GPT를 사용하지만 100% 맞게 소스코드를 만들어 주지는 않는다.
Chat GPT가 소스코드를 50~60% 정도는 만들어 주면
개발자는 소프트웨어 설계서에 맞게 스스로가 자기 생각대로 소스코드를 다듬어야 한다.
또 네트워크 소프트웨어 개발 같은 경우 설비와 통신하는 PLC 장치 있다.
PLC 장치와 통신하기 위한 메모리맵이 필요한데 Chat GPT가 메모리 맵을 작성을 해줄 수는 없으니 말이다.
[p.37]
클래스화
▶▶▶
여러 프로그래밍 언어들이 있다. 그 언어들 중에서 각각의 고유 특징이 있다.
이 고유 특징을 제대 활용하면 최적화를 할 수가 있다.
최적화가 되면 소스코드나 기능 전체를 재사용할 수가 있고 시간을 절약 시켜준다.
이 책에는 파이썬을 예로 들었는데 파이썬도 객체지향이 지원이 된다.
Chat GPT 이용해서 객체지향 프로그래밍 하는 방법을 알려주고 있다.
파이썬을 제대로 활용하려면 객체지향 프로그램을 배우는 것도 하나의 방법인듯하다.
괜찮은 오픈소스들은 다 객체지향으로 되어 있기 때문이다.


[p.44~45]
▶▶▶
좋은 예제여서 실무에서도 좋은 사례이다.
실제로 필자도 경험한 사례이기도 하다.
if 문에 else를 여러 개를 사용하면 많은 문제점이 생긴다.
이런 걸 일명 '스파게티 코드'라고 한다.
현재 생각으로 if~else 사용하면 두 가지 문제점이 생각났다.
첫 번째는 if 문 많으면 나중에 유지 보수할 때 이전 코드의 파악하는 시간이 오래 걸린다.
두 번째는 설사 수정을 했더라도 다른 기능에 문제가 생길 수 있다. 그래서 회기 테스트를 많이 해야 한다.
회기 테스트하는 것도 시간과 비용이 들어가니 말이다.
Chat GPT를 이용해 if~else 문을
디자인 패턴(Design Pattern)의 행위(Behavioral) 패턴 중에 하나인 상태 패턴 (State Pattern)
으로 변경하는 좋은 예제를 설명해 주었다.
『결론은?』
경력이 많은 프리랜서 소프트웨어 개발자(프로그래머)에게 의외로 배울 수 있는 것이 많다.
그 이유는 기술적인 부분을 포함하여, 업무처리하는 부분, 경험적인 부분도 배울 수 있기 때문이다.
이 책은 단순 '코딩 관점' 아니라 '문제 해결' 관점으로 보면 노하우를 배울수 있는 책이다.
'소프트웨어 개발자'는 문제를 해결하는 사람이지 단순 코딩만 하는 사람이 아니까 말이다.
또 객체지향 개념, 디자인패턴 개념, ERD개념, 문서화 개념등 관련된 기술을 알면 알 수록 많이 써먹을수 있는 책이다.