因为后台开发所需要的技术广泛而坚深,要成为一名后台开发工程师门槛很高,所以相关人才比较紧缺。作者是在腾讯工作多年的后台开发工程师,不仅技术精湛,而且在处理大量实际业务的过程中积累了丰富的开发经验。在这本书中,她不仅首次为后台开发工程师勾勒出了完整的知识能力体系结构图,而且还对后台开发工程师所需要掌握的大量复杂的技术知识进行了提炼、剥离和整合,专注于成为一名后台开发工程师所需掌握的核心技术、开发工具和实践方法,大幅度降低后台开发工程师的学习曲线。本书的内容获得了来自腾讯、Facebook、微软、阿里、百度的多位资深技术专家的高度认可。
全书一共13章,在逻辑上分为六大部分:
第一部分(第1~3章)介绍了编程语言方面的知识,包括常用语法、类与常用STL的使用。
第二部分(第4~5章)介绍了编译原理和调试方法相关的知识,编译原理包括编译与链接的具体过程、Makefile的编写、目标文件的内容与处理目标文件相关工具的使用,调试方法主要介绍了strace、gdb、top、ps与valgrind工具的使用等。
第三部分(第6~8章)介绍了网络相关的知识,包括TCP协议的关键知识点和TCP server的实现,网络IO模型和select、poll与epoll三个重要函数的使用,还有ping、tcpdump、netstat和lsof这四个网络分析工具的使用。
第四部分(第9~11章)主要是多线程、进程和进程间通信相关的知识,包括多线程的使用、多线程的同步和重入问题,进程方面有父子进程、僵死进程、守护进程和进程间通讯的方式。
第五部分(第12章)主要是HTTP协议的介绍与使用、CGI的设计原理、实现和FASTCGI的简单介绍。
第六部分(第13章)通过常用类库JsonCPP和Protobuf的使用,演示如何使用第三方库。
目录
- 第1章 C++编程常用技术 1
- 第2章 面向对象的C++ 26
- 第3章 常用STL的使用 65
- 第4章 编译 117
- 第5章 调试 148
- 第6章 TCP协议 188
- 第7章 网络IO模型 248
- 第8章 网络分析工具 290
- 第9章 多线程 299
- 第10章 进程 334
- 第11章 进程间通信 352
- 第12章 HTTP协议 375
- 第13章 常用类库 399