-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathnodejs.txt
More file actions
23 lines (21 loc) · 1.65 KB
/
nodejs.txt
File metadata and controls
23 lines (21 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1. Nodejs란
Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다.
작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.
내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며
이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다.
2. Nodejs 특징
- V8 Engine 위에 작동하는 이벤트 처리 I/O 프레임워크이다.
- Event-driven방식 비동기 프로그래밍이다.
- 프론트엔드와 백엔드를 자바 스크립트 같은 언어로 관리가 가능하다.
- (자바 스크립트의 경우) multi-thread 개념이 없어 thread간의 동기화 처리문제를 제거, 프로그래밍 자체를 단순화함.
3. Nodejs 장단점
1) 장점
- 싱글스레드, 비동기, IO처리에 기반한 빠른속도
- CPU 대기시간 최소화
- 자바스크립트를 이용해서 개발할 수 있기 때문에 프론트렌드 개발자의 진입장벽이 낮음
- 기존 Java서버에 비해 생산성이 높음
2) 단점
- 싱글스레드 모델이기 때문에 하나의 작업에 시간이 오래걸리면 시스템 전체의 성능이 급격하게 떨어짐
- 이벤트 콜백 중심으로 코드가 중첩될 경우 가독성이 떨어짐
- 에러가 발생할 경우 프로세스 자체가 죽어버리므로 주의해야함
- 멀티코어 활용을 위해서 cluster모듈을 이용해야 하고, 세션을 공유할 경우 부가적인 작업이 필요.