Buffer & Stream
fs.readFile에서 data.toString()을 거치지 않고 data만 출력하면 <Buffer 72 65 61 64 20 6d 65 20 62 72 6f 21>와 같이 Buffer가 출력된다.
데이터를 조각(청크, chunk)내어 buffer에 채운 후 다 차면 buffer를 통째로 옮기고 새 buffer에 아직 옮기지 못한 데이터 조각을 다시 채운다. 데이터 조각을 buffer에 채우는 일을 버퍼링(buffering)이라고 부른다. 영상이 버퍼링 중이라며 재생되지 않는 경우를 종종 경험했을텐데 buffer에 데이터를 채울 때까지 기다리는 버퍼링 작업을 말하는 것이다.
한편 buffer가 다 차면 이를 전송하고 다시 buffer를 채우는 버퍼링 작업을 연속하는 것이 스트림(stream)이다. 단발성 single buffer도 존재하지만 지속적으로 buffer가 나오는 것을 stream buffer라고 한다. 버퍼를 이용해 데이터를 전송하는 '흐름'이 스트림이라고 이해하자.
✔ 참고
https://darrengwon.tistory.com/125
'Node.js' 카테고리의 다른 글
19. [NPM] dependencies vs. devDependencies (0) | 2022.05.04 |
---|---|
18. HTTP transaction (0) | 2022.04.08 |
16. Stream (0) | 2022.04.08 |
15. body-parser (0) | 2022.03.11 |
14. CORS (0) | 2022.03.11 |