목차
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바이트 이상의 버퍼를 생성한다.
이미지참조
'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 |