05 2017 档案

摘要:在libevent(六)http server中,作为一个单线程http server,不仅要监听每个连接的到来,还要监听每个连接上的I/O事件。 查看源码可知,在evhttp_bind_socket中设置了accept的回调函数:accept_socket_cb。 两个重要函数: evhttp_g 阅读全文
posted @ 2017-05-27 16:08 Sawyer Ford 阅读(10607) 评论(0) 推荐(0)
摘要:开始学习Shell脚本。 注意点: 1. var="hello world",等号两边不要有空格。 2. 变量替换在单引号中无效。 参考资料: 《Linux Shell 脚本攻略》 阅读全文
posted @ 2017-05-26 14:20 Sawyer Ford 阅读(196) 评论(0) 推荐(0)
摘要:程序的功能很简单: 调用外部解密程序decoder,将文件第二列字段解密,然后写入新文件中。 两个地方值得注意: 1. ARGIND,对应ARGV下标 2. tee命令 由于程序耗时较长,因此置于后台运行,同时不再使用tee: 脚本启动命令: 有一个问题值得注意: 通过&虽然可以将程序置于后台运行, 阅读全文
posted @ 2017-05-25 14:34 Sawyer Ford 阅读(489) 评论(0) 推荐(0)
摘要:最近在AWS上安装Redis,遇到一个坑。 Redis默认配置文件中有个bind配置项,默认为127.0.0.1。此时只能在服务器内部访问Redis。 为了从服务器外部访问Redis,我给bind添加了一个IP,这个IP是服务器的公有IP。 问题来了,我在服务器内部启动Redis-cli直接报错: 阅读全文
posted @ 2017-05-25 09:30 Sawyer Ford 阅读(915) 评论(0) 推荐(0)
摘要:总是记不住内存相关函数的API,特此记录。 1. malloc Allocates a block of size bytes of memory, returning a pointer to the beginning of the block.The content of the newly 阅读全文
posted @ 2017-05-24 09:00 Sawyer Ford 阅读(199) 评论(0) 推荐(0)
摘要:Redis支持五种数据类型: string,字符串,一个key对应一个value list,列表,一个key对应多个value set,集合,一个key可对应多个value,但是value不能重复 hash,一个key对应的value是一个键值对集合 zset,sorted set,有序集合,相比s 阅读全文
posted @ 2017-05-22 21:14 Sawyer Ford 阅读(166) 评论(0) 推荐(0)
摘要:用libevent构建一个http server非常方便,可参考libevent(六)http server。 主要涉及的一个结构体是evhttp: 值得关注的有两个成员: callbacks,一个链表,存放用户定义的回调函数 connections,一个链表,存放所有连接,每个连接对应一个evht 阅读全文
posted @ 2017-05-22 12:03 Sawyer Ford 阅读(3217) 评论(0) 推荐(0)
摘要:Python: 简明 Python 教程 廖雪峰Python3教程 Python快速教程 (手册) 爬虫: 汪海的实验室:Python爬虫入门教程 静觅: Python爬虫学习系列教程 Flask: Flask官方文档 Flask之旅 书籍: 《简明Python教程》 《Python核心编程》第二版 阅读全文
posted @ 2017-05-13 09:56 Sawyer Ford 阅读(185) 评论(0) 推荐(0)
摘要:re是一个使用频率很高的模块。 这个例子想说明的是,Python中的字符串如果使用'r'前缀,字符串中的内容就是本身,没有转义。 re模块的常用函数: 一个常用的flag是: 如果一个正则表达式需要多次使用,可以预编译该表达式。 最后要说的是贪婪匹配和非贪婪匹配,看个例子: 输出: 默认是贪婪匹配, 阅读全文
posted @ 2017-05-11 21:05 Sawyer Ford 阅读(215) 评论(0) 推荐(0)
摘要:Makefile语法: 为了演示Makefile,这里创建一个工程。工程结构如下: 源代码如下: Makefile内容如下: 虽然这个Makefile能用,但是有一个问题:如果修改了头文件,再次make无效。 改进版: 修改的地方用绿色标明了。 此时,如果修改头文件,再次make有效。 关于gcc的 阅读全文
posted @ 2017-05-08 17:27 Sawyer Ford 阅读(346) 评论(0) 推荐(0)
摘要:执行完后会生成一个Makefile,接着执行make && make install即可。 包含头文件的json文件夹位于/usr/local/include目录,库文件位于/usr/local/lib64目录。 最后打开/etc/profile,添加以下内容: 保存,再来一句: source /e 阅读全文
posted @ 2017-05-06 20:58 Sawyer Ford 阅读(7371) 评论(0) 推荐(0)
摘要:创建文件date.awk: 调用命令: sort参数: uniq参数: 参考资料: Linux命令date日期时间和Unix时间戳互转 How can I pass variables from awk to a shell command? Invoking 'date' command insi 阅读全文
posted @ 2017-05-03 16:20 Sawyer Ford 阅读(4073) 评论(0) 推荐(0)
摘要:sqlite3_exec虽然好用,但是一般不推荐直接使用。 常用的一组操作是: 关于sqlite3_exec和sqlite3_prepare_v2的使用场景,建议如下: 一个小DEMO: 参考资料: sqlite3_prepare_v2 / sqlite3_exec [转载] Sqlite c/c+ 阅读全文
posted @ 2017-05-01 12:31 Sawyer Ford 阅读(460) 评论(0) 推荐(0)