cjh4***
2024-06-20


자바스크립트를 통해 개발한 개발자들은 Node.js의 중요성을 쉽게 알 수 있다. 저자는 자바스크립트라는 공통적인 맥락 덕분에 운영체제 동작이나 프로토콜 등 웹 구조를 코드로 학습하면서 흥미를 붙여 나갈 수 있었다고 한다. 나 역시 자바스크립트에 대한 지식이 쌓이면서 더 넓은 영역으로 나아갈 수 있는 목적지로서 Node.js에 대한 흥미가 자연스럽게 생겼다. 이 책을 읽는 독자들은 백엔드에서 프론트엔드까지 전체적으로 체험해보고 이해하는 것을 목표로 읽어보는 것을 권장한다.
이 책에서 배울 내용은 다음과 같다.
- Node.js의 기본 개념 이해
- 프론트엔드와 백엔드를 동일한 언어로 개발하는 방법
- 모노레포 구조와 최신 개발 패턴 반영
- 비동기 처리 방식과 권장 설계 패턴
- 애플리케이션 운용 및 개선 방법
1. Node.js의 기본 개념
Node.js는 크롬의 V8 엔진을 기반으로 동작하며 서버 사이드 자바스크립트를 실행할 수 있는 환경을 제공한다. 비동기 이벤트 기반 구조를 채택해 높은 처리 성능을 발휘하고 싱글 프로세스, 싱글 스레드로 작동하면서도 논블로킹 I/O를 통해 많은 연결을 효율적으로 처리할 수 있다. 이러한 특성 덕분에 실시간 애플리케이션, 데이터 집약적인 네트워크 애플리케이션, 마이크로서비스 아키텍처 등 다양한 분야에서 광범위하게 사용된다.
2. 모듈 시스템 이해
Node.js는 CommonJS 스타일의 모듈 시스템을 채택했다. 최근 ECMAScript 모듈 시스템이 표준화되었지만 아직 보급되려면 시간이 필요하다. 이 책에서는 CommonJS 모듈을 중심으로 이용해 웹팩과 브라우저리파이 같은 모듈 번들러도 간단하게 소개한다. 이 장을 통해 모듈을 효율적으로 관리하고 코드의 재사용성을 높일 수 있을 것이다.
3. 비동기 처리 방식
Node.js 애플리케이션에 이용되는 비동기 처리 방식은 콜백, 프로미스, async/await, EventEmitter/Stream 등이다. 이 책은 권장하는 설계 패턴으로 async/await를 사용한다. 스트림 처리가 필요한 경우에만 EventEmitter/Stream을 사용할 것을 제시한다.
4. 애플리케이션 운용 및 개선
Node.js 버전은 최신 LTS 버전을 사용하는 것이 좋다. 또한 npm으로 설치한 패키지도 최신 버전을 유지하는 것이 중요하다. 모듈에서 기능 추가뿐만 아니라 취약점 대응이나 버그 수정 등 다양한 버전 업데이트가 매일 발생하기 때문이다. 모노레포에서의 라이브러리 관리, 성능 모니터링, 에러 추적 등 애플리케이션 운용과 개선에 관한 내용도 다룬다. 최신 상태를 유지하면 애플리케이션의 안정성과 성능을 극대화할 수 있다.
결론
"업무에 활용하는 Node.js"는 Node.js의 기본 개념부터 실제 애플리케이션 운용까지 다양한 내용을 다룬다. 실무 경험과 노하우를 통해 '왜' 그렇게 구현해야 하는지 배우며 개발자로서의 경험치를 넓힐 수 있다. 처음 Node.js를 접하는 독자들도 프론트엔드에서 리액트를 조금이라도 개발해본 경험이 있다면 이 책을 재미있게 읽을 수 있을 것이다.
‘이 서평은 한빛미디어 <나는 리뷰어다> 활동을 위해 출판사로부터 책을 제공받아 작성되었습니다.’