1、Linux内核
1.1 进程调度
Linux Applications Debugging Techniques/Deadlocks(死锁定位)
【内核】进程切换 switch_to 与 __switch_to
1.2 中断与信号
1.3 内存
vm内核参数之内存水位min_free_kbytes和保留内存lowmem_reserve_ratio
多核心Linux内核路径优化的不二法门之-slab与伙伴系统
1.4 文件系统
1.5 设备、磁盘外设
sysfs、udev 和 它们背后的 Linux 统一设备模型
进程分配内存的两种方式–brk() 和mmap()(不设计共享内存)
1.6 动态追踪技术
函数原理_bcc之基于uprobe探测用户态函数实现原理分析
1.7 系统调用
1.8 测量
2、GCC/GDB/GLIBC
2.1 GCC
GCC源码分析
strip,eu-strip 及其符号表,gdb调试strip过的程序
linux中的dmesg和addr2line命令在没有core文件时定位core dump段错误 (核心已转储) 问题
2.2 GDB
Linux 技巧:重定向 stderr 和 stdout 输出到 gdb 窗口
2.3 GLIBC
Linux虚拟内存介绍,以及malloc_stats和malloc_info 监控查看内存情况
Glibc 线程资源—__thread & pthread_key_t
3、问题排查秘籍
内存泄漏的定位与排查:Heap Profiling 原理解析
4、编译原理
5、存储
5.1 MySQL
详细分析MySQL事务日志(redo log和undo log)
Mysql半同步参数- after_sync vs after_commit
深入理解SELECT … LOCK IN SHARE MODE和SELECT … FOR UPDATE
MySQL RC级别下并发insert锁超时问题 - 现象分析和解释(RC级别出现GAP锁分析)
MySQL RC级别下并发insert锁超时问题 - 源码分析
5.2 redis
Redis集群化方案对比:Codis、Twemproxy、Redis Cluster
5.3 ROCKSDB
Rocksdb实现及优化分析——JoinBatchGroup
5.4 Hadoop
5.5 消息队列
5.5.1 Apache Pulsar
5.6 图数据库
6、网络
6.1 内核网络协议
从ip addr add和ifconfig的区别看linux网卡ip地址的结构
基于NAT、IP隧道、直接路由三种方式实现虚拟服务器技术及比较
6.2 应用层网络协议
6.3 web服务框架
7、编程语言
7.1 C++
玩转Google开源C++单元测试框架Google Test系列(gtest)
【C++】研发基本功 - GTest / GMock 单元测试实践手册
由FileDescriptorTables::~FileDescriptorTables看静态库共享库的全局变量double-free的问题
Linux线程局部存储 Thread Local Storage
7.2 GO编程
Go 中slice, map, chan, strcuct 是值传递么?
7.3 Make、CMake
7.3 Python编程
8、分布式系统
8.1 分布式概念
8.2 分布式协议
8.2.1 Paxos
8.2.2 Raft
8.2 分布式系统
8.2.1 ZooKeeper
8.2.2 Docker系列
Kubernetes的三种外部访问方式:NodePort、LoadBalancer 和 Ingress
9、算法导论/算法/数据结构
ptmalloc VS tcmalloc VS jemalloc 原理及对比测试
ptmalloc、tcmalloc与jemalloc对比分析
10、数学公式
(1)同余公式与性质
(2)全排列生成算法
11、常用工具安装指引
[Linux]Centos6 Vim 从 7.4 升级到 8.1
Vim插件YouCompleteMe安装记录(号称最难装的Vim插件?)