Back-end/Node.js

Node.js 공부시 알아야 할 주요 개념과 기능

NiceKHJ 2024. 8. 1. 11:57

Node.js 란?

Node.js는 Chrome V8 JavaScript 엔진으로 빌드된 JavaScript 런타임 환경입니다.
이벤트 기반, 비동기 I/O 모델을 사용하여 가볍고 효율적입니다. 주로 서버 사이드 애플리케이션 개발에 사용되지만, 다양한 종류의 프로그램을 만드는 데 활용됩니다.

 

1. 글로벌 객체 (Global Object)

Node.js의 글로벌 객체는 애플리케이션 어디서나 접근 가능한 객체입니다. 브라우저의 window 객체와 유사한 역할을 합니다.

 

* 주요 글로벌 객체 및 함수 

  • global : 전역 네임스페이스 객체
  • process : 현재 Node.js 프로세스에 대한 정보와 제어를 제공
  • console : 콘솔 출력 기능 제공
  • Buffer : 바이너리 데이터를 다루는 클래스
  • __dirname : 현재 실행중인 스크립트의 파일 이름
  • __filename : 현재 실행 중인 스크립트의 파일 이름
  • require() : 모듈을 불러오는 함수
  • module : 현재 모듈에 대한 정보
  • exports : 모듈에서 내보내는 객체

* 타이머 함수

  • setTimeout() , setInterval() , setImmediate()
  • clearTimeout() , clearInterval() , clearImmediate()

 

 

2. 모듈 시스템 

Node.js는 CommonJS를 기반으로 한 모듈 시스템을 사용합니다.

ES6 모듈 시스템도 지원합니다.

 

* CommonJS모듈

 

 

* ES6 모듈 (파일 확장자를 .mjs로 하거나 package.json에 "type" : "module" 설정)

 

 

3. 파일 시스템(fs 모듈)
fs 모듈은 파일 시스템과 상호 작용하는 기능을 제공합니다.

 

 

4. 이벤트(Events 모듈)
Node.js의 많은 핵심 API는 이벤트 기반으로 구축되어 있습니다.

 

 

 

5. HTTP 서버 생성

Node.js의 http 모듈을 사용하여 간단한 웹 서버를 만들 수 있습니다.

 

 

6. 비동기 프로그래밍

Node.js는 비동기 프로그래밍을 위한 다양한 패턴을 지원합니다.

  • 콜백

  • Promise

  • async / await

 

 

7. 스트림(Streams)

스트림은 데이터를 청크 단위로 처리하는 방식으로 대용량 데이터를 효율적으로 다룰 수 있게 해줍니다.

 

 

8. 버퍼(Buffer)

버퍼는 바이너리 데이터를 직접 다루는 방법을 제공합니다.

'Back-end > Node.js' 카테고리의 다른 글

JWT 토큰 이란??  (1) 2024.11.02
Node.js 트랜잭션(Transaction)  (0) 2024.09.12