한빛미디어 '나는 리뷰어다' 프로그램의 2021년 2월 신청도서로 받은 책이다.
작년까지는 블록체인 메인넷 엔지니어로 일하면서 Node.js, React.js 샘플 코드 만들거나 사용하면서 살짝 맛을 봤다.
살짝만 맛 봤는데도, 라떼 개발자가 비동기 처리, 화살표 함수 이해하는 건 어렵더라.
그러다가 JavaScript의 수많은 기능을 제대로 쓸 줄 모르는 채로 올해 팀의 프로덕트 매니저가 되었다.
우리 팀에서는 전부다 Node.js 기반으로 개발을 한다고 하더라.
책과 연관된 부분은 GraphQL, Apollo, React.js가 될 듯 하다.
(서버 프레임웍은 Nest.js - 책에는 없다 - 쓰기로 했다.)
책에서는 내가 제일 취약한 부분 - 비동기 처리, 화살표 함수 - 은 그냥 건너뛰고(?)
자바스크립트를 활용하는 유틸리티를 어떻게 쓰는지에 집중을 해서 참 좋더라.
내가 직접 개발을 하진 않을 예정이기 때문에 빠르게 기능만 익힐 필요가 있었다.
그래서 직접 타이핑은 하지 않고 샘플 소스 그대로 사용해서 실습해 보는 식으로 했다.
샘플 소스 위치
https://github.com/javascripteverywhere
각 장마다 샘플 소스가 있어서, project의 src 디렉토리에 해당 소스를 옮겨서 실습해보면 된다. 최종 모습만 보려면, final 디렉토리에 있는 것을 쓰면 된다.
책은 크게 네 부분으로 나뉘어 있다.
API, web, desktop, mobile.
부록에서 어떻게 실행하는지 예시가 나와있으니,
API 부분이 필요하다면 API 부분만 따로 소스 받은 다음에 API용 express 컨테이너를 띄워놓기만 하면 된다.
API 부분
말로만 듣던 GraphQL로 써보고..
몽고DB도 살짝 맛볼 수 있었다.
web 부분
리액트, css 적용하는 부분이다.
desktop 부분
일렉트론 사용하는 것에 대해 대해 있다.
앞에서 만든 웹 화면을 데스크탑 애플리케이션 형태로 쓸 수 있게 한다.
mobile 부분
리액트 네이티브로 하는 건데..
이것까진 못 해봤다.
expo 설치를 해야 하는데 문제가 있다.
당장 회사에서 필요한 부분은 아니다만, 뭐가 문제인지 좀 천천히 들여다봐야 할 듯 하다.
$ npm install expo-cli --global
...
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/pcmola/.npm/_logs/2021-02-21T14_27_15_804Z-debug.log
* 전체 후기
오타 하나 발견했다.
122페이지에 소스명 잘못 되어 있다.
src/resolvers/note.js
src/resolvers/user.js
이렇게 되어 있어야 하는데 다음과 같이 되어 있다.
src/resolvers/note.js
src/resolvers/note.js
조금만 더 바랄 점도 하나 있다.
부록에서 실행하는 방법이 자세하게 나와 있는데,
$ npm start
앞에
$ npm install
해야 된다는 게 빠져 있다.
맨 처음에 설명할 때에는 npm install 이 있긴 하지만,
한 줄씩만 더 써주셨으면 하는 바램이다.
이 정도는 정말 사소한 부분이고,
책 전반적으로 구성이 너무 마음에 든다.
각 장 시작할 때마다 작가님의 코멘트가 있다.
작가님의 경험을 이야기하면서 해당 장에서 작업할 내용 설명을 한다.
책이 전체적으로 얇아서(400페이지)
가볍게 읽기도 좋더라.
중간부터 보고 싶으면 앞의 소스 그대로 가져다 쓸 수 있어서
공부하는 데 부담도 적었다.
개발 뿐만 아니라 배포하는 것까지 있어서,
실무에서 쓰기에 참 유용한 부분이 많더라.