인간 vs. AI 정규표현식 문제 풀이 대결 (24개의 정규표현식 퍼즐로 알아보는 ChatGPT, 코파일럿 활용법)

인간 vs. AI 정규표현식 문제 풀이 대결 (24개의 정규표현식 퍼즐로 알아보는 ChatGPT, 코파일럿 활용법)

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

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

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

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

북 트레일러

  • 출판사의 사정에 따라 서비스가 변경 또는 중지될 수 있습니다.
  • Window7의 경우 사운드 연결이 없을 시, 동영상 재생에 오류가 발생할 수 있습니다. 이어폰, 스피커 등이 연결되어 있는지 확인 하시고 재생하시기 바랍니다.
저자

데이비드머츠

(DavidMertz)
머신러닝및과학컴퓨팅분야에서개발자와데이터과학자를교육하는KDMTraining의창업자다.아나콘다의데이터과학훈련프로그램을만들었으며고급과정을가르쳤다.심층신경망이등장하면서로봇오버로드(지능을갖춘미래형로봇)를훈련시키는쪽으로분야를옮겼다.
D.E.쇼리서치(D.E.ShawResearch)에서8년간일했으며,6년간파이썬소프트웨어재단의이사를역임했다.현재상표위원회와ScientificPythonWorkingGroup의공동의장을맡고있다.2000년대에작성한〈CharmingPython(매력적인파이썬)〉과〈XMLMatters(XML문제)〉는파이썬분야에서가장많이읽힌글이다.
저서로《데이터과학효율을높이는데이터클리닉》(에이콘출판사),《ThePuzzlingQuirksofRegularExpressions》이있다.

목차

옮긴이머리말x
베타리더후기xi
지은이·옮긴이소개xiv
시작하며xvi
감사의글xviii
이책에대하여xix
표지에대하여xxii

CHAPTER1이책이다루는범위1
01정규표현식에관해4
02프로그래밍기계의등장5
03의도적인소프트웨어개발8

CHAPTER2수량자와특별한하위패턴들11
퍼즐01와일드카드스코프13
x로시작하고y로끝나는모든단어를매치하라13
[저자생각]각패턴은무엇과매치하는가?14
[AI생각]CodingNet17
퍼즐02단어와시퀀스18
일부단어들이x로시작하지않더라도매치하라18
[저자생각]무엇이단어경계를결정하는지생각하라19
[AI생각]트랜스포머19
퍼즐03Endpoint클래스21
같은문자클래스의시작과끝이다른단어를매치하라21
[저자생각]정규표현식을다듬어서우리가원하는것과매치하자22
[AI생각]친구들은전기로움직이는가?22
퍼즐04구성포맷26
정규표현식을사용해서구성포맷을파싱하라26
[저자생각]형태는경계선을가진다는것을기억하라27
[AI생각]사이버다인볼트노트27
퍼즐05사람의유전자29
텔로미어로끝나는DNA인코딩시퀀스를식별하라29
[저자생각]분자생물학의중심원리를기억하라31
[AI생각]안드로이드는전기양의꿈을꾸는가?32

CHAPTER3함정과톱니바퀴속모래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

CHAPTER4정규표현식을사용해서함수생성하기61
퍼즐10str.count()재구현하기63
정규표현식을사용해str.count()와등가인함수를작성하라63
[저자생각]정규표현식으로어떻게하위문자열의출현을셀수있을까?64
[AI생각]특별한기계64
퍼즐11str.count()재구현하기(더욱엄격하게)67
숫자변수를사용하지않고str.count()에해당하는함수를작성하라67
[저자생각]주어진제약을만족하는파이썬함수를작성하라68
[AI생각]HORAR의전쟁70
퍼즐12함수이름찾기72
함수에일반적인이름이아닌의미있는이름을지어라72
[저자생각]코드는처음작성되었을때보다훨씬더많이읽힌다73
[AI생각]컴퓨터과학에는두가지어려운문제가있다73
퍼즐13포커플레이174
앞으로나올퍼즐을위해적절하게정규표현식을사용하는기능을만들어라74
[저자생각]함수들은프로그램규모가클수록도움이된다75
[AI생각]그는내포커페이스를읽을수없다76
퍼즐14포커플레이282
스트레이트또는플러시카드패를식별하라82
[저자생각]천리길도한걸음부터82
[AI생각]불공평한일에서인간을보호하는사회84
퍼즐15포커플레이388
포커카드패를포카드와매치하라88
[저자생각]이길수없다면속이고또속여라89
[AI생각]언젠가는기계들도숫자를셀수있을것이다89
퍼즐16포커플레이491
포커카드패를풀하우스와매치하라91
[저자생각]불운을감수하고베팅해야할수도있다92
[AI생각]자유의지는공짜가아니다93
퍼즐17포커플레이596
포커카드패에서트리플,투페어,원페어를매치하라96
[저자생각]3은2보다크지만4보다작다97
[AI생각]2까지세기99

CHAPTER5쉽고,어렵고,불가능한작업들103
퍼즐18같은카운트식별하기105
시작과끝기호의균형을맞추어라105
[저자생각]수평적사고가답을찾는데도움이될수있다105
[AI생각]여기용들이있다106
퍼즐19단어가중복되기전에매치하기108
전체문자열안에서중복되지않는초기접두사를매치하라108
[저자생각]요구사항을만족시킬패턴을찾아라109
[AI생각]촘스키위계의딥페이크110
퍼즐20IPv4주소테스팅하기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

APPENDIXA정규표현식사용방법137
01정규표현식을사용하는도구는무엇인가?140
02초급:텍스트의패턴매치하기141
03중급:텍스트의패턴매치하기149
04고급:정규표현식확장157

APPENDIXB엔딩크레디트165

정규표현식주요패턴171
찾아보기173