JavaScript 런타임

lin·2022년 7월 29일
0

자바스크립트

자바 스크립트는 단일 스레드이다.
자바 스크립트는 하나의 콜 스택을 가지고 있기 때문에 일을 동기적으로 처리한다.

자바 스크립트 런타임

런타임 :: 특정 언어로 만든 프로그램을 실행할 수 있는 환경
노드는 자바 스크립트를 컴퓨터에서 실행할 수 있게 하는 자바스크립트 실행기이다.

V8 엔진과 웹 브라우저

V8은 자바스크립트 엔진이며, 크롬 웹 브라우저와 Node.js 등에서 사용되고 있다.
V8 엔진 소스 안에는 비동기 메소드가 없고, 하나의 힙과 하나의 콜 스택만 있다.

웹 브라우저의 Web APIs 에는 SetTimeOut,DOM,AJAX가 있고, 이벤트 루프와 콜백 큐를 가지고 있다.

자바 스크립트는 싱글 스레드로 동기적 처리를 하기 때문에 블로킹을 만든다.

웹 브라우저의 Web APIs는 비동기로 처리된다.
자바스크립트 자체는 비동기적으로 요청을 처리할 수 없다. 그래서 자바스크립트 런타임 내에서 지원하는 API로 비동기 요청을 처리할 수 있게 만든다.

Node.js란?

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

Node js는 자바스크립트 엔진에 기반해 만들어진 서버 사이드 플랫폼이다.
자바스크립트는 웹 브라우저 프로그램 안에서만 동작하는 스크립트 언어였지만, node.js를 통해 서버에서도 사용할 수 있게 된다.
내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도 소프트웨어 없이 동작하는 것이 가능하다.

node.js의 특징

  • 비동기 I/O 처리 / 이벤트 위주 : node.js 라이브러리의 모든 API는 비동기식이다.
  • 빠른 속도
  • 단일 쓰레드 / 뛰어난 확장성
  • npm을 통한 다양한 모듈을 제공한다

참조 포스트:
https://hanamon.kr/javascript-%eb%9f%b0%ed%83%80%ec%9e%84-%ec%9e%91%eb%8f%99-%eb%b0%a9%ec%8b%9d-%eb%b9%84%eb%8f%99%ea%b8%b0%ec%99%80-%ec%9d%b4%eb%b2%a4%ed%8a%b8-%eb%a3%a8%ed%94%84/

https://hanamon.kr/nodejs-%EA%B0%9C%EB%85%90-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0/

https://studium-anywhere.tistory.com/6

profile
BE

0개의 댓글