作品简介

因为后台开发所需要的技术广泛而坚深,要成为一名后台开发工程师门槛很高,所以相关人才比较紧缺。作者是在腾讯工作多年的后台开发工程师,不仅技术精湛,而且在处理大量实际业务的过程中积累了丰富的开发经验。在这本书中,她不仅首次为后台开发工程师勾勒出了完整的知识能力体系结构图,而且还对后台开发工程师所需要掌握的大量复杂的技术知识进行了提炼、剥离和整合,专注于成为一名后台开发工程师所需掌握的核心技术、开发工具和实践方法,大幅度降低后台开发工程师的学习曲线。本书的内容获得了来自腾讯、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的使用,演示如何使用第三方库。

徐晓鑫腾讯资深软件研发工程师,先后在腾讯游戏之洛克王国、QQ会员、QQ秀等多个项目从事研发工作,精通后台开发的各种技术,实战经验丰富。

作品目录

  • 绪论
  • 第1章 C++编程常用技术
  • 1.1 第一个C++程序
  • 1.2 函数
  • 1.3 数组
  • 1.4 指针
  • 1.5 引用
  • 1.6 结构体、公用体、枚举
  • 1.6.1 结构体、共用体、枚举的概念
  • 1.6.2 结构体、共用体在内存单元占用字节数的计算
  • 1.7 预处理
  • 1.8 本章小结
  • 第2章 面向对象的C++
  • 2.1 类与对象
  • 2.2 继承与派生
  • 2.3 类的多态
  • 2.4 本章小结
  • 第3章 常用STL的使用
  • 3.1 STL是什么
  • 3.2 string
  • 3.3 vector
  • 3.3.1 vector是什么
  • 3.3.2 vector的查增删
  • 3.3.3 vector的内存管理与效率
  • 3.3.4 Vector类的简单实现
  • 3.4 map
  • 3.4.1 map是什么
  • 3.4.2 map的查增删
  • 3.4.3 map的原理
  • 3.5 set
  • 3.5.1 set是什么
  • 3.5.2 set的查增删
  • 3.6 本章小结
  • 第4章 编译
  • 4.1 编译与链接
  • 4.2 makefile的撰写
  • 4.3 目标文件
  • 4.3.1 ELF的文件类型
  • 4.3.2 链接视图下的ELF内容
  • 4.3.3 执行视图下的ELF内容
  • 4.3.4 阅读ELF文件的工具——readelf
  • 4.3.5 获得二进制文件里符号的工具——nm
  • 4.3.6 减少目标文件大小的工具——strip
  • 4.4 本章小结
  • 第5章 调试
  • 5.1 strace
  • 5.2 gdb
  • 5.3 top
  • 5.4 ps
  • 5.5 Valgrind
  • 5.5.1 Valgrind概述
  • 5.5.2 Linux程序内存空间布局
  • 5.5.3 内存检查原理
  • 5.5.4 Valgrind安装
  • 5.5.5 Valgrind使用
  • 5.6 本章小结
  • 第6章 TCP协议
  • 6.1 TCP协议
  • 6.1.1 网络模型
  • 6.1.2 TCP头部
  • 6.1.3 TCP状态流转
  • 6.1.4 TCP超时重传
  • 6.1.5 TCP滑动窗口
  • 6.1.6 TCP拥塞控制
  • 6.2 TCP网络编程API
  • 6.3 实现一个TCP server
  • 6.4 TCP协议选项
  • 6.5 网络字节序与主机序
  • 6.6 封包和解包
  • 6.7 本章小结
  • 第7章 网络IO模型
  • 7.1 4种网络IO模型
  • 7.2 select
  • 7.3 poll
  • 7.4 epoll
  • 7.5 本章小结
  • 第8章 网络分析工具
  • 8.1 ping
  • 8.2 tcpdump
  • 8.3 netstat
  • 8.4 lsof
  • 8.5 本章小结
  • 第9章 多线程
  • 9.1 多线程是什么
  • 9.2 多线程的创建与结束
  • 9.3 线程的属性
  • 9.4 多线程同步
  • 9.5 多线程重入
  • 9.6 本章小结
  • 第10章 进程
  • 10.1 程序与进程
  • 10.2 进程的创建与结束
  • 10.3 僵尸进程
  • 10.4 守护进程
  • 10.5 本章小结
  • 第11章 进程间通信
  • 11.1 管道
  • 11.2 消息队列
  • 11.3 共享内存
  • 11.4 信号量
  • 11.5 ipcs命令
  • 11.6 本章小结
  • 第12章 HTTP协议
  • 12.1 HTTP协议工作流程
  • 12.2 HTTP协议结构
  • 12.3 HTTPS
  • 12.4 CGI
  • 12.5 FastCGI
  • 12.6 本章小结
  • 第13章 常用类库
  • 13.1 JSON
  • 13.2 Protobuf
  • 13.3 本章小结
展开全部