# Node.js 는 요즈음 스타트업에서 가장 많이 사용하는 기술스택인것 같다.
따라서 Node.js 의 공부의 필요성을 느껴 공부해보고자 한다.
Node.js 란 무엇인가
# Node.js 란 구글 크롬의 자바 크롬의 javascript 엔진으로 빌드 된 javascript 런타임 입니다.
자바스크립트는 일반적으로 크롬과 같은 브라우저에 내장되어있습니다.
그래서 그 동안 자바스크립트는 브라우저에 종속되어있었습니다.
그래서 자바스크립트를 크롬같은 브라우저내에서만 쓰는 것이 아닌 브라우저 밖,
즉 내컴퓨터 에서 다양한 용도로 확장하기 위해 만들어진 것이 바로 Node.js 입니다.
Node.js 를 이용하면 python과 같이 내 컴퓨터에서 filesystem을 이용할 수 있고,
서버를 만들 수도 있고 크롤링도 할 수 있습니다. JavaScript도 Python과 같은 프로그래밍 언어 이기 때문입니다.
Node.js가 javascript 런타임이라고 했는데 이 런타임이라는 것은 예를 들어 컴퓨터에서 프로그램을 실행시키면
그 컴퓨터는 그 프로그램의 런타임이 되는 것 이므로 , javascript의 런타임이 브라우저가 아닌
Node.js로 꺼내어 기능을 확장한다는 뜻입니다.
Node.js의 특징
1. 비동기 I/O 특징 : Node.js 라이브러리의 모든 API는 비동기식 입니다, 멈추지않습니다. 이전에 실행했던 api 가 결과값을 반환할 시 Node.js 이벤트 알림 메커니즘을 통해 결과값을 받아옵니다.
2. 빠른 속도 : 구글 크롬의 자바스크립트 엔진을 사용하여 빠른 코드 실행을 제공합니다.
3. 단일 쓰레드와 뛰어난 확장성 : Node.js는 이벤트 루프와 함께 단일 쓰레드 모델을 사용합니다. 이벤트 메커니즘은 서버가 멈추지 않고 반응하도록 해주어 서버의 확장성을 키워줍니다. 반면 , 아파치 같은 일반적인 웹서버는 요청을 처리하기 위하여 제한된 쓰레드를 생성합니다. Node.js 는 쓰레드를 한개만 사용하고 아파치같은 웹서버보다 훨씬 많은 요청을 처리할 수 있습니다.
4. No 버퍼링 : 버퍼링이 없으며 데이터를 chunk로 출력합니다.
5. 라이센스 : MIT 라이센스가 적용되어있다.
'Back > node.js' 카테고리의 다른 글
Node.js 를 이용하여 웹앱 만들기 - 1 (수업소개) (0) | 2022.12.04 |
---|