protobuf 예제

이제 우리는 우리의 프로젝트를 만드는 것이 좋다. 프로젝트를 유지할 새 폴더를 만듭니다. 프로토부프를 사용하려면 먼저 .proto 파일을 정의해야 합니다. 간단한 프로젝트 관리 시스템의 예를 들어 보겠습니다. 선택한 텍스트 편집기를 사용하고 파일 projectmanagement.proto를 만듭니다. 파일 이름 .proto의 확장명을 기억하십시오. 이제 작업의미가 있으므로 구조를 정교하게 만드는 매우 기본적인 .proto 메시지 예제를 드리겠습니다. 참고 : Protobufs는 거의 모든 언어를 지원하고 모든 주요 플랫폼, 즉 리눅스와 윈도우를 대상으로하지만, 나는 윈도우용 C ++ 설치만 다룰 것입니다. 다른 언어 나 플랫폼으로 작업하려는 경우 여기에서 프로토콜 부프 설명서에 액세스하십시오. “make”를 실행하여 모든 언어에 대한 예제를 작성할 수 있습니다(Go 제외). 그러나 언어마다 설치 요구 사항이 다르므로 실패할 수 있습니다. 관심 있는 언어만 빌드하려면 아래의 개별 지침을 따르는 것이 좋습니다. 이러한 예제는 프로토콜 버퍼스 자습서의 일부입니다.

https://developers.google.com/protocol-buffers/docs/tutorials 이 디렉터리에는 프로토콜 버퍼를 사용하여 주소록을 관리하는 예제 코드가 포함되어 있습니다. 지원되는 각 언어에 대해 두 개의 프로그램이 제공됩니다. add_person 예제는 주소록에 새 사용자를 추가하여 사용자에게 사용자의 정보를 입력하라는 메시지를 표시합니다. list_people 예제에는 주소록에 이미 있는 사람이 나열됩니다. 예제에서는 세 언어 모두에서 동일한 형식을 사용하므로 예를 들어 add_person_java를 사용하여 주소록을 만든 다음 list_people_python을 사용하여 읽을 수 있습니다. 그런 다음 이 예제 디렉토리에서 “make cpp”를 실행하여 C++ 예제를 빌드합니다. add_person_cpp 와 list_people_cpp라는 두 개의 실행 수있는 실행 가능한 실행 이 생성됩니다. 이러한 프로그램은 단순히 주소록 파일을 매개 변수로 사용합니다. add_person_cpp 프로그램이 아직 존재하지 않는 경우 파일을 만듭니다. 프로토콜 버퍼를 사용하는 전체 목적은 데이터를 다른 곳에서 구문 분석할 수 있도록 직렬화하는 것입니다. 이동에서 프로토 라이브러리의 Marshal 함수를 사용하여 프로토콜 버퍼 데이터를 직렬화합니다. 프로토콜 버퍼 메시지의 구조체에 대한 포인터는 프로토를 구현합니다.

메시지 인터페이스. 프로토를 호출합니다. 마샬은 와이어 형식으로 인코딩된 프로토콜 버퍼를 반환합니다. 예를 들어 add_person 명령에서 이 기능을 사용합니다. 다른 메시지 내에 중첩된 메시지 유형을 정의할 수도 있습니다. 필드 중 하나에 미리 정의된 값 목록 중 하나를 포함하려면 열거형 형식을 정의할 수도 있습니다. 이제 JSON과 프로토콜 버퍼 표현의 각각 크기는 이 규모에서 비슷할 수 있지만 표준 “시작” 예제보다 데이터가 큰 시나리오를 고려하기 시작하면 절감 액수가 증가하기 시작합니다. 좋아, 그래서 우리는 꽤 간단한 예제를 얻을 수 있었다 실행, 하지만 실제 세계에서, 우리는 대부분 우리의 메시지 형식 내에서 여러 중첩 된 필드를 가지고 우리는 값 등의 일부를 수정할 것입니다. 이 디렉토리의 C ++, 파이썬, 자바 및 다트 예제가 비슷한 방식으로 실행되고 Go 예제에서 만든 파일을 보거나 수정할 수 있으며 그 반대의 경우도 마찬가지입니다. 우리가 사용할 예제는 파일에서 사람들의 연락처 정보를 읽고 쓸 수있는 매우 간단한 “주소록”응용 프로그램입니다.

Share Button
Posted in Uncategorized.