protocol buffer 예제

이제 .proto가 있으므로 다음으로 수행해야 할 일은 AddressBook(따라서 사람 및 PhoneNumber) 메시지를 읽고 쓰는 데 필요한 클래스를 생성하는 것입니다. 이렇게 하려면 .proto에서 프로토콜 버퍼 컴파일러 프로토크를 실행해야 합니다. 이 컴파일은 이러한 데이터 구조의 보낸 사람 또는 받는 사람이 호출할 수 있는 코드를 생성합니다. 예를 들어, example.proto는 example.pb.cc 및 example.pb.h를 생성하며, 이 클래스는 example.proto가 정의하는 각 메시지 및 서비스에 대해 C++ 클래스를 정의합니다. 프로토콜 버퍼는 모든 종류의 구조화 된 정보를 저장하고 상호 교환하는 데 Google에서 널리 사용됩니다. 이 방법은 Google의 거의 모든 기계 간 통신에 사용되는 사용자 지정 원격 프로시저 호출(RPC) 시스템의 기초역할을 합니다. [4] “Point” 메시지는 x와 y라는 두 가지 필수 데이터 항목을 정의합니다. 데이터 항목 레이블은 선택 사항입니다. 각 데이터 항목에는 태그가 있습니다. 태그는 등호후에 정의됩니다. 예를 들어 x에는 태그 1이 있습니다. Go에서 패키지 이름은 go_package를 지정하지 않는 한 Go 패키지로 사용됩니다.

go_package를 제공하더라도 프로토콜 버퍼스 이름 공간과 비Go 언어에서 이름 충돌을 방지하려면 일반 패키지를 정의해야 합니다. 그런 다음 여기에 설명된 대로 다트 프로토콜 버퍼 플러그인을 설치합니다. 참고로, 실행 가능한 빈/프로토크-겐 다트는 PROTOC를 찾으려면 PATH에 있어야 합니다. 예제 사용 사례와 몇 가지 코드 뒤에 살펴보겠습니다. 프로토콜 버퍼를 사용 하려면 자바, 우리는 프로토 부프-자바에 메이븐 종속성을 추가 해야: 다음, 이동 프로토콜 버퍼 스 플러그인을 설치 ($GOPATH/bin 그것을 찾을 프로토 크에 대 한 $PATH 있어야 합니다): 프로토콜 버퍼는 언어 에 의해 개발 된 언어 불가지론 바이너리 데이터 형식 서로 다른 서비스 간에 구조화된 데이터를 직렬화할 수 있습니다. 처음에 그 모든 무거운 용어를 얻지 못했다면, 괜찮습니다. 모든 것이 분명해질 때까지 걸어갈 수 있게 해 주세요. 따라서이 기사에서는 두 프로그램이 프로토콜 버퍼 인코딩 된 파일을 매개 변수로 사용합니다. 첫 번째 는 파일에 사람을 추가하는 데 사용할 수 있습니다. 파일이 없으면 파일이 만들어집니다. 두 번째는 파일의 데이터를 표시합니다. 좋아, 그래서 우리는 꽤 간단한 예제를 얻을 수 있었다 실행, 하지만 실제 세계에서, 우리는 대부분 우리의 메시지 형식 내에서 여러 중첩 된 필드를 가지고 우리는 값 등의 일부를 수정할 것입니다.