-
GDB 命令快速参考
本文是 Summary of GDB commands for x86-64 Systems 的人肉翻译 📝。并在 Reference 处列出了一些 gdb 的在线文档。
-
函数中最多定义多少个参数是合理的
依稀记得毕业面试的时候有考官问过: 函数最多定义多少个参数是合理的 ? 印象中当时是回答了四个,但也只是凭感觉猜的,没有什么根据。
-
C 语言头文件11条
一个大型C语言项目中的头文件应该包含什么内容?想必做C/C++开发的程序员都有过这样的疑问。密歇根大学的EECS 381课程中的C Header File Guidelines 和 C++ 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。
-
常用快捷键汇总
在工作中,不同时间点(切换项目或部门或公司)不可避免地会用到不同的工作平台或不同的工具,这期间肯定会有不少提高工作效率的快捷键,为了不同项目之间无缝衔接,记录一个常用快捷键列表也许是一个不错的选择。
-
Awesome CS Courses
笔者业余时间学习的计算机课程。
-
一致性哈希算法
一致性哈希(Consistent hashing)是一种简单而巧妙的算法,正如 David Wheeler 所说,All problems in computer science can be solved by another level of indirection,一致性哈希就是通过增加一层抽象,解决了加入或删除服务器节点时需要大量移动数据(或数据失效)的问题。
-
Python Learning Resources
最近在学 Python,也摘取笔者看过的一些资料,希望对你有所帮助。
-
Python 名称校验
最近的一个需求,对前端传来的变量名(unicode字符串)进行校验,变量名只能包含汉字、数字、字母和下划线,且长度不能超过50(每个汉字算两个字符)。下面是笔者的一个实现。
-
ELK 初级实践
ELK 集群的安装算是比较简单了,下面列举几个重要的参考点,方便今后查看。
-
Java 程序分析工具
由于运行了一堆 Java 微服务,导致开发环境越来越慢,在扩展了一次内存之后,问题依然没有解决。
free -h
和vmstate -s
可以用来查看操作系统内存使用情况,但对于 Java 程序,jps
、jmap
、jinfo
、jstat
等工具能让你进行更细粒度的分析。