摘要: 找了好多地方都找不到ZMQ接口函数的中文文档,就厚着脸皮自己翻译了下。但因为作者本人涉世未深,翻译有错误的地方还请大家不吝赐教,在下感激不尽。因为时间有限,只能一点一点翻译了。ZMQ接口文档的官方网站 :http://api.zeromq.org/ZMQ接口文档的百度网盘下载地址(英文):http:...阅读全文
posted @ 2015-01-17 09:25 郝峰波 阅读(12663) 评论(2) 编辑
摘要: 最近在学 Python,所以总是在看 Python 的官方文档, https://docs.python.org/2/ 因为祖传基因的影响,我总是喜欢把这些文档保存到本地,不过 Python 的文档实在是太多, 根本存不过来。后来追踪到 Python 官方的 GitHub 文档地址, 干脆就把官方的阅读全文
posted @ 2018-01-12 16:26 郝峰波 阅读(377) 评论(0) 编辑
摘要: 1. 安装 Docker 我当前使用的系统环境是 CentOS7 ,安装 Docker 使用的命令是 yum install docker*。至于其它系统,可以到百度查找其对应的安装方式。 2. 配置 Docker 镜像仓库的地址 目前来说,直接访问 Docker 官网的 DockerHub 会比较阅读全文
posted @ 2018-01-10 17:40 郝峰波 阅读(517) 评论(0) 编辑
摘要: 1. 准备工作 数据库 : 解析 IP 地理位置的的数据库来自 GeoLite2 开源数据库: https://dev.maxmind.com/geoip/geoip2/geolite2/ 。 C 语言 API : 使用的 API 是 maxmind 官网的开源项目 libmaxminddb, 地址阅读全文
posted @ 2017-12-29 15:40 郝峰波 阅读(132) 评论(0) 编辑
摘要: 未分离线程 在我们使用默认属性创建一个线程的时候,线程是 joinable 的。 joinable 状态的线程,必须在另一个线程中使用 pthread_join() 等待其结束, 如果一个 joinable 的线程在结束后,没有使用 pthread_join() 进行操作, 这个线程就会变成"僵尸线阅读全文
posted @ 2017-09-24 00:49 郝峰波 阅读(136) 评论(0) 编辑
摘要: 前言 创建线程: 退出线程: 线程的创建 使用多线程,首先就需要创建一个新线程。那么线程是如何被创建的呢,是用下面这个函数创建的。 创建函数的四个参数的意义分别如下: 返回值:如果函数执行成功,则返回 0,如果执行失败,则返回一个错误码。 错误码: 下面就是调用 pthread_create() 函阅读全文
posted @ 2017-09-24 00:28 郝峰波 阅读(136) 评论(0) 编辑
摘要: POSIX 多线程的 cleanup 函数 控制清理函数的函数有两个,一个是 pthread_cleanup_push(), 用来把清理函数压入栈中,另一个是 pthread_cleanup_pop(), 用来把栈中的函数弹出来。 用这两个函数组合,可以达到在线程退出时,清理线程数据的作用, 例如对阅读全文
posted @ 2017-09-21 22:34 郝峰波 阅读(135) 评论(0) 编辑
摘要: 互斥的概念 在多线程编程中,引入了对象互斥锁的概念,来保证共享数据操作的完整性。 每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻, 只能有一个线程访问该对象。 互斥锁操作 互斥锁也可以叫线程锁,接下来说说互斥锁的的使用方法。 对互斥锁进行操作的函数,常用的有如下几个: 对阅读全文
posted @ 2017-09-21 22:32 郝峰波 阅读(481) 评论(0) 编辑
摘要: 最近在阅读 libev 的源码,看到 libev 的代码里面的 sleep 实现, 我觉得可以把这个 sleep 实现单独拿出来,作为参考,以后可以直接拿来用。 代码如下(稍有修改): 其中的 EV_TS_SET 和 EV_TV_SET 是两个宏定义,我直接把这两个宏展开了。 同步发布:http:/阅读全文
posted @ 2017-07-09 23:42 郝峰波 阅读(69) 评论(0) 编辑
摘要: 最近想研究下 libev 这个网络库,所以先从官方文档一个最简单的 demo 开始,代码如下: 编译并运行: 编译的时候需要链接 libev 动态库。 从上面可以看出,我是运行了这个程序两次。第一次是运行后就不再执行任何操作, 等待程序自己因为超时而结束。第二次就是按了一个回车,使 stdin 处于阅读全文
posted @ 2017-07-09 01:40 郝峰波 阅读(110) 评论(0) 编辑
摘要: 之前使用 log4c 或者 log4cpp 的时候, 总需要配置一些文件和链接库之类复杂的配置。 虽然越复杂越说明这个软件支持的功能多、可选择性强, 但是对于一个小的项目,或者要研究他人的代码而加点儿日志的时候, 用这么复杂的配置就没必要了。 所以我就想,要不写个简单一些的日志库, 这样再用到不需要阅读全文
posted @ 2017-06-10 13:15 郝峰波 阅读(761) 评论(0) 编辑
摘要: 前些日子使用悟空搜索 搭了个简单的搜索引擎(见这里 ), 用着还可以,就是有一点不好,内存占用的太多了。每次内存用超了,搜索引擎的进程都会被系统干掉。 因为是和十三哥一起租的服务器,两个人的程序都在上面跑,平时还做些实验什么的, 为了保证服务器不被搞死,对进程的内存限制暂时是不打算解开的。再说了,就阅读全文
posted @ 2017-06-04 14:21 郝峰波 阅读(247) 评论(0) 编辑
摘要: C++中的三种继承关系 先看类中声明成员时的三种访问权限 public : 可以被任意实体访问 protected : 只允许子类及本类的成员函数访问 private : 只允许本类的成员函数访问 public : 可以被任意实体访问 protected : 只允许子类及本类的成员函数访问 在类继承阅读全文
posted @ 2017-01-18 13:25 郝峰波 阅读(807) 评论(0) 编辑
摘要: 如果一个类有虚函数,那么这个类的虚函数会被放在一个虚函数表里面, 使用这个类声明的对象中,会有一个指向虚函数表的指针,当使用指向 这个对象的指针或者这个对象的引用调用一个虚函数的时候,就会从虚函数表中去 查找该函数,然后对其进行调用。 如果有如下的类: 那么我们显示出一个 B 类对象的内存状态, 这阅读全文
posted @ 2017-01-08 13:26 郝峰波 阅读(63) 评论(0) 编辑
摘要: 那天夜里的时候,我去十三哥屋里找他,他正在敲代码。平时我找他, 都是谈技术,毕竟都是程序员,除了这一点,其它的共同爱好,我们也没有。 不过这一次,不是谈技术。房子要到期了,我是要问他,是继续合租,还是各寻它途。 他说要去北方,他女朋友在北方。这点我理解,我要去东南,我女朋友在东南。 租房的事情谈过后阅读全文
posted @ 2016-11-07 00:02 郝峰波 阅读(615) 评论(6) 编辑
摘要: 你的灯亮着吗 书的内容就不介绍了,说说我读完这本书的感受吧。 首先,印象比较深刻的是书中对真正问题的追查方式。 大概是下面这样的步骤: 1、先把你认为出现的问题描述一下 2、想一下,可能是哪里出的问题,然后把你能想到的答案尽可能多的列出来 (连外星人可能引起的也不要放过) 3、从列表的第一个答案开始阅读全文
posted @ 2016-10-30 23:03 郝峰波 阅读(223) 评论(0) 编辑
摘要: Linux Shell 截取字符串 shell中截取字符串的方法很多 下面用几个例子展示一下: 1) 获得字符串的长度 语法: 示例代码: 执行结果: 2) 使用 # 和 ## 获取尾部子字符串 2.1) # 最小限度从前面截取word 语法: 示例代码: 执行结果: 2.2) ## 最大限度从前面阅读全文
posted @ 2016-10-12 23:57 郝峰波 阅读(19007) 评论(0) 编辑
摘要: 事情的经过是这样的: 一个夏日的午后,我在啪啪啪的敲代码,正爽着呢,老大在背后拍了拍我的肩膀,说让我写个功能。 我说啥功能,他说:“operate 模块那边每次收到文件都会给你发一条消息。然后对消息进行计数,每隔一段时间,你把这个计数写入一次数据库。” 我说为什么。老大说对文件数量进行计数。 我说为阅读全文
posted @ 2016-10-08 14:05 郝峰波 阅读(2839) 评论(19) 编辑
摘要: 哈夫曼树与哈夫曼编码 术语: i)路径和路径长度 在一棵树中,从一个结点往下可以达到的孩子或孙子结点之间的通路,称为路径。 路径中分支的数目称为路径长度。若规定根结点的层数为1,则从根结点到第L层结点的路径长度为L-1。 ii)结点的权及带权路径长度 若对树中的每个结点赋给一个有着某种含义的数值,则阅读全文
posted @ 2016-09-17 22:29 郝峰波 阅读(1738) 评论(0) 编辑
摘要: 二叉查找树 关于二叉查找树的简介 百度百科 和 维基百科 本文使用Go语言进行描述 1) 二叉树创建 有如下数列,创建一颗二叉查找树 使用如下的规则进行创建: 0)没有键值相等的结点 1)如果要插入的节点键值比当前节点小,则插入到当前节点的左子树,否则插入到当前节点的右子树 首先,定义二叉树节点的数阅读全文
posted @ 2016-09-12 22:13 郝峰波 阅读(410) 评论(0) 编辑
摘要: 使用 Graphviz 画拓扑图 0)前述 本文着重讲一下 Graphviz 的风格控制,基础一些的就不在这里讲啦。 graphviz 的主页是http://www.graphviz.org/。 Graphviz 的安装和使用请看这里:http://www.cnblogs.com/fengbohel阅读全文
posted @ 2016-09-09 11:59 郝峰波 阅读(1345) 评论(0) 编辑