티스토리 뷰
Node.js는 서버 환경에서 작동하는 자바스크립트로,
CommonJS + V8 엔진으로 구성되어 있다.
* 기존의 네트워크 애플리케이션과의 차이점은?
기존의 네트워크 애플리케이션(ex. 톰캣 서버 등)은 쓰레드 기반의 네트워크 입출력을 처리했다.
반면 Node.js는 이벤트 기반의 네트워크 입출력을 처리한다.
이 말은 무엇을 의미할까?
Node.js는 단일 쓰레드로 구성되어 있어
사용자의 이벤트가 발생되면 그 순서에 따라 순차적으로 작업을 수행한다는 것을 뜻한다.
비유를 하자면,
기존의 네트워크 App은 일 처리를 손오공처럼
A, B, C, D 일을 처리하기 위해 본인을 여러 개로 복제해서 한꺼번에 처리하고
노드 네트워크는 평범한 인간처럼
A, B, C, D 일을 처리하기 위해 일이 발생된 순서대로 처리한다고 보면 될 것 같다.
(오마이갓! 손오공이라니 겁나 아재 스럽다 -_-)
단일 쓰레드라는 말은 개발자가 쓰레드 관리를 할 필요가 없기 때문에
골머리 하나에서 자유로워진다는 것을 의미할 것 같다 ㅋㅋ
하지만, 단일 쓰레드 이기 때문에 이벤트 처리 도중 문제가 생기게 되면
꼼짝 없이 문제가 해결될 때까지 시스템 전체가 다음 일을 처리하지 못하고
기다려야 한다는 단점도 있다.
* Node.js의 장점
- JS를 사용하여 웹 개발자들이 쉽게 접근이 가능
- V8 엔진을 사용하기 때문에 구글에서 손을 떼기 않는 이상 속도는 향상될 것
- C++을 사용하여 확장할 수 있음.
* Node.js의 단점
- JS를 사용하였기 때문에 C/C++로 개발된 서버 애플리케이션 보다 속도가 느리다.
'정리하기 > 모던웹을 위한 Node.js' 카테고리의 다른 글
외부 모듈 (0) | 2017.06.06 |
---|---|
http 모듈 (0) | 2017.05.28 |
이벤트 (0) | 2017.05.20 |
node.js의 전역 객체 (0) | 2017.05.14 |
- Total
- Today
- Yesterday
- Typescript
- mocha.js
- 자바스크립트
- 원하는것이있다면끝까지버텨라
- js
- Android
- git tag
- AndroidContext
- common.js
- framework
- awesome-vue
- MarionetteJS
- browserify
- node
- marionetts.js
- nextTick
- angular
- nodejs
- eventbus
- vue.js
- vuex
- backbone.js
- node.js
- #가상머신
- 뉴욕
- javascript
- 외부모듈
- vue
- 함수
- awe-some
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |