通过阅读 CppCoreGuidelines 来理解现代 c++ 编码规范,同时也是对 Effective C++,Effective Modern C++,C++ Concurrency in Action 的温习。
Linux 定时器
理解在用户空间中使用定时器。
Linux 提供了 3 种定时方法: 1. socket 选项 SO_RECVTIMEO 和 SO_SNDTIMEO 2. SIGALRM 信号 3. I/O 复用系统调用的超时参数
Linux 信号
理解进程可能会收到的信号,以及捕捉该信号。
Linux I/O 复用
I/O 复用虽然能同时监听多个文件描述符, 但它本身是阻塞的 。并且当多个文件描述符同时就绪时,如果不采取额外的措施,程序就只能按顺序依次处理其中的每个文件描述符,这使得服务器程序看起来像是串行工作的。要实现并发,只能使用多进程或多线程等编程手段。
高性能服务器程序框架
理解服务器是如何区分 I/O 密集型和 CPU 密集型任务的。
Linux 服务器程序规范
Linux 高级 I/O 函数
Linux 提供的高级 IO 函数,虽然不常用,但能提供优异的性能。
Linux 网络编程基础 API
熟悉网络编程基础 API,理解与 TCP/IP 协议栈的关系。
使用 Wireshark 观察访问 Internet 上的 Web 服务器
使用 Wireshark 来抓取整个流程,以粗浅的理解 TCP/IP。
使用 Wireshark 观察 TCP 协议
正是 TCP 优秀的容错能力,才能够保证可靠的数据传输,不得不了解。