본문 바로가기

추천 검색어

실시간 인기 검색어

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

챗GPT를 활용한 프로그래밍부터 리팩터링, 문서 자동화, ChatGPT API, 랭체인까지
오노 사토시 저자(글) · 김진호 번역
제이펍 · 2024년 09월 27일
10.0
10점 중 10점
(15개의 리뷰)
도움돼요 (57%의 구매자)
  • 소프트웨어 개발에 ChatGPT 사용하기 대표 이미지
    소프트웨어 개발에 ChatGPT 사용하기 대표 이미지
  • 소프트웨어 개발에 ChatGPT 사용하기 부가 이미지1
    소프트웨어 개발에 ChatGPT 사용하기 부가 이미지1
  • 소프트웨어 개발에 ChatGPT 사용하기 부가 이미지2
    소프트웨어 개발에 ChatGPT 사용하기 부가 이미지2
  • A4
    사이즈 비교
    210x297
    소프트웨어 개발에 ChatGPT 사용하기 사이즈 비교 189x245
    단위 : mm
01 / 04
무료배송 소득공제
10% 25,200 28,000
적립/혜택
1,400P

기본적립

5% 적립 1,400P

추가적립

  • 5만원 이상 구매 시 추가 2,000P
  • 3만원 이상 구매 시, 등급별 2~4% 추가 최대 1,400P
  • 리뷰 작성 시, e교환권 추가 최대 300원
배송안내
무료배송
배송비 안내
국내도서/외국도서
도서 포함 15,000원 이상 구매 시 무료배송
도서+사은품 또는 도서+사은품+교보Only(교보굿즈)

15,000원 미만 시 2,500원 배송비 부과

교보Only(교보배송)
각각 구매하거나 함께 20,000원 이상 구매 시 무료배송

20,000원 미만 시 2,500원 배송비 부과

해외주문 서양도서/해외주문 일본도서(교보배송)
각각 구매하거나 함께 15,000원 이상 구매 시 무료배송

15,000원 미만 시 2,500원 배송비 부과

업체배송 상품(전집, GIFT, 음반/DVD 등)
해당 상품 상세페이지 "배송비" 참고 (업체 별/판매자 별 무료배송 기준 다름)
바로드림 오늘배송
업체에서 별도 배송하여 1Box당 배송비 2,500원 부과

1Box 기준 : 도서 10권

그 외 무료배송 기준
바로드림, eBook 상품을 주문한 경우, 플래티넘/골드/실버회원 무료배송쿠폰 이용하여 주문한 경우, 무료배송 등록 상품을 주문한 경우
주문정보를 불러오는 중입니다.
기본배송지 기준
배송일자 기준 안내
로그인 : 회원정보에 등록된 기본배송지
로그아웃 : '서울시 종로구 종로1' 주소 기준
로그인정확한 배송 안내를 받아보세요!

이달의 꽃과 함께 책을 받아보세요!

1권 구매 시 결제 단계에서 적용 가능합니다.

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

북카드

키워드 Pick

키워드 Pick 안내

관심 키워드를 주제로 다른 연관 도서를 다양하게 찾아 볼 수 있는 서비스로, 클릭 시 관심 키워드를 주제로 한 다양한 책으로 이동할 수 있습니다.
키워드는 최근 많이 찾는 순으로 정렬됩니다.

소프트웨어 개발에 ChatGPT 사용하기 상세 이미지

책 소개

이 책이 속한 분야

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

작가정보

저자(글) 오노 사토시

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

번역 김진호

25년 차 소프트웨어 개발자로 싸이월드, 티맵 등의 모바일 설루션을 개발했으며, 사우디아라비아 등 중동의 여러 국가, 인도네시아, 멕시코의 은행 결제 시스템을 개발해왔다. 이후 K-pop, 블록체인, 정보 관리 등 다양한 분야의 업체에서 CTO, 개발이사로 근무했다. 지은 책으로 《실전 안드로이드 프로그래밍》(케이엔피 IT, 2011), 《갤럭시 S & 안드로이드폰 완전정복》(이비락, 2010) 등이 있으며, 옮긴 책으로 《디자인 패턴의 아름다움》(제이펍, 2023), 《컴퓨터 밑바닥의 비밀》(길벗, 2024)이 있다.

목차

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

    CHAPTER 1 ChatGPT로 할 수 있는 것은 무엇일까? 1
    1.1 ChatGPT로 무엇을 할 수 있을까? 2
    __1.1.1 ChatGPT를 비서로 5
    __1.1.2 ChatGPT를 내 동료로 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 더 이상 두렵지 않다! Attention Is All You Need 18
    __1.2.8 GPT는 어떻게 문장을 생성하는 것일까? 19

    CHAPTER 2 프로그래밍에서의 활용 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.1 SQL 버전이 달라도 두렵지 않다 81
    __2.8.2 다른 프로그래밍 언어(또는 여러 개의 언어)도 쉽게 배울 수 있다 83
    __2.8.3 다른 언어에서도 작동하는 코드로 변환하기 86
    __2.8.4 이것까지 된다고? 90
    2.9 테스트 케이스에서 주의할 점 93

    CHAPTER 3 리팩터링에서의 활용 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

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

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

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

    CHAPTER 7 ChatGPT API의 활용 207
    7.1 가장 기본적인 사용 방법 208
    __7.1.1 API 키 발급 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

    CHAPTER 8 ChatGPT로 장문 데이터 다루기 245
    8.1 LlamaIndex로 장문 데이터 처리 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

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

    마치며 343
    찾아보기 346

추천사

  • 현재까지 가장 발전한 형태의 소프트웨어라고 불리는 생성형 AI를 활용해 또 다른 소프트웨어를 개발하는 건 굉장히 놀라운 일이다. 이 책은 혁신적인 도구로서 ChatGPT의 가능성을 탐구하는 필독서이며, 특히 개발자에게 새로운 시각을 제공해 개발 과정을 최적화하고, 문제 해결 능력을 향상시킬 수 있도록 도와준다. 어쩌면 인공지능을 통해 효율성과 창의성을 극대화하는 과정이야말로 인류가 나아가야 할 합리적인 방향이 아닐까? 한층 가깝게 다가올 소프트웨어 개발의 미래를 기대해본다.

책 속으로

파이썬에서 테스트 코드를 작성하는 경우 pytest가 주류를 형성하지만, 구글 코랩(Google Colab)에서는 이를 사용하기가 불편합니다. pytest는 기본적으로 파일을 대상으로 검색한 후 테스트 코드를 찾아 실행하는 것이 주된 사용 방법이기 때문에, 구글 코랩과 같은 셀 단위 실행 환경에는 적합하지 않습니다. 반면 파이썬 표준인 unittest는 셀 단위로 실행할 수 있기 때문에 구글 코랩에서 이용하기 편리합니다. (...) argv=['first-arg-is-ignored']는 실제로는 사용되지 않는 가짜 인수(dummy parameter)입니다. 일반적인 파이썬 스크립트에서 argv의 첫 요소는 스크립트 이름이며, 가짜 인수를 통해 동일한 작동을 모방하기 위해 사용됩니다. (93쪽)

파이썬은 문서화를 함수, 클래스, 모듈에 녹여내는 것이 가능한 독스트링(docstring)이라는 특별한 문자열이 있습니다. 함수 정의 바로 아래에 작성하는 삼중 큰따옴표(""")로 둘러싸인 문자열입니다. 이 독스트링은 사실 함수의 설명으로 표시되는 기능을 제공합니다. (...) 이 기능을 이용하면 함수의 설명이나 사용 방법, 매개변수의 지정 방법을 알 수 있기 때문에 매우 편리합니다. 그림 3.1은 구글 코랩에서 설명하는 open() 함수입니다. 셀에 open?이라고 입력하면 도움말 화면이 열리고 그 안에 설명이 표시됩니다. 반면 help(open)이라고 실행하면 결과 셀에 설명이 표시됩니다. (104쪽)

구성도의 내용이 얼핏 보기에 복잡하게 보이지만 사실 매우 간단합니다. InventoryService를 보면 사용자가 하고 싶은 것들이 메서드로 표현되어 있으며, 도메인은 Product, Warehouse, Quantity, Inventory 부분입니다. 이 부분은 사용자(또는 시스템을 이용하는 사람들)가 직접 관여하여 비즈니스에서 의미를 가지는 영역입니다. 사용자와 이야기를 진행할 때 이것이 일반적이라고 인식하면 될 뿐입니다. 앞서 언급된 수수께끼의 보편적 언어입니다. / 이를 기반으로 사용자와 함께 이런저런 논의를 통해 뺄 것은 빼고 더할 것은 더해가다 보면 클래스 구성도의 정확도가 높아집니다. 지금까지의 방법을 통해 한국어라는 자연어로 도메인 주도 설계 기반의 개요를 설계하고 클래스 구성도를 출력한 다음, 이를 기반으로 개선한다는 흐름을 실현할 수 있습니다. (153쪽)

cargo run만 실행하면 target/debug 디렉터리에 실행 파일이 생성되지만, 최종 릴리스용 실행 파일이 아니었습니다. 최종적으로 최적화된 바이너리는 cargo build --release 명령에 의해 target/release 디렉터리에 프로젝트 이름과 동일한 이름으로 빌드되는 것을 알 수 있습니다. (...) 간단한 코드는 rustc로 실행 파일을 생성하고, 외부 라이브러리가 필요한 경우에는 Cargo.toml 파일에 의존 관계를 명시한 후 cargo run으로 실행 파일을 생성하고 실행합니다. 이때 디버그용 실행 파일이 debug 디렉터리에 생성되며, 릴리스용으로 최적화된 실행 파일은 cargo build --release로 생성한다는 것을 배웠습니다. (204쪽)

한국어 검색을 테스트하기에는 한국어가 더 적합하기에 이번에는 한국어 자료를 한국어로 질의해보겠습니다. 여기서는 테스트로 대한민국 헌법을 대상으로 하겠습니다. 국가법령정보센터의 대한민국 헌법 페이지3에서 그림 8.5와 같이 저장 아이콘을 눌러 헌법의 내용을 .doc 파일 형식으로 저장합니다. ‘대한민국헌법(헌법)(제00010호)(19880225).doc’라는 이름의 워드 파일을 다운로드합니다. / 워드 파일이기 때문에 데이터베이스로 활용하려면 UTF-8 코드 기반의 텍스트 파일로 저장합니다. 따라서 파일을 연 후에 그림 8.6과 같이 UTF-8 기반의 일반 텍스트 파일로 저장합니다. 이때 파일의 이름은 korean_constitution.txt로 설정합니다. (253쪽)

LLMChain() 함수에서 체인을 생성합니다. 여기서 생성된 체인은 단독으로 작동하지만 이와 같이 질의 응답이 가능합니다. 지금까지의 llm()과 별로 다르지 않으나 하나의 작업 단위로서 이를 연결합니다. / chain.run()에 매개변수로 주어진 ‘피보나치 수를 구한다’가 변수 product에 대입된 결과 프롬프트가 ‘파이썬으로 다음 프로그램 코드에 테스트 코드를 추가하여 작성해주세요.: 피보나치 수를 구한다’로 바뀌고, 바뀐 프롬프트가 실행됩니다. / 해당 체인은 사용자가 요청한 과제인 파이썬 코드를 작성합니다. 즉 ‘코드 작성 작업’입니다. 이 결과를 전달하여 코드 부분만 추출해 프로그램 안에서 subprocess()를 사용하여 실행하는 것도 가능합니다. (281쪽)

출판사 서평

성장하는 개발자가 되기 위해 챗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가 제공하는 ChatGPT API의 기본적인 사용법과 설정 방법을 설명하면서 웹서비스에 챗GPT 기능을 호출해본다. 8장에서는 장문 데이터를 챗GPT로 생성하고 분석하는 방법을 라마인덱스 라이브러리를 사용하여 알아본다. 마지막으로 9장에서는 랭체인의 기본 개념과 구조를 알아보고, 랭체인의 에이전트와 챗GPT 기능과 결합한 프로세스 자동화 방법을 제시한다.

다양하고 유용한 챗GPT 활용법을 담은 이 책을 다 읽고 나면, 챗GPT를 페어 프로그래밍 동료로 활용하여 개발 효율성을 극대화하고 품질 높은 소프트웨어를 개발할 수 있게 될 것이다.
주요 내용
● ChatGPT API 활용하기
● 라마인덱스, 랭체인으로 장문의 데이터 처리하기
● 랭체인으로 프로세스 자동화하기
● 코드 작성, 오류 대책 등 프로그래밍하기
● 주석, 예외 처리 개선 등 리팩터링하기
● 파워포인트, 워드, 엑셀 등 문서 작성하기
● 러스트, Go 등 프로그래밍 언어 학습하기
● DDD, TDD 등 개발 방식과 연계하기

기본정보

상품정보 테이블로 ISBN, 발행(출시)일자 , 쪽수, 크기, 총권수을(를) 나타낸 표입니다.
ISBN 9791193926468
발행(출시)일자 2024년 09월 27일
쪽수 372쪽
크기
189 * 245 * 21 mm / 864 g
총권수 1권

Klover

구매 후 리뷰 작성 시, e교환권 200원 적립

10점 중 10점
/최고예요
너무너무 재밌게 잘봤습니당
10점 중 10점
/추천해요
배송도 하루 만에 안전하게 잘 도착했습니다 감사합니다~~
10점 중 10점
/도움돼요
챗지피티 제대로 이용하기 위해, 내용 공부하려고 구매했습니다.
10점 중 10점
/도움돼요
프로그래밍에 사용하고리팩터링, 문서자동작성 등의 예제가 있네요
10점 중 10점
/도움돼요
러스트와 Go 등의 프로그래밍 언어 예제도있네요

문장수집 (0)

문장수집 안내
문장수집은 고객님들이 직접 선정한 책의 좋은 문장을 보여주는 교보문고의 새로운 서비스입니다. 마음을 두드린 문장들을 기록하고 좋은 글귀들은 "좋아요“ 하여 모아보세요. 도서 문장과 무관한 내용 등록 시 별도 통보 없이 삭제될 수 있습니다.
리워드 안내
구매 후 90일 이내에 문장수집 작성 시 e교환권 100원을 적립해드립니다.
e교환권은 적립 일로부터 180일 동안 사용 가능합니다. 리워드는 작성 후 다음 날 제공되며, 발송 전 작성 시 발송 완료 후 익일 제공됩니다.
리워드는 한 상품에 최초 1회만 제공됩니다.
주문취소/반품/절판/품절 시 리워드 대상에서 제외됩니다.
판매가 5,000원 미만 상품의 경우 리워드 지급 대상에서 제외됩니다. (2024년 9월 30일부터 적용)

구매 후 리뷰 작성 시, e교환권 100원 적립

이 책의 첫 기록을 남겨주세요.

교환/반품/품절 안내

상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

TOP