ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 노드의 정의
    노드 2023. 4. 11. 11:11

    공식 홈페이지의 설명

    • Node.js는 크롬 V8 자바스크립트 엔진으로 빌드된 자바스크립트 런타임이다.

    노드는 흔히 말해 서버라고 알고 있는 사람들이 많은데 노드는 엄밀히 말해 런타임이다. 

    *런타임이란 정말 간단히 말해 실행기 라고 생각하면 된다.

     

    노드는

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

    자바스크립트라는 언어는 가장 많이 쓰이는 언어 중에 하나이다.

    자바스크립트는 html이나 브라우저에 종속되어 있다.

    하지만 Node.js가 생긴 뒤로는 자바스크립트를 브라우저 없이도 실행할 수 있고 html이 없어도 실행할 수 있게 되었다.

    (물론 노드가 없었을 때에도 있었지만 다 성과가 좋지 않았다)

    실무에 쓰일 정도로 성능이 좋은 Node의 발견으로 인해서 자바스크립트가 html이나 브라우저의 종속에서 벗어날 수 있게 됐다.

     

    이 의미는 무엇이냐?

    • 자바스크립트가 이제는 앱도 만들 수 있다.
    • 데스크탑 프로그램도 만들 수 있다. 
    • 게임도 만들 수 있다.

    즉, 자바스크립트가 이제는 다양한 역할에서 쓰일 수 있다.

     

    런타임

    특정 언어로 만든 프로그램들을 실행할 수 있게 해주는 가상 머신 (크롬의 V8엔진 사용)의 상태

    노드는 자바스크립트로 만든 프로그램들을 실행할 수 있게 해준다. 

     

    내부구조

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

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

    노드의 내부 구조는 다음과 같다

     

    '노드' 카테고리의 다른 글

    노드 exports, this, require, 순환참조  (0) 2023.04.11
    노드 CommonJS 모듈 시스템  (0) 2023.04.11
    REPL  (0) 2023.04.11
    서버로서의 노드  (0) 2023.04.11
    노드의 특성  (0) 2023.04.11
Designed by Tistory.