이전

리뷰 (5)

한줄평
평점 분포
  • 리뷰 총점10 80%
  • 리뷰 총점8 20%
  • 리뷰 총점6 0%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 9.0
  • 30대 0.0
  • 40대 10.0
  • 50대 10.0

포토/동영상 (1)

리뷰 총점 종이책
결과보다는 과정이 흥미진진하구만~
"결과보다는 과정이 흥미진진하구만~" 내용보기
이 책은 정규표현식이라는 주제로 인간과 AI Coding Assistants(ChatGPT, 코파일럿)의 대결(?)까지는 아니고, 토론하고 고민하는 내용을 담고 있다.개인적으로 주제 선정이 참 흥미롭다.(그래서 선택한 것이지만 ㅎㅎ)정규표현식과 AI Coding Assistants는 몰라도 개발하는 데, 지장이 없다.하지만, 알고 있다면 상황은 달라진다. 다양한 소프트웨어, OS, 라이브러리에서 활용 가능할 뿐
"결과보다는 과정이 흥미진진하구만~" 내용보기

이 책은 정규표현식이라는 주제로 인간과 AI Coding Assistants(ChatGPT, 코파일럿)의 대결(?)까지는 아니고, 토론하고 고민하는 내용을 담고 있다.


개인적으로 주제 선정이 참 흥미롭다.(그래서 선택한 것이지만 ㅎㅎ)

정규표현식과 AI Coding Assistants는 몰라도 개발하는 데, 지장이 없다.

하지만, 알고 있다면 상황은 달라진다. 다양한 소프트웨어, OS, 라이브러리에서 활용 가능할 뿐만 아니라 프로그래밍 언어(Java, Python, Perl, Javascript, ...)를 불문하고 적용할 수 있다. (이렇게 널리 사용되는 이유에 대해서도 우리는 생각해봐야 한다. )

 

AI Coding Assistants도 정규표현식과 마찬가지다. 이젠 구글링이 거의 필요 없을 정도로 챗GPT를 많이 사용한다. 구글링은 챗GPT의 오류를 검토하는 정도로만 사용하며, 기존의 구글링으로 소요되던 시간을 개발에 할애하게 되었으며, 문제나 에러는 AI Coding Assistants가 대부분 해결해준다.

 

따라서, 정규표현식과 AI Coding Assistants를 일찍 배우면 배울수록 개발자에겐 개이득인 것이다.

(문제가 발생했을 때 이들 도구를 떠올릴 수 있는 능력도 포함하여)

 

이 책에 관심을 두기 위해서는, 기본적으로 정규표현식과 AI Coding Assistants(코파일럿, 챗GPT)에 대한 이해도가 있어야 한다. 대결의 구도는 정규표현식과 AI Coding Assistants라는 두 가지 도구를 얼마나 능숙하게 다루는지도 상당히 중요하다.

개인적으로 책 제목에 흥미를 느끼시는 분들에게 아주 적합하지만, 초보 개발자에게도 폭넓은 경험을 제공하기 위해 꼭 읽어보길 추천해 드린다.

 

책의 구성은 5개의 CHAPTER와 부록 2개로 구성되어 있다.

1장에서는 가장 중요한 이 책이 다루는 범위를 다룬다. 예제는 Python 3.11 버전을 사용하며, 내장 모듈인 're'를 사용한다.

2장부터는 실제 퍼즐을 해결하면서 정규표현식을 더 자세히 알아가는 것으로, 와일드카드 스코프의 탐욕적 요소(맥시멈 매칭), 비 탐욕적 요소(미니멈 매칭), 단어와 시퀀스, Endpoint 클래스, 구성 포맷, 사람의 유전자를 문자열을 대상으로 정규표현식의 심화학습을 진행한다.

3장은 그룹핑을 사용하여 매칭하거나 변경하는 것으로, 치명적인 백트래킹, 도미노 플레이하기, 고급 도미노, 센서 아트라는 주제로 퍼즐을 풀어나간다.

4장은 포커 플레이 함수를 정규표현식을 사용하여 개선하고,

5장에서는 정규표현식과 AI Coding Assistants의 한계라는 주제에 관해 7가지 퍼즐로 고민하는 것으로 마무리한다.

 

마지막 부록도 잊지 말자!

기본적인 정규표현식 내용이 있으므로, 2장을 들어가기 전에 꼭 먼저 읽어보길 바란다.

 

각 장의 시작은 먼저 퍼즐의 문제를 제시하고, 저자가 퍼즐을 분석하고, 해결방안을 제시한다.

이어서 코파일럿과 챗GPT를 사용하여 같은 문제에 관해 질문(프롬프트)하고, 나온 결과에 대해서 평가를 한다.

 

이 책으로 정규표현식과 AI Coding Assistants의 그동안 생각지 못한 새로운 인사이트를 가질 수 있는 소중한 경험을 하게 되었다.

단순하게만 사용했던 정규표현식의 새로운 면을 보게 되었으며, 개발에서도 정규표현식의 적용 대상이 넓어질 예정이다. 뿐만 아니라 정규표현식의 한계(불가능한 것)도 분명 알게 되었다.

AI 보조 도구를 활용하는 저자의 질문 방법(프롬프트)을 보면서 코파일럿과 챗GPT의 사용법에서도 배울 점이 많았으며, 또한 지문에 있는 챗GPT의 결과를 보면서 결과 도출과 테스트를 함께 제시하는 것이 인상적이었다. 물론 엉터리일 때도 있지만, 프로세스는 충분히 칭찬받을만하다.

우리가 AI를 보조 도구로 인식하고 사용한다면, 더할 나위 없이 좋다는 것에 모두가 동의할 것이다.

 

개인적으로는 책 제목과 표지가 매우 좋았는데, 다른 한편으로는 책 제목이 오히려 책 선택에 방해되지 않을까 하는 생각도 하게 된다.

아쉬운 점은 소스 코드를 실행할 수 있는 저장소도 함께 제공되었으면 더 좋았을 것이다. 코드 부분만 따로 제공해줘도 충분히 도움이 될 것이다. 코드 스니펫으로 제공되다 보니, 실습으로 넘어가기에 쉽지 않았다. (물론 제 실력이 부족하여)

 

마지막으로 인간과 AI의 대결에서 항상 승리하기를 바라며, 저자의 인용 문구로 마무리하고자 합니다.

 

인간이 전적으로 구조적이기보다는 개념적 추론을 한다는 점을 보여준다. 이 책에서 소개한 예시들이 여러분을 해방시킬지 아니면 구속시킬지는 알 수 없지만, ...

마치며, p135

"제이펍<서평단 모집>에서 책을 제공받아 작성된 서평입니다."

d*****3 2023.11.10. 신고 공감 2 댓글 0
리뷰 총점 종이책
[서평] 인간 vs AI 정규표현식 문제풀이 대결 (제이펍)
"[서평] 인간 vs AI 정규표현식 문제풀이 대결 (제이펍)" 내용보기
서평에 지원한 동기 개발하면서 정규표현식을 종종 쓸 일이 있는데 필요할 때 마다 잠깐 들여다 보고 시간이 지나면 다시 까먹곤 합니다. 정규표현식을 한번쯤 제대로 공부해보고 싶다고 생각하고 있었는데, 마침 이 책이 눈에 들어왔네요 :-) 정규표현식을 ChatGPT와 함께 풀어보며 정규표현식도 이해하고 개발할 때 ChatGPT 활용법도 익힐 수 있겠다고 생각이 들었습니다.   실
"[서평] 인간 vs AI 정규표현식 문제풀이 대결 (제이펍)" 내용보기

서평에 지원한 동기

개발하면서 정규표현식을 종종 쓸 일이 있는데 필요할 때 마다 잠깐 들여다 보고 시간이 지나면 다시 까먹곤 합니다. 정규표현식을 한번쯤 제대로 공부해보고 싶다고 생각하고 있었는데, 마침 이 책이 눈에 들어왔네요 :-)

정규표현식을 ChatGPT와 함께 풀어보며 정규표현식도 이해하고 개발할 때 ChatGPT 활용법도 익힐 수 있겠다고 생각이 들었습니다.


 

실습환경

평소 개발서적을 고를 때 핸즈온을 제공하는 책을 좋아하는데요. 이론만 익히다보면 지루하기도 하고 잘 기억이 되지 않는데, 실습이 있으면 이론을 몸소 확인하고 재미도 있어 좋습니다.

다만, 실습환경 구성이 어렵거나 실습 코드가 책에서 제시한 대로 동작하지 않으면 중간에 포기하기 쉬운데요.

이 책은 실습환경을 갖추기가 너무나 좋습니다. 가장 심플하게는 "브라우저"만 있으면 됩니다 ;-)

저는 아래와 같이 크롬 브라우저에서 왼쪽에는 구글코랩, 오른쪽에는 ChatGPT를 열어놓고 실습을 진행하였습니다. 책을 읽으면서 바로바로 코드를 작성하고 실행할 수 있고, ChatGPT와 대화를 주고 받으면서 재미나게 공부할 수 있습니다.


 

학습 방법

APPENDIX A 의 "정규표현식 사용 방법" 부터 읽고 퍼즐을 시작하면 좋습니다



 

9페이지에서 저자는 "이 책을 읽는 방법"을 안내하고 있는데요

  • "퍼즐 설명" 을 읽고 "나의 생각" (풀이)를 고민해 보라고 얘기합니다. 그리고,

  • "저자 생각" 과 비교해 보면서 저자와 나 사이에 놓친 것이 있는지 살펴보라고 합니다. (풀이)에 대한 완벽한 이해를 바탕으로

  • "AI 생각" 을 살펴보라고 합니다. AI 가 내놓은 결과의 옳고 그름 보다 더 다양한 교훈을 얻을 수 있다고 말합니다.

회사에서도 개발할 때 Copilot 을 활용하는 사례가 많아 지고 있는데요. AI 가 코딩을 함으로써 개발자를 대체하는 것이 아니라 개발자가 AI 의 결과물을 해석하고 잘 판단하여 더 나은 코드와 혁신을 이끌어 내야 합니다.

그렇게 되기 위해서 AI 와 협력하는 방법을 잘 익혀야 합니다.

아래는 퍼즐 1단계 "와일드카드 스코프"를 실습해본 화면입니다.

앞서 언급한 대로 실습코드 작성과 실행은 어렵지 않으며, 천천히 고민해 보면서 다양하게 코드를 수정하고 바로 확인할 수 있어 좋습니다

실습 코드를 작성해 보고 결과를 확인합니다

 

ChatGPT 에 동일한 문제를 풀어보라고 합니다

 

ChatGPT 가 제시한 코드를 실행하여 결과를 확인해 봅니다


 

끝으로

퍼즐은 24개로 챕터 2, 3, 4, 5장에 토픽별로 나뉘어 있으며 뒤로 갈수록 어렵습니다.

서평기간이 있어서 급하게 읽었습니다만, 한번 읽고 그만인 내용이 아니라 "고민하는 과정이 중요한 내용"을 다루고 있어서 한 문제 한 문제 시간을 가지고 천천히 다시 고민해 보려고 합니다.


 

요약

  • 개발하면서 정규표현식은 잊을만 하면 한번씩 사용하게 된다

  • 그런 정규표현식을 한번쯤 제대로 공부해 보고 싶다고 생각을 했다

  • 이 책은 정규표현식을 AI와 대결하며 풀어본다는 기발하고 재미난 발상으로 다가왔다

  • 정규표현식을 chatGPT 와 함께 풀어보며 정규표현식도 이해하고 chatGPT 활용법도 익힐 수 있는 책이다

n*******0 2023.11.12. 신고 공감 1 댓글 0
리뷰 총점 종이책
[도서] 인간 vs. AI 정규표현식 문제 풀이 대결
"[도서] 인간 vs. AI 정규표현식 문제 풀이 대결" 내용보기
정규표현식은 여러 프로그래밍 언어와 도구에서 채택하고 있는 일종의 단어, 문장 처리기라고 볼 수 있다. 본인도 HTML과 리눅스 공부를 하면서 사용했던 기억이 있다. 결국 단어 패턴의 나열을 통해 문장을 제어하는 것에 목적이 있다. 이 책은 저자는 현재 '가장 널리 알려진 LLM(Large Language Model)인 Chat-GPT와 코딩 어시스턴트인 Github Copilot에서는 이런 패턴을 제대로 이해
"[도서] 인간 vs. AI 정규표현식 문제 풀이 대결" 내용보기

 정규표현식은 여러 프로그래밍 언어와 도구에서 채택하고 있는 일종의 단어, 문장 처리기라고 볼 수 있다. 본인도 HTML과 리눅스 공부를 하면서 사용했던 기억이 있다. 결국 단어 패턴의 나열을 통해 문장을 제어하는 것에 목적이 있다. 이 책은 저자는 현재 '가장 널리 알려진 LLM(Large Language Model)인 Chat-GPT와 코딩 어시스턴트인 Github Copilot에서는 이런 패턴을 제대로 이해하고 풀 수 있을까?' 라는 질문은 던진다.

 우선 대규모 언어 모델(LLM)의 꽃을 피우게 된 것은 트랜스포머 알고리즘의 등장에 있다. 트랜스포머 알고리즘은 크게 인코더와 디코더로 구분할 수 있는데, 그 중 인코더가 GPT와 같은 생성형 알고리즘이 되었고, 디코더는 BERT와 같은 모델이 탄생하게 되었다. 두 모델의 가장 큰 차이는 GPT는 일방향이고 BERT는 양방향이라는 것이다.

 언어 모델에 관한 배경 지식은 이 정도까지하고 이번에는 <인간vs.AI 정규표현식 문제 풀이 해결>에 대해 이야기해보려고 한다. 이 책에서는 한 정규표현식 문제에 대해 저자의 풀이와 인공지능 모델의 풀이를 비교하며 내용을 전개한다.

 대체적으로 Chat-GPT는 우수한 성능을 보여준다.

[# 퍼즐 10: str.count() 재구현하기]

이 퍼즐은 파이썬에서 문자의 개수를 세는 메소드 str.count()를 정규표현식으로 나타내는 문제지만 이에 대해 Chat-GPT가 내놓은 대답은 오답이었다.

 

[# 퍼즐 11:str.count() 재구현하기(더욱 엄격하게)]

 퍼즐 10과 다르게 퍼즐 11에서는 숫자 변수를 사용하지 않고 str.count()에 해당하는 함수를 작성하는 것이 목표이다. 퍼즐 10에서와 같이 오답을 제시하기는 했으나 퍼즐에 대한 지시 사항을 완벽히 따라갔고 저자의 해결책보다 더 쉬운 방법을 제시하여 만족할 만한 답변을 얻을 수 있었다.

 

또 다른 재미있는 퍼즐로 함수 이름 찾기 퍼즐이 있다. 퍼즐 12에서는 함수에 일반적인 이름이 아닌 의미 있는 이름을 짓는 것이었는데 AI 코딩 어시스턴트의 작명 실력은 아직 부족했다.

 

 <인간vs.AI 정규표현식 문제 풀이 해결> 책을 통해서 코딩 어시스턴트나 언어 모델을 활용하는 데 도움이 되는 몇 가지 팁을 얻었다. 첫번째로 프롬프트의 중요성. 두번째로는 세션, 토큰, 정보밀도에 대해 알게 되었다. Chat-GPT 같은 경우 세션의 문맥과 상통하고, 문장을 토큰 별로 해석한다. 따라서 적절한 토큰으로 나눠질 수 있게 질문을 한다면 더 정확한 답변을 얻을 가능성이 클 것이다.

 

 정보의 밀도 또한 중요한 개념이다. 보통의 평문을 기준으로 했을 때, 정규표현식은 정보가 압축되어 정보의 밀도가 높다고 할 수 있겠다. 그러므로 평문과 같은 토큰으로 했을 때 정확한 답변을 구하기가 어려운 것이다.

내용의 전개가 참신하고 AI에 대한 저자의 이해도가 돋보였던 책이다. 기회가 된다면 저자의 다른 책도 읽어보고 싶다.

 언어모델이나 코딩어시스턴트를 더 효과적으로 사용하고 싶은 사람들에게 <인간vs.AI 정규표현식 문제 풀이 해결>을 추천한다. 한 가지 팁으로는 부록에 정규표현식에 대한 간단한 튜토리얼이 있으니 그 부분을 먼저 읽는다면 내용의 이해가 더 쉬울 것이다. 

 

l*****3 2023.10.23. 신고 공감 1 댓글 0
리뷰 총점 종이책
인간 vs. AI 정규표현식 문제 풀이 대결 리뷰
"인간 vs. AI 정규표현식 문제 풀이 대결 리뷰" 내용보기
요즘 AI를 사용한 기술이 많이 좋아져서, 여러가지 문제를 해결하는데 AI의 도움을 많이 받고 있다. 그 중 프로그래밍을 할 때, 도움을 주는 Copilot이나 범용적인 지식 기반에 걸쳐 도움을 주는 ChatGPT, Bard등이 있는데 이 책에선 몇 가지 시나리오가 주어졌을 때, 인간이 생각할 수 있는 방법과 AI가 생각할 수 있는 방법을 대조해 보고 있다.   정규식은 정확히 작성하기에 규칙이
"인간 vs. AI 정규표현식 문제 풀이 대결 리뷰" 내용보기

요즘 AI를 사용한 기술이 많이 좋아져서, 여러가지 문제를 해결하는데 AI의 도움을 많이 받고 있다. 그 중 프로그래밍을 할 때, 도움을 주는 Copilot이나 범용적인 지식 기반에 걸쳐 도움을 주는 ChatGPT, Bard등이 있는데 이 책에선 몇 가지 시나리오가 주어졌을 때, 인간이 생각할 수 있는 방법과 AI가 생각할 수 있는 방법을 대조해 보고 있다.

 

정규식은 정확히 작성하기에 규칙이 조금 복잡도가 있는 편이여서, 사람이 설명한 것을 AI가 이해하고 정규식을 얼마나 잘 작성하는 가에 대한 책이라고도 볼 수 있다. AI가 좋은 답을 줄 때도 있고, 필요한 정규식과 조금 거리가 있는 답을 줄 때도 있다.

 

현재는 ChatGPT가 가장 정확도가 높은 편이 아닌가 생각이 드는데, 앞으로 ChatGPT5와 같은 더욱 거대한 모델이 계속해서 나온다면 (엄청난 하드웨어와 전기세와 데이터를 필요로 하겠지만) 계속해서 사람들이 원하는 문제 해결에 필요한 답을 빠르게 찾는 시대가 좀 더 다가오지 않을까 생각이 든다.

 

이 글은 해당 출판사로 부터 책을 증정받아 작성되었습니다.

s******l 2023.10.12. 신고 공감 1 댓글 0
리뷰 총점 종이책
[도서] 인간 vs. AI 정규표현식 문제 풀이 대결
"[도서] 인간 vs. AI 정규표현식 문제 풀이 대결" 내용보기
매일 CHAT GPT를 활용할 정도로 애용하는 유저이며, 자연어 처리 관련 분야를 연구하고 있습니다. 연구 뿐만 아니라 실제 텍스트 관련 프로젝트를 진행하면서 정규표현식을 구현하는 경우가 꽤 있는터라 관심가는 도서였습니다. 텍스트 데이터 관련 여러 코드를 다뤄보면서, 의도에 맞게 구현하기 위해 chat gpt와 상호작용을자주 했었는데 도서를 참고해서 효율적인 프롬프트를 구성할
"[도서] 인간 vs. AI 정규표현식 문제 풀이 대결" 내용보기

매일 CHAT GPT를 활용할 정도로 애용하는 유저이며, 자연어 처리 관련 분야를 연구하고 있습니다. 연구 뿐만 아니라 실제 텍스트 관련 프로젝트를 진행하면서 정규표현식을 구현하는 경우가 꽤 있는터라 관심가는 도서였습니다.

텍스트 데이터 관련 여러 코드를 다뤄보면서, 의도에 맞게 구현하기 위해 chat gpt와 상호작용을자주 했었는데 도서를 참고해서 효율적인 프롬프트를 구성할 수 있을 것 같습니다.  

무엇보다도, AI와 대화를 하는듯한 대화 구성이나 주제별 키워드들이 신박해서 재밌었습니다.  

정규표현식을 처음 접하거나, AI 코딩 어시스턴트에 관심있는 분들께 도움이 될 도서라고 생각합니다.   

이 글은 해당 출판사로부터 도서를 증정받아 작성되었습니다.

a********1 2023.10.21. 신고 공감 0 댓글 0