소프트웨어 개발에 ChatGPT 사용하기

소프트웨어 개발에 ChatGPT 사용하기

$29.68
Description
AI를 활용하는 개발자가 살아남는다
40년 경력의 베테랑 개발자가 효율적인 ChatGPT 활용법을 알려준다. 코드 생성, 테스트 주도 개발, 디버깅, 애플리케이션 제작, 문서 작성 등 다양한 분야의 질문을 ChatGPT에 던지고, 리팩터링, 문서 자동화, ChatGPT API, 랭체인 등 AI 도구를 통해 문제를 더 빠르고 정확하게 해결하는 방법을 살펴본다. AI 시대에 발맞춰 효율적인 개발자가 되어보자.

저자

오노사토시

저자:오노사토시
소프트웨어개발경력40년이넘는개발자.웹애플리케이션부터데이터베이스까지폭넓은지식과기술을보유하고있으며,최근에는파이썬으로앱을개발하고있다.저서로《現場で使えるSQL(실무에서사용하는SQL)》,《3ステップでしっかりぶOracle入門(3단계로확실히배우는오라클입문)》등이있다.

역자:김진호
25년차소프트웨어개발자로SK텔레콤에서싸이월드,티맵등의모바일솔루션을개발했으며,사우디아라비아등중동의여러국가,인도네시아,멕시코의서버부터단말기에이르는은행결제시스템을개발해왔습니다.이후K-POP,블록체인,애자일솔루션등다양한분야의업체에서CTO와개발이사를역임했습니다.저서로는『실전안드로이드프로그래밍』(케이엔피IT,2011),『갤럭시S&안드로이드폰완전정복』(이비락,2010),『갤럭시S안드로이드폰어플활용백서』(글로벌,2010),『입문자를위한WindowsCEProgramming』(가남사,2002)등이있으며,번역서로는『디자인패턴의아름다움』(제이펍,2023)과『컴퓨터밑바닥의비밀』(길벗,2024)이있습니다.

목차

옮긴이머리말x
베타리더후기xii
시작하며xiv
감사의글xvi
이책에대하여xvii

CHAPTER1ChatGPT로할수있는것은무엇일까?1
1.1ChatGPT로무엇을할수있을까?2
__1.1.1ChatGPT를비서로5
__1.1.2ChatGPT를내동료로7
__1.1.3개발프로세스에서ChatGPT활용하기8
1.2어떻게가능할까?10
__1.2.1트랜스포머의탄생10
__1.2.2간단하게살펴볼까요?11
__1.2.3토큰의분해와순서부여12
__1.2.4주의집중이란13
__1.2.5단일주의집중과복수의주의집중15
__1.2.6부호기에의해생성된문맥을복호기에연결하기17
__1.2.7더이상두렵지않다!AttentionIsAllYouNeed18
__1.2.8GPT는어떻게문장을생성하는것일까?19

CHAPTER2프로그래밍에서의활용23
2.1자동코드작성24
__2.1.1이해는하지만잘하지못하는것을맡기기25
__2.1.2작게쪼개서요청하기28
__2.1.3함수에대한테스트코드도함께생성하기31
__2.1.4단계별로쌓아올리기33
2.2오류대책33
__2.2.1오류대책의기본33
__2.2.2오류가계속반복되는경우에대한대응방법35
__2.2.3그래도오류가해결되지않는다면35
2.3클래스화에대하여36
__2.3.1클래스구성도로부터코드생성접근하기40
2.4상태전이표로코드생성하기43
__2.4.1상태전이표로부터코드생성접근하기44
2.5디자인패턴제안받기50
__2.5.1적합한디자인패턴찾기52
2.6알고리즘제안받기54
2.7단계별로쌓아올리기70
2.8코드변환80
__2.8.1SQL버전이달라도두렵지않다81
__2.8.2다른프로그래밍언어(또는여러개의언어)도쉽게배울수있다83
__2.8.3다른언어에서도작동하는코드로변환하기86
__2.8.4이것까지된다고?90
2.9테스트케이스에서주의할점93

CHAPTER3리팩터링에서의활용95
3.1자투리시간에가볍게리팩터링하기97
__3.1.1함수분할97
__3.1.2변수이름과함수이름의개선99
__3.1.3중복제거100
3.2주석과문서화102
__3.2.1인라인주석을추가해달라고하기102
__3.2.2함수문서를추가해달라고하기104
3.3보안취약성확인107
3.4예외처리와논리완전성개선112
__3.4.1예외처리개선112
__3.4.2논리완전성확인과개선114

CHAPTER4문서의자동작성117
4.1파워포인트슬라이드자동작성118
4.2워드문서자동작성124
4.3엑셀연계문서자동작성127
4.4diagrams를사용한클라우드구성도작성134
4.5dbdiagram.io에의한개체관계구성도작성139

CHAPTER5각종개발방법의제안145
5.1도메인주도설계와구현147
5.2테스트주도개발에의한테스트기반구현165
5.3ChatGPT와소프트웨어개발의접근방식175

CHAPTER6학습과정에서의활용177
6.1분야별학습178
__6.1.1학습체험을시작하면서179
__6.1.2[Step1]학습영역범위좁히기179
__6.1.3[Step2]학습테마결정181
__6.1.4[Step3]생성코드로직접체험하는학습183
__6.1.5[Step4]코드학습뒤확인작업189
__6.1.6[Step5]더욱깊이파고들어의미이해하기190
__6.1.7[Step6]현실응용을위해함수깊이파고들기190
__6.1.8[Step7]소크라테스의가정교사(GPT-4전용)192
__6.1.9[Step8]무한대화를무기로삼아193
6.2프로그래밍언어학습194
__6.2.1[Step1]대상언어의특징이해하기195
__6.2.2[Step2]작동환경구축196
__6.2.3[Step3]언어치트시트작성하기198
__6.2.4[Step4]빌드이해하기199
__6.2.5[Step5]소크라테스대화법으로정리205
6.3학습속도를높이는ChatGPT206

CHAPTER7ChatGPTAPI의활용207
7.1가장기본적인사용방법208
__7.1.1API키발급208
__7.1.2가장간단한코드211
__7.1.3결과를스트림으로표시하기213
__7.1.4챗봇화하기214
7.2요약으로문맥연결하기216
7.3자연어로사내데이터베이스질의하기222
7.4사내데이터베이스와연계한사용자지원232
__7.4.1역할을분담시키기232

CHAPTER8ChatGPT로장문데이터다루기245
8.1LlamaIndex로장문데이터처리247
__8.1.1장문의외부데이터와의연계체험하기247
__8.1.2어떤원리로작동하는가256
__8.1.3적재기사용하기256
8.2랭체인으로장문데이터처리261
__8.2.1색인저장과적재266
__8.2.2적재기사용하기268
__8.2.3장문을ChatGPT에서취급할때의요령271

CHAPTER9랭체인을이용한과정자동화275
9.1랭체인구조276
9.2Chains로작업연결하기278
__9.2.1일단사용해보기279
__9.2.2단독체인으로질의하기280
__9.2.3단독체인을연결해보기282
__9.2.4SimpleSequentialChain으로한번에연결하기285
__9.2.5SequentialChain으로여러개의결과얻기287
9.3Chains기반의챗봇예제290
__9.3.1랭체인을이용한기본적인챗봇291
__9.3.2SQL질의방법293
__9.3.3챗봇구현296
9.4Agent를이용한코드실행304
__9.4.1파워포인트자동작성304
__9.4.2diagrams를사용한클라우드구성도자동작성307
__9.4.3그래프자동작성309
9.5Agent를이용한판단/실행/과정자동화311
__9.5.1자동으로퍼즐을푸는간단한예311
__9.5.2웹검색에대응하기316
__9.5.3색인데이터베이스검색통합하기319
__9.5.4PDF문서검색하기322
__9.5.5여러개의색인데이터베이스를각각별도의도구로생성하기324
__9.5.6SQL데이터베이스검색통합하기329
9.6Agent를이용한챗봇최종형332
__9.6.1대화예시336
__9.6.2그게무슨상관인데요?342

마치며343
찾아보기346

출판사 서평

성장하는개발자가되기위해챗GPT와페어프로그래밍잘하는방법
챗GPT가처음등장했을당시충격을뒤로하고개발자들은챗GPT가가져올가능성과영향에대해고민했고,그결과수많은활용법이쏟아져나왔다.그리고단어몇개만으로실사영상을제작할수있는단계까지왔다.2022년11월등장한이후로불과2년도안된사이에벌어진일이다.이제개발자는기존개발방식이AI의등장으로어떻게변화할지준비해야한다.

이책은개발경력40년이넘는저자가혁신적인기술인챗GPT를실무에서어떻게활용할것인지치열하게고민한결과를담았다.코드생성은물론이고,프로토타이핑,테스트주도개발,디버깅등의개발프로세스와각종방법론을결합하는방법,문서작성과애플리케이션개발시활용법등수많은질문과답을챗GPT와주고받는다.

1장에서는챗GPT의기본개념과작동방식을,2장에서는자동코드생성,오류처리,다지인패턴구현등챗GPT를활용해효율적으로프로그래밍하는방법을소개한다.3장에서는챗GPT로함수분할,변수명과함수명개선,중복코드제거와같은리팩터링하는방법뿐만아니라주석작성과문서화하는방법까지다루며,4장에서는챗GPT로파워포인트,엑셀,워드등의문서를자동으로생성하고,파이썬라이브러리인diagrams로클라우드구성도를작성해본다.

5장에서는도메인주도개발,테스트주도개발등다양한개발방법론을챗GPT에서활용하는방법을알아보고,6장에서는Go,러스트등프로그래밍언어를통해학습할때챗GPT를어떻게활용할것인지살펴본다.7장에서는오픈AI가제공하는ChatGPTAPI의기본적인사용법과설정방법을설명하면서웹서비스에챗GPT기능을호출해본다.8장에서는장문데이터를챗GPT로생성하고분석하는방법을라마인덱스라이브러리를사용하여알아본다.마지막으로9장에서는랭체인의기본개념과구조를알아보고,랭체인의에이전트와챗GPT기능과결합한프로세스자동화방법을제시한다.

다양하고유용한챗GPT활용법을담은이책을다읽고나면,챗GPT를페어프로그래밍동료로활용하여개발효율성을극대화하고품질높은소프트웨어를개발할수있게될것이다.

주요내용
ChatGPTAPI활용하기
라마인덱스,랭체인으로장문의데이터처리하기
랭체인으로프로세스자동화하기
코드작성,오류대책등프로그래밍하기
주석,예외처리개선등리팩터링하기
파워포인트,워드,엑셀등문서작성하기
러스트,Go등프로그래밍언어학습하기
DDD,TDD등개발방식과연계하기