IT 현업개발자가, 별도의 광고료 없이 한빛미디어의 책만 제공받아서 작성한 서평입니다.
Chat GPT 발전속도가 눈부시게 빨라지고 있어서 문제가 발생한 프로젝트 파일들을 통째로 입력하면 문제점과 해결방법을 자동으로 알려주는 시대가 되었습니다. 하지만 Chat GPT 의 한계인 인공지능의 환각 현상과 함께 관련 패키지의 버젼 불일치 와 패키지의 메서드 변경 등의 여러가지 원인으로 인한 한계도 존재 합니다.
이처럼 Chat GPT 가 알려준 내용의 문제가 있을 때, 해당 내용을 재 입력하는 방법도 있지만 근본적인 해결책은 아닙니다. 가장 근본적인 해결방법은 오류 메세지 내용을 확인하고 해당 내용의 원인이 되는 내용을 명확하게 찾아나가는 능력이 어느때 보다 더 중요한 시대가 되었습니다. 이와 같은 내용을 도와주는 책 입니다.
총평
몇년전 까지만 해도, Chat GPT 가 고도화 되어 있지 않아서, https://stackoverflow.com/ 에서 가장 유사한 문제를 언급한 게시물을 찾아서 관련 개념들을 공부를 하고, 부족한 내용은 주변 개발자에게 질문을 하고 관련 이야기 하면서 배우는 내용이 많았습니다.
Chat GPT로 인하여 역설적으로 기본개념과 원리에 대하여 질문을 하고 공부하는 시간이 점차 줄어들고 있는 상황 속에서 https://stackoverflow.com/ 게시물을 검색하며, 내용을 공부하면서 주변 개발자와 이야기를 나눠 가면서 배워가는 과정을 한권의 책으로 정리해 놓았습니다.
자바스크립트에 대하여 궁금하거나 부족한 내용이 서로 다른만큼, 본인에게 도움이 되는 내용이 서로 다르게 다가올 것입니다. 아랫 내용은 이번에 책을 읽다가 아! 이런거였어! 새롭게 다가온 내용 중 한 부분 입니다.
그리고 평소에 궁금했던 내용들도 아래와 같이 해당 개념의 기초부터, 각각의 적용 대상에 따른 역할의 차이까지 설명을 하고 있습니다. 아래의 내용은 JavaScript 에서 유명한 개념 중 하나인 this 개념설명 뒤에, 화살포 함수에서 기능적 차이를 설명하는 내용 입니다.
이처럼 평소에 잘 모르던 내용, 대략적으로 알고는 있었지만 작동하는 위치 및 역할에 따른 차이를 잘 알려주고 있었서 좋았습니다.
특징
마치 개념서와, 개발자 인터뷰 가이드책 2권의 내용을 한 권으로 합쳐서 정리를 해 놓았습니다. 각 내용별로 다음과 같은 단계로 내용을 설명하고 있습니다.
- Chapter 별 표지 - 자바스크립트 관련 도서에서 자주 봣을 개념에 대한 대략적인 설명
- O/X 퀴즈를 통한 셀프 실력점검, 워밍업 퀴즈
- 핵심 개념 파헤치키 - 개념에 대한 상세한 설명
- 실전 레벨업 퀴즈 - 보다 상세한 질문과 해답을 통한 내용복습 및 심화학습
- 리얼 현장 인터뷰 - 개발자 인터뷰 예시
그리고 이 책의 특징 중 하나가 색인 입니다. 처음에는 이 책에는 왜 색인이 없지?~ 아쉬움이 있었는데 알고보니 조금은 다르게 구성되어 있었습니다.
이 책을 통해서 가장 생소했던 개념이 #Symbol 이었습니다. 객체내부의 비밀스러운(?) 내용을 관리하는 역할을 하고 있습니다. 나중에 다시 봐야겠다고 생각하고 색인을 찾아 봐야 겠다고 생각을 하고 책을 뒤지다가 앞부분에 아래와 같이 정리되어 있는 것을 확인 할 수 있었습니다.
#Symbol 에 대하여 궁금하다면 Chapter 01 의 실전 레벨업 퀴즈 Q13 을 찾아서 문제를 풀어봐라. 그리고 해당 문제를 풀고 해결하면서 해당 내용을 다시한번 확인하는 방식으로 이 책의 색인을 구성하고 있었습니다.
일반적인 도서라면 해당 개념을 설명했던 페이지를 적어놨을 것입니다. 하지만 이 책은 개념설명 뒤에 퀴즈로 복습하는 과정을 색인으로 책을 확인하는 과정에서도 반복할 수 있도록 잘 구성을 하고 있었습니다. 이 부분은 호불호가 있을 수 있겠지만 이 책을 전체적으로 1회독을 한 뒤라면 이처럼 구성하는 것이 더 복습하는데 많은 도움이 될 것이라고 생각 합니다.
처음에는 저자가 여럿이라서 챕터별 차이가 크지 않을까 우려된 부분이 있었습니다. 전체 내용을 다 본 결과 개별챕터를 분담하여 작성한 것은 아닌 것으로 보입니다. 챕터별 차이가 있지 않은것으로 보아, 다른 저자가 기본개념을 하면, 또 다른 저자가 같은 챕터의 퀴즈와 해설을 작성함으로써 앞에서 설명했던 내용의 반복이 아니여서 심화학습을 하는 것처럼 느껴저서 좋았습니다.
자바스크립트를 기반으로 작업을 하면서 겪었던 어려움이 많은 분 일수록 도움을 받을 내용이 많은 책입니다. 이를 반대로 이야기 하면 자바스크립트 기반의 작업경험이 부족한 초보자 분들 일 수록 이 책에서 전달하려는 내용이 방대하기 때문에 힘들어서 어려움을 격으실 수도 있어 보였습니다. 개념에 대하여 너무 많은 분량을 할당하고 있다고 생각되는 분이라면 상대적으로 얇고 실습으로 구성된 다른 기본서 및 강의를 학습하신 뒤 이 책을 다시 접하신다면 많은 도움이 되어줄 것입니다.
마무리
2020년대 초반만 해도, 자바스크립트 언어에 대한 개발자 분들의 의견들은 다음과 같았습니다.
자바스크립트는 쉬운 언어다.자바스크립트는 어떻게든 작동된다.
때문에 깊이있는 공부를 하지 않은 채 React.js + TypeScript 와 shadcn/ui + Tailwind 등의 정해진 몇가지 패키지 및 모듈을 활용하여 블럭처럼 연결하는 방식으로 작업을 해 왔습니다. 대부분의 작업은 해당 패키지의 공식문서의 내용을 Ctrl+C Ctrl+V 로 작업을 하면 많은 부분이 해결 가능합니다.
Chat GPT 발전속도가 눈부시게 빨라지고 있어서 문제가 발생한 프로젝트 파일들을 통째로 입력하면 문제점과 해결방법을 자동으로 알려주는 시대까지 되었습니다. 이러한 과정들을 다 활용했음에도 발생한 오류가 있을 때 어떻게 대처할 수 있을지가 개인의 능력 차이를 명확하게 구분할 수 있습니다.
이 책을 통해서 각 각의 개념들과 해당 개념의 기능의 명칭과 역할을 어느정도 인지 한다면, 보다 명확한 질문을 하는 프롬프트 문장을 작성 할 수 있습니다. 대략적인 질문이 아닌 보다 명확한 답을 찾을 수 있고, 또는 스스로 해결할 수도 있을 것입니다.