Node.js
크롬 v8 자바스크립트 엔진에 비동기 이벤트 처리 라이브러리인 libuv를 결합한 자바스크립트 런타임이다. 이 런타임 환경을 통해 javascript를 브라우저 밖에서 실행할 수 있다. Node.js는 프로그래밍 언어도 프레임워크도 아닌 자바스크립트 런타임이다.
javascript를 실행하려면
브라우저에서 실행할 수있다.
브라우저가 없다면 javascript를 실행할 수 없다.
runtime이란
런타임이란 프로그래밍 언어가 구동되는 환경을 말한다. Node.js나 크롬등의 여러 브라우저들에서 자바스크립트가 구동되기에 Node.js나 브라우저들도 자바스크립트 런타임이다.
javascript 엔진
javascript를 실행하는 소프트웨어 구성요소이다. 최초의 javascript 엔진은 단순한 interpreter였지만, 모든 관련 최신 엔진은 성능 향상을 위해 Just-In-Time 컴파일을 사용한다. javascript 엔진은 일반적으로 웹 브라우저 공급업체에서 개발하며 웹 브라우저 공급업체에서 개발하며 모든 주요 브라우저에 하나가 있다.
컴퓨터가 소스코드를 이해하려면
컴퓨터 프로세서는 오직 0과 1만 이해할 수 있기 때문에 우리가 작성한 소스코드를 머신 코드로 변환해주어야 한다. 이 변환 과정은 컴파일과 인터프리터를 통해 일어난다.
interpreter (한 줄씩 번역 및 분석)
high level language => interpreter => Output
Compiler (사람이 작성한 코드를 한 번에 기계어로 변환)
high level language => compiler => Machine language => output
JIT Compiliation (Just-In-Time)
초기에 자바스크립트 엔진은 interpreter였다면 현재는 JIT Compiliation을 이용하고 있다. interpreter 언어는 컴파일 되는 다른 언어와 달리 한줄 한 줄 해석하고 실행하기 때문에 매우 느리다. 하지만 현재 웹에서는 지도 기능 등 굉장히 무거운 기능 또한 수행하고 있기에 현재는 더 나은 퍼포먼스를 위해서 JIT 컴파일을 이용하고 있다.
자바스크립트 엔진의 종류
Chrome : V8
Firefox: SpiderMonkey
Safari: JavascriptCore
Internet Explorer: Chakra
자바스크립트를 브라우저 밖에서 실행하려면?
Node.js는 브라우저 외부에서 V8엔진을 사용해 자바스크립트를 실행하기 위해 만들어졌다. 따라서 Node.js를 이용하면 자바스크립트를 브라우저 밖에서도 사용할 수 있다.
'NODE.JS' 카테고리의 다른 글
[Node.js] package.json 이름 규칙 (String does not match the pattern of "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$".) (1) | 2024.01.07 |
---|---|
[Node.js] Blocking과 Non-Blocking (0) | 2024.01.05 |
[Node.js] Node.js가 작업을 처리하는 방법 (0) | 2024.01.05 |
[Node.js] Node.js API와 브라우저 API의 차이 (1) | 2024.01.05 |
[Node.js] npm과 npx, 그리고 yarn (0) | 2023.10.13 |
Node.js
크롬 v8 자바스크립트 엔진에 비동기 이벤트 처리 라이브러리인 libuv를 결합한 자바스크립트 런타임이다. 이 런타임 환경을 통해 javascript를 브라우저 밖에서 실행할 수 있다. Node.js는 프로그래밍 언어도 프레임워크도 아닌 자바스크립트 런타임이다.
javascript를 실행하려면
브라우저에서 실행할 수있다.
브라우저가 없다면 javascript를 실행할 수 없다.
runtime이란
런타임이란 프로그래밍 언어가 구동되는 환경을 말한다. Node.js나 크롬등의 여러 브라우저들에서 자바스크립트가 구동되기에 Node.js나 브라우저들도 자바스크립트 런타임이다.
javascript 엔진
javascript를 실행하는 소프트웨어 구성요소이다. 최초의 javascript 엔진은 단순한 interpreter였지만, 모든 관련 최신 엔진은 성능 향상을 위해 Just-In-Time 컴파일을 사용한다. javascript 엔진은 일반적으로 웹 브라우저 공급업체에서 개발하며 웹 브라우저 공급업체에서 개발하며 모든 주요 브라우저에 하나가 있다.
컴퓨터가 소스코드를 이해하려면
컴퓨터 프로세서는 오직 0과 1만 이해할 수 있기 때문에 우리가 작성한 소스코드를 머신 코드로 변환해주어야 한다. 이 변환 과정은 컴파일과 인터프리터를 통해 일어난다.
interpreter (한 줄씩 번역 및 분석)
high level language => interpreter => Output
Compiler (사람이 작성한 코드를 한 번에 기계어로 변환)
high level language => compiler => Machine language => output
JIT Compiliation (Just-In-Time)
초기에 자바스크립트 엔진은 interpreter였다면 현재는 JIT Compiliation을 이용하고 있다. interpreter 언어는 컴파일 되는 다른 언어와 달리 한줄 한 줄 해석하고 실행하기 때문에 매우 느리다. 하지만 현재 웹에서는 지도 기능 등 굉장히 무거운 기능 또한 수행하고 있기에 현재는 더 나은 퍼포먼스를 위해서 JIT 컴파일을 이용하고 있다.
자바스크립트 엔진의 종류
Chrome : V8
Firefox: SpiderMonkey
Safari: JavascriptCore
Internet Explorer: Chakra
자바스크립트를 브라우저 밖에서 실행하려면?
Node.js는 브라우저 외부에서 V8엔진을 사용해 자바스크립트를 실행하기 위해 만들어졌다. 따라서 Node.js를 이용하면 자바스크립트를 브라우저 밖에서도 사용할 수 있다.
'NODE.JS' 카테고리의 다른 글
[Node.js] package.json 이름 규칙 (String does not match the pattern of "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$".) (1) | 2024.01.07 |
---|---|
[Node.js] Blocking과 Non-Blocking (0) | 2024.01.05 |
[Node.js] Node.js가 작업을 처리하는 방법 (0) | 2024.01.05 |
[Node.js] Node.js API와 브라우저 API의 차이 (1) | 2024.01.05 |
[Node.js] npm과 npx, 그리고 yarn (0) | 2023.10.13 |