TIL/Node.js

[240124] Node.js란? (+ V8, JIT 컴파일) - (기초)

2024. 1. 24. 20:18
목차
  1. Node.js란?
  2. JS 런타임이란?
  3. JS 엔진이란?
  4. JS 엔진의 코드 실행 과정
  5. V8 엔진의 실행 과정과 JIT compiler
  6. 결론

Node.js란?

Node.js is an open-source and cross-platform JavaScript runtime environment.

Node.js는 JS 런타임 환경이다.

Node.js runs the V8 JavaScript engine,

Node.js는 V8 JS 엔진을 실행한다.

 

 

JS 런타임이란?

  • 런타임이란 특정 언어로 만든 프로그램을 실행할 수 있는 환경을 뜻한다.
  • 브라우저, Node.js, RN, 일렉트론 등이 있다.
  • 따라서 Node.js는 자바스크립트 프로그램을 컴퓨터에서 실행할 수 있게 하는 환경이다.

 

 

JS 엔진이란?

  • 컴퓨터가 JS 언어를 이해할 수 있도록 기계어로 번역하고 실행시켜주는 엔진

 

 

JS 엔진의 코드 실행 과정

파싱(parsing) ⏩️ 컴파일링(compiling) ⏩️ 실행(executing)
  • 컴파일링 방법에는 컴파일러(한번에 번역)를 사용하는 방법과 인터프리터(한줄한줄 번역)를 사용하는 방법이 있다.

 

 

V8 엔진의 실행 과정과 JIT compiler

  • 그런데 V8 엔진은 JIT(Just-In-Time) compiler 방식을 취한다고 한다. 어떻게 실행되는 걸까?

출처: https://medium.com/dailyjs/understanding-v8s-bytecode-317d46c94775

파싱(parsing)
⏩️

JIT 컴파일링(compiling)
[ 인터프리터(JS를 바이트 코드로 변환)
⏩️ 컴파일러(기계어로 컴파일, 이 과정에서 자주 사용되는 바이트코드만 기계어 값을 캐싱)]

⏩️
실행(executing)

 

 

결론

  • JS 언어를 실행시키기 위해서는 JS 엔진이 필요하다. V8은 이러한 JS 엔진 중 하나이다.
  • 이 JS 엔진을 실행시키기 위해서는 JS 런타임 환경이 필요하다. Node.js는 이러한 JS 런타임 환경 중 하나이다.
  • Node.js는 V8 JS 엔진을 실행한다.
  • V8 JS 엔진은 JIT 컴파일링 방식을 이용한다.
  1. Node.js란?
  2. JS 런타임이란?
  3. JS 엔진이란?
  4. JS 엔진의 코드 실행 과정
  5. V8 엔진의 실행 과정과 JIT compiler
  6. 결론
햄oOoOo
햄oOoOo
FE
햄oOoOo
디자인보다 개발이 더 좋아
햄oOoOo
전체
오늘
어제
  • 분류 전체보기 (75)
    • 프로젝트 (6)
      • 소프티어 부트캠프 (1)
      • GDSC (0)
      • FRONTLINE (2)
      • 우테코 프리코스 (3)
    • TIL (47)
      • Git (2)
      • Web (5)
      • 디자인시스템 (2)
      • HTML + CSS (3)
      • JavaScript (9)
      • TypeScript (5)
      • React (6)
      • Node.js (1)
      • 테스트 (2)
      • 디자인패턴 (1)
      • 네트워크 (9)
      • 운영체제 (1)
      • DevOps (1)
      • ETC (0)
    • 알고리즘 (19)
      • 문제풀이 (7)
      • 자료구조 (3)
      • 알고리즘 개념 (6)
      • 코딩테스트 (3)
    • 개발일기 (3)
    • 회사일기 (0)

인기 글

태그

  • 이펙티브 타입스크립트
  • 브라우저 렌더링
  • 네트워크
  • bfs
  • node.js
  • 실행 컨텍스트
  • 렉시컬 환경
  • 웹 접근성
  • React
  • Typescript
  • Stack
  • 모든 개발자를 위한 HTTP 웹 기본 지식
  • javascript
  • 렌더링
  • virtual DOM
  • useEffect
  • 프로토타입 체인
  • 우테코
  • 알고리즘
  • HTTP
hELLO · Designed By 정상우.
햄oOoOo
[240124] Node.js란? (+ V8, JIT 컴파일) - (기초)
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.