草庐IT

protobuf-LiteralByteString

全部标签

Protobuf Options 自定义插件使用

ProtoOptions简介使用protobuf的options,我们可以添加我们自己的option,然后根据option生成代码添对proto中的参数进行处理,例如添加message的校验。extension能够对已经存在的消息进行扩展,这种扩展只是动态增加字段,而没有增加接口。例子:扩展protobuf的FieldOptionsmessageMyFileOptions{optionalboolok=1;}//扩展protobuf的MessageOptionsextendgoogle.protobuf.FileOptions{optionalMyFileOptionsmy_file_opti

Protobuf Options 自定义插件使用

ProtoOptions简介使用protobuf的options,我们可以添加我们自己的option,然后根据option生成代码添对proto中的参数进行处理,例如添加message的校验。extension能够对已经存在的消息进行扩展,这种扩展只是动态增加字段,而没有增加接口。例子:扩展protobuf的FieldOptionsmessageMyFileOptions{optionalboolok=1;}//扩展protobuf的MessageOptionsextendgoogle.protobuf.FileOptions{optionalMyFileOptionsmy_file_opti

一个 bug 竟然是 Protobuf 的 feature

大家好,我是了不起。最近我们在项目中,通过使用protobuf格式作为存储数据的一个载体。一个不小心就给自己埋了个大坑,还是过了好久才发现。protobuf简介protobuf全名叫Protocalbuffers.它是由Google研发的,一种可跨语言、可跨平台、可扩展的序列化数据的机制。类似于XML,但是它更小、更快、更简单。你只需要定义一次你希望的数据如何被结构化,然后你可以使用它的生成工具,生成包含一些序列化和反序列化等操作的源代码。可以轻松地从各种数据流和使用各种编程语言写入和读取结构化的数据。proto2版本支持在Java、Python、Objective-C和C++中生成代码。使用

一个 bug 竟然是 Protobuf 的 feature

大家好,我是了不起。最近我们在项目中,通过使用protobuf格式作为存储数据的一个载体。一个不小心就给自己埋了个大坑,还是过了好久才发现。protobuf简介protobuf全名叫Protocalbuffers.它是由Google研发的,一种可跨语言、可跨平台、可扩展的序列化数据的机制。类似于XML,但是它更小、更快、更简单。你只需要定义一次你希望的数据如何被结构化,然后你可以使用它的生成工具,生成包含一些序列化和反序列化等操作的源代码。可以轻松地从各种数据流和使用各种编程语言写入和读取结构化的数据。proto2版本支持在Java、Python、Objective-C和C++中生成代码。使用

ubuntu安装protobuf

1环境准备操作系统ubuntu22.04protobufprotobufv3.19.42apt安装apt安装,安装的版本无法进行指定。sudoaptupdatesudoaptinstalllibprotobuf-devprotobuf-compiler3编译安装(任意版本)下载protobuf对应版本。以protobuf-all-3.19.4.tar.gz为例。sudowgethttps://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz解压protobuf-all

ubuntu安装protobuf

1环境准备操作系统ubuntu22.04protobufprotobufv3.19.42apt安装apt安装,安装的版本无法进行指定。sudoaptupdatesudoaptinstalllibprotobuf-devprotobuf-compiler3编译安装(任意版本)下载protobuf对应版本。以protobuf-all-3.19.4.tar.gz为例。sudowgethttps://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protobuf-all-3.19.4.tar.gz解压protobuf-all

Android开发使用Mac Apple M1 + protobuf时报错

开篇废话Android开发使用MacAppleM1+protobuf时报Couldnotresolveallfilesforconfiguration':app:protobufToolsLocator_protoc'.Couldnotfindprotoc-osx-aarch_64.exe遇到的问题今天换了MacBookAir笔记本进行开发,非常开心,因为电脑配置很高,但是随之而来了一个问题,之前好好的代码怎么跑不起来了,反而报了下面这样的错误。Executionfailedfortask':app:generateDebugProto'.>Couldnotresolveallfilesfor

Android开发使用Mac Apple M1 + protobuf时报错

开篇废话Android开发使用MacAppleM1+protobuf时报Couldnotresolveallfilesforconfiguration':app:protobufToolsLocator_protoc'.Couldnotfindprotoc-osx-aarch_64.exe遇到的问题今天换了MacBookAir笔记本进行开发,非常开心,因为电脑配置很高,但是随之而来了一个问题,之前好好的代码怎么跑不起来了,反而报了下面这样的错误。Executionfailedfortask':app:generateDebugProto'.>Couldnotresolveallfilesfor

微服务—gRPC之Protobuf语法

1.Protobuf语法1.1.1.基本规范文件以.proto做为文件后缀,除结构定义外的语句以分号结尾结构定义可以包含:message、service、enumrpc方法定义结尾的分号可有可无Message命名采用驼峰命名方式,字段命名采用小写字母加下划线分隔方式messageSongServerRequest{requiredstringsong_name=1;}Enums类型名采用驼峰命名方式,字段命名采用大写字母加下划线分隔方式enumFoo{FIRST_VALUE=1;SECOND_VALUE=2;}Service与rpc方法名统一采用驼峰式命名1.1.2.字段规则字段格式:限定修饰

微服务—gRPC之Protobuf语法

1.Protobuf语法1.1.1.基本规范文件以.proto做为文件后缀,除结构定义外的语句以分号结尾结构定义可以包含:message、service、enumrpc方法定义结尾的分号可有可无Message命名采用驼峰命名方式,字段命名采用小写字母加下划线分隔方式messageSongServerRequest{requiredstringsong_name=1;}Enums类型名采用驼峰命名方式,字段命名采用大写字母加下划线分隔方式enumFoo{FIRST_VALUE=1;SECOND_VALUE=2;}Service与rpc方法名统一采用驼峰式命名1.1.2.字段规则字段格式:限定修饰