노드 시작하기
노드 서버를 만들 일이 생겼습니다. 700페이지짜리 두껍고 무서운 책을 한권 샀습니다. 이름도 무려 Node.js 교과서.
그래도 뷰 공부할때보다는 확실히 덜 막막하고, 서버는 처음 개발해보는거라 약간 설레는 마음이 있습니다.
구입한 책은 Node.js 교과서 - 길벗출판사 .
노드란?
Node.js는 Chrome V8 Javascript엔진으로 빌드된
Javascript 런타임
이다.
서버로서의 노드
- 노드의 가장 큰 특징 : 1) 싱글스레드 2) 논-블로킹 모델
- 노드를 서버로 사용할때의 장단점
- 노드는 IO 처리를 잘한다(논블로킹 방식으로 처리).
- 하지만 노드는 CPU부하가 큰 작업에는 적합하지 않다. >> 작성한 코드 전체가
스레드 하나에서 처리
되기 때문
따라서 노드는
개수는 많지만 크기는 작은 데이터를 실시간으로 주고받는 데에
적합하다.
+) 노드에서 멀티스레드 사용이 불가능한건 아닌듯. 노드12에서 안정화된 워커스레드 기능으로 멀티스레딩 작업 가능하다고 한다.
+) 당연히 그래도 그냥 C++, Ruby, Go에 비해선 느리다.