自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Coder

程序员

  • 博客(35)
  • 资源 (4)
  • 收藏
  • 关注

原创 protobuf 枚举值对应到字符串的转换

在protobuf的开发中,经常遇到pb转到json,然后又需要从json转为对应的pb,enum值需要有一个反射来做到值和字符串的映射,官方提供了对应的反射接口:链接: EnumValueDescriptor链接: EnumDescriptorTo get a EnumDescriptorTo get the EnumDescriptor for a generated enum t...

2018-09-27 11:12:41 11729

原创 centos7 配置socket5 代理

需要下载源码安装#安装依赖及ss5yum install gcc openldap-devel pam-devel openssl-devel -y wget https://nchc.dl.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gztar -xf ss5-3.8.9-8.tar.gz cd ss5-3.8....

2018-09-27 01:03:34 9340 3

原创 aerospike 使用总结

使用aero近一年的时间,坑踩了一些,也做了一些尝试,总的来看,aero是个很不错的分布式存储服务。我们使用的是索引在内存,数据在磁盘的方式,持久化存储使用,心跳使用的是mesh方式,因为涉及到跨网段,跨机房,使用的是社区版本,基线是3.6.0,后续新搭建的服务一直使用最新的稳定版本,在aero的官网上可以看到,社区版本的更新速度非常快,说明之前bug还是比较多的。。aero官网:ht

2016-05-19 16:15:22 5656 4

原创 2016年,准备学习一下go

对golang之前的特性也了解了一些,但是做为相对较新的语言,以及1.5之前的gc对于大数据量操作实在是太慢了,所以一直在生产环境中没有使用。但是最近用的开源项目原来越多,发现开发环境和生产环境解决依赖实在是个大问题,c++和python的依赖都是非常麻烦的事情。python的问题在于很多库不是原生的,而是基于开源项目的c库开发的,导致c的依赖在python client安装过程中依然需要,而go

2016-04-08 15:26:13 869

原创 计算机术语缩写

ASW: Access SWitchDSW: Distribution SWitch

2015-10-10 10:32:24 1436

原创 cassandra cpp driver 2.1 阅读摘要

cpp driver规则:1. ?占位符不能用在select语句的前面,只能放在where后面。update也是,不能放在=前面,只能放在等号后面。基本上?占位只能用于值,不能用于索引,比如主键和列名。2. 如果字段在cassendra中的值是null,则返回的output_size是0。3. 每次执行statement的时候,设置cass_statement_set_consiste

2015-09-08 21:11:12 1072

原创 <大数据日知录 架构与算法>读后

读完了,感觉收获很少。对大数据或者说分布式的很多软件,方案,算法笼统的概括了一下,知道的早就知道,不知道的又介绍的太少,看了还了不懂。而且,现在大数据的领域和方向分的如此之细,需要面面俱到,都掌握实在没有必要,很多东西都是一通百通。还是找个自己需要的,正在使用的方向深入,比看这本书好的多。

2015-07-19 19:44:59 547

原创 mysql 5.6安装 使用linux通用tar包

mysql 5.6安装 使用linux通用tar包想自己搭建一个webserver和爬虫系统,先在本地起一个mysql服务,因为没有root权限,所以就不用软件管理工具安装了,直接用通用包安装。下载mysql-5.6.25-linux-glibc2.5-x86_64.tar.gz ,解压到/home/user/server./scripts/mysql_install_db –basedir=/

2015-06-05 10:34:06 2326

原创 python的sorted字母顺序

python2中,sorted(['a', 'e', 'Z', 'b', 'c']) 的结果是什么?注意ascii中,大写字母是排在前面的

2015-05-24 17:40:34 3283

原创 gflags 判断一个flag是否设置

#include #include using namespace std;DEFINE_int32(port, 0, "");int main(int argc, char* argv[]) { google::ParseCommandLineFlags(&argc, &argv, true); google::CommandLineFlagInfo info; i

2015-05-19 20:51:06 2489

原创 linux下使用gflags编译glog

最终的configure命令:./configure --prefix=/home/xxx/sbin/glog-0.3.4/ --with-gflags=/home/xxx/sbin/gflags --disable-shared -with-pic./configure --prefix=/home/xxx/sbin/glog-0.3.4/ --with-gflags=/home/xxx

2015-04-22 18:57:22 7261

原创 使用librdkafka作为producer (一)

github地址: https://github.com/edenhill/librdkafka使用librdkafka开发一个producer的步骤:librdkafka:1. conf 设置kafka conf:    rd_kafka_conf_new(): rd_kafka_conf_set()topic conf:    rd_kafka_topic_

2014-12-23 15:03:24 9947 1

原创 Tiny HTTPd代码总结

Tiny HTTPd: http://tinyhttpd.sourceforge.net/

2014-10-27 17:22:55 1462

原创 读完了《pro git》

pro git中文版:地址:http://git-scm.com/book/zh因为使用git看完之后,

2014-10-09 17:51:41 787

原创 读完了《深入理解程序设计:使用Linux汇编语言》

读完了这本书,书很薄,但是我也看了

2014-09-29 00:35:52 3855 1

原创 我的工具集(持续更新)

1. 项目构建系统:cmake

2014-09-16 15:07:50 694

原创 读完了<深入理解c++11>

今天看完了深入理解c++11>,书讲的都是c++11的增加点,觉得例子很多都是标准提案里面的例子,很多很好,但是对名词解释或者说使用的阐述,总感觉那么拗口,像是翻译加人工的结果。。 书不错,不适合新手,不适合对c++11一点都没有了解的人。

2014-04-04 16:59:44 1182

原创 [redis] setproctitle.c实现 修改进程名称

这个文件接口实现没什么好说的,作用是实现修改进程名称,目的是显示argv[0]和地址,端口号。细节点:1. environ和argv的内存布局:基本所有的修改进程名称的处理,目标都是修改这两个指针指向的内存内容,先看这两块内存的布局图,了解了这两个指针指向的内容,基本对修改进程名称的原理也就行处了。参考[1][2]:[1]:the stack of a C program on

2014-02-27 16:36:17 4152 1

转载 Difference between fflush and fsync

今天做APUE的习题,对fflush和fsync的区别不甚了解,google了一下,找到了一个回答备忘下:原文链接:http://stackoverflow.com/questions/2340610/difference-between-fflush-and-fsyncfflush() works on FILE* , it just flushes the inte

2014-02-27 07:43:36 1079

原创 python 代码静态检查工具pylint

python的代码写的多了,写的大了,希望能够像C,C++那样,做静态分析。网上找到了pytlint,非常好用,信息也很全,并且还在不断更新,本来想简单的写一下如何使用,发现一个文章非常好:http://www.ibm.com/developerworks/cn/linux/l-cn-pylint/, 也就没必要再写了。

2013-12-16 18:24:35 3772

原创 ubuntu服务器下git ssh 密钥 配置

前提,已经在服务器创建了repositories,接下来讲的是在linux下,通过配置ssh密钥,实现每次访问git而不需要输入用户名,密码。1. 创建密钥ssh-keygen -t rsa -C "[email protected]" -f ~/.ssh/test-github-t 指定密钥类型,默认即 rsa ,可以省略-C 设置注释文字,比如你的邮箱-f 指定密钥文件存储文

2013-11-07 15:09:19 4222

原创 linux下安装scrapy

scrapy的网站:http://scrapy.org/简单的来说,scrapy是python开发的一个快速,高层次的屏幕抓取和web抓取框架。按照官方文档,只是需要easy_install Scrapy即可,但是安装的时候遇到了lxml的编译错误,只好自己解决错误。我的安装过程:1. 首先确定机器上有easy_install。2. 安装lxml:(1)安装libxml2;

2013-09-21 20:19:43 2413

原创 怎样才算是python入门

工作中用了python一段时间,原以为自己已经入门了,今天看google python style的时候,发现自己还对很多内置的函数不甚了解,真是惭愧,入门的标准,至少要满足这两条吧:1. 掌握基本的语法,熟练使用python的内置类型和内置函数,能使用python的语法重新实现其它语言的简单功能。2. 了解基本的数据结构,内置函数,了解一些基本的库的使用,能够对于简单的需求写出实现。偶尔

2013-09-21 11:46:48 2757

原创 python中range和print的替换者

1. range()与xrange()range返回的是请求范围内的一个所有元素,返回的数据类型是list。xrange的功能非常相似,区别在于xrange返回的就是xrange,优势就是xrange所占内存更小,结果列表是在请求的时候计算出来的,而不是直接全部返回。>>> range(3)[0, 1, 2]>>> xrange(3)xrange(3)>>> for i in xr

2013-09-10 21:20:21 1627

原创 [问题]python的转义的一个疑问

print '\1'print '\2'print '\8'为什么 '\8'的输出直接是\8,而不是个不可见字符呢,很困惑python2.7和python3都是

2013-09-09 18:37:02 582

原创 python学习资料

工作中使用python的多了,也告别了临时工具级别的使用,越来越模块化,系统化,所以感觉有必要认真对待一些。python的优势,可能就在于对文字处理,并且跨平台使用,比如spider,比如机器学习,而且对比shell,python的可读性更强,不想shell那样神秘,神奇,不过shell牛起来,会让人看着很牛逼的样子。性能虽然是一个弱点,但是考虑到开发的快速和实践的方便性,基本开始阶段的需求都

2013-08-31 00:22:59 1005

原创 nginx学习资料

官方网址是:http://nginx.org/淘宝弄了个开源书籍,虽然还没有完成,但是已经是一个很权威的资料了:http://tengine.taobao.org/book/index.html书买了两本《深入理解nginx:模块开发与架构解析》和《深入剖析Nginx》,都是偏重于源码级别的。在网上见过说过国人就是爱研究源代码,贬义。但是做过服务器的人都知道,要把一个系统配置和参数

2013-08-31 00:07:50 1303

原创 陈皓的“用GDB调试程序”系列真是不错

用了2天时间,看完了陈皓博客中的用GDB调试程序,感觉收获不少,虽然很多命令在开发过程中都经常使用,单基本都是遇到需求直接搜,久而久之就会用了,但是看了这一系列的文章,让我学到了平时很少用的命令和参数。陈皓的博客一直不错,gdb系列,makefile系列都很基础,很入门,也很齐全了,难得能把知识点总结的这么好。

2013-04-23 23:44:17 1239

原创 protobuf 中 examples的编译 cpp和python

花费了几个小时,终于搞定了protobuf中examples的编译,只有cpp和python模块。下载protobuf的代码后,执行了protobuf的安装,然后进入examples的目录。make python还好,只要安装了protobuf中的python内容就可以了,但是make cpp的修改就费了一番周折。执行make cpp后,显示报这个错误:protoc -

2013-04-16 21:03:24 2751

原创 php语言精粹 读后感

花了一下午读了这边书,书很薄,内容也比较简单,对于有其它语言开发经验的人来说,php很好上手。但是这本书讲的内容基本上网上的php入门介绍都讲到了,实在不值得买一本这样的书来看,39元。。

2012-11-28 18:37:41 593

原创 编写可读代码的艺术 读后感

书是好书,就是有点小贵。书上讲的是编程习惯和一些好的分析问题解决问题的方法,猛看该书并不能让你瞬间提高,更好的是在工作几年或者写过很多代码后,能在闲暇的时候翻翻,尤其是安静的时候。觉得google的文化真好。适合反复看。

2012-10-29 23:37:34 550

原创 PHP和MySQL Web开发(原书第4版) 阅读-1

正在读《PHP和MySQL Web开发(原书第4版)》这本书,注意一点,这边书对应的mysql是5.0的版本,现在大家使用的版本都应该比这个高了,有些数据的定义已经不一样了,使用的时候一定要结合官方文档确认。找到一处问题,就是VARCHAR的范围在5.1以后已经是0到65,535,书上写的还是1-255.

2012-10-23 13:59:12 854

原创 python访问mysql 连接mysql - 使用mysql connector

工作中有个需求,就是用python访问mysql,搜了一下,发现很多人用的是“MySQL for Python”,也就是MySQLdb,在windows下还好,在linux下安装问题多多,还需要python-dev这个东西,依赖的环境也很多,配置很麻烦。本来都打算转到php上来访问mysql了,因为php的确很简单,尤其是现在的php已经默认支持cli。结果今天在浏览mysql的时候,

2012-10-22 17:44:42 3246

原创 vim 之 Cscope 一 配置对C++文件的支持

cscope真是vim的利器,使用也很简单,但是我配置的时候却花了太长时间,原因是,cscope默认是不分析C++文件的,比如.cc文件和.cpp文件,我真汗。。以后对于所有的vim插件或者工具,一定要看清默认读取的文件或者对应的设置。以下就是cscope对应C++文件的设置:首先进入代码工程目录:新建脚本内容如下:#!/bin/shfind . -name "

2012-08-07 23:54:28 3740

原创 一道算法题:找出数组中出现次数超过一半的数

原题如下:找出数组中出现次数超过一半的数,现在有一个数组,已知一个数出现的次数超过了一半,请用O(n)的复杂度的算法找出这个数。这道题在网上已经有了很多种解法,如果先排序在查找,那么n/2这个位置一定就只要找的这个数字,但是排序的复杂度已经超过O(n)了。用hash_map和一些高空间占用的算法就不说了,现在说另一个思路,是利用这个数出现次数超过一半这个特性。虽然也看到

2012-06-27 00:19:04 2190

Cassandra cpp Driver 2.1

C/C++ Driver 2.1 for Apache Cassandra Document August 13, 2015

2015-09-02

cassandra 2.2官方文档

Apache Cassandra™ 2.2 Documentation August 25, 2015

2015-09-02

C99完整标准文档

C99完整标准文档 pdf版本,高清,英文,ISO/IEC 9899:1999 (E)

2014-08-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除