Python과 함께 Node.js를 공부중인데, 내가 javascript를 너무 얕게 알아서 그런지 뭔가 많이 낯설다.
그나마 다행인건 Apache/Tomcat이랑 JSP를 해본 적 있어서 그거랑 비교해볼 수 있다는거.
생활코딩 이고잉님의 인프런 강의를 보면서 공부중이다.
https://www.inflearn.com/course/nodejs-%EA%B0%95%EC%A2%8C-%EC%83%9D%ED%99%9C%EC%BD%94%EB%94%A9/
------------------------------------------------------------
Node.js
- 구글 크롬의 js엔진(V8 Engine)에 기반해서 만들어진 Server Side Platform.
특징
- 비동기 I/O처리, 이벤트 위주 : 모든 API가 비동기식(Non-blocking)으로 Node.js기반 서버는 API실행시 데이터 반환을 기다리지 않고 다음 API를 실행. 이전에 실행한 API가 결과를 리턴하면 Node.js의 알림 메커니즘을 통해 결과값을 받아온다.
- 빠른 속도 : 구글 크롬의 V8 Engine을 이용하여 빠른 코드 실행.
- 단일 스레드, 뛰어난 확장성 : 이벤트 메커니즘은 서버가 멈추지 않고 반응하도록하여 서버의 확장성을 향상시킴(일반적인 웹서버-Apache는 요청을 처리하기 위해 제한된 쓰레드를 생성) Apache같은 웹서버보다 훨씬 많은 요청을 처리가능하다.
- No 버퍼링 : Node.js 어플리케이션은 버퍼링이 없고 데이터를 Chunk(직역: 큰 덩어리)로 출력한다.
- 라이센스 : MIT License가 적용됨(저작권을 표시한다면 수정, 배포, 상업적 이용이 자유롭고, 저작권자는 SW에 대해 책임을 지지 않는다. -> 해당 소스로 인한 피해는 사용자가 감수해야한다.)
주 사용분야
- 입출력이 빈번한 어플리케이션
- 데이터 스트리밍 어플리케이션
- 실시간으로 데이터를 다루는 어플리케이션
- Json API 기반 어플리케이션
- 싱글페이지 어플리케이션
사용하지 않아야 할 분야
- CPU 사용률이 높은 어플리케이션(단일 Operation에서 Runtime이 길거나 Heavy한 작업)
'Programming' 카테고리의 다른 글
[Algorithm] 알고리즘 자료 (0) | 2018.03.26 |
---|---|
[Node.js] NPM/Java Script (0) | 2018.03.26 |
[Python] 모듈 (0) | 2018.03.25 |
[Python] 기본문법 (0) | 2018.03.25 |
고등학교 3년간 배운것 (0) | 2018.02.17 |