본문 바로가기

protocol4

Protocol buffer - Convention - 출처: https://developers.google.com/protocol-buffers/docs/style - Formatting protocol buffer 파일을 작성할 때에는 아래의 format을 따른다. 1 라인당 80 글자수 들여쓰기는 2 space string은 ""를 사용 - File 구조 File은 lower_snake_case.proto 형태를 갖는다. 파일내에 기술되는 항목의 순서는 다음과 같다. License header File overview Syntax(2, 3) Package Imports (sorted) File options 그 외 - Packages package 명은 소문자 여야 한다. - Message and field name Message: CamelCase.. 2022. 4. 29.
Protocol buffer - Proto3 - 출처: https://developers.google.com/protocol-buffers/docs/proto3 - Message Type 정의 아래는 .proto 파일에 메시지를 정의한 예제이다. syntax = "proto3"; message SearchRequest { string query = 1; int32 page_number = 2; int32 result_per_page = 3; } 맨 첫줄 syntax = "proto3";은 proto3 문법을 사용하겠다는것을 나타낸다. 만약 이 선언이 없다면 proto2를 사용한다고 가정한다. 위의 .proto 파일에는 SearchRequest 메시지 안에 3개의 field가 존재한다. 그리고 각 field는 이름과 형을 갖는다. 예제에서는 scal.. 2022. 4. 24.
Protocol buffer - 출처: https://developers.google.com/protocol-buffers/docs/overview - 개요 Protocol buffer는 언어 및 Platform에 중립적이며 구조화된 데이터를 직렬화하거나 그 반대 방향으로도 변환가능한 확장 매커니즘이다. JSON과 비슷하지만 더 작고 빠르며 지원하는 언어라면 해당 언어에 맞는 코드를 생성한다. Protocol buffer는 정의하는 부분(.proto 파일)과 proto 컴파일러가 생성하는 코드 부분으로 구성되어 있다. - Protocol buffer를 사용하여 어떤 문제를 해결할 수 있는가? Protocol buffer는 최대 몇 MB정도 되는 구조화되거나 형을 갖는 데이터 package을 위한 직렬화 형태를 제공한다. Protoc.. 2022. 3. 13.
gRPC with protobuf - 출처: https://grpc.io/docs/what-is-grpc/introduction/ - 출처: https://grpc.io/docs/languages/go/quickstart/ - 출처: https://github.com/grpc/grpc-go/tree/master/examples/helloworld - 개요 google에서 개발한 Remote Procedure Call이다. IDL(Interface Definition Language) 및 기본 메시지 교환형식으로 protocol buffer를 사용할 수 있다. RPC와 비슷하게 서버측에서는 interface를 구현하고 gRPC 서버를 실행하면 클라이언트에서는 서버와 같은 메소드의 stub을 갖는 구조이다. gRPC는 여러 언어를 지원하는데.. 2022. 3. 13.