Node/node 시작하기

노드의 정의

webmaster 2022. 7. 21. 20:23
728x90

공식 홈페이지 : Node.js는 chrome V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임이다(런타임=실행기)

노드가 나오기 전에는 HTML에 종속적으로 자바스크립트를 실행하였지만, 노드가 나온 뒤에는 자바스크립트를 V8엔진을 가지고 실행해준다(브라우져에 종속적인 문제가 해결이 되었다)

  • 서버의 역할도 수행할 수 있는 자바스크립트 런타임
  • 노드로 자바스크립트로 작성된 서버를 실행할 수 있음.
  • 서버 실행을 위해 필요한 http/https/http2 모듈을 제공

런타임

노드: 자바스크립트 런타임

  • 런타임: 특정 언어로 만든 프로그램들을 실행할 수 있게 해주는 가상 머신(크롬의 V8 엔진 사용)의 상태
  • 노드: 자바스크립트로 만든 프로그램들을 실행할 수 있게 해 줌
  • 다른 런타임으로는 웹 브라우저(크롬, 엣지, 사파리, 파이어폭스 등)가 있음
  • 노드 이전에도 자바스크립트 런타임을 만들기 위한 많은 시도
  • But, 엔진 속도 문제로 실패

만약 JavaScript를 잘 모를 경우 

https://ko.javascript.info/

 

모던 JavaScript 튜토리얼

 

ko.javascript.info

내부 구조(C, C++로 만들어져 있다)

2008년 V8 엔진 출시, 2009년 노드 프로젝트 시작

노드는 V8과 libuv를 내부적으로 포함

  • V8 엔진: 오픈 소스 자바스크립트 엔진] -> 속도 문제 개선
  • libuv: 노드의 특성인 이벤트 기반, 논블로킹 I/O 모델을 구현한 라이브러리

노드 내부 구조

노드의 핵심 장점은 비동기/ 싱글스레드 모델이기 때문에 빠른 성장을 이루었다.

728x90

'Node > node 시작하기' 카테고리의 다른 글

노드, VSCode 설치하기  (0) 2022.07.22
노드의 역할  (0) 2022.07.22
노드의 특성  (0) 2022.07.21