当前位置: 首页 > wzjs >正文

高校网站建设需求分析青岛seo网站管理

高校网站建设需求分析,青岛seo网站管理,wordpress 二级分类,我要做自媒体要怎么开始目录 一、序列化概念 二、ProtoBuf 是什么 三、ProtoBuf 的使用特点 ProtoBuf 在不同操作系统下的安装 一、ProtoBuf 在 Windows 下的安装 二、ProtoBuf 在 Linux 下的安装 三、检查是否安装成功 安装教程 可以直接目录跳转到后面 笔记参考:官方文档 一、序…

目录

一、序列化概念

二、ProtoBuf 是什么

三、ProtoBuf 的使用特点

ProtoBuf 在不同操作系统下的安装

一、ProtoBuf 在 Windows 下的安装

二、ProtoBuf 在 Linux 下的安装

三、检查是否安装成功


安装教程 可以直接目录跳转到后面

笔记参考:官方文档


一、序列化概念

序列化和反序列化

  • 序列化:将对象转换为字节序列的过程称为对象的序列化。
  • 反序列化:将字节序列恢复为对象的过程称为对象的反序列化。

什么情况下需要序列化?

  • 存储数据当我们想把内存中的对象状态保存到一个文件中或者存到 数据库 中时,就需要进行序列化。
  • 网络传输虽然网络可以直接传输数据,但无法直接传输对象。因此,在传输前需要对对象进行序列化,在传输完成后进行反序列化以恢复对象。例如,在 socket 编程中发送与接收数据时就需要这样做。

如何实现序列化?

  • 可以通过多种方式实现序列化,包括 XML、JSON 和 Protocol Buffers(简称 ProtoBuf)等。

二、ProtoBuf 是什么

  • 根据官方定义,Protocol Buffers(ProtoBuf)是 Google 提供的一种语言无关、平台无关、可扩展的 序列化结构数据的方法 ,适用于通信协议、数据存储等领域。
  • ProtoBuf 类似于 XML,但是它更小、更快、更简单。ProtoBuf 提供了一种灵活且高效的自动化机制来序列化结构化数据。
  • 用户可以定义数据结构,然后使用特殊生成的源代码轻松地在各种数据流中使用多种语言编写和读取结构化数据。甚至可以在更新数据结构的同时,不破坏由旧数据结构编译的已部署程序。

简单来说,ProtoBuf(全称为 Protocol Buffer)是一种让结构化数据序列化的方法,具有以下特点:

    • 语言无关、平台无关支持 Java、C++、Python 等多种语言,并支持多个平台。
    • 高效相比 XML 更小、更快、更为简单。
    • 扩展性、兼容性好即使更新了数据结构,也不会影响或破坏已经存在的旧程序。

三、ProtoBuf 的使用特点

  1. 编写 .proto 文件:首先需要 编写 .proto 文件,用于定义结构化的对象(即 message)及其属性内容。
  2. 使用 protoc 编译器编译 .proto 文件:接下来,使用 protoc 编译器编译 .proto 文件,这会生成 一系列接口代码,并存储在新生成的头文件和源文件中。
  3. 依赖生成的接口:将编译生成的头文件包含进我们的代码中,以便实现对 .proto 文件中定义的字段进行设置和获取,以及对 message 对象进行序列化和反序列化。

使用特点:ProtoBuf 需要依赖通过编译生成的头文件和源文件来使用。

有了这种 代码生成机制,开发人员再也 不用吭哧吭哧地编写那些协议解析的代码了(干这种活是典型的吃力不讨好)


ProtoBuf 在不同操作系统下的安装

一、ProtoBuf 在 Windows 下的安装

1. 下载 ProtoBuf 编译器

  • 下载地址:github.com
  • 可以根据电脑情况选择是否下载最新版本。

  • 下载后,将压缩包解压到本地目录。解压后的文件夹内包含 bin、include 文件以及一个 readme.txt。

2. 配置环境变量

  • 将解压后文件夹中的 bin 目录添加到系统环境变量的 Path 中。

3. 检查是否配置成功

  • 打开 cmd,输入命令 protoc --version 查看版本信息。
  • 如果有显示版本号,说明安装成功。

也可以看这篇前文,借助 vcpkg 安装的 protobuf:

[ChatClient_1] 服务拆分 | 环境搭建 | model_1 | 命名


二、ProtoBuf 在 Linux 下的安装

1. 下载 ProtoBuf

  • 在下载 ProtoBuf 前,确保已安装依赖库:autoconf automake libtool curl make g++ unzip。
    • Ubuntu 用户可使用以下命令安装:sudo apt-get install autoconf automake libtool curl make g++ unzip -y
    • CentOS 用户则使用:sudo yum install autoconf automake libtool curl make gcc-c++ unzip

  • 下载地址:github.com
  • 根据需要选择对应的版本:
    • C++:cpp.zip
    • JAVA:java.zip
    • 支持全部语言:all.zip(例如选择 protobuf-all-21.11.zip)

  • 使用 wget 命令下载:wget https://github.com/protocolbuffers/protobuf/releases/download/v21.11/protobuf-all-21.11.zip

  • 下载完成后,使用 unzip protobuf-all-21.11.zip 解压,并进入解压后的文件夹:cd protobuf-21.11


2. 安装 ProtoBuf

进入解压好的文件,执行以下命令:

# 第⼀步执⾏autogen.sh,但如果下载的是具体的某⼀⻔语⾔,不需要执⾏这⼀步。
./autogen.sh # 第⼆步执⾏configure,有两种执⾏⽅式,任选其⼀即可,如下:
# 1、protobuf默认安装在 /usr/local ⽬录,lib、bin都是分散的
./configure 
# 2、修改安装⽬录,统⼀安装在/usr/local/protobuf下
./configure --prefix=/usr/local/protobuf

第一步:因为上面我选择的是 all.zip,所以需要执行:./autogen.sh

第二步:选择统一安装(推荐):./configure --prefix=/usr/local/protobuf

再依次执行:

make // 执⾏15分钟左右
make check // 执⾏15分钟左右
sudo make install

第一步:make

第二步:make check

有的人可能会在 make check 出现错误

出现错误的原因是 test 的模块里面有非常多的测试用例,这些用例对服务器环境要求特别严格,需要增大下 swap 分区,具体操作可参考:

Ubuntu 18.04 swap分区扩展_ubuntu18.04 如何查看swapfile文件路径-CSDN博客

(建议可以先扩大 3G,再执行 make check。如果还是报错,再扩大到 5G 重新执行 make check,如果 swap 分区为 0,就直接跳过这一步 make check)

  • 执行 make check 后,出现以上内容就可以执行第三步:sudo make install

如果在执行 configure 时,当时选择了第一种执行方式,也就是:./configure,那么到这就可以正常使用 protobuf 了。

但如果是选择了跟我一样的第二种执行方式,即修改了安装目录:./configure --prefix=/usr/local/protobuf,那么还需要在 /etc/profile 中添加一些内容:

# 添加内容如下:#(动态库搜索路径) 程序加载运⾏期间查找动态链接库时指定除了系统默认路径之外的其他路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib/
#(静态库搜索路径) 程序编译期间查找动态链接库时指定查找共享库的路径
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/protobuf/lib/
#执⾏程序搜索路径
export PATH=$PATH:/usr/local/protobuf/bin/
#c程序头⽂件搜索路径
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/usr/local/protobuf/include/
#c++程序头⽂件搜索路径
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/local/protobuf/include/
#pkg-config 路径
export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/

先执行命令:sudo vim /etc/profile

最后一步,重新执行 /etc/profile 文件:

source /etc/profile

三、检查是否安装成功

  • 输入 protoc --version 查看版本信息

若有显示则说明安装成功啦~

http://www.dtcms.com/wzjs/6036.html

相关文章:

  • 网站建设必须要在阿里云备案吗新乡seo优化
  • 台州企业做网站近期新闻大事
  • 太原网站建设方案服务网站上不去首页seo要怎么办
  • 最新疫情防控政策百度关键词优化推广
  • 宝安建网站怎么免费创建个人网站
  • 17网站一起做网店登录seo公司推荐推广平台
  • 手机网站seo做网络营销推广的公司
  • 创业网站建设怎么样自学seo大概需要多久
  • 备案的网站建设书是什么意思北京已感染上千万人
  • 网上建设银行网站开封网络推广哪家好
  • 做软件常用的网站温州seo优化公司
  • 鹿城做网站成都seo优化推广
  • 昆明网站关键字优化优化设计全部答案
  • 网站建设行业前景承德seo
  • 唯美个人网站欣赏百度人气榜
  • linux建设网站短视频培训要多少学费
  • 桥西企业做网站2022拉新推广平台
  • 外贸网站如何做推广多少钱seo顾问张智伟
  • 做商品网站数据库有哪些内容百度收录批量提交入口
  • 做阿拉伯语的网站直播营销的优势有哪些
  • 什么网站建设最简单广州疫情最新动态
  • 新手怎么做网站打理免费找客户软件
  • 免费软件下载破解版推广优化排名
  • 免费小程序源码泰州百度seo公司
  • 做网站客户要先看效果后付款网站收录服务
  • 惠州做网站广告seo常见优化技术
  • 太原网站建设解决方案百度推广价格价目表
  • 设计建设网站公司网站厦门seo收费
  • 日本樱花服务器vpsseo全称
  • 国外开网站怎样做平帐软文广告500字