• Google Summer of Code Organizations of 2019

    GSoC 2019 已经结束,https://summerofcode.withgoogle.com/organizations 会列出当年的所有组织,因此有必要对 2019 年的组织做一个备份,下图使用 firefox 的 Take a Screenshot 生成的。

  • Make Easy Tutorial

    虽然现在很多时候都不用手写 Makefile 了,例如 Autotoolscmakesconsqmake 等,都是很好的构建系统。但能够读懂 Makefile 在很多时候是非常必要的,因此本文列举一些基本的 Makefile 要点,方便笔者在需要的时候参考。

  • 半小时总结一下阿里中间件比赛

    机缘巧合之下了解到阿里天池有个 POLARDB数据库性能大赛,但是今年的赛程还没开始,在官网上又看到了正在进行中的中间件性能挑战赛,于是报名参加,了解一下比赛的流程,为后面的数据库性能大赛趟趟路。

  • Lamport Timestamps

    Lamport timestamps 是一种在分布式系统中获取全序关系(total ordering)的简单算法。

  • Sublime Text 中的常用快捷键

    在华为工作了近一年的时间,由于大多数时间在写 C,用到最多的编辑器就是 Source Insight,虽然函数调用关系的展示真的牛逼,但多少还是感觉太重了,还是 ST 好用,适合作为各种语言的编辑器。本文列举一些 ST 常用的快捷键。

  • Core Dumps

    操作系统可以配置为当某个程序因进程终止信号(如 segmentation fault)而崩溃时,生成 core dump 文件。这个核心转储文件包含进程终止时的内存快照。可以使用 gdb 加载该文件,查看程序崩溃时的状态,这在调试中非常有用。

  • GDB 命令快速参考

    本文是 Summary of GDB commands for x86-64 Systems 的人肉翻译 📝。并在 Reference 处列出了一些 gdb 的在线文档。

  • 函数中最多定义多少个参数是合理的

    依稀记得毕业面试的时候有考官问过: 函数最多定义多少个参数是合理的 ? 印象中当时是回答了四个,但也只是凭感觉猜的,没有什么根据。

  • C 语言头文件11条

    一个大型C语言项目中的头文件应该包含什么内容?想必做C/C++开发的程序员都有过这样的疑问。密歇根大学的EECS 381课程中的C Header File GuidelinesC++ Header File Guidelines 是两个不错的总结。如下11条规则摘取自 C Header File Guidelines

  • Linux 内核结构体之 list & hlist

    Linux 内核中提供了链表的实现,这其中包括了双向链表和用于哈希表的 hash list(hlist)。双向链表的实现采用侵入式的方式,链表节点不保存任何数据内容,而是将链表结构作为具体数据结构的成员;hlist 虽然有 pprev 和 next 成员,但它并不是双向链表,因为 pprev 指向的是前一个节点的 next 指针。

  • Dapper and Blkin

    Dapper 是 Google 生产环境下的分布式跟踪系统,其设计之初参考了 Magpie 和 X-Trace 等分布式系统的理念,具有低损耗、应用透明的、大范围部署等特点。本文介绍 Dapper 的基本原理及其一个 C++ 开源实现 Blkin

  • 常用快捷键汇总

    在工作中,不同时间点(切换项目或部门或公司)不可避免地会用到不同的工作平台或不同的工具,这期间肯定会有不少提高工作效率的快捷键,为了不同项目之间无缝衔接,记录一个常用快捷键列表也许是一个不错的选择。