#1. Node.js 개념 이해하기

1. Node.js의 개념

1) Node.js란?

  • Node.js는 Chrome V8 엔진을 기반으로 한 자바스크립트 런타임(실행환경)이다.
  • 이 V8 엔진을 크롬 내부에서만 쓰는게 아니라 밖에서도 사용할 수 있게 별도의 실행환경을 구축한 것 이다.
  • 확장 가능한 네트워크 어플리케이션을 구축하는 목적으로 디자인 되었다.
  • 즉, 자바스크립트로 백엔드 서버를 만들기 위해 크롬에서 V8 엔진만 따로 가져와 서버를 만들 수 있게 했다.

 

※ V8 엔진 ?

크롬 브라우저에 내장되어 있는 자바스크립트를 실행하는 엔진이다.

 

2) 특징

  • 사용되는 언어는 자바스크립트이다.
  • Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.

 

※ Non-blocking I/O ?

함수 호출 시 당장 실행하는 것이 아니라(동기 → 블로킹) 일단 어느 곳에 쌓아 놓고 동시에 요청을 처리하고(비동기 → 논 블로킹), 요청이 완료된 순서대로 처리(스택이용) 한다.

 

3) 장점

  • 웹 프레임워크의 최신 트렌드를 전부 받아들이면서 컴파일러 언어인 자바에 비해서 코딩하기 쉽다.
  • 파이썬과 루비 같은 언어에 비해서 대중적이다.
  • V8 엔진의 등장으로 다른 경쟁 언어에 비해 성능이 빠른 자바스크립트를 도입했다.
  • 비동이 이벤트 드리븐 방식이라는 최신 기술을 사용하고, V8엔진을 사용하기 때문에 자바스크립트임에도 불구하고 성능이 빠르다.
  • 즉, 최신 기술을 적용했을 뿐만 아니라 그 기술을 많은 개발자들이 편하게 사용할 수 있도록 대중화 시킨것이 장점이다.

 

2. Node.js 설치 및 설정

1) 설치하기 

  • https://nodejs.org/ko/ Node.js 공식 홈페이지에서 다운 받으면 된다.
  • 이미 자바스크립트와 리액트를 공부했다면 설치 돼있는게 정상이다.
 

Node.js

Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine.

nodejs.org

가능하면 LTS 버전을 사용하지만, M1 이상인 경우 최신버전을 사용해야 한다.

 

2) 설치 확인

node --version
  • 명령프롬프트(win) 또는 터미널(mac)에 위와 같은 명령어를 입력하면 설치한 버전이 나온다.(버전이 나오면 정상적으로 설치)

 

3) Mac에 환경 변수 등록하기

1. 터미널에서 사용자 초기화 파일을 연다

- zsh를 사용 하는 경우

vi ~/.zshrc

- zsh를 사용하지 않는 경우

vi ~/.bash_profile

 

2. 초기화 파일을 수정한다.

  • 방향키로 파일의 맨 아래로 이동한 후 입력(INSERT) 모드 전환을 위해 i를 누른다.

INSERT가 뜨면 편집 가능

  • 환경 변수를 추가한다.
export 변수이름="내용"

  • 입력 후 ESC키를 누르고 :wq 명령어를 입력 후 엔터를 누른다. (w: write/저장, q: quit/떠나다 .. 즉 저장 후 나온다는 명령어)
  • 변경 사항을 반영하기 위한 아래 명령어를 수행한다.
source ~/.zshrc

 

3. Node에서 환경변수 접근하기

process.env.환경변수이름

 

※ 출력문의 종류

console.log();
  • 개발 단계에서 부수적인 데이터를 출력하고자 할 때 사용한다.
  • 제품을 배포할 때는 console.log는 웬만하면 삭제해서 배포하는게 좋다.
  • 무언가 출력한다는 것은 성능에 영향을 줄 수 있기 때문에 정말 필요한 로그가 아니면 다 지우고 배고 하는게 중요하다.

 

console.debug();
  • 개발자가 변수의 값을 확인하기 위한 용도로 사용하는 출력
  • 통상적으로 console.log와 크게 구분하지 않는다.

 

console.info();
  • 시스템의 정보를 출력할 때 사용한다.
  • 이 또한 배포할 때는 지우고 배포하는게 좋다.

 

console.warn();
  • 경보 단계에서 사용.
  • 에러는 아니지만 정상적이지 않다고 판단되는 경우.

 

console.error();
  • 에러인 경우 사용.
  • 심각할 경우, 예상하지 못한 에러, 시스템 에러 등에 사용된다.

'국비수업 > Node.js' 카테고리의 다른 글

[Node.js] HTTP Client  (0) 2022.06.27
[Node.js] Scheduler  (0) 2022.06.27
[Node.js] Log  (0) 2022.06.27
[Node.js] Event / File Input Output  (0) 2022.06.24
[Node.js] Node Modules  (0) 2022.06.23

+ Recent posts