protobuf

Some Notes of Protocol Buffer C++

非 Y 不嫁゛ 提交于 2019-12-04 15:16:02
Some Notes of Protocol Buffer C++ Operating System: Ubuntu 14.04 Language: C++ 1. Refer to the official guided documentations for the Installation of Protocol Buffer: Overview: https://developers.google.com/protocol-buffers/docs/overview Downloads: https://developers.google.com/protocol-buffers/docs/downloads Protocol Buffer for C++: https://developers.google.com/protocol-buffers/docs/cpptutorial * It is worth noting that read the README.md file before installing Protocol Buffer. 2. If e rror appears after using the "make" command as follows, follow the steps given below. Error Information:

Unity的lua项目为Tolua# 编译protobuf

让人想犯罪 __ 提交于 2019-12-04 12:37:39
记录以备忘 因为有别的现有架构,所以只是换lua中间件,同时需要protobuf,所以使用pbc加入编译。tolua#在github上就有simpleframwork可用,个人项目可以使用。 下载tolua# 的runtime项目 https://github.com/topameng/tolua.git 到D:/tolua# 下载luapbc 项目 https://github.com/cloudwu/pbc.git 到D:/tolua#/pbc 此时tolua#项目结构为 修改编译脚本 #!/bin/bash # 32 Bit Version mkdir -p window/x86 # mingw32-make = 'C:\Ruby\DevKit\mingw\bin\mingw32-make.exe' cd luajit mingw32-make clean mingw32-make BUILDMODE=static CC="gcc -m32 -O3" cp src/libluajit.a ../window/x86/libluajit.a mingw32-make clean cd .. # build protobuf fengyun ban pbc from https://github.com/cloudwu/pbc/ cd pbc mingw32-make lib

再一次源码编译caffe2的血泪史

﹥>﹥吖頭↗ 提交于 2019-12-04 11:59:29
文章目录 写在一切之前,放弃源码编译caffe2还来得及 源码编译caffe2 不放弃源码编译caffe2的结果是...... 问题1 :各种各样的错误 问题2:E: 无法定位软件包 build-essential 问题3:NCCV warning 问题4:简称Makefile:127: 问题5:简称No rule to make target ... needed .... Stop. 问题6:protobuf的错误 问题7:Install configuration: "Release" 问题8:caffe2的测试错误 写在一切之前,放弃源码编译caffe2还来得及 或许你不能理解我为啥要再一次从源码编译caffe2,因为我已经从源码编译了n次caffe2也没有成功,所以是再一次…但是,有一些小坑还是解决掉了(虽然写这篇博客的时候我还没有成功编译)。毕竟,梦想还是要有的,要不然和一条咸鱼有什么区别。(不过是一条有梦想的咸鱼罢了) 再一次友情提示, 不要源码编译caffe2!不要源码编译caffe2!不要源码编译caffe2! 珍爱生命,远离源码编译caffe2~下面就是我的血泪史,emmmmmm~ 先放上我的 电脑配置 ,是GPU的~配置不同的话大家尽量参考吧~ 电脑 微星GS65 GTX1070 系统 Ubuntu 16.04 (14.04和16.04有些安装步骤不同)

几种序列化协议(protobuf,xstream,jackjson,jdk,hessian)相关数据

亡梦爱人 提交于 2019-12-04 08:28:50
别人的相关测试数据: http://code.google.com/p/thrift-protobuf-compare/wiki/Benchmarking 测试纬度 序列化时间 反序列化时间 bytes大小 测试代码 准备protobuf文件 Message.proto文件代码 import "InnerMessage.proto"; package demo; option java_package = "com.agapple.protobuf.data"; option java_outer_classname = "MessageProtos"; option optimize_for = SPEED ; //CODE_SIZE,LITE_RUNTIME option java_generic_services = false; message Message { required string strObj = 1 [default="hello"]; optional int32 int32Obj = 2; optional int64 int64Obj = 3; optional uint32 uint32Obj = 4; optional uint64 uint64Obj = 5; optional sint32 sint32Obj = 6; optional

idea中使用maven编译proto文件

妖精的绣舞 提交于 2019-12-04 07:09:06
一、.proto文件语法高亮显示 需要安装Protobuf Support插件 依次点击Intellij中的“File”-->"Settings"-->"Plugins"-->"Browse repositories",如下所示: 输入Protobuf,如下所示 安装完后,重启Intellij IDEA,查看.proto文件,会发现已经支持语法高亮显示。 二、将.proto文件转成Java类 一般的做法,是执行protoc命令,依次将.proto文件转成Java类: protoc.exe -I=d:/tmp --java_out=d:/tmp d:/tmp/monitor_data.proto 不过gRPC官方推荐了一种更优雅的使用姿势,可以通过maven轻松搞定 2.1 pom.xml文件配置 1 <properties> 2 <grpc.version>1.6.1</grpc.version> 3 <protobuf.version>3.3.0</protobuf.version> 4 </properties> 1 <dependencies> 2 <dependency> 3 <groupId>io.grpc</groupId> 4 <artifactId>grpc-netty</artifactId> 5 <version>${grpc.version}</version

Go微服务 grpc/protobuf

跟風遠走 提交于 2019-12-04 04:15:31
了解grpc/protobuf gRPC是一个高性能、通用的开源RPC框架,其由Google主要面向移动应用开发并基于HTTP/2协议标准而设计,基于ProtoBuf(Protocol Buffers)序列化协议开发,且支持众多开发语言。 gRPC提供了一种简单的方法来精确地定义服务和为iOS、Android和后台支持服务自动生成可靠性很强的客户端功能库。客户端充分利用高级流和链接功能,从而有助于节省带宽、降低的TCP链接次数、节省CPU使用、和电池寿命。 Protobuf(Protocol Buffers),是 Google 开发的一种跨语言、跨平台的可扩展机制,用于序列化结构化数据。 grpc与传统的 REST 架构相比,REST架构通过 http 传输 JSON 或者 XML ,会带来了一个问题:服务 A 把原始数据编码成 JSON/XML 格式,发送一长串字符给服务 B,B 通过解码还原成原始数据,通信的总体数据量很大。 但在两个微服务的通信间,我们不需要字符串中的所有数据,所以我们采用难理解但更加轻量的二进制数据进行交互。gRPC 采用的是支持二进制数据的 HTTP 2.0 规范,而protobuf负责处理二进制数据, 它更小、更快、更便捷。 protobuf 目前支持 C++、Java、Python、Objective-C,如果使用 proto3,还支持 C#、Ruby

多语言跨平台远程过程调用【Avro】

不想你离开。 提交于 2019-12-04 03:44:52
##开始 Avro是Apache的Hadoop家族的项目之一。具有性能高、基本代码少和产出数据量精简等特点。不过这是他们宣传广告,我最近也分别研究了Avro和Protobuf。基本的测试代码,不吐不快。 ##安装 ###Java Avro是应运Hadoop而生的,因此主要也是以Java写就。 Java的安装比较简单,往项目中放入Avro及Avro-rpc的jar包便可。我喜欢使用Maven,因此Maven坐标如下: <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro</artifactId> <version>1.7.2</version> </dependency> <dependency> <groupId>org.apache.avro</groupId> <artifactId>avro-ipc</artifactId> <version>1.7.2</version> </dependency> ###Python 熟悉Python模块安装应该很简单。avro的Python模块可以在 [ https://pypi.python.org/pypi Python][ https://pypi.python.org/pypi ] 下载。下载<code>tar.gz</code>或者<code>zip<

openstf的安装与使用

主宰稳场 提交于 2019-12-04 03:00:24
stf安装步骤 服务器(ubuntu 16.04) 1 更新环境,基本包的安装 sudo apt-get update sudo apt-get install git sudo apt-get install lib32stdc++6 sudo apt-get install yum 2 配置JDK,Android SDK 环境 a 下载解压 b sudo gedit ~/.bashrc 在最后添加 export JAVA_HOME=/home/maque/jdk-12.0.1 export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export ANDROID_HOME=/home/maque/android-sdk-linux export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH c source ~./bashrc d 更新Android SDK 包 ./android -v update sdk (全部更新) ./adnroid -v update sdk --no-ui --all --filter platform-tools,android-22

在网络通讯中应用Protobuf

╄→гoц情女王★ 提交于 2019-12-04 01:06:19
Protobuf的设计非常适用于在网络通讯中的数据载体,它序列化出来的数据量少再加上以K-V的方式来存储数据,对消息的版本兼容性非常强;还有一个比较大的优点就是有着很多的语言平台支持。下面讲解一下如何在TCP通讯应用中集成Protobuf. Protobuf提供一种简单的对象消息方式来描述数据的存储,通过相关实现可以简单地实现数据流和对象之间的转换。但由于Protobuf序列化后的信息并不包括一些相应对象类型描述,只有消息体的内容;因此在进行通信交互过程中默认情况是不知道这些数据和对象的对应关系;既然对方不清楚这些数据对应那种类型,那数据还源成对象就根本没办法入手。所以把 Protobuf用到网络通讯中我们还需要外加一些协议来规范数据的对应关系。 在通讯协议上只需要在消息体中先写入类型然后再写入Protobuf数据,TypeName主要是用于对方配匹数据对应的对象关系,这个TypeName是string还是int或其他就根据自己喜好来制定了。 在通讯上问题就解决了,但还要面对实际中使用的一种情况消息太多了……那处理TypeName->Object则一个蛋痛的事情。还好在.net和android下有类元素表这玩意还能在运行行进行操作,从而可以大大节省这些if判断处理。由于本人熟悉的语言平台有限,在这里分别提供java和c#的解决方法。 Java public static void

Google Protobuf 开发指南

末鹿安然 提交于 2019-12-04 01:04:59
Google Protobuf 开发指南 1. 简介 l 它是开源项目: http://code.google.com/p/protobuf/ l 由 google 开发,并且在 google 内部使用 l Protobuf 的作用和 xml 、 json 是一回事,但他是二进制格式,性能好、效率高。 l 代码生成机制 l 支持多种语言 l 向后兼容、向前兼容 l 缺点:可读性、灵活性 2.protobuf 目录结构 下载最新的 protobuf-2.5.0.zip 解压后: 其中“ editor ”包含 vim 和 emacs 的语法高亮配置文件, ”examples” 是一个例子, vsprojects 文件夹是 visual studio 的项目文件, src 中是 c++ 的源文件。 3. 使用步骤 1. 编译 lib 文件 2. 在项目中引入 include 和 lib 文件夹 3. 开始使用 4.AddressBook 例子 http://blog.sina.com.cn/s/blog_56dee71a01015i13.html 5.protobuf 在网络通信中应用 Protobuf 在 TCP 中使用注意事项 我的测试程序使用的TCP,于是一个很自然的问题,报文的边界或者报文长度问题,在网上google了一圈之后发现这个确实是个问题,解决问题的方案也很直接