ProtoBuf认识与Windows下的安装

protobuf简介

Protobuf Protocol Buffers 的简称,它是 Google 公司开发的一种数据描述语言,是一种轻便高效的结 构化数据存储格式,可以用于结构化数据,或者说序列化。它很适合做数据存储 RPC 数据交换格 。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。他是一 种灵活,高效,自动化的机制,用于序列化结构化数据,对比于 XML JSON ,他更小,更快、更简 单。总之他是微服务中需要使用的东西。
Protobuf 刚开源时的定位类似于 XML JSON 等数据描述语言,通过附带工具生成代码并实现将结构化 数据序列化的功能。这里我们更关注的是Protobuf 作为接口规范的描述语言,可以作为设计安全的跨语 言RPC 接口的基础 工具。
需要了解两点
1. protobuf 是类似与 json 一样的数据描述语言(数据格式)
2. protobuf 非常适合于 RPC 数据交换格式

protobuf的优势和劣势:

优势:
1 :序列化后体积相比 Json XML 很小,适合网络传输
2 :支持跨平台多语言
3 :消息格式升级和兼容性很好
4 :序列化反序列化速度很快,快于 Json 的处理速度
劣势:
1 :应用不够广 ( 相比 xml json)
2 :二进制格式导致可读性差
3 :缺乏自描述

protobuf的安装 

1 、安装 protobuf
GitHub - protocolbuffers/protobuf: Protocol Buffers - Google's data interchange format
点击latest,然后找到win-64的压缩包
下载后解压,添加到环境变量
我的安装目录:D:\protoc-25.3-win64\bin
环境变量打开:我的电脑->右键属性-》高级系统设置-》环境变量-》系统变量-》找到path-》编辑-》保存即可
win+r,打开cmd,输入 
protoc --version

显示版本即可

protobufgo语言插件protoc-gen-go插件

go install github.com/golang/protobuf/protoc-gen-go@latest

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2803680.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

qt 软件发布(Windows)

1. 开发环境 QtCreator MSVC编译器 2. 源码编译 生成release或者debug版本的exe可执行文件(x64或x86) 3. windeployqt 打包 ①左下角开始菜单栏找到QT的命令交互对话框,如下图MSVC 2017 64-bit(根据第二步编译的类型选择64位或者32位)。 ②cd 切换到第二步可…

vue实现拖拽(vuedraggable)

实现效果: 左侧往右侧拖动,右侧列表可以进行拖拽排序。 安装引用: npm install vuedraggable import draggable from vuedraggable 使用: data数据: componentList: [{groupName: 考试题型,children: [{componentType: danxua…

数字信号处理:傅里叶分析

本文主要参考视频如下: 数字信号处理9-1_线性时不变系统对复指数信号的响应_哔哩哔哩_bilibili 傅里叶分析的主要研究内容如下所示: 注意,计算机中使用的离散傅里叶变换并不是离散时间傅里叶变换; 前四种都是理论上的变换方式&…

构建生物医学知识图谱from zero to hero (4):通过Neo4j构建知识图谱

图数据库是一种专门用于存储图形数据的 NoSQL 数据库。与传统的关系型数据库和其他 NoSQL 数据库不同,图数据库利用图形数据模型来存储和管理数据。图形数据模型由节点和边组成,节点代表实体,边代表实体之间的关系。例如,在社交网络中,用户可以表示为节点,朋友关系可以表…

15-36V降压充电光伏MPPT充电方案

1.MPPT原理--简介 MPPT,全称为Maximum Power Point Tracking,即最大功点跟踪,它是一种通过调节电气模块的工作状态,使光伏板能够输出更多电能的电气系统能够将太阳能电池板发出的直流电有效地贮存在蓄电池中,可有效地…

Knife4j

knife4j和原来swagger2冲突 版本springboot和knife4j不对 可以了 http://127.0.0.1:8081/doc.html#/documentManager/OfficelineDocument-default

Draw.io绘制UML图教程

一、draw.io介绍 1、draw.io简介 draw.io 是一款强大的免费在线图表绘制工具,支持创建流程图、组织结构图、时序图等多种图表类型。它提供丰富的形状库、强大的文本编辑和样式设置功能,使用户能够轻松创建专业级图表。draw.io 具有用户友好的界面&…

信号通信与消息队列实现的通信:2024/2/23

作业1&#xff1a;将信号和消息队列的课堂代码敲一遍 1.1 信号 1.1.1 信号默认、捕获、忽略处理(普通信号) 代码&#xff1a; #include <myhead.h> void handler(int signo) {if(signoSIGINT){printf("用户键入 ctrlc\n");} } int main(int argc, const ch…

redis GEO 类型原理及命令详解

目录 前言 一、GeoHash 的编码方法 二、Redis 操作GEO类型 前言 我们有一个需求是用户搜索附近的店铺&#xff0c;就是所谓的位置信息服务&#xff08;Location-Based Service&#xff0c;LBS&#xff09;的应用。这样的相关服务我们每天都在接触&#xff0c;用滴滴打车&am…

文章SCI/EI检索流程

前言&#xff1a; 想查询某篇文章是否被SCI/EI检索&#xff0c;以及其对应SCI/EI检索号可通过以下流程查询。 一、SCI检索 网址&#xff1a;https://webofscience-clarivate-cn-s.xidian.yitlink.com/wos/alldb/basic-search 搜索对应论文的题目&#xff0c;若有对应查询结果…

无法收到邮箱验证码

我们在注册&#xff0c;找回密码的时候&#xff0c;如果没有收到验证码&#xff0c;可以尝试以下几种方式解决: 使用QQ邮箱注册 现在常用的邮箱应该是QQ邮箱&#xff0c;所以后台也是使用QQ邮箱给大家发送验证码&#xff0c;所以大家的接受邮箱也最后是qq邮箱 在垃圾箱中查找…

Nginx 配置前端工程项目二级目录

前提&#xff1a; 前端工程技术框架: vue 后端工程技术工程&#xff1a;spring boot 需求&#xff1a;需要通过二级目录访问前端工程&#xff1a; 如之前&#xff1a;http://127.0.0.1:80/ 改成 http://127.0.0.1/secondDirectory:80/ 一.前端工程支持二级目录 1.编译文…

C 标准库 - <errno.h>

在C语言编程中&#xff0c;<errno.h> 头文件扮演着至关重要的角色&#xff0c;它提供了一个全局变量 errno 以及一系列预定义宏&#xff0c;用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…

flannel网络拓扑

测试环境创建 在k8s中部署flannel网络插件 https://blog.csdn.net/weixin_64124795/article/details/128894411 参考文章部署k8s集群和flannel网络插件 我的k8s集群物理环境 我的集群中只有两个节点master和node1节点 [rootmaster sjs]# kubectl get node NAME STATU…

音视频技术-声反馈啸叫的产生与消除

目录 1.均衡调节: 2.移频法: 3.移相法: 4.比较法: 在扩音系统中,产生啸叫危害很大,一方面影响会议、演出等活动的正常进行,另一方面严重的啸叫会导致音响设备的损坏。 “啸叫”是“声反馈”的俗称,形成的机制复杂,消除的手段多样,专业调音师也对

Windows软件卸载基本思路

&#x1f4ab;作者&#xff1a;南城余 &#x1f31f;全平台账号&#xff1a;公众号、CSDN、GitHub、语雀、知乎 前提提要&#xff1a; 相信大家都被Windows软件卸载恶心过吧&#xff1f; 那Windows软件到底应该怎么卸载呢&#xff1f; 跟着下面方法&#xff0c;你一定可以成…

谷歌最新黑科技:Gemini 1.5携100万Token挑战AI多模态极限

最近科技圈再次迎来震撼弹&#xff01;除了火爆全球的openAI Sora文生视频模型外&#xff0c;谷歌发布了其大模型矩阵的最新成员——Gemini 1.5&#xff0c;一举将上下文窗口长度扩展至惊人的100万个tokens。这不仅仅是一个简单的数字增加&#xff0c;而是一次划时代的飞跃&…

SpringCloud-Gateway解决跨域问题

Spring Cloud Gateway是一个基于Spring Framework的微服务网关&#xff0c;用于构建可扩展的分布式系统。在处理跨域问题时&#xff0c;可以通过配置网关来实现跨域资源共享&#xff08;CORS&#xff09;。要解决跨域问题&#xff0c;首先需要在网关的配置文件中添加相关的跨域…

linux逻辑卷/dev/mapper/centos-root扩容增加空间

centos7中/dev/mapper/centos-root扩容 问题文件系统根目录&#xff0c;/dev/mapper/centos-root空间满了&#xff0c;导致k8s不停重启 1.查看磁盘情况 df -h #查看最大占用目录 du -h -x --max-depth12.查看磁盘信息 fdisk -l3.查看磁盘分区层级 lsblk可见剩余空闲60G空间…

二十三、视频处理和保存

项目功能实现&#xff1a;获取视频的参数信息&#xff0c;对视频文件进行转换到HSV色域空间并保存到指定路径中去 按照之前的博文结构来&#xff0c;这里就不在赘述了 一、头文件 video_save.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class Vid…