我曾多次幻想过在不同的地方嚎啕大哭,最后都是我一个人关了灯后蹲在床上小声哽咽。2020.6.3 凌晨3点40,  平时不到9点不起床的我,今天还是在父母的呼喊下惺忪醒来。“今天是外公入土的日子,我从北京回来就是为了这个事情”起床下楼,已有不少长辈坐在门前摆放的圆桌上,准备着相关事宜。一楼在昨天变成了外公最后一次睡在家里的房间。我不愿去看,无论是那漆黑的骨灰盒还是摆放在那之上的遗照。外公去世于2020年农历3月初8,距离我结束春假已有一个月时间,而距今已经过了2个月之久。尽管如此,在回来的路上我依然能对我还能见到外公遗体这件事深信不疑。这也许就是天真吧,这也怪何锐,在去年非拉着我在首都中心了解了一下水晶棺技术,我还以为我能够见到最后一面。…

工作以后单例确实经常用到,复习的时候再次翻开偶然翻到这个 代码来自陈硕的《Linux多线程服务器编程》, 其核心就是用了pthread_once template<typename T> class Singleton: boost::noncopyable { public: static T& instance() { pthread_once(&ponce_, &…

前言 python的logging是python内置打印模块,近期因为需要解决框架里的日志耗时长的问题,所以拜读了一下源码,其基础功能的实现源码并不长,截至今日11.15日,python3.8的logging/init.py 大概有4000+行,再算上一些内置方便的handler与config的话,大概会有6000行,总体来说并不是很多。 basicConfig basicConfig是快速且简单配置 root logger 的函数,在一个进程中,默认情况下,这个函数它只会生效一次。因为它有如下判断…

前言 RapidJSON是腾讯开发的一个开源json解析代码库,因为在公司里经常用到,并且总是会踩坑,因此我这里也开个坑用来记录我对RapidJSON的学习与理解。 学习一个json库,我们关注的无非有以下几点: json如何存储 json如何解析与反解析 而选择使用一个json库,我们关注的则是以下几点: 安全性 运行效率 易用性 下面我会按照以上几点一一展开 json存储 关于其存储结构,就我而言第一个想法肯定是直接先构造一个支持增删改查的树,再将这个树运用在json存储中。但其实相当意外的,因为json使用时候的特殊性,其存储结构只要线性(伪)即可。 // AddMember…

内联汇编只能使用AT&T汇编,以前先学的是Intel汇编,更熟悉的也是这个,AT&T汇编也是忘的差不多了。。 Intel汇编与AT&T汇编的区别 区别 intel AT&T 寄存器 寄存器前无前缀 寄存器前有前缀 % 操作数顺序 目的操作数在左,源操作数在右 目的操作数在右,源操作数在左 操作数指定大小…