[리액트를 다루는 기술] (개정판) :후기
리액트를 배워 보자!!!
프론트엔드 개발자로서의 삶을 살아가면서 아직도 접해보지 않았던 이름이 있었습니다. 10에 4명 이상은 리액트로 프로젝트를 진행하는 요즘에도 조직과 개인적 이유로 리액트 스터디를 미뤄오다 우연치 않은 기회에 [리액트를 다루는 기술]을 획득(?!)하여 간단한 후기를 남기게 되었습니다.
* 현재까지의 스터디 분량으로 리뷰를 진행하며 책의 전체 리뷰는 완독 후 해당 포스트에 업데이트 할 예정입니다.
저는 마크업과 UI를 개발하다 AngularJS를 접하며 프론트엔드 개발자로 성장 하였습니다. 처음 접하게 된 프레임워크와 프론트엔드 개발이 이유가 된건지 AngularJS (지금은 사용하지 않습니다... 다 까먹었어요...) / Angular에 대한 애착이 있었고 토이 프로젝트 혹은 프로토타이핑은 Angular를 주로 이용했지만 지금의 회사에서는 프레임워크를 통일하여 사용하고 있기에 Vue.js로만 모든 개발업무를 진행하고 있습니다.
리액트에 대한 개발자로서의 호기심과 좋은 평판을 들으며 리액트를 스터디 하려고 계획만 세워놓고 스터디 모임, 컨퍼런스, 밋업, 취미생활, 게임, 음주... 등 계속해서 업무와 개인적인 일련의 일들을 진행하다 보니 자연스레 계획했던 공부는 늘 '내일하자'로 마음 속 한 구석에 처박아 놓고 잊어버리고 있었습니다.
개발자 리뷰어를 모신다는 '길벗' 출판사의 광고를 보고나서, 구매해 보고 싶었던 책을 얻게되면 그걸 (반강제적이지만 지극히 자발적인) 동기부여의 기회로 삼아 공부를 할 수 있겠다는 생각이 들어 신청을 했는데, 왠걸!!! 됐습니다!!! 선정되었습니다!!! 그리하여 오늘은 [리액트를 다루는 기술] 그것도 무려 300페이지 쯤 더 두꺼워진 개정판의 스터디(still ...ing) 후기를 남겨보려 합니다.
(자세한 책의 정보는 아래의 링크에서 얻으실 수 있습니다.)
이 책은 친절하지만은 않다.
리액트에 관심이 있는 프론트엔드 개발자라면 김민준(이라 적고 벨로퍼트라고 읽음) 저자를 한번쯤은 들어보셨을 겁니다. 여러 커뮤니티에서 저자의 게시물과 작업들로 도움을 받으신 분들이 많이 계실겁니다. 여러 경로를 통해 개발자들에게 많은 도움을 주셨던 분이지만 이 책이 한없이 친절한 것은 아닙니다.
책의 초반은 리액트의 간단한 개념으로 배경지식을 조금씩 설명하고 JSX가 무엇이며 장점은 무엇인지, 어떻게 코드를 작성하는지 린트를 소개하고 적용하는 방법 등을 소개하며 리액트의 구성요소를 하나씩 차근차근 설명해줍니다.
하지만 자바스크립트를 어느 한 라이브러리만 사용해서 개발을 진행했던, 예를 들어(아니, 콕 짚어) jQuery에 의존하여 개발을 진행했거나 JS의 객체지향 패턴 비구조화 할당, 화살표 함수, this의 바인딩과 스코프 (함수 / 블록 스코핑) 등의 전반적인 지식이 부족하거나 문법이 낯설다면 저자의 친절한 설명 글들이 그리 친절하게만 보이지 않을 수도 있습니다.
만약 마크업 개발만을 담당하다 프론트엔드 개발자로서 발돋움하기 위해서 책을 펼친다면 이 책은 종국에는 굉장히 큰 도움이 될 거라 확신하지만 다른 얇은 기본서와 ES6에 대한 서적을 빠르게 읽어보시는게 좋을 것 같습니다. (물론, 제 입장에서 바라보는 이야기입니다.)
그럼에도 불구하고 이 책은 정말 친절하다.
하지만 이 책은 굉장히 친절하게도 몇가지의 프로젝트를 진행하며 실무에서 고민하고 맞닥뜨려야 하는 여러가지 문제를 자연스럽게 익힐 수 있도록 도와줍니다. 비록 챕터가 지날수록 조금씩 난이도가 높아지는 느낌은 있지만 (현재 기준으로는) 친절하게 설명을 이어가고 독자가 잘 이해할 수 있는 가능한 많은 방법 (노트, 패턴별 코드 비교 및 분석, 개념 설명)을 동원하여 독자가 이해할 수 있는 길로 가도록 잘 이끌어 줍니다.
한쪽만 다루지는 않는다.
많은 기술 서적은 본연의 책임과 역할을 잘 수행하기 위하여 한가지만을 중점적으로 설명합니다. 이 이야기는 반대로 한가지만 설명하고 그것을 지탱하고 수행하는 부분의 어쩌면 핵심이 될 수도 있는 부분은 버린다는 이야기가 될것입니다. 하지만 해당 서적은 SPA만 집중적으로 설명하는 것을 넘어서 SSR(서버사이드 렌더링), Node.js, Koa, 거기다 JWT를 통한 인증 시스템 구축까지 실무에서 당연히 마주할 부분을 커버합니다. 그렇다고 많은 부분을 보여주기 위해 소흘한 부분이 있는 것은 아닌 것 같습니다. (아직 완독하기 전이라 섣불리 뭐가 부족하다는 말은 삼가하겠습니다.) 상태관리나 새롭게 추가된 핵심 기능, 함께 사용할 법한 라이브러리 등의 소개 역시도 꼼꼼히 소개해줍니다.
대상독자라면 충분히 기본을 넘어설 수 있다.
포스팅을 하면서 앞서 언급한 것과 같이 이 책은 새롭게 프론트엔드 개발을 배우기 위한 입문서적은 될 수 없습니다. 역시나 자바스크립트에 대한 아주 기초적인 지식만으로는 병행해야 하는 별도의 '공부'가 필요할 수 있습니다. 하지만 이 책과 저자가 염두해 둔 [대상독자]라면 이 책은 아주 훌륭한 입문서이자 레퍼런스가 될 수 있을 것 같습니다.
* 책에대한 리뷰는 읽어 나가는대로 이 곳에 업데이트할 예정입니다.
** 이 책의 대상독자가 아닌 분들을 위해 입문서로 활용할 아주 얇은서적이 있다면 다른 분들을 위해 댓글로 정보공유 부탁드립니다.
*** 해당 리뷰는 서적 자체를 제외한 별도의 금전적 지원은 받지 않았으며 어떠한 가이드나 지침으로 작성된 글이 아님을 밝힙니다.