2022 AI SW 온라인 교육/SW 코딩 훈련트랙

[SW 코딩] Node.js와 Express.js - 01. Node.js 시작하기

parkes811 2022. 12. 5. 00:30

01 Node.js 이해

 

  • Node.js의 등장 배경

 

 

 

  • Node.js VS Browser

- 크로스 플랫폼 : 윈도우, 리눅스, MAC 등과 같은 다양한 환경에서 node.js를 활용해서 자바스크립트 프로그램을 실행할 수 있게 해주는 플랫폼을 의미

 

 

  • Node.js로 할 수 있는 것들

 


02 Node.js의 특징

 

  • Node.js의 특징 한 줄 요약

- 싱글 쓰레드이기 때문에 비동기 동작이 필요하고, 비동기 동작을 구현하기 위해 이벤트 기반으로 진행한다.

 

 

  • Thread 쓰레드란?

- 명령을 실행하는 단위

- 한 개의 쓰레드는 한 번에 한 가지 동작만 실행 가능

 

  • 싱글 쓰레드와 멀티 쓰레드의 차이점

 

장점 :  쓰레드가 늘어나지 않기 때문에 리소스 관리에 효율적이다.

단점 : 쓰레드 기반의 작업들의 효율이 떨어진다. ex) CPU 연산 작업

 

Node.js는 비동기 동작으로 쓰레드 기반의 작업을 최소화 한다.

 


 

  • 비동기란?

- 동작을 실행한 후 완료가 되길 기다리지 않는 방식이다.

- 동작의 완료를 기다리지 않기 때문에 다른 동작을 바로 실행 할 수 있다.

- Node.js는 싱글 쓰레드이기 때문에 비동기 방식을 사용한다.

 

  • 동기와 비동기의 차이 

 


 

  • 이벤트 기반이란?

- 비동기 동작의 완료를 처리하는 방법

- 비동기 방식은 특정 동작을 실행한 후, 해당 동작을 전혀 신경 쓰지 않는다.

- 대신 해당 동작이 완료될 경우 실행할 함수를 미리 등록한다.

- 비동기 동작이 완료되면 미리 등록된 함수를 실행하는 방식이다.

 

  • 이벤트 기반 동작 방식

 


 

03 Node.js 시작하기

 

  • 어떤 버전으로 시작해야 할까?