[Do it! Node.js 입문] 04. 버퍼와 스트림

2024. 3. 25. 13:57·백엔드/Node.js

버퍼(buffer)와 스트림(stream)은 파일을 읽거나 쓸 때 한 덩어리로 처리하지 않고 작은 단위로 나눠서 시간을 절약하는 방법이다. 

 

 

버퍼

 

노드의 버퍼 크기는 고정되어 있다.

 

컴퓨터 공학에서 버퍼는 임시 데이터를 저장하는 물리적인 메모리 공간을 가리킨다.

파일을 읽어올 때, 한 번에 버퍼 하나 크기 만큼만 가져오고 버퍼가 가득 차면 그 내용을 전달해 주는 것이다.

 

노드의 버퍼는 처음부터 크기가 고정되어 있고 내용이 이진값으로 저장된다. 

 

 

스트림

사용자가 화면을 보는 동안 또 다른 파일이 버퍼에 다운로드되고 버퍼가 가득 차면 다시 화면에 재생된다. 이런 서비스를 스트리밍(streaming)이라 한다.

→ 실제로 우리가 영화를 볼 때는 영화 파이리을 조금씩 나눠서 내려받으면서 화면에서 재생된다.

 

스트림이란 한 곳에서 다른 곳으로 데이터가 이동하는 것, 즉 데이터의 흐름을 가리킨다.

 

백엔드 프로그래밍에서 스트림은 서버 > 클라이언트, 혹은 클라이언트 > 서버로 데이터를 보낼 때 사용하는 방식이다.

 

노드에서 스트림은

  • readable stream
  • writable stream
  • duplex stream

으로 나눌 수 있다.

 

'백엔드 > Node.js' 카테고리의 다른 글

[Do it! Node.js 입문] 06. IP 주소와 포트  (0) 2024.03.25
[Do it! Node.js 입문] 05. HTTP 이해하기  (0) 2024.03.25
[Do it! Node.js 입문] 03. 파일 관리하기  (0) 2024.03.25
[Do it! Node.js 입문] 02. 동기 / 비동기 처리  (4) 2024.03.25
[Do it! Node.js 입문] 01. 용어 정리  (0) 2024.03.25
'백엔드/Node.js' 카테고리의 다른 글
  • [Do it! Node.js 입문] 06. IP 주소와 포트
  • [Do it! Node.js 입문] 05. HTTP 이해하기
  • [Do it! Node.js 입문] 03. 파일 관리하기
  • [Do it! Node.js 입문] 02. 동기 / 비동기 처리
JYUN_
JYUN_
예비 개발자 성장기록
  • JYUN_
    데브 스토리
    JYUN_
  • 전체
    오늘
    어제
    • 분류 전체보기 (89)
      • AWS & 클라우드 컴퓨팅 (1)
        • AWS (2)
      • AI & ML (17)
        • 딥러닝 (3)
        • 인공지능 기초 (2)
        • 자연어 처리 (3)
        • 컴퓨터 비전 (8)
      • CS 지식 (9)
        • 알고리즘 (1)
        • 자료구조 (4)
        • 지식확장 (1)
        • 컴퓨터 네트워크 (3)
      • 백엔드 (22)
        • Node.js (12)
        • Spring (9)
      • 웹 프론트엔드 (21)
        • HTML (3)
        • React (7)
        • 바닐라 JavaSctipt (11)
      • 코딩 테스트 & 문제 해결 (11)
        • 코딩 테스트 연습 (10)
        • 실전 문제 풀이 (1)
      • 트러블 슈팅 (1)
      • 기타 (4)
        • 개인 지식 관리 (1)
        • 외부 활동 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
JYUN_
[Do it! Node.js 입문] 04. 버퍼와 스트림
상단으로

티스토리툴바