seaHi

Stay before every beautiful thouthgs.
January 16, 2018

调用OpenSSL的SHA1算法

SHA1散列函数是很常用的散列函数,它产生160bit(20字节)长度的散列值。SHA1相关的API声明#include <openssl/sha.h> unsigned char *SHA1(const unsigned char *d, unsigned long n, unsigned char *md); int SHA1_Init(SHA_CTX *c); ...
January 10, 2018

GDB快速手册

GDB非常强大,命令也很多,下面是常用的一些,足够应付日常的基本调试任务。运行run:简记为 r ,其作用是运行程序,当遇到断点后,程序会在断点处停止运行,等待用户输入下一步的命令。continue (简写c ):继续执行,到下一个断点处(或运行结束)next:(简写 n),单步跟踪程序,当遇到函数调用时,也不进入此函数体;此命令同 step 的主要区别是,step 遇到用户定义的函数,将步...
January 10, 2018

调试概念:单步执行、单步进入、强制进入、单步退出

这两天一直在调试程序,想记两篇关于GDB调试的笔记。这是第一篇,关于调试的几个小概念:单步执行、单步进入、强制进入、单步退出。单步执行(Step Over)就是一行一行的执行代码,但不一定会进入到调用的函数里面。比如说,当前行代码调用了函数 add(),单步执行的话直接调用而不进入(除非add()函数有断点)。单步进入(Step Into)主要区别于单步执行,上面的例子中,单步进入一定会进入...
January 6, 2018

Hashtable和Bucket

哈希表 Hashtable在入门的数据结构课本中,这样定义哈希表:根据设定的哈希函数H(Key)和处理冲突的方法将一组关键字Key映射到一个有限的连续地址集上,并以关键字Key在地址集上的“像”作为记录在表中的存储位置,这个表便称为哈希表,这一映像过程称为散列.哈希表(Hashtable)又称为“散列表”,Hashtable是根据哈希函数组织的Key和Value配对的集合。Hashtable...
January 6, 2018

assert()断言用法总结

在C中,assert()实际是一个宏,它的定义在 assert.h 文件中#include "assert.h" void assert( int expression );编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设,可以将断言看作是异常处理的一种高级形式。断言表示为一些布尔表达式,我们相信在程序中的某个特定位置该表达式值为真。assert帮我...
January 4, 2018

KVM使用virsh连接Ubuntu虚拟机

KVM虚拟机使用virsh连接Ubuntu的Guest机比CentOS要简单不少,只需要简单的两步就可以了。下面两条命令在Ubuntu虚拟机下执行:$ sudo systemctl enable serial-getty@ttyS0.service $ sudo systemctl start serial-getty@ttyS0.service会有类似下面的回显:Created symli...
January 3, 2018

新年快乐!

从2015年5月开始写这个博客,到现在整整30个月,大学生活的一半多。刚刚翻看了刚开始的文章,发现自己已经从阴影中走出了这么远。感谢那个人,让我放下。不知道什么意味着成长,清楚的一点是:好多东西都不再那么在乎。曾经写过的矫情文字,刚刚删了50多篇,记录这个博客是为了帮自己整理记忆,但是有的事情,忘了也罢。也放下了一些友情吧,一年前还喜欢交朋友,现在更喜欢的是独处,看看书、电影,刚刚查看了支付...
January 1, 2018

2017年书单

准备考研的一年,也没读什么书。《张宇高等数学18讲》什么的就不往这儿搁了,放不下《百年孤独》要是做个推荐榜单的话,这个算在榜首的吧,我最喜欢的三部书:《红楼梦》、《百年孤独》和《三体》,不想具体介绍,怕把好书给毁了。《心智社会》作为一个IT男,这种书可以一读《金色梦乡》当全世界都要你死的时候,你必须活着。青柳雅春是名普通的送货员,一次在地铁站被人“陷害”后被多年不见的好友森田森吾相救,一切看...
January 1, 2018

Nginx + Typecho 配置HTTPS

本文介绍了如何使用 Let's Encrypt 签发工具、自动续签以及在 Nginx 上使用签发证书的方法。下载Certbot国内的下载速度没有受影响,直接使用wget下载就可以,下载后需要赋予其执行权限wget https://dl.eff.org/certbot-auto -O /sbin/certbot-auto chmod a+x /sbin/certbot-auto配置Nginx满...
December 29, 2017

printf %m

man下的解释:Print output of strerror(errno). No argument is required.即打印标准错误等价于printf("%s",strerror(errno));