
647
14.8 요약
노드는 운영 체제와 연결된 자바스크립트이며 자바스크립트 프로그램에서 파일을
읽고 쓰고, 자식 프로세스를 실행하고, 네트워크를 통해 통신할 수 있게 합니다. 노
드는 다음과 같은 용도로 쓸 수 있습니다.
·
배시나 기타 유닉스 셸의 복잡한 문법에서 해방된 최신 셸 스크립트
·
신뢰할 수 없는 코드를 다루는 웹 브라우저에 적용되는 보안 제한에서 벗어나,
신뢰할 수 있는 프로그램을 실행하는 범용 프로그래밍 언어
·
효율적이고 병렬화된 웹 서버 환경
노드의 가장 분명한 특징은 태생부터 비동기적인 API를 바탕으로 한, 싱글 스레드
의 이벤트 기반 병렬 환경입니다. 다른 언어는 다뤄 봤으나 자바스크립트 코드 경
험은 부족하거나, 웹 브라우저용 코드만 작성해 본 클라이언트 사이드 자바스크립
트 프로그래머라면 노드에 익숙해지는 데 시간이 좀 필요할 것입니다. 이 장에서는
먼저 노드 프로그래밍 모델을 설명하며 노드의 동시성, 스트리밍 데이터를 다루는
API, 이진 데이터를 다루는 버퍼 타입에 중점을 둡니다. 이어서 파일과 네트워크,
프로세스, 스레드를 다루는 몇 가지 가장 중요한 노드 API에 대해 설명하고 예제를
살펴봅니다.
이 장에서 노드의 API 전체를 설명할 수는 없지만, 읽고 나면 노드를 생산적으로