Node.js 란?
Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임 이다.
보통 노드는 서버로 이용된다. 하지만, Node에 대한 설명글을 보면 서버에 대한 얘기는 없다.
이는 노드가 서버만 실행할 수 있는 것이 아니기 때문이다.
서버로서의 Node.js
노드를 통해 서버 애플리케이션을 실행할 수 있다. 이때 서버란, 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 혹은 프로그램을 말한다.
노드는 자바스크립트 프로그램이 서버로서 기능하기 위한 도구를 제공하므로 서버 역할을 수행할 수 있다.
자바스크립트 런타임
노드는 자바스크립트 런타임이다. 런타임은 특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻한다.
따라서 노드는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있다. == 노드는 자바스크립트 실행기라고 봐도 무방하다.
기존에는 자바스크립트를 웹 브라우저 위에서만 실행할 수 있었다. 이는 브라우저가 자바스크립트 런타임을 내장하고 있어서
가능했다. 하지만 브라우저 밖에서는 동작하지 못했다. 이 단점을 노드가 해결해준 것.
이벤트 기반
이벤트 기반이란, 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식을 의미한다.
이벤트로는 클릭이나 네트워크 요청등이 있을 수 있다.
이벤트 기반 시스템에는 특정 이벤트가 발생할 때 무엇을 할 지 미리 등록해두어야 한다.
이를 이벤트 리스너에 콜백함수를 등록한다고 표현한다.
예를들어, 버튼을 클릭할 때 경고창을 띄우도록 설정하는 것을 구현하고자 한다면, 클릭 이벤트 리스너에 경고창을 띄우는 콜백함수를
등록해두면 클릭 이벤트가 발생할 때 마다 콜백 함수가 실행되어 경고창이 뜨게 된다.
'⚙️Backend > Node.js' 카테고리의 다른 글
0. 설치 (0) | 2020.11.27 |
---|---|
[Node.js] Node.js 및 채팅기능 ( socket.io ) (1) | 2020.06.23 |
[Node.js] oracle db 연동 (0) | 2020.06.01 |