Node.js(정의, 특징, 사용방법, REPL)
2022. 11. 21. 22:13ㆍWEB개발/TIL
반응형
Node.js
: 구글 크롬의 자바스크립트 엔진(V8 Engine)에 기반해 만들어진 javascript 런타임
- javascript가 서버에서 작동하도록 함
자바스크립트 엔진?
: 자바스크립트 코드를 실행하는 프로그램 또는 인터프리터(코드를 한 줄씩 읽어 내려가며 실행하는 프로그램)
런타임?
: 프로그래밍 언어가 구동되는 환경
** 웹 브라우저 없이 실행 가능 **
> 원래 javascript의 런타임 환경은 웹 브라우저만 존재 했었음
Node.js 특징
1) 자바스크립트 언어 사용
2) single thread
: 에러(예외)를 처리하지 못하면 프로그램이 아예 중단됨
하나가 죽으면 전체가 죽음(다시 실행이 안 됨)
따라서, 예외 처리가 매우 중요함!
3) 비동기 I/O 방식(Non-blocking I/O)
동기(Synchronous)
: 순차적(한 요청에 서버의 응답이 이루어질 때까지 계속 대기), 먼저 보낸 것의 결과로 다음 것을 보냄
- 장점: 설계가 매우 간단하고 직관적임
- 단점: 결과가 주어질 때까지 아무것도 못하고 무한 대기해야 함
ex) 대부분의 홈페이지
비동기(Asynchronous)
: 순서가 없음(요청을 하고 결과를 받기 전 다음 요청을 수행)
→ 강제로 순서를 만들어 주어야 함
- 장점: 요청에 따른 결과가 반환되는 시간 동안 다른 작업을 수행할 수 있음
- 단점: 동기식보다 설계가 복잡함.
ex) 스트리밍, 채팅
Node.js 사용 방법
다운로드 주소: https://nodejs.org/ko/download/
> Window Installer 클릭 후 설치
> 터미널(cmd)에서 명령어 입력
apt-get update
//(apt-get remove nodejs) //제거
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash -
apt-get install nodejs
apt-get install npm
npm(node package manager)?
: Node.js의 패키지를 관리할 수 있는 도구
* Javascript로 개발된 각종 모듈의 설치, 업데이트, 구성, 제거 과정을 자동화하여 관리해주는 기능
> Node.js 버전 확인
node -v
npm -v
참고) REPL
R(Read) → E(Evaluate) → P(Print) → L(Loop)
- 윈도우에서의 cmd, 맥에서의 terminal처럼 노드에는 REPL콘솔이 있음
반응형
'WEB개발 > TIL' 카테고리의 다른 글
구조분해 할당(Destructuring assignment) (0) | 2022.11.21 |
---|---|
Node.js(module) (0) | 2022.11.21 |
개발이론 및 git 추가 정리(branch, merge) (0) | 2022.11.19 |
서버(클라우드 정의, 서버구축과 생성 및 접속, FileZilla, Apache) (0) | 2022.11.19 |
JQuery 이벤트 리스너 (0) | 2022.11.16 |