본 포스트는 https://velopert.com/133
[Node.JS] 강좌 01편: 소개 | VELOPERT.LOG
Node.js 가 뭐지? NodeJS 는 구글 크롬의 자바스크립트 엔진 (V8 Engine) 에 기반해 만들어진 서버 사이드 플랫폼입니다. 2009년에 Ryan Dahl에 의해 개발되었으며 현시점 (2016-02-07) 최신 버전은 v5.5.0 입니다
velopert.com
velopert님 강좌를 필사하여 공부하기 위한 포스트입니다.
NodeJS란?
nodejs는 크롬의 javascript엔진(V8 engine)에 의해 만들어진 server side 플랫폼이다.
2009년에 ryan dehl에 의해 개발되었다.
사람들의 오해.
nodejs는 웹서버가 아니다. node 자체로는 아무것도 하지 않는다. apache 웹서버처럼 html파일 경로를 지정해주고 서버를 열고 그런 설정이 없다. 단 http서버를 직접 작성해야 한다.
nodejs는 그저 코드를 실행할 수 있는 하나의 방법에 불과한 그저 javascript 런타임이다.
nodejs 특징
1. 비동기 io처리/이벤트 위주:
nodejs의 라이브러리의 모든 api는 비동기식으로 동작한다. (멈추지 않는다.-non blocking)
nodejs 기반 서버는 api가 실행되었을때 데이터를 반환할때까지 기다리지 않고 다음 api를 실행한다.
그리고 이전에 실행했던 api가 결과값을 반환할 시, nodejs의 이벤트 알림 매커니즘을 통해 결과값을 받아온다.
2. 빠른 속도
구글 크롬의 V8 javascript엔진을 사용하여 빠른 코드실행을 제공한다.
3. 단일 쓰레드/뛰어난 확장성
nodejs는 이벤트루프와 함께 단일 쓰레드 모델을 사용한다.
이벤트 메커니즘은 서버가 멈추지않고 반응하도록 해주어 서버의 확장성을 키워준다.
반면 일반적인 웹서버 apache같은 경우는 요청을 처리하기 위해서 제한된 쓰레드를 생성한다.
nodejs는 스레드를 1개만 생성하고 apache같은 웹서버보다 훨씬 많은 요청을 처리할 수 있다.
4. 노 버퍼링
nodejs 어플리케이션엔 데이터 버퍼링이 없고, 데이터를 chunck로 출력한다.
5. 라이센스
MIT License이다.
nodejs가 사용되는 곳
- 입출력이 잦은 어플리케이션
- 데이터 스트리밍 어플리케이션
- 데이터를 실시간으로 다루는 어플리케이션
- JSON API 기반 어플리케이션
- 싱글페이지 어플리케이션
nodejs를 쓰지 말아야 할 곳
CPU사용률이 높은 어플리케이션.
'개발 > Web Programming' 카테고리의 다른 글
[Nodejs] 기본기 2 (0) | 2020.07.30 |
---|---|
Refused to apply style from 'css/style.css' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled. (0) | 2020.07.30 |
CRA error... (0) | 2020.07.29 |
Mongoose populate가 동작하지 않는경우 (0) | 2020.07.28 |
Error: There can be only one type named "Mutation". (0) | 2020.07.27 |