자바스크립트(javascript)는 넷스케이프와 썬마이크로시스템즈가 웹브라우저에서 사용할 프로그래밍 언어로
개발하고 발전시킨 언어입니다.
PHP, ASP, JAVA 와 같은 Server Side 에서 페이지를 제공하고 javascript 는 폼체크 정도로 사용하였는데,
현재는 화면 인터페이스, 폼체크, Frontend / 서버간 통신, 데이터베이스 입출력 Backend로 세분화 되었습니다.
node.js는 자바스크립트 엔진 v8 위에 서버환경에서 javascript 애플리케이션을 작성할 수 있도록 개발되어
프론트엔드에서만 사용되던 javascript가 Node.js 의 등장으로 백엔드 영역까지 확장하는 계기가 되었습니다.
2009년 등장 이후 node.js는 웹개발자들에게 많은 관심을 보이며 현재 15버전까지 업데이트 되었고
windows, 리눅스, 맥OS 다양한 플랫폼에서 실행됩니다.
MEAN stack 에 이어 MERN stack 이 인기를 끌고 있고, 개발자 품귀현상까지 발생하는 상황인데요
빠르게 발전하는 node.js 발전 속도에 비해 최근에 출간된 node.js 관련 서적은 많지 않은 상황입니다.
node.js 디자인 패턴 바이블은 3번째 개정판으로 modern javascript 코드를 기반으로 최신 자바스크립트 개발
환경을 제공합니다.
대상 독자
이 책은 node.js 를 접해본 개발자가 기초를 다지고 실무에 응용하는 단계에 참고할 수 있는 책입니다.
node.js 설치 방법이나 javascript 문법은 포함하고 있지 않으며, 차근 차근 따라하면서 프로젝트를 완성하는 책은 아닙니다.
각 장별로 그 주제에 맞는 내용과 그에 따른 레시피를 소개하고 있어 해당 레시피만 빠르게 습득할 수도 있기 때문에
node.js 로 웹 애플리케이션을 개발해본 경험이 있는 개발자라면 7장이상에서 소개되는 디자인 패턴들을 활용하고 10장 이후에 실무에서 대용량 서비스에 확장할 수 있는 부분을 참고하면 좋을 것 같습니다.
그러나 기초 문법을 갓 떼고난 초급 개발자라면 1장의 node.js 철학부터 콜백 과 해결 방안까지 차근 차근 읽어 보는 것을 추천합니다.
이책에서 다루는 내용
1~2장에서 기초 원리에 해당하는 node.js 철학, 모듈의 이해에 대해 소개하고, 3~6장까지 콜백 및 콜백 지옥 해결 방법을 소개합니다.
7장 ~ 9장 디자인 패턴에 대한 소개와 레시피를 다루고 있으며, 10 ~11장 에서는 실전 웹 애플리케이션 개발에 대해 소개합니다.
마지막 12~13장 대용량 서비스를 구성하기 위한 다양한 패턴을 소개하고 있습니다.
각 장에서 다루는 목차와 세부내용은 다음과 같습니다.
- 목차 및 세부 내용 -
1장. Node.js 플랫폼
Node.js 생태계와 그 철학을 다루고 Node.js 내부 및 리액터(reactor) 패턴에 대한 소개를 제공합니다.
2장. 모듈 시스템
Node.js에서 사용할 수 있는 모듈 시스템을 살펴보고 CommonJS와 ECMAScript 2015부터 도입된 최신의 ES 코듈간 차이점을 비교합니다.
3장. 콜백 및 이벤트
비동기 코딩 및 패턴을 학습하고 콜백과 이벤트 이미터를 다룹니다.
4장. 콜백을 사용한 비동기 제어 흐름 패턴
콜백 지옥 문제를 전통적인 방법으로 해결하는 몇가지 방법을 설명합니다.
5장. 프라미스 및 Async/Await를 사용한 비동기 제어 흐름 패턴
비동기 제어 흐름을 효율적으로 처리하기 위해 프라미스와 Async/Await 를 이용한 비동기 코드를 설명합니다.
6장. 스트림 코딩
스트림의 주요 개념과 용어 / 라이브러리를 소개하고 상황에 따라 더 효과적으로 만들 수 있는 유용한 스트리밍 패턴을 설명합니다.
7장. 생성자 디자인 패턴
디자인 패턴의 유래를 소개하고 팩토리(Factory) 패턴, 공개 생성자(Revealing Constructor) 패턴, 빌더(Builder) 패턴, 싱글톤(Singleton), 종속성 주입(Dependency Injection) 패턴에 대해 설명합니다.
8장. 구조적 설계 패턴
프록시(Proxy), 데코레이터(Decorator), 아답터(Adapter)와 같은 구조적 설계 패턴을 설명합니다.
9장. 행위 디자인 패턴
전략(Strategy) 패턴, 상태(State) 패턴, 템플릿(Template) 패턴, 반복자(Iterator) 패턴, 미들웨어(Middleware) 패턴,
커맨드(Command) 패턴을 소개합니다.
10장. 애플리케이션용 범용 JavaScript
프론트엔드와 백엔드 간에 코드를 공유할 수 있는 범용(universal) javascript를 설명하고 가장 인기있는 모듈번들러인 웹팩과
React와 Node.js를 사용한 완전한 범용 Javascript 애플리케이션 개발 방법을 소개합니다.
11장. 고급 레시피
문제해결 접근 방식으로 일반적인 코딩과 Node.js 프로그랭 문제를 해결하는데 바로 사용할 수 있는 레시피를 소개합니다.
12장. 확장성 및 구조적 패턴
Node.js 애플리케이션을 고가용성과 무결성을 위한 기술과 패턴들을 설명합니다.
13장 메시징 및 통합 패턴
메시징 패턴을 소개하고 Node.js 와 생태계를 사용하여 복잡한 분산 시스템을 구축하고 통합하는 방법을 소개합니다.
총평
이 책은 두께만큼이나 다양한 디자인패턴 레시피들과 해결 방안을 소개하고 있기 때문에 Node.js 개발자라면
학습 후 책장에 꽂히는 책이 아닌 키보드 옆에 두고 자주 참고하는 책이 될 것 같습니다.
쉬운 내용이 아니고 책 분량이 두껍기 때문에 학습에 대한 부담이 생길 수 있지만
본문에 많은 다이어그램을 제공하고 있어 초급 개발자가 이해하기 쉽게 배려한 부분도 보입니다.
저는 Node.js 기반 프로젝트 진행하는 와중에 이 책을 접하게 되었는데, 12장과 13장에서 다루는 부분은 실 서비스 구현에 있어 많은 참고가 되었습니다.
Node.js 를 조금 더 깊이 이해하고 싶은 개발자나 현재 보다 수준을 더 높이고 싶은 개발자 분들께 이 책을 추천합니다
node.js 디자인 패턴 바이블 구입하기
※ 출판사로부터 도서를 제공받아 읽고 작성한 서평입니다.
※ 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
'정보' 카테고리의 다른 글
타이어 펑크 수리 / 보험사 긴급 출동 번호 (0) | 2021.08.23 |
---|---|
단백질 보충제 선택하기 (당관리 필요한 분) (0) | 2021.08.03 |
애플에서 만든 무료 코딩 교육용 앱 : swift playgrounds (0) | 2021.04.27 |
2021 프로그래밍 언어 티오베 지수 (0) | 2021.04.06 |
스마트워치 분해 / 조립하기 (콜미 p8) (0) | 2021.03.02 |
댓글