Thinking Different




FlatBuffers(플렛버퍼)는 구글에서 개발된 크로스 플렛폼 직렬화 (Serialization) 라이브러리이다.

 

직렬화란?
 객체의 직렬화는 객체의 내용을 바이트 단위로 쉽게 변환하여 입출력에 구애받지 않고 파일 또는 네트워크를 통해서 스트림(송수신)이 가능하게 하는것을 의미한다.

 

C++, C#, C, Go, Java, JavaScript, PHP, Python을 지원하며, 아파치 라이센스 v2 기반의 github 오픈소스로써 사용 가능하다.

 

애초에 속도와 성능을 중점으로 만들어져 게임이나 대량 데이터를 빠르게 처리할 수 있는 환경에 많이 사용되고 있다.

 

FlatBuffers 의 장점

* 경량 코드, 메모리 효율이 좋고 빠르다.
* IDL 코드를 자동으로 생성한다.
* 종속성 없는 크로스 플랫폼 코드.
* 다양한 형 표현을 사용가능하다.
* 사용하기 아주 쉽다. 

* 구글에서 개발한 프로토콜 버퍼 (Protocol Buffers) 보다 성능이 더 뛰어나 FlatBuffers를 이용하는 수가 더 많다.

 

 

다음장에서는 C++에서 FlatBuffers 를 사용하는 방법에 대해서 알아보겠다.

 

 

[Network] 2. FlatBuffers 사용하기