#버퍼 : 일정한 크기로 모아두는 데이터
- 일정한 크기가 되면 한 번에 처리
- 버퍼링: 버퍼에 데이터가 찰 때까지 모으는 작업
스트림: 데이터의 흐름
- 일정한 크기로 나눠서 여러 번에 걸쳐서 처리
- 버퍼의 크기를 작게 만들어서 주기적으로 데이터를 전달
- 스트리밍: 일정한 크기의 데이터를 지속적으로 전달하는 작업
#스트림방식 : 대용량 파일을 전송할 때 이점이 있음
const fs = require("fs");
const readStream = fs.createReadStream("./readme.txt", { highWaterMark: 16 });
//highWaterMark : 16바이트씩 전송한다는 의미
const data = [];
readStream.on("data", (chunk) => {
data.push(chunk);
console.log("data: ", chunk, chunk.length);
});
readStream.on("end", () => {
console.log("end: ", Buffer.concat(data).toString());
});
readStream.on("error", (err) => {
console.log("error: ", err);
});
'JavaScript' 카테고리의 다른 글
Node JS - export (0) | 2021.12.13 |
---|---|
JS - 이벤트 루프 (Event Loop) (0) | 2021.12.09 |
Node JS의 특성 (0) | 2021.12.09 |
React - Redux (0) | 2021.12.09 |
React - react 시작하기 (0) | 2021.12.09 |