머리말


Node.js 애플리케이션은 웹에서 가장 많이 사용되는 언어이자 모든 웹 브라우저에서 기본적으로 지원되는 유일한 프로그래밍 언어인 JavaScript로 작성된다. 이 측면은 단일 언어 애플리케이션 스택 및 서버와 클라이언트 간의 코드 공유 같은 시나리오를 가능하게 한다.

Node.js 자체는 JavaScript 언어의 발전에 기여하고 있다. 사람들은 서버에서 JavaScript를 사용하는 것이 많은 가치를 가져다 준다는 것을 알고 있으며, 그 실용성, 유연성, 이벤트 기반 접근방식, 그리고 객체지향 프래그래밍과 함수 프로그래밍의 중간인 하이브리드적인 특성 때문에 JavaScript를 좋아한다.

Node.js의 혁신적인 단일 스레드 프로그래밍 모델과 비동기 아키텍처 성능 및 확장성 관점에서의 명백한 장점 외에도, 이 특성은 개발자가 동시성 및 병렬 처리에 접근하는 방식에 변화를 가져왔다. 뮤텍스는 대기열로, 스레드는 콜백으로, 동기화는 인과관계로 대체된다.

1. Node.js 플랫폼


플랫폼 자체의 핵심 패턴을 보여줌으로써 Node.js 애플리케이션 디자인 세계에 대한 개요 역할을 한다. Node.js 생태계와 그 철학을 다루고 Node.js 내부 및 리액터(reactor) 패턴에 대한 빠른 소개를 제공한다.

Node.js 플랫폼

2. 모듈 시스템

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

3. 콜백 및 이벤트

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

콜백과 이벤트

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

Node.js로 비동기 제어 흐름을 효율적으로 처리하기 위한 일련의 패턴과 기술 소개 콜백 지옥 문제를 완화하는 몇 가지 전통적인 방법

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