본문 바로가기

도서 소개

인간 vs. AI 정규표현식 문제 풀이 대결

 

인간 vs. AI의 재미있고 기발한 코딩 한판 대결

 

이 책은 24개의 정규표현식 문제를 파이썬 언어로 풀어보며 인간의 해결 방법과 ChatGPT, 코파일럿의 해결 방법은 어떻게 다른지 비교해본다. AI 코딩 어시스턴트의 기능과 한계를 이해하도록 돕고, 생산적인 프롬프트 작성법, AI 코딩 어시스턴트의 제안을 현명하게 취합하는 방법, 원하는 결과를 얻기 위해 AI 코딩 어시스턴트와 상호작용하는 방법을 알려준다. 이 책이 끝날 때쯤이면 AI를 사용하지 않아도 자신만의 방법으로 정규표현식을 풀 수 있는 달인이 될 것이다.

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

  [교보문고]  [구글북스]  [리디북스]  [알라딘]  [예스이십사]

 

출판사 제이펍
저작권사 Manning
원서명 Regular Expression Puzzles and AI Coding Assistants (9781633437814)
도서명 인간 vs. AI 정규표현식 문제 풀이 대결
부제 24개의 정규표현식 퍼즐로 알아보는 ChatGPT, 코파일럿 활용법
지은이 데이비드 머츠
옮긴이 김모세
감수자 (없음)
시리즈 (없음)
출판일 2023. 10. 05
페이지 200쪽
판 형 46배판변형(188*245*12)
제 본 무선(soft cover)
정 가 22,000원
ISBN 979-11-92987-39-2 (93000)
키워드 정규표현식, AI, AI 코딩 어시스턴트, AI 코딩 비서, ChatGPT, Copilot, 챗GPT, 코파일럿, 파이썬, 프롬프트, 인공지능
분 야 프로그래밍 / 인공지능

 

관련 사이트
아마존 도서 페이지
저작권사 도서 페이지

 

관련 시리즈

■ (없음)

 

관련 포스트

2023.09.15 - [출간 전 책 소식] - 진화하는 AI, 프로그래밍 세계도 진화하고 있다

 

관련 도서

■ (없음)

 

관련 파일 다운로드

■ (없음)

 

강의 보조 자료
■ (없음)

 

관련 영상

 

미리보기(옮긴이 머리말, 베타리더 후기, 지은이·옮긴이 소개, 시작하며, 감사의 글, 이 책에 대하여, 표지에 대하여, Chapter 1)

 

정오표 페이지
https://jpub.tistory.com/1473

 

도서구매 사이트(가나다순)

  [교보문고]  [도서11번가]  [알라딘]  [예스이십사]  [인터파크]  [쿠팡

 

전자책 구매 사이트(가나다순)

  [교보문고]  [구글북스]  [리디북스]  [알라딘]  [예스이십사]

 

도서 소개

수수께끼 같은 정규표현식을 인간과 ChatGPT, 코파일럿이 함께 풀어본다

 

정규표현식은 문자열 검색, 추출, 치환 등 문자열 처리에 활용되는 형식 언어로, 많은 프로그래머와 개발자는 필수적으로 사용하지만 적용하는 데 어려움을 겪기도 한다. 하지만 대부분 프로그래밍 언어가 정규표현식을 지원할 정도로 실용성이 높을 뿐만 아니라 간단하며 강력하다. 인터넷에서 가장 오랜 시간 읽힌 정규표현식 튜토리얼을 작성한 저자는 매우 신선한 관점으로 정규표현식에 접근한다. 수많은 프로그래머의 손이 되어주고 있는 AI 코딩 어시스턴트의 활용이다.

 

AI는 하루가 다르게 발전하고 있고, 앞으로도 계속해 개선되고 지금보다 더 다양한 분야에서 활용될 것이다. 이미 수백만 명의 개발자가 ChatGPT, 코파일럿, 바드 등으로 대표되는 AI 코딩 어시스턴트로 코드를 작성하면서 도움을 받고 있다. 매우 인간적인 응답과 완성도를 보면 AI의 한계가 보이지 않아 충격적이기까지 하다. 그렇다면 AI는 인간보다 훌륭하고 완벽하게 코드를 작성하는 것일까?

 

이 책은 현재 가장 인기 있는 도구인 ChatGPT와 코파일럿, 그리고 인간의 대결이라는 매우 흥미로운 방식을 선택했다. 24개의 정규표현식 문제를 인간과 ChatGPT, 코파일럿은 어떻게 해결하는지 보여준다. 정규표현식의 특징을 더 영리하게 활용한 것은 인간일까, 기계일까? 더 간단하고 우아한 코드를 작성하는 것은 어느 쪽일까?

 

때로는 우리를 매우 놀라게 하고, 때로는 우리에게 실망감을 안겨주는 ChatGPT와 코파일럿의 제안을 통해 AI 코딩 어시스턴트의 기능과 한계를 이해할 수 있다. 또한, 이 과정을 통해 올바른 결과를 이끌어내기 위한 생산적인 프롬프트 작성법 및 상호작용하는 방법, AI 코딩 어시스턴트의 제안과 인간의 생각을 현명하게 취합하는 방법을 배울 수 있다. 이 책을 덮을 때쯤이면 정규표현식을 이해할 수 있게 되는 것은 물론 똑똑하게 AI 코딩 어시스턴트를 활용해 좀 더 완벽한 코드를 완성할 수 있게 될 것이다.

 

지은이 소개

데이비드 머츠(David Mertz)

머신러닝 및 과학 컴퓨팅 분야에서 개발자와 데이터 과학자를 교육하는 KDM Training의 창업자다. 아나콘다의 데이터 과학 훈련 프로그램을 만들었으며 고급 과정을 가르쳤다. 심층 신경망이 등장하면서 로봇 오버로드(지능을 갖춘 미래형 로봇)를 훈련시키는 쪽으로 분야를 옮겼다.

D.E. 쇼 리서치(D.E. Shaw Research)에서 8년간 일했으며, 6년간 파이썬 소프트웨어 재단의 이사를 역임했다. 현재 상표위원회와 Scientific Python Working Group의 공동 의장을 맡고 있다. 2000년대에 작성한 과 는 파이썬 분야에서 가장 많이 읽힌 글이다.

저서로 《데이터 과학 효율을 높이는 데이터 클리닉》(에이콘출판사), 《The Puzzling Quirks of Regular Expressions》이 있다.

 

옮긴이 소개

김모세

대학 졸업 후 소프트웨어 엔지니어, 소프트웨어 품질 엔지니어, 애자일 코치 등 다양한 부문에서 소프트웨어 개발에 참여했다. 재미있는 일, 나와 조직이 성장하고 성과를 내도록 돕는 일에 보람을 느껴 2019년부터 번역을 시작했다. 저서로 《코드 품질 시각화의 정석》(지앤선)이 있고, 옮긴 책은 《아트 오브 셸 원라이너 160제》(제이펍), 《추천 시스템 입문》(한빛미디어), 《타입스크립트, 리액트, Next.js로 배우는 실전 웹 애플리케이션 개발》(위키북스), 《애자일 개발의 기술(2/e)》(에이콘출판사) 등 다수다.

 

차례

옮긴이 머리말 x

베타리더 후기 xi

지은이·옮긴이 소개 xiv

시작하며 xvi

감사의 글 xviii

이 책에 대하여 xix

표지에 대하여 xxii

 

CHAPTER 1 이 책이 다루는 범위 1

01 정규표현식에 관해 4

02 프로그래밍 기계의 등장 5

03 의도적인 소프트웨어 개발 8

 

CHAPTER 2 수량자와 특별한 하위 패턴들 11

퍼즐 01 와일드카드 스코프 13

x로 시작하고 y로 끝나는 모든 단어를 매치하라 13

[저자 생각] 각 패턴은 무엇과 매치하는가? 14

[AI 생각] CodingNet 17

퍼즐 02 단어와 시퀀스 18

더보기

일부 단어들이 x로 시작하지 않더라도 매치하라 18

[저자 생각] 무엇이 단어 경계를 결정하는지 생각하라 19

[AI 생각] 트랜스포머 19

퍼즐 03 Endpoint 클래스 21

같은 문자 클래스의 시작과 끝이 다른 단어를 매치하라 21

[저자 생각] 정규표현식을 다듬어서 우리가 원하는 것과 매치하자 22

[AI 생각] 친구들은 전기로 움직이는가? 22

퍼즐 04 구성 포맷 26

정규표현식을 사용해서 구성 포맷을 파싱하라 26

[저자 생각] 형태는 경계선을 가진다는 것을 기억하라 27

[AI 생각] 사이버다인 볼트 노트 27

퍼즐 05 사람의 유전자 29

텔로미어로 끝나는 DNA 인코딩 시퀀스를 식별하라 29

[저자 생각] 분자생물학의 중심 원리를 기억하라 31

[AI 생각] 안드로이드는 전기양의 꿈을 꾸는가? 32

 

CHAPTER 3 함정과 톱니바퀴 속 모래 37

퍼즐 06 치명적인 백트래킹 39

정규표현식을 사용해 메시지 프로토콜을 빠르게 검증하라 39

[저자 생각] 파국을 피하기 위해 노력하라 41

[AI 생각] 기술적 특이점 43

퍼즐 07 도미노 플레이하기 45

ASCII로 표현되어 매치된 도미노들을 식별하라 45

[저자 생각] 첫 번째 생각보다 효율적인 방법을 시도하라 46

[AI 생각] 막대기와 돌멩이를 사용하는 전쟁 47

퍼즐 08 고급 도미노 49

유니코드의 코드 포인트로서 매치하는 도미노들을 식별하라 49

[저자 생각] 다이어그램에 관한 생각은 항상 즐겁다 51

[AI 생각] 얼마나 많은 독자가 튜링 테스트를 통과할 수 있을까? 51

퍼즐 09 센서 아트 54

상태 시퀀스에서 유효하게 인코딩된 신호들만 식별하라 54

[저자 생각] 매치 패턴이 존재한다면 찾아라 56

[AI 생각] 내 마음은 움직이고 있어. 나는 느낄 수 있어 57

 

CHAPTER 4 정규표현식을 사용해서 함수 생성하기 61

퍼즐 10 str.count() 재구현하기 63

정규표현식을 사용해 str.count()와 등가인 함수를 작성하라 63

[저자 생각] 정규표현식으로 어떻게 하위 문자열의 출현을 셀 수 있을까? 64

[AI 생각] 특별한 기계 64

퍼즐 11 str.count() 재구현하기(더욱 엄격하게) 67

숫자 변수를 사용하지 않고 str.count()에 해당하는 함수를 작성하라 67

[저자 생각] 주어진 제약을 만족하는 파이썬 함수를 작성하라 68

[AI 생각] HORAR의 전쟁 70

퍼즐 12 함수 이름 찾기 72

함수에 일반적인 이름이 아닌 의미 있는 이름을 지어라 72

[저자 생각] 코드는 처음 작성되었을 때보다 훨씬 더 많이 읽힌다 73

[AI 생각] 컴퓨터 과학에는 두 가지 어려운 문제가 있다 73

퍼즐 13 포커 플레이 1 74

앞으로 나올 퍼즐을 위해 적절하게 정규표현식을 사용하는 기능을 만들어라 74

[저자 생각] 함수들은 프로그램 규모가 클수록 도움이 된다 75

[AI 생각] 그는 내 포커페이스를 읽을 수 없다 76

퍼즐 14 포커 플레이 2 82

스트레이트 또는 플러시 카드 패를 식별하라 82

[저자 생각] 천 리 길도 한 걸음부터 82

[AI 생각] 불공평한 일에서 인간을 보호하는 사회 84

퍼즐 15 포커 플레이 3 88

포커 카드 패를 포 카드와 매치하라 88

[저자 생각] 이길 수 없다면 속이고 또 속여라 89

[AI 생각] 언젠가는 기계들도 숫자를 셀 수 있을 것이다 89

퍼즐 16 포커 플레이 4 91

포커 카드 패를 풀 하우스와 매치하라 91

[저자 생각] 불운을 감수하고 베팅해야 할 수도 있다 92

[AI 생각] 자유 의지는 공짜가 아니다 93

퍼즐 17 포커 플레이 5 96

포커 카드 패에서 트리플, 투 페어, 원 페어를 매치하라 96

[저자 생각] 3은 2보다 크지만 4보다 작다 97

[AI 생각] 2까지 세기 99

 

CHAPTER 5 쉽고, 어렵고, 불가능한 작업들 103

퍼즐 18 같은 카운트 식별하기 105

시작과 끝 기호의 균형을 맞추어라 105

[저자 생각] 수평적 사고가 답을 찾는 데 도움이 될 수 있다 105

[AI 생각] 여기 용들이 있다 106

퍼즐 19 단어가 중복되기 전에 매치하기 108

전체 문자열 안에서 중복되지 않는 초기 접두사를 매치하라 108

[저자 생각] 요구 사항을 만족시킬 패턴을 찾아라 109

[AI 생각] 촘스키 위계의 딥페이크 110

퍼즐 20 IPv4 주소 테스팅하기 113

IPv4 주소 형식을 실용적으로 매치하라 113

[저자 생각] 이 문제에 대해 정규표현식이 충분히 강력한지 질문하라 114

[AI 생각] 나는 기계가 되고 싶어 115

퍼즐 21 숫자 시퀀스 매치하기 117

연속해서 두 배가 되는 숫자를 나타내는 시퀀스를 매치하라 117

[저자 생각] 해결책이 될 수 없는 것을 배제하라 118

[AI 생각] 밀과 체스보드 119

퍼즐 22 피보나치 수 매치하기 122

피보나치 수를 나타내는 문자열을 매치하라 122

[저자 생각] 황금비 나선은 우아하게 피보나치 수를 일반화한다 123

[AI 생각] 자연의 프랙털 기하학 124

퍼즐 23 소수 매치하기 127

소수 시퀀스의 초기 유한 접두사를 나타내는 문자열을 매치하라 127

[저자 생각] 정수론의 기본 정리를 존중하라 128

[AI 생각] 상식과 비상식 129

퍼즐 24 상대 소수 매치하기 131

상대 소수(서로소)의 시퀀스를 나타내는 문자열을 매치하라 131

[저자 생각] 참과 거짓은 사람의 생각에 따라 결정된다 132

[AI 생각] 아침 식사 전에 불가능한 여섯 가지 일들 133

 

마치며 135

 

APPENDIX A 정규표현식 사용 방법 137

01 정규표현식을 사용하는 도구는 무엇인가? 140

02 초급: 텍스트의 패턴 매치하기 141

03 중급: 텍스트의 패턴 매치하기 149

04 고급: 정규표현식 확장 157

 

APPENDIX B 엔딩 크레디트 165

 

정규표현식 주요 패턴 171

찾아보기 173

 

 

제이펍 소식 더 보기(제이펍의 소통 채널에서 더욱 다양한 소식을 확인하세요!)

  포스트  유튜브  인스타그램  트위터  페이스북