본문 바로가기
디비연동 MySQL &그누보드 & Node.js

V8 엔진 - V8 엔진아~ 고마워~

by db_dpipe 2020. 9. 13.
728x90
반응형

자바스크립트는 클라이언트 스크립트였는데.. 이 놈이 서버단까지 아우를수 있게 해준것은 V8 엔진 덕분입니다.

 

 V8 엔진(Chrome V8)

크롬 V8 또는 간단히 V8이라고 불리웁니다. 웹 브라우저를 만드는 데 기반을 제공하는 오픈 소스 자바스크립트 엔진으로 구글이 제공하고 있는 강력한 오픈소스입니다. 구글이 크롬 웹 브라우저를 개발하면서 함께 개발한 것이 V8 자바스크립트 엔진이라고 합니다. V8 자바스크립트 엔진은 기존 다른 웹 브라우저보다 자바스크립트 처리가 월등히 빠릅니다. 기존의 브라우저는 자바스크립트를 인터프리트하여 처리하지만 V8은 JIT(Just In Time) 컴파일 방식을 사용하여 성능이 빠르다고 합니다. JIT 컴파일 방식은 자바스크립트를 인터프리트하지 않고 즉시 기계어로 컴파일한다고 하네요. 와우~

 

http://code.google.com/p/v8

 

V8엔진은 구글 크롬 브라우저와 안드로이드 브라우저에 탑재되어 있습니다. 그럼.. 다른 브라우저는? 갑자기 궁금증이 생겼습니다. 폭풍 검색을 해봅니다.

Node.js로 만든 내 결과물이 크롬에서만 동작한다면 안되지 않을까요? 

 

https://nodejs.org/ko/

 

Node.js 사이트로 다시 가봅니다.

공식 홈페이지에서는 Node.js를 다음과 같이 설명하고 있습니다. 

Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된
JavaScript 런타임입니다.

 

런타임이란?

특정 언어로 만든 프로그램들을 실행할 수 있는 환경을 뜻합니다. 즉 프로그램이 실행되고 있는 때, 존재하는 곳을 말합니다. 프로그래밍 언어가 구동되고 있는 환경이라고 보면 됩니다. 자바스크립트가 웹브라우저에서 구현되는것은 잘 알고 있을 것입니다. Node.js는 자바스크립트가 구동되는 런타임, 즉 환경이라고 볼 수 있습니다.


 

이제 정의가 와닿습니다. 

Node.js®는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임입니다.

Node는 자바스크립트 런타임, 즉 자바스크립를 실행할 수 있는 환경입니다. 그럼.. 브라우저는 필요 없지 않을까요? 명령프롬프트로 실행할 수 있었던것이 살짝 이해가 갑니다. 

 

제가 그동안 사용했던 자바스크립트는 웹 브라우저 기반에서만 실행할 수 있었습니다. 웹브라우저들은 자바스크립트 런타임을 자체적으로 내장하고 있었기에 자바스크립트를 바로 사용할 수 있었고요. 

 

2008년 구글이 V8 엔진을 사용하여 크롬을 출시하였고,  V8 엔진은 오픈소스로 코드가 공개됩니다. 그리고 라이언 달(Ryan Dahl) 2009년 V8 엔진 기반의 Node.js를 개발하였습니다.

 

대략 여기까지 책과 구글링을 통해 이해한 바는.. Node.js는 자바스크립트가 돌아갈 수 있는 런타임, 환경이라는 것, 그리고 Node.js는 서버에서 돌아간다는 것입니다. 그래서 서버단에서 노드가 돌아가고 이를 브라우저에 뿌려주면 전 자바스크립트로 뭔가를 보여주면 되겠지요.

일단... 여기까지 노드의 정의를 이해해보았습니다. 

 

정의된 한 문장을 이해하면 결국 맥을 알게 되는것이라고 생각됩니다.

살짝 맥이 짚어진듯 합니다.

^^ 이제 일하러 가야하니까.. 오늘은 여기까지~~~

728x90
반응형