181일차 - Node.js

김민찬·2021년 11월 7일
0

취업으로의 여정

목록 보기
187/196
post-thumbnail

Node.js란?

아래 사진은 Node.js 홈페이지의 랜딩페이지에 나와있는 문장이다.

여기서 2가지 어려운 단어가 나온다. V8 런타임 이다.
V8은 무엇이고 런타임은 무엇일까?

V8

V8은 C++로 작성된 오픈소스 자바스크립트 엔진이다.

자바스크립트를 바이트 코드로 컴파일하고 실행하는 방식을 사용한다.
여기서 바이트 코드란 단어가 어려워서 서칭해봤는데, 이진 표현법으로써 보통 한 번에 하나의 명령어를 읽은 후 실행한다고 한다.
이런 점에서 인터프리터 언어인 자바스크립트와 잘어울리겠다고 생각했다.

런타임

런타임이란 프로그래밍 컴퓨터 프로그램이 실행되고 있는 동안의 동작을 말한다.

Node.js가 나오기 전에는 자바스크립트는 런타임이 브라우저에서만 존재했다.
그래서 자바스크립트를 브라우저 밖에서도 사용할 수 있게 끌어낸 것이 Node.js이다.

Node.js는 백엔드 영역이다?

흔히 Node.js를 백엔드 영역이라고 생각한다.
나도 Node.js에 대해 조사하기 전까지는 그렇게 생각했었다.

그렇게 착각하는 이유는 Node.js는 확장성이 있는 네트원크 어플리케이션을 위해 설계되었고, 이 말은 서버를 위해서 설계된 플랫폼이기 때문이다.

하지만 프론트 엔드 개발자도 Node.js를 빈번하게 사용한다.
ES6문법을 ES5 문법으로 트랜스파일 해주는 Babel이 그 예이다.
바벨 뿐만 아니라, npm으로 설치하는 모든 CLI는 Node.js를 이용한다고 볼 수 있다.
그리고 npm(Node Package Manger)을 쓴다는 것 자체가 Node.js를 이용하는 것이다.

참고자료

오늘도 끄적끄적 - Node.js란?
Node.js 노드 개념 이해하기
Chrome V8

profile
두려움 없이

0개의 댓글