💨 Node.js란?
자바스크립트를 어느 환경에서나 실행할 수 있게 해주는 실행기
💨 Browser의 JavaScript vs. Node.js
- Browser의 JavaScript
1. 브라우저에서 실행
2. 웹 내부 제한된 동작
3. 웹 프론트 개발자의 언어
- Node.js
1. 크로스 플랫폼 실행
2. 제한 없는 동작
3. 다양한 어플리케이션 개발
💨 그래서 Node.js 가 어디에 쓰였는데?
Font-End : React => 웹 서비스 구성
Back-End : Express.js => 웹 서비스 구성
Mobile-App : React-Native => 한 가지 코드로 ios와 Android 개발
Desktop-App : Electron => Discord, Slack 등 앱 개발
Machine-Learning : Brain.js => Javascript로 구현하는 딥러닝
💨 쓰레드란?
명령을 실행하는 단위이다. 한 개의 쓰레드는 한 번에 한 가지 동작만 실행 가능하다.
싱글 쓰레드의 장점 : 쓰레드가 늘어나지 않기 때문에 리소스 관리에 효율적
단점 : 쓰레드 기반의 작업들의 효율이 떨어짐 ex) CPU 연산 작업
Node.js 는 싱글 쓰레드여서 비동기 방식을 사용한다.
싱글 쓰레드 비동기 방식에서는 한 번에 여러가지 동작을 수행할 순 없지만, 동작의 완료를 기다리지 않기 때문에 CPU 리소를 조금 더 효율적으로 사용할 수 있다.
💨 이벤트 기반이란?
비동기 동작의 완료를 처리하는 방법.
비동기 방식은 특정 동작을 실행한 후, 해당 동작을 전혀 신경 쓰지 않는다.
대신 해당 동작이 완료될 경우 실행할 함수를 미리 등록한다.
비동기 동작이 완료가 되면 미리 등록된 함수를 실행한다.
'Node.js' 카테고리의 다른 글
6. Express.js (0) | 2022.02.18 |
---|---|
5. 웹 프레임워크 (0) | 2022.02.18 |
4. Node.js 의 모듈 (0) | 2022.02.18 |
3. NPM (0) | 2022.02.17 |
2. 이벤트 루프 (0) | 2022.02.16 |