노드 강좌 소개 및 노드의 정의, 노드의 특성, 서버로서의 노드, 노드 및 vscode 설치

김의찬·2023년 9월 21일
0

Node.js 학습

목록 보기
1/10

노드의 정의

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

-> 자바스크립트를 실행하는 것.

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

런타임

  • 특정 언어로 만든 프로그램들을 실행할 수 있게 해주는 가상 머신

노드의 특성

이벤트 기반

  • 이벤트가 발생할 때 미리 지정해둔 작업을 수행하는 방식

논블로킹 I/O

  • 오래걸리는 함수를 백그라운드로 보내서 다음 코드가 먼저 실행되게 하고, 나중에 오래 걸리는 함수를 실행

프로세스 vs 스레드

  • 프로세스 : 운영체제에서 할당하는 작업의 단위, 프로세스 간 자원 공유 X
  • 스레드 : 프로세스 내에서 실행되는 작업의 단위, 부모 프로세스 자원 공유

노드 프로세스는 멀티 스레드이지만 직접 다룰 수 있는 스레드는 하나이기 때문에 싱글 스레드라고 표현.

싱글 스레드

싱글 스레드라 주어진 일을 하나밖에 처리하지 못함.

노드의 핵심

싱글 스레드를 어떻게 효율적으로 다루냐.


서버로서의 노드

서버 : 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램
클라이언트 : 서버에 요청을 보내는 주체

노드 서버의 장단점

서버 외의 노드

  • 자바스크립트 런타임이기 때문에 용도가 서버에만 한정되지 않음
  • 웹, 모바일, 데스크탑 애플레킹션에도 사용

노드 , VSCODE 설치

profile
김의찬입니다

0개의 댓글