본문 바로가기

#2 Framework ✍️/2-2 Node.js

Buffer (버퍼)

Buffer (버퍼) 란?
  • Node.js에서 Buffer는 바이너리 데이터를 저장할 수 있는 특수한 유형의 객체

 

Why  왜 사용할까?
  • 버퍼가 도입되기 이전에는 자바스크립트에서는 바이너리 데이터를 처리할 방법이 없었음
  • 속도가 느리고, 바이너리를 처리할 전문적인 도구가 없기 때문에 기존에는 문자열과 같은 원시 값들을 이용해야 했음
  • 그렇기 때문에
  • 비트와 바이트를 조금 더 쉽게, 그리고 성능에도 유리한 방법으로 조작 할수있도록 제공 됨

 

How 어떻게 사용할까?
  • 처리하는 방식이 자바스크립트의 배열과 유사함
  • slice, concat, length, 등을 사용할 수 있음
  • 또한 이터러블하며, for-of에서도 사용 가능
  • Node.js는 버퍼클래스를 전역 스코프에 expose 하므로 import나 require를 할 필요가 없음

 

Buffer 생성 기본 함수
  • from( ) : 문자열을 버퍼로 변경
    • Buffer.from( )
    • Buffer을 만드는 가장 뚜렷한 방법
    • string, 배열, arrayBuffer 혹은 다른 버퍼 인스턴스를 인수로 받을 수 있음
    • 무엇을 넘거주냐에 따라, from( )은 버퍼를 약간씩 다른 방법으로 생성
    • 기본적으로 utf-8로 인코딩
    • 만약 인수로 다른 버퍼를 넘긴다면 node.js는 해당 버퍼를 복제해서 또 다른 버퍼를 만듦
    • 그리고 이렇게 생성된 새로운 버퍼는 메모리의 다른 공간에 저장해두기 때문에, 독립적으로 수정 가능
  • alloc( ) : 빈 버퍼를 생성 
    • 데이터를 채울 필요가 없는 빈 버퍼를 생성하고 싶을 때 유용
    • 기본적으로 숫자를 인수로 받으며, 받은 숫자만큼의 빈 사이즈의 버퍼를 생성
  • allocUnsafe( ) : 초기화되어 있지 않은 버퍼를 생성
    • Buffer.alloc( )을 통한 생성보다 빠르지만 Buffer 인스턴스를 반환 함
LIST

'#2 Framework ✍️ > 2-2 Node.js' 카테고리의 다른 글

[Node.js] NPM vs NPX  (0) 2022.12.09
[Node.js] Node.js 란??  (0) 2022.12.09