[Node] Buffer와 Stream

2021. 10. 9. 20:59벡엔드 개발 공부/NodeJS

사실이 개념들은 자바를 사용하면서 많이 듣고 또 쓰던 개념이라 익숙하지만 노드에서 비슷하지만 조금은 또 다른 느낌이기도 하고 배운것들을 다시 한번더 정리해보고자 적는다. 나중에 JAVA buffer와 stream도 다시 봐야겠다. 정리를 안하니 슬슬 헤깔린다.

 

Buffer

이 단어 우리가 많이 듣던 버퍼링이란 단어와 비슷하지 않은가? 

사실 그 단어가 맞다. 버퍼링은 영상재생까지 데이터를 모을때 쓰는 단어이다. 

버퍼란 파일 읽을때 메모리에 파일 크기 만큼 공간을 마련해 파일 데이터를 저장하고 이 저장된 데이터가 버퍼인것이다. 

하지만 이 버퍼에도 큰 문제점이 있습니다. 용량이 아주 큰 파일을 읽어야 하는 상황이 오면 그만큼 큰 버퍼를 만들어야 하는데 이 상황이 계속되면 메모리 문제가 발생할 수 있습니다. 

그것을 해결하기 위해 나온게 바로 stream입니다. 

 

Stream

그럼 stream은 무엇일까.

이것도 우리가 익숙한 단어이다. 스트리밍이란 단어 다들 많이 들어봤을것이다. 방송인이 컴퓨터에서 시청자 컴퓨터로 데이터가 전송될때 사용한다.

이 stream 이라는 것은 버퍼의 크기를 작게 만든 후 여러번에 나눠서 보내는 것을 말합니다. 이때 잘게 나눠진 것들을 chunk라고 부르게 됩니다. 

'벡엔드 개발 공부 > NodeJS' 카테고리의 다른 글

Node.js 동작원리  (0) 2021.10.08
동기/비동기 와 블록/논블록  (0) 2021.10.04