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