본문 바로가기
NodeJS

Buffer

by 개발자doc 2024. 6. 4.
목차
1. Buffer란?
2. Buffer를 사용하는 방법

 

1. Buffer란?
  • 데이터를 임시적으로 저장하는 공간
  • 입출력 작업 중 발생하는 처리속도와의 차이를 개선하는 방법

인터넷에서 영상을 볼 때 잘 나오다가 갑자기 끊기는 버퍼링이라는 현상을 겪어보았을 것이다. 왜 그러는 것일까? 

내가 사용하는 기기에 해당 영상에 대한 데이터를 인터넷에서 입력받아 출력을 한다. 하지만 인터넷에서 그 데이터를 받는 속도가 느리다면 기기에서 데이터를 다 처리하고 이후 데이터를 처리해야 하지만 처리할 만큼의 데이터가 없어 일정한 데이터를 받을 때까지 기다리는 것이다. 

 

버퍼는 파일 입출력, 스트림 작업 등 특정 작업을 하게 되면 RAM의 공간 일부를 동적으로 할당받아 사용하게 된다.

 

2. Buffer를 사용하는 방법

버퍼는 자동으로 할당받아 사용하지만 직접 다룰 수도 있다. 간단한 예제로 사용하는 방법을 알아보도록 한다. 

// 크기가 10인 버퍼객체 생성
const buffer1 = Buffer.alloc(10);

// 버퍼에 데이터 쓰기
buffer1.write("Hello Buffer");

// 버퍼에 있는 데이터를 문자열로 반환
buffer1.toString();

/*
위의 버퍼를 출력하면 크기로 인해 일부 글자가 잘림
*/

// "abcd"라는 문자열 데이터가 담긴 버퍼객체 생성
// 따로 크기를 제한하지 않았기 때문에 쓰인 데이터를 모두 읽는다. 
const buffer2 = Buffer.from("abcd");

 

버퍼의 크기를 임의로 제한할 수 있지만 따로 설정하지 않는다면 V8엔진이 관리하는 Heap의 크기에 의존한다. 최소 크기는 기본적으로 0바이트지만 일반적으로는 빈 객체를 생성하지 않고 1바이트 이상의 버퍼를 생성한다.

 

 

이미지참조

https://www.pngwing.com/ko/free-png-ppbrr/download

'NodeJS' 카테고리의 다른 글

파일 저장하기  (1) 2024.06.06
서버를 좀 더 간편하게 만드는 방법 express  (0) 2024.06.05
JS로 소프트웨어 부품 만들기...모듈  (0) 2024.06.03
간단한 TCP서버 구현 해보기  (0) 2024.05.31
nodeJS  (1) 2024.05.23