Node.js 디자인 패턴 바이블 (검증된 패턴과 기술을 이용한 수준높은 Node.js 애플리케이션 설계 및 구현)

Node.js 디자인 패턴 바이블 (검증된 패턴과 기술을 이용한 수준높은 Node.js 애플리케이션 설계 및 구현)

$36.87
Description
완벽한 Node.js 애플리케이션 설계를 위한 디자인 패턴 바이블
효율적이고 강력한 Node.js 애플리케이션 구축에 필요한 디자인 패턴들을 한 권으로 정리한다. Node.js로 프로그래밍을 하는데 필요한 기초적인 개념을 시작으로 시작으로 웹 애플리케이션을 만드는데 사용할 수 있는 디자인 패턴까지, 직접 따라할 수 있는 예제와 모범 사례들을 통해 살펴본다.

이 책에서는 견고한 서버사이드 애플리케이션을 만들기 위해 사용할 수 있는 Node.js 14의 모든 기능들을 확인할 뿐만 아니라, 개발자들이 Node.js를 사용한 프로젝트를 진행할 때 마주할 수 있는 비동기 제어나 백엔드와 프론트엔드의 통신, 분산 시스템 구축 같은 주제들을 다루며 이를 해결할 수 있는 다양한 이론과 패턴들을 살펴본다.

각 챕터는 디자인 패턴을 주제별로 나누어 상황에 따른 디자인 패턴과 이용 사례를 소개한다. 또한 설명에서 사용되었던 사례에 따라 실제 개발 환경에서 사용할 수 있는 다양한 라이브러리와 기술들을 소개하며 Node.js의 전체적인 생태계와 솔루션과 조명한다. Node.js를 현업 프로젝트에 사용하고 싶은 개발자나 Node.js가 작동하는 원리에 대해 자세하게 알고 싶었던 독자라면 완벽한 Node.js 애플리케이션을 만드는데 필요한 모든 지식을 갖출 수 있게 될 것이다.
저자

MarioCasciaro

소프트웨어엔지니어이자기업가입니다.어려서부터레고우주선을시작으로첫번째컴퓨터인코모도어(Commodore)64에쓰여진프로그램들에이르기까지무언가를만드는일에푹빠져있었습니다.대학시절SourceForge에자신의첫오픈소스프로젝트를발표했는데,이것은약30,000줄에이르는C++코드였습니다.소프트웨어공학석사학위를취득한그는로마와더블린(Dublin)의IBM소프트웨어연구소에서일했습니다.그는현재자신의소프트웨어회사인Var7Technologies를운영하며,비상대응팀을위한소프트웨어를만드는D4HTechnologies의수석엔지니어를맡고있습니다.

목차

Chapter01Node.js플랫폼
1-1Node.js철학
1-2Node.js는어떻게작동하는가
1-3Node.js에서의JavaScript
요약

Chapter02모듈시스템
2-1모듈의필요성
2-2JavaScript와Node.js에서의모듈시스템
2-3모듈시스템과패턴
2-4CommonJS모듈
2-5모듈정의패턴
2-6ESM:ECMAScript모듈
2-7ESM과CommonJS의차이점과상호운용
요약

Chapter03콜백과이벤트
3-1콜백패턴
3-2관찰자패턴(Theobserverpattern)
요약

Chapter04콜백을사용한비동기제어흐름패턴
4-1비동기프로그래밍의어려움
4-2콜백모범사례와제어흐름패턴
4-3비동기라이브러리
요약

Chapter05Promise그리고Async/Await와함께하는비동기제어흐름패턴
5-1프라미스(Promise)
5-2Async/await
5-3무한재귀프라미스해결(resolution)체인의문제
요약

Chapter06스트림코딩
6-1스트림의중요성발견
6-2스트림시작하기
6-3스트림을사용한비동기제어흐름패턴
6-4파이핑(Piping)패턴
요약

Chapter07생성자디자인패턴
7-1팩토리
7-2빌더
7-3공개생성자
7-4싱글톤
7-5모듈와이어링(Wiring)
요약

Chapter08구조적설계패턴
8-1프록시
8-2데코레이터
8-3프록시와데코레이터사이의경계
8-4어댑터
요약

Chapter09행위디자인패턴
9-1전략패턴
9-2상태(State)
9-3템플릿
9-4반복자(Iterator)
9-5미들웨어
9-6명령
요약

Chapter10웹애플리케이션을위한범용JavaScript
10-1브라우저와코드공유
10-2크로스플랫폼개발의기초
10-3React개요
10-4범용JavaScript앱만들기
요약

Chapter11고급레시피
11-1비동기적으로초기화되는컴포넌트다루기
11-2비동기식요청일괄처리및캐싱
11-3비동기작업취소
11-4CPU바운드작업실행
요약

Chapter12확장성과아키텍처패턴
12-1애플리케이션확장소개
12-2복제및로드밸런싱
12-3복잡한애플리케이션분해
요약

Chapter13메시징과통합패턴
13-1메시징시스템의기초
13-2발행/구독패턴
13-3작업배포(Taskdistribution)패턴
13-4요청(Request)/응답(Reply)패턴
요약

출판사 서평

이책은이미Node.js를처음접한후이제생산성,디자인품질및확장성측면에서최대한활용하고자하는개발자를대상으로합니다.이책은몇가지기본개념도다룰것이기때문에,기본적인예제를다루어보았으면서JavaScript언어에대해어느정도의친숙함만있으면됩니다.Node.js의중급개발자들에게도이책에제시된기술들은유용할것입니다.소프트웨어설계이론에대한배경지식도제시된개념중일부를이해하는데유리합니다.이책은웹애플리케이션개발,웹서비스,데이터베이스및데이터구조에대한실무지식이있다고가정하고있습니다.

‘1장.Node.js플랫폼’은플랫폼자체의핵심패턴을보여줌으로써Node.js애플리케이션디자인세계에대한개요역할을합니다.Node.js생태계와그철학을다루고Node.js내부및리액터(reactor)패턴에대한빠른소개를제공합니다.
‘2장.모듈시스템’에서는Node.js에서사용할수있는모듈시스템을살펴보고CommonJS와ECMAScript2015부터도입된최신의ES모듈간의차이점을강조합니다.

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

‘4장.콜백을사용한비동기제어흐름패턴’에서는콜백을사용하여Node.js로의비동기제어흐름을효율적으로처리하기위한일련의패턴과기술들을소개합니다.이장에서는일반JavaScript를사용하여“콜백지옥”문제를완화하는몇가지전통적인방법을설명합니다.

‘5장.프라미스및Async/Await를사용한비동기제어흐름패턴’은비동기흐름제어의보다정교하고현대적인기술을탐구하면서진행합니다.

‘6장.스트림코딩’은Node.js를위한가장중요한도구중하나인스트림에대해자세히설명합니다.Transform스트림을가지고데이터를변환하고처리하는방법과다른패턴들에서스트림들을결합하는방법을보여줍니다.

‘7장.생성자디자인패턴’에서는Node.js의전통적인디자인패턴을탐구하기시작합니다.이장에서는가장널리사용되는생성패턴으로팩토리(Factory)패턴,공개생성자(RevealingConstructor),빌더(Builder)패턴그리고싱글톤(Singleton)패턴에대해살펴봅니다.

‘8장.구조적디자인패턴’에서는Node.js의전통적인디자인패턴을계속탐색하여프록시(Proxy),데코레이트(Decorator)및어댑터(Adapter)와같은구조적디자인패턴을다룹니다.
‘9장.행위디자인패턴’은전략(Strategy),상태(State),템플릿(Template),미들웨어(Middleware),명령(Command)그리고반복자(Iterator)와같은행위디자인패턴을소개하고Node.js에서의전통적인디자인패턴에대한논의를마무리합니다.

‘10장.애플리케이션용범용JavaScript’는프론트엔드와백엔드간에코드를공유할수있는최신JavaScript웹애플리케이션의가장흥미로운기능중한가지를살펴봅니다.이장에서는최신의도구들과라이브러리들을사용해간단한웹애플리케이션을만들어보면서범용JavaScript의기본원리를배웁니다.

‘11장.고급레시피’에서는문제해결방법을사용하여일반적인코딩과디자인복잡성으로어떻게바로사용할수있는해결책을도출할수있는지를보여줍니다.

‘12장.확장성및구조적패턴’에서는Node.js애플리케이션을확장하기위한기본기술과패턴들을설명합니다.

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