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