node.js

jihyun·2021년 9월 18일
0

backend

목록 보기
2/13
post-thumbnail

Node.js?

브라우저 환경에서만 사용할 수 있었던 자바스크립트를 서버(터미널) 상에서 사용할 수 있게 해주는,
비동기(Asynchronous) 이벤트-기반(event-driven) JavaScript 런타임 환경

=>"백엔드 개발이 자바스크립트에서도 가능해졌다!!!!!"

1. 비동기

프로그램의 다른 부분(기능 또는 함수)들이 서로 방해(blocking)하지 않고 동시에 일어날 수 있음

2. 비동기 이벤트-기반(Event-Driven)

비동기적으로 이벤트를 처리한다는 것은 앞선 클라이언트의 요청이 끝나기 전에 다음 클라이언트의 요청을 받는다는 의미


싱글 스레드는 이벤트(요청)를 처리(응답)해 주는 역할만 한다.
Heavy Load 한 일을 뒷 단의 내부 C++ 쓰레드 풀이 담당하기 때문에 앞선 클라이언트의 요청이 완료될 때 까지 기다리지 않고 다음 요청을 처리할 수 있다.
따라서 노드의 싱글 스레드는 여러 요청을 한 시점에 처리할 수 있다!

3. JavaScript 런타임 환경 (feat. Chrome V8 엔진)

JavaScript 로 짜여진 소스코드를 CPU가 이해할 수 있는 기계어(ex. 0과 1로 이루어진 bytecode)로 변환시키고 또한 프로그램의 메모리를 관리하는 시스템

Node로 서버열기!


0개의 댓글