Node.js 란 ?

권가야·2022년 9월 30일
0
post-thumbnail

Node Js란 ?

공식사이트 바로가기 !!
공식 사이트의 설명에 따르면 node는 크롬 V8 JS 엔진으로 빌드된 JS 런타임이라고 명시되어있고, V8엔진으로 빌드되었지만 구글이 만든것은 아니고 자바스크립트를 실행할 수 있는 환경이라고 보면 된다.

이게 뭔소리 ??
자바스크립트를 실행할 수 있는 환경이라고 보면 된다.
-> 브라우저가 아닌 컴퓨터에서 브라우저 없이 실행하게 도와주는 환경이다.

node js는 Single-Thread의 non-blocking I/O 이벤트 기반 이다.

*런타임 : 컴퓨터 프로그램이 실행되고 있는 동안의 동작을 말한다.
자바스크립트 런타임의 종류 : 웹 브라우저(크롬, 파이어폭스, 익스플로러 등)와 Node.js 등이 있다.

*Thread : 프로세스 내에서 실행되는 여러 흐름의 단위이며, 프로세스가 할당받은 시스템 자원 (CPU 시간, 메모리 영역 등)을 이용하는 실행 단위이다.

*Process : 프로그램이 실행되는 즉시 CPU 로부터 할당받는 자원 (메모리 영역 :Code, Data, BSS, Heap, Stack)


Node js의 장단점

장점
-자바스크립트를 동일하게 사용해서 서버단 로직을 처리할 수 있다는게 가장 큰 장점
-이벤트 기반 비동기 방식이라 서버 자원을 덜 소모한다.
-npm을 통한 다양한 모듈(패키지)을 제공한다.

단점
-코드를 실행시켜야 에러 여부가 판단되며, 테스트의 비중이 매우 크다.
-업무의 복잡도/ 난이도가 큰 웹서비스에는 어울리지 않는다.


Node의 REPL

REPL 환경이란 ?
입력 받은 코드를 읽어(Read) 메모리에 저장하고, 평가 (Evaluate)된 값을 출력(Print)을 반복(Loop)해주는 간단한 개발 환경이다.

*웹브라우저에서 js REPL이 가능한데 ?
웹 브라우저에서 개발자 도구의 콘솔 창에서도 작업이 가능하지만
node가 제공하는 API를 사용할 수 없고 브라우저의 api를 사용해 DOM을 제어할 수 있다는 차이가 있다.

*사용방법

node JS를 설치 (공식사이트 바로가기)

터미널/콘솔을 켜고 node 입력하면 node js가 제공하는 REPL환경을 사용할 수 있으니 참고하여 유용하게 사용하자 !!


요약
1. node는 크롬 V8 JS 엔진으로 빌드된 JS 런타임이다.
2. node는 Single-Thread의 non-blocking I/O 이벤트 기반 이다.

reference
https://haeunyah.tistory.com/81

*오타 혹은 오류 지적해주시면 감사하겠습니다 !!

0개의 댓글