Node.JS
포스트
취소

Node.JS

Node.js란?

  • Node.js는 크롬 V8 엔진에서 실행되고 비동기 라이브러리인 libuv를 사용합니다 웹 브라우저 외부에서 JavaScript 코드를 실행하는 오픈 소스, 교차 플랫폼, 백엔드 JavaScript 런타임 환경입니다.
  • 이벤트 기반, 논 블로킹 I/O 모델을 사용해 가볍고 효육적입니다.
  • Node.js의 패키지 생태계인 npm은 세계에서 가장큰 오픈소스 라이브러리 생태계 입니다.

npm

  • npm은 Node Package Manager(노드 패키지 매니저)의 약자 입니다.
  • Node.js의 패키지를 관리할 수 있는 도구이며 CC#으로 구성되어 있습니다.
  • npm 은 Node.js를 설치하면 같이 설치되며 npm에는 Node.js에서 사용되는 각종 코드 패키지들이 모여있고, 스마트폰으로 앱스토어나 플레이스토어에서 앱을 다운로드하는 것처럼 수많은 개발에 필요한 수많은 라이브러리를 다운로드할 수 있습니다.

이벤트 기반

  • 이벤트 기반이란 이벤트가 발생했을때 미리 지정해둔 작업을 수행하는 방식을 의미합니다.
  • 이벤트 기반 시스템 에서는 특정 이벤트가 발생했을때 어떤 동작을 수행할지 미리 등록해 두어야 하며, 이것을 이벤트 리스너에 콜백 함수를 등록했다고 표현합니다.
  • 이벤트 기반 모델에는 이벤트 루프라는 개념이 있으며, 여러 이벤트가 동시에 발생했을때 어떤 순서로 콜백함수를 호출할지를 이벤트 루프가 판단합니다.

이벤트 호출

이벤트 호출 스택을 파악하기 위해서는 이벤트루프, 태스트 큐, 백그라운드 3개를 알아야합니다

  • 이벤트 루프 : 이벤트가 발생시 호출한 콜백 함수들을 관리하고 호출된 콜백 함수의 실행 순서를 결정하는 역학을 담당하고 노드가 종료될 때까지 이벤트 처리를 위한 작업을 반복하므로 이벤트 루프라고 불립니다.
  • 태스트 큐 : 이벤트 발생후 호출 되어야할 콜백 함수들이 대기하는 공간이며 콜백들을 이벤트 루프가 정한 순서대로 대기하고 있어 이를 콜백큐라고도 불립니다.
  • 백그라운드 : 타이머나 I/O 작업 콜백 또는 이벤트 리스너들이 대기하는곳입니다 이걸 그림으로 보면 img 이렇게 볼 수 있습니다.

전역 컨텍스트

전역 컨텍스트는 함수가 호출 되었을때 생성되는 환경을 의미합니다. 자바스크립트는 함수 실행 시 기본적으로 전역 컨텍스트 안에서 돌아간다고 볼 수 있습니다.

출처 : 리액트를 다루는 방법

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.