Node.js

👻 Review/도서 후기

[Node.js 교과서 정리] 2. 서버로서의 노드

노드를 서버로 사용할 때의 특징과 장단점을 알아볼 것이다. 노드가 싱글 스레드, 논블로킹 모델을 사용하므로 노드 서버 또한 동일한 모델일 수밖에 없다. 노드 서버는 I/O가 많은 작업에 적합하다. 노드는 libuv 라이브러리를 사용하여 I/O 작업을 논블로킹 방식으로 처리해준다. 따라서 스레드 하나가 많은 수의 I/O를 혼자서도 감당할 수 있다. 하지만 CPU 부하가 큰 작업에서는 적합하지 않다. 싱글 스레드 방식의 프로그래밍은 멀티 스레드 방식보다 상대적으로 쉽다. 서버 프로그래밍에 익숙하지 않은 사람도 쉽게 입문할 수가 있다. 하지만 싱글 스레드이다 보니 하나뿐인 스레드가 에러로 인해 멈추지 않도록 잘 관리해야 한다. 에러를 제대로 처리하지 못하면 서버 전체가 멈춘다. 웹 서버가 내장되어 있어 입문자..

👻 Review/도서 후기

[Node.js 교과서 정리] 1. 핵심 개념

1. 서버 서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램이다. 서버는 클라이언트가 요청을 하면 응답을 한다. 2. 자바스크립트 런타임 Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임이다. Node.js는 이벤트 기반, 논블로킹 I/O 모델을 사용해 가볍고 효율적이다. Node.js의 패키지 생태계인 npm은 세계에서 가장 큰 오픈 소스 라이브러리 생태계이다. 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다. 즉, 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있게 해준다. 기존에는 인터넷 브라우저 위에서만 실행할 수 있었다. 그 외의 환경에서는 속도 문제가 있었으나 구글이 V8 엔진을 사용하여 크롬을 출시하자 속도 ..

나리 집사
'Node.js' 태그의 글 목록