GTFS 실시간 데이터는 빠르고 효율적인 처리를 위해 개발된 압축 바이너리 표현인 프로토콜 버퍼를 통해 인코딩 및 디코딩됩니다. 이러한 바이너리 데이터는 어떻게 생성하거나 파싱할까요? 자세히 알아보려면 코드 샘플에 대한 내용을 읽어보세요.
언어 바인딩
일반적으로 GTFS 실시간 데이터를 활용하는 개발자는 gtfs-realtime.proto 스키마를 사용해 자신이 원하는 프로그래밍 언어로 클래스를 생성합니다. 그런 다음, 생성된 클래스를 이용해 GTFS 실시간 데이터 모델 객체를 구성하고 바이너리 데이터로 직렬화하거나, 거꾸로 바이너리 데이터를 데이터 모델 객체로 파싱할 수 있습니다.
gtfs-realtime.proto 스키마에서 GTFS 실시간 데이터 모델 클래스를 생성하는 것은 흔한 작업이지만 초보 개발자의 경우 잘 모를 수 있으므로, Google은 가장 많이 사용되는 여러 프로그래밍 언어로 사전 생성된 GTFS 실시간 언어 바인딩을 오픈소스 gtfs-realtime-bindings 프로젝트를 통해 제공하고 있습니다.
자세히 알아보려면 GTFS 실시간 데이터 파싱에 대한 언어별 세부정보를 읽어보세요.
기타 언어
Google에서는 (a) 개발자가 GTFS 실시간 데이터의 사용을 원하는 프로그래밍 언어와 (b) 코드를 손쉽게 재사용하도록 패키징하는 메커니즘이 있는 프로그래밍 언어에 적용되는 언어 바인딩을 제공해 왔습니다.
자신이 자주 사용하는 언어가 정당한 이유 없이 언어 바인딩 제공 대상에서 제외되었다면 다음과 같이 해보세요.
- gtfs-realtime-bindings 프로젝트 페이지에 언어 추가를 요청하는 게시물을 올리세요.
- 가능하면 제3자 부가기능을 사용해 프로토콜 버퍼 바인딩을 직접 생성하세요.