← 목록

Node.js Streams를 활용한 데이터 처리의 신세계 🌊

작성: 2024년 08월 22일읽기: 약 3분

Node.js Streams는 데이터 처리의 신세계를 여는 열쇠입니다. 이들은 데이터를 조각으로 나누어 처리하게 해주어, 메모리를 효율적으로 사용하면서 큰 파일이나 데이터를 다룰 때의 부담을 줄여줍니다. 이해하기 쉽게 말하자면, 스트림은 데이터의 '흐름'을 만들어내어, 데이터를 조금씩, 필요한 만큼만 처리할 수 있게 해줍니다.

스트림의 기본

Node.js에서 스트림을 사용하는 것은 큰 데이터를 다루거나, 데이터를 전송할 때 정말 유용합니다. 예를 들어, 파일을 읽거나 쓸 때, 스트림을 사용하면 파일의 전체 내용을 한 번에 메모리로 불러오지 않고, 조금씩 처리할 수 있습니다.

예제: 파일 읽기

const fs = require('fs');

// 파일 스트림 생성
const readStream = fs.createReadStream('./bigfile.txt', 'utf8');

readStream.on('data', (chunk) => {
  console.log('새로운 데이터 조각 도착:', chunk);
});

readStream.on('end', () => {
  console.log('파일 읽기 완료');
});

이 코드는 bigfile.txt라는 큰 파일을 조각으로 나누어 읽는 방법을 보여줍니다. data 이벤트는 새로운 데이터 조각이 도착할 때마다 발생하며, end 이벤트는 파일의 끝에 도달했을 때 발생합니다.

예제: 파일 쓰기

const fs = require('fs');

// 파일 스트림 생성
const writeStream = fs.createWriteStream('./output.txt', 'utf8');

writeStream.write('안녕하세요!\n');
writeStream.write('Node.js 스트림을 사용하고 있습니다.\n');

writeStream.end('마지막 메시지입니다.');

이 코드는 output.txt 파일에 메시지를 쓰는 방법을 보여줍니다. write() 메소드를 사용하여 데이터를 스트림에 쓸 수 있으며, end() 메소드로 스트림의 끝을 알릴 수 있습니다.

스트림의 장점

Node.js 스트림을 활용하면, 데이터 처리를 더 빠르고 효율적으로 할 수 있습니다. 주니어 개발자 여러분도 이 흥미로운 기술을 활용해 보세요! 🚀