1. Buffer란Buffer는 Node.js에서 바이너리 데이터를 다루기 위한 클래스입니다. JavaScript는 원래 문자열 처리에 최적화되어 있어 바이너리 데이터를 직접 다루기 어려웠습니다. Buffer는 고정 크기의 메모리 청크를 할당하여 TCP 스트림, 파일 시스템 작업, 이미지 처리 등에서 바이너리 데이터를 효율적으로 처리할 수 있게 해줍니다.2. Buffer 생성2.1 Buffer.alloc()지정된 크기의 버퍼를 생성하고 0으로 초기화합니다.// 10바이트 버퍼 생성 (0으로 초기화)const buf1 = Buffer.alloc(10);console.log(buf1);// // 특정 값으로 채우기const buf2 = Buffer.alloc(10, 1);console.log(buf2);//..
분류 전체보기
1. 스트림이란스트림(Stream)은 데이터를 청크(chunk) 단위로 처리하는 방식입니다. 대용량 파일이나 네트워크 데이터를 전체를 메모리에 로드하지 않고 조각조각 처리할 수 있어 메모리 효율이 높습니다. Node.js의 많은 내장 모듈(http, fs, zlib 등)이 스트림 인터페이스를 사용합니다.2. 스트림의 종류Node.js는 네 가지 종류의 스트림을 제공합니다.Readable: 데이터를 읽을 수 있는 스트림 (fs.createReadStream, http 요청)Writable: 데이터를 쓸 수 있는 스트림 (fs.createWriteStream, http 응답)Duplex: 읽기/쓰기 모두 가능한 스트림 (TCP 소켓)Transform: 데이터를 변환하면서 통과시키는 스트림 (zlib 압축)3..
1. 이벤트 모듈이란events 모듈은 Node.js에서 이벤트 기반 프로그래밍을 구현하기 위한 핵심 내장 모듈입니다. Node.js의 많은 내장 모듈(http, fs, stream 등)이 이 모듈을 기반으로 동작합니다. 이벤트를 발생시키고(emit) 리스너를 등록하여(on) 비동기 작업을 처리하는 패턴을 제공합니다.2. EventEmitter 기본 사용법2.1 EventEmitter 생성const EventEmitter = require('events');// 방법 1: 직접 인스턴스 생성const emitter = new EventEmitter();// 방법 2: 클래스 상속class MyEmitter extends EventEmitter {}const myEmitter = new MyEmitter(..
1. path 모듈이란path 모듈은 파일과 디렉토리 경로를 다루기 위한 Node.js 내장 모듈입니다. 운영체제마다 경로 구분자가 다른데(Windows는 , POSIX는 /), path 모듈을 사용하면 운영체제에 관계없이 일관된 방식으로 경로를 처리할 수 있습니다.2. path 모듈 불러오기// CommonJSconst path = require('path');// ES Modulesimport path from 'node:path';3. 경로 정보 추출3.1 path.basename()경로에서 파일명을 추출합니다.const path = require('path');console.log(path.basename('/home/user/file.txt'));// file.txtconsole.log(path..