------------------------------------------------------------------------ RPC 功能目标 RPC 的主要功能目标是让构建分布式计算(应用)更容易,在提供强大的远程调用能力时不损失本地调用的语义简洁性.为实现该目标,RPC 框架需提供一种透明调用机制让使用者不必显式的区分本地调用和远程调用,在前文<浅出篇>中给出了一种实现结构,基于 stub 的结构来实现.下面我们将具体细化 stub 结构的实现. RPC 调用分类 RP…
前言: thrift是出于Facebook的rpc网络编程框架, 其对跨平台和多语言的支持优于google protobuf, 但thrift在java/c#语言上应用比较多, 资料也丰富, 在windows平台的c++这块, 资料相对较少, 而且编译也麻烦. 这篇博客主要记录对thrift在windows上的编译和使用过程, 不涉及原理, 也不具体涉及应用.如有不足, 请各位指正. 执行过程1. 下载并安装Visual Studionotice: visual studio 有windows版…
Windows下安装Thrift框架的教程很多.本文的不同之处在于,不借助Cygwin或者MinGW,只用VS2010,和Thrift官网下载的源文件,安装Thrift并使用. 先从官网 下载这两个文件: · thrift-0.9.1.tar.gz · Thrift compiler for Windows (thrift-0.9.1.exe) 第一个文件是源代码包,第二个可执行文件用于在Windows下生成目标语言的桩代码. 除此以外,还需要boost库和libevent库. 安装Thrift…
n2n安装 n2n原理编译版下载,可直接使用:windows下vpn客户端 n2n_v2_linux_x64 n2n_v2_Win32TAP网卡驱动 #linux环境编译yum install -y gitgit clone https://github.com/meyerd/n2n.git && cd n2n/ && cd n2n_v2 && mkdir build && cd build #n2n-mastercmake ..makema…
在Linux/Mac下编译 ffmpeg是非常方便的.但要在 Windows下编译 ffmpeg还真要花点时间.以下就是在 Windowns下编译ffmpeg的步骤: 一.安装Cygwin 在windows下安装 ffmpeg 的最好方式就是使用Cygwin. Cygwin是什么呢?简单的说,就是在 Windows上装了一个Linux模拟器.然后你可以在这个模拟器上按照Linux的方式操作 Windows系统.因此,Windows安装了Cygwin之后,你就把它当Linux用就可以了. 既然在W…
  本文,试图中一个干净的ubuntu14.04机器上安装caffe的cpu版本. http://blog.csdn.net/sinat_35188997/article/details/73530434 http://caffe.berkeleyvision.org/installation.html http://blog.csdn.net/zly_kemgine/article/details/78749764 首先卸载掉一些包: 卸载所有cuda有关的包: apt-get remove…
Table of Contents 1. 下载thrift源代码 2. 编译并安装 3. 运行测试程序 4. 安装 1 下载thrift源代码 git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift git checkout 0.9.3 2 编译并安装 安装依赖 apt-get install automake apt-get install libssl-dev apt-get install byacc apt-…
boost的编译和使用,经过搜集资料和总结,记录成文.感谢文后所列参考资料的作者. 1 下载 地址:http://sourceforge.net/projects/boost/files/boost/1.56.0/ 可以选择 boost_1_56_0.7z 下载. 2 编译 2.1 生成boost的自用的编译工具bjam.exe 解压后,使用VS2013编译.首先打开"VS2013 开发人员命令提示",cd 到boost解压后的根目录:E:\XXX\boost_1_56_0,执行boo…
QWT的编译和配置 1. 下载QWT从官网 For getting a snapshot with all bugfixes for the latest 5.2 release: svn export svn://svn.code.sf.net/p/qwt/code/branches/qwt-5.2 For getting a snapshot with all bugfixes for the latest 6.1 release: svn export svn://svn.code.sf.…
安装msys2 更新源使下载速度更快 进入msys64/etc/pacman.d/目录中,分别在三个文件中增加mirrorlist.mingw32Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686 mirrorlist.mingw64Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64 mirrorlist.msysServer = http://mirrors.ustc.edu.cn/…
一.下载源码到本地 这里使用IDEA,作为编译工具 https://gitee.com/mrliuNumberOne/rocketmq-externals.git 导入成功后如图: 二.Maven编译打包 将rocketmq-console转化为模块 启动clean package,RocketMq服务要启动,否则会报错. 打包成功 三.启动jar包 右键打开模块位置 进入目录rocketmq-externals2\rocketmq-console\target 进入命令窗口 windows+R…
硬件配置 Dell R730 CPU: Intel(R) Xeon(R) CPU E5-2603 v4 @1.70GHz(6 cores) Ram: 16Gb HDD: 系统-600GB SAS X2(Raid1).数据-8TB SAS X4(Raid1) Raid控制器: PERC H330 网卡: Intel I1350 QP 1GB.Intel I1350 DP 1GB 黑群晖系统包 提供三个版本黑群辉,分别是:DSM5.1(虚拟机).DSM6.1(U盘实机).DSM6.2(虚拟机),本文…
进过无数次折腾后发现编译php安装的有些难, 问题可能是自己对linux不太了解吧. [root@third src]# cd php-7.3.6 [root@third php-7.3.6]# ./configure --help `configure' configures this package to adapt to many kinds of systems. Usage: ./configure [OPTION]... [VAR=VALUE]... To assign enviro…
A.错误: units specified don't exist, SHSUCDX can't install A.解决: 虚拟机配置->CD/DVD->IDE(0,0) B:错误: not found system B:解决 磁盘管理工具激活分区,设置为应用…
本文章也同时发表在个人博客Thrift在Windows及Linux平台下的安装和使用示例上. thrift介绍 Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的RPC(远程服务调用)框架. 本文主要目的是分别介绍在Windows及Linux平台下的Thrift安装步骤,以及实现一个简单的demo演示Thrift的使用方法.更多Thrift原理留在以后再行介绍. thrift安装 源码下载:thrift官网,或者thrift-github地址,我下载的是thr…
关于thrift的介绍:http://www.ibm.com/developerworks/cn/java/j-lo-apachethrift/ Apache Thrift 是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架.它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生成引擎可以在多种语言中,如 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltal…
1.下载: 网址:http://sourceforge.net/projects/boost/files/boost/1.59.0/ 选择:boost_1_59_0.7z或者boost_1_59_0.zip (Windows 8.1企业版操作系统); boost_1_59_0.tar.bz2  ( Linux内核操作系统——Ubuntu 14.04(编译器使用自带的GCC 4.8.2)). 2.编译: 2.1 Ubuntu 14.04操作系统编译安装boost 1.59.0: 2.1.1 快速安…
boost 1.59.0编译及使用 1.下载: 网址:http://sourceforge.net/projects/boost/files/boost/1.59.0/ 选择:boost_1_59_0.7z或者boost_1_59_0.zip (Windows 8.1企业版操作系统); boost_1_59_0.tar.bz2  ( Linux内核操作系统——Ubuntu 14.04(编译器使用自带的GCC 4.8.2)). 2.编译: 2.1 Ubuntu 14.04操作系统编译安装boost…
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY) >的顺序. 二:使用caffe做图像分类识别训练测试mnist数据集 1.下载MNIST数据集,MNIST数据集包含四个文件信息,见表格: 文件 内容 train-images-idx3-ubyte.gz 训练集图片 - 55000 张 训练图…
学习深度学习背景 最近在做一款抢票软件,由于12306经常检测账号状态,抢票抢着抢着就需要重新登录了,然后登录是需要验证码的.所以我最开始是想到了使用java基于感知哈希算法pHash做相似度匹配识别,结果测试发现精确度低的可怜.这里简单的说下逻辑.12306验证码是由8张小图片生成拼接在一起的.每次请求都是在服务器后台进行随机抽取图片制作验证码.而每一张小图的尺寸大小都是相同的.将图片使用java切割后生成8张小图.在进行pHash算法匹配图片相似度.结果识别度非常低了,就没必要说继续做往下的…
最近开始正式接触Thrift架构,很牛B的技术,它被apache收纳了,属于开源中的一员,呵呵. 概念: Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时 的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性.所以thrift可以支持多种程序语言,例如:  C++, C#, Cocoa, Erlang, Haskell,…
本文主要讲解Thrift的序列化机制, 看看thrift作为数据交换格式是如何工作的? 1.构造应用场景: 1). 首先我们先来定义下thrift的简单结构. 1 2 3 4 5 namespace java com.yangyang.thrift.api struct Pair {     1: required string key     2: required string value } required修饰符你肯定能猜测到它的意义, 但是你是否有没有这样的疑惑, "1",…
生产环境中hadoop一般会选择64位版本,官方下载的hadoop安装包中的native库是32位的,因此运行64位版本时,需要自己编译64位的native库,并替换掉自带native库. 源码包下的BUILDING.txt,包含官方介绍,如:如何在linux.windows下编译:编译过程中的错误处理:将源码导入eclipse中的步骤等,推荐看一看. 本文环境同:hadoop2.5.2学习及实践笔记(一)—— 伪分布式学习环境搭建 一.编译源码 附:常用工具包网盘路径(部分包非编译时使用):h…
本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注: 1.       对于compile和build这两个词,本文统一的使用编译这个词,根据上下文读者应能区分语义上的差别. 本文的目的是提供一切与FFmpeg在Windows下的相关帮助.它最初是一个针对用MSys+MinGW系统编译的手把手的教程,现在也增加了如何在你的项目中链接FFmpeg所产…
MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU For Windows.它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC产生 Windows32 程序. 开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境. 所以…
海量互联网业务系统只能依赖分布式架构来解决,而分布式开发的基石则是RPC:本文主要针对两个开源的RPC框架(gRPC. Apache Thrift),以及配合GoLang.C++两个开发语言进行性能对比分析.C++.Thrift都是比较成熟的技术,先简单介绍一下GoLang以及gRPC:   GoLang Go语言是由Google开发的一个开源项目,目的之一为了提高开发人员的编程效率. Go语言语法灵活.简洁.清晰.高效.它对的并发特性可以方便地用于多核处理器 和网络开发,同时灵活新颖的类型系统…
在企业应用中RPC的使用可以说是十分的广泛,使用该技术可以方便的与各种程序交互而不用考虑其编写使用的语言. 如果你对RPC的概念还不太清楚,可以点击这里. 现今市面上已经有许多应用广泛的RPC框架,比如GRPC,而今天我们要介绍的是同样使用广泛的Apache Thrift.这篇文章将带你安全越过所有坑点,请放心食用. Thrift简介 Thrift是Facebook的一个开源项目,后来进入Apache进行孵化.Thrift也是支持跨语言的,所以它有自己的一套IDL.目前它支持几乎所有主流的编程语…
三:使用Caffe训练Caffemodel并进行图像分类 上一篇记录的是如何使用别人训练好的MNIST数据做训练测试.上手操作一边后大致了解了配置文件属性.这一篇记录如何使用自己准备的图片素材做图像分类.第一篇<实践详细篇-Windows下使用VS2015编译安装Caffe环境(CPU ONLY) >有讲过使用Caffe的背景.所以这篇记录使用的素材就是12306的验证码来进行图像识别分类. 1.准备素材 由于这里抓取到的验证码是整合后的大图.就是8张小图片合成的.由于12306的验证码大图并…
关注「WeiyiGeek」公众号 设为「特别关注」每天带你玩转网络安全运维.应用开发.物联网IOT学习! 希望各位看友[关注.点赞.评论.收藏.投币],助力每一个梦想. 本章目录 目录 0x0n 前言简述 知识引入 Lua模块指令阶段 0x01 部署环境 安装说明 安装部署 0x02 使用实践 1.Nginx 实践使用 echo-nginx-module 模块之动态加载链接库 2.Nginx 实践使用 lua-resty-redis 模块连接 Redis 进行数据操作与展示 3.Nginx 实践…
简述 OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用.对于一般的开发人员而言,在Win32 OpenSSL上下载已经编译好的OpenSSL库是省力省事的好办法.对于高级的开发用户,可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题.下面主要讲述如何在Windows上编译OpenSSL库. 步骤 在微软网站下载并安装Visual Studio,我用…