Node.js 디자인 패턴 바이블 - 검증된 패턴과 기술을 이용한 수준 높은 Node.js 애플리케이션 설계 및 구현
Mario Casciaro.Luciano Mammino 지음, 김성원 외 옮김 / 영진.com(영진닷컴) / 2021년 5월
평점 :
장바구니담기



Node.js는 애플리케이션 개발에 매우 유용한 소프트웨어 플랫폼이다JavaScript를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.

 

내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 별도 소프트웨어 없이 동작하는 것이 가능해 처리 속도가 빠르다특히 Node.js는 자신이 필요로 하는 종속성 패키지들을 직접 갖고 있어 코드의 양 뿐 아니라 범위 측면에서도 작은 모듈을 구현할 수 있다.

 

미국 소프트웨어 공학자 라이언 달(Ryan Dahl)이 2009년 Joyent에서 일하면서 개발했다그는 6살 때부터 어머니가 사준 애플 컴퓨터를 갖고 놀았다캘리포니아대와 로체스터대 대학원에서 수학을 공부했다.

 

Node.js의 최초 버전은 리눅스 기반으로 출시되었다. 2011년 6월 마이크로소프트가 Joyent와 파트너십을 맺고 같은 해 7월 윈도용 버전을 처음 출시했다라이언은 2012년 1월 Joyent에 Node.js에 관한 전권을 넘기고 회사를 나왔다그는 2018년 V8로 빌드된 JavaScript TypeScript 런타임 디노(Deno)를 발표했다.

 


Node.js 디자인 패턴 바이블은 Node.js 애플리케이션 구축에 필요한 디자인 패턴들을 한 권으로 정리한 것이다기초 개념에서부터 앱 개발에 활용할 수 있는 디자인 패턴 그리고 예제와 그림들을 소개한다.

 

또한 Node.js를 사용할 때 필요한 비동기 제어나 백엔드와 프론트엔드의 통신분산 시스템 구축 같은 주제들도 다룬다.

 

저자는 두 사람이다마리오 카스치아로(Mario Casciaro)는 어려서부터 레고 우주선을 시작으로 컴퓨터 코모도어 64에 쓰여진 프로그램들에 이르기까지 무언가를 만드는 일에 푹 빠져 지냈다대학에서 소프트웨어 공학 석사학위를 취득한 그는 로마와 더블린에 소재한 IBM 연구소에서 일했다현재 그는 소프트웨어 개발사 Var7 Technologies를 운영하고 있다.

 

루치아노 맘미노(Luciano Mammino)는 이탈리아 태생으로 12세 때 아버지의 구형 인텔386을 사용하여 코딩 작업을 시작했다그는 컴퓨터 공학 석사 학위를 받은 후 프리랜서 웹 개발자로 일했다이탈리아와 아일랜드 Sbaam.com의 공동 설립자이자 CTO로 3년간 활동한 뒤, Smartbox에서 선임 PHP 엔지니어로 활동하기 위해 더블린으로 이전했다그는 JavaScript 의 가능성을 높게 보고 이 대부분의 시간을 JavaScript와 Node.js에 대해 할애하고 있다.

 



책은 모두 13장으로 구성됐다.

 

1장 Node.js 플랫폼

플랫폼 자체의 핵심 패턴을 보여줌으로써 Node.js 애플리케이션 디자인 세계에 대한 개요 역할을 한다.

 

2장 모듈 시스템

Node.js에서 사용할 수 있는 모듈 시스템을 살펴보고 CommonJS와 ECMAScript2015부터 도입된 최신의 ES 모듈 간의 차이점을 강조한다.

 

3장 콜백 및 이벤트

비동기 코딩 및 패턴을 학습하고 콜백과 이벤트 이미터(관찰자 패턴)에 대해 논의하고 비교를 위한 첫 번째 단계를 소개한다.

 

4장 콜백을 사용한 비동기 제어 흐름 패턴

콜백을 사용하여 Node.js로의 비동기 제어 흐름을 효율적으로 처리하기 위한 일련의 패턴과 기술들을 소개한다.

 

5장 프라미스 및 Async/Await를 사용한 비동기 제어 흐름 패턴

비동기 흐름 제어의 보다 정교하고 현대적인 기술을 탐구하면서 진행한다.

 

6장 스트림 코딩

Node.js를 위한 가장 중요한 도구 중 하나인 스트림에 대해 자세히 설명한다.

 

7장 생성자 디자인 패턴

Node.js 전통적인 디자인 패턴을 살펴본다우선 팩토리(Factory) 패턴공개 생성자(Revealing Constructor) 패턴빌더(Builder) 패턴 그리고 싱글톤(Singleton) 패턴에 대해 알아본다.

 



8장 구조적 디자인 패턴

이어 프록시(Proxy), 데코레이트(Decorator) 및 어댑터(Adapter)와 같은 구조적 디자인 패턴을 다룬다.

 

9장 행위 디자인 패턴

마지막으로 전략(Strategy), 상태(State), 템플릿(Template), 미들웨어(Middleware), 명령(Command) 그리고 반복자(Iterator)와 같은 행위 디자인 패턴을 소개한다,

 

10장 애플리케이션용 범용 JavaScript

프론트엔드와 백엔드 간에 코드를 공유할 수 있는 최신 JavaScript 웹 애플리케이션의 가장 흥미로운 기능을 설명한다.

 

11장 고급 레시피

문제 해결 방법을 사용하여 일반적인 코딩과 디자인 복잡성으로 어떻게 바로 사용할 수 있는 해결책을 도출할 수 있는지를 보여준다.

 

12장 확장성 및 구조적 패턴

Node.js 애플리케이션을 확장하기 위한 기본 기술과 패턴들을 설명한다.

 

13장 메시징 및 통합 패턴

가장 중요한 메시징 패턴을 소개하면서 Node.js와 생태계를 사용하여 복잡한 분산 시스템을 구축하고 통합하는 방법을 보여준다.


 

원서는 오랜 기간 미 아마존 웹 프로그래밍 분야 베스트셀러에 랭크되었다영진닷컴에서 2018년에 이어 제3판을 우리말로 펴냈다.

 

책은 JavaScript의 기본적인 지식을 갖고 있으면서 엔터프라이즈 레벨의 Node.js 앱을 설계하고 개발하고자 하는 사람들을 대상으로 한다물론 Node.js에 대해 새롭게 공부하고자 하는 사람에게도 훌륭한 가이드북이 될 것이다.


댓글(0) 먼댓글(0) 좋아요(1)
좋아요
북마크하기찜하기 thankstoThanksTo