后台开发:核心技术与应用实践

出版日期:2016-8
ISBN:9787111543394
作者:徐晓鑫

作者简介

因为后台开发所需要的技术广泛而坚深,要成为一名后台开发工程师门槛很高,所以相关人才比较紧缺。作者是在腾讯工作多年的后台开发工程师,不仅技术精湛,而且在处理大量实际业务的过程中积累了丰富的开发经验。在这本书中,她不仅首次为后台开发工程师勾勒出了完整的知识能力体系结构图,而且还对后台开发工程师所需要掌握的大量复杂的技术知识进行了提炼、剥离和整合,专注于成为一名后台开发工程师所需掌握的核心技术、开发工具和实践方法,大幅度降低后台开发工程师的学习曲线。本书的内容获得了来自腾讯、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
1.1 第一个C++程序 1
1.2 函数 3
1.3 数组 6
1.4 指针 8
1.5 引用 12
1.6 结构体、公用体、枚举 14
1.6.1 结构体、共用体、枚举的概念 14
1.6.2
结构体、共用体在内存单元占用字节数的计算 18
1.7 预处理 20
1.8 本章小结 25
第2章 面向对象的C++ 26
2.1 类与对象 26
2.2 继承与派生 49
2.3 类的多态 57
2.4 本章小结 64
第3章 常用STL的使用 65
3.1 STL是什么 65
3.2 string 66
3.3 vector 77
3.3.1 vector是什么 77
3.3.2 vector的查增删 78
3.3.3 vector的内存管理与效率 86
3.3.4 Vector类的简单实现 90
3.4 map 96
3.4.1 map是什么 96
3.4.2 map的查增删 96
3.4.3 map的原理 109
3.5 set 111
3.5.1 set是什么 111
3.5.2 set的查增删 112
3.6 本章小结 116
第4章 编译 117
4.1 编译与链接 117
4.2 makefile的撰写 131
4.3 目标文件 135
4.3.1 ELF的文件类型 135
4.3.2 链接视图下的ELF内容 136
4.3.3 执行视图下的ELF内容 142
4.3.4
阅读ELF文件的工具——readelf 144
4.3.5
获得二进制文件里符号的工具——nm 144
4.3.6
减少目标文件大小的工具——strip 146
4.4 本章小结 147
第5章 调试 148
5.1 strace 148
5.2 gdb 156
5.3 top 164
5.4 ps 165
5.5 Valgrind 168
5.5.1 Valgrind概述 168
5.5.2 Linux程序内存空间布局 170
5.5.3 内存检查原理 175
5.5.4 Valgrind安装 176
5.5.5 Valgrind使用 177
5.6 本章小结 187
第6章 TCP协议 188
6.1 TCP协议 188
6.1.1 网络模型 188
6.1.2 TCP头部 191
6.1.3 TCP状态流转 193
6.1.4 TCP超时重传 196
6.1.5 TCP滑动窗口 200
6.1.6 TCP拥塞控制 202
6.2 TCP网络编程API 205
6.3 实现一个TCP server 211
6.4 TCP协议选项 215
6.5 网络字节序与主机序 233
6.6 封包和解包 233
6.7 本章小结 247
第7章 网络IO模型 248
7.1 4种网络IO模型 248
7.2 select 256
7.3 poll 267
7.4 epoll 277
7.5 本章小结 289
第8章 网络分析工具 290
8.1 ping 290
8.2 tcpdump 292
8.3 netstat 294
8.4 lsof 296
8.5 本章小结 298
第9章 多线程 299
9.1 多线程是什么 300
9.2 多线程的创建与结束 301
9.3 线程的属性 307
9.4 多线程同步 312
9.5 多线程重入 332
9.6 本章小结 333
第10章 进程 334
10.1 程序与进程 334
10.2 进程的创建与结束 335
10.3 僵尸进程 342
10.4 守护进程 347
10.5 本章小结 351
第11章 进程间通信 352
11.1 管道 352
11.2 消息队列 358
11.3 共享内存 362
11.4 信号量 368
11.5 ipcs命令 373
11.6 本章小结 374
第12章 HTTP协议 375
12.1 HTTP协议工作流程 375
12.2 HTTP协议结构 376
12.3 HTTPS 383
12.4 CGI 386
12.5 FastCGI 397
12.6 本章小结 398
第13章 常用类库 399
13.1 JSON 400
13.2 Protobuf 405
13.3 本章小结 409

内容概要

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


 后台开发:核心技术与应用实践下载 更多精彩书评



发布书评

 
 


精彩书评 (总计4条)

  •     每次和人聊起“后台开发”,发现不同人对它的理解都不一样,不同的公司对这个岗位的理解也不一样。这导致离开一个公司的后台开发岗位,去另外一个公司的后台开发岗位不能胜任,甚至不能面试通过。有的公司认为写C++,JAVA,PYTHON这些语言的岗位就是后台开发,有些公司认为只要做后台管理系统的岗位叫后台开发,其实这些理解和BAT这些成熟的大公司对后台开发的理解是不一样的。当然这没有对错,只是一种存在事实。浏览了一下这本书,基本上是写的腾讯对后台开发这个岗位的需要技术的解读,能够掌握这本书的内容,基本上能够吻合他们家对后台开发岗位的技术要求,基本上成熟大公司的要求也差不多是这样。PS:本人几年前腾讯后台开发一枚,不是王婆卖瓜哈,只是有感当年被各种号称“后台开发”的书但是实际和工作中实际要用到的技术相差甚远,现在各大卖书网站上这类书还是一搜一堆,呵呵诚意推荐诚意推荐,祝大家少走弯路。
  •     经历了一个月时间,从开始的满心期待,到现在的失落.首先说说这本书好得地方,即是向我们告知了后台开发所需要的知识点和技能, 但是从整本书来看,对于每个知识点都只是简略介绍,有些连原理都没写上去,然后就上代码举例,这是我最不满意这本书的地方,例子可以少举一点,但是连原理都不讲清楚. 所以从整本书来看最有价值的地方在书中VIII页那张图表:<<后台开发工程师技术能力体系图>>.(这是我个人观点哦,其他人我不知道).所以我现在看这本书的时候对照着这个能力体系,每个知识点我都找更深入讲解的书去好好学习消化研究.推荐<<Linux环境编程-从应用到内核>>,把我们平常见到的linux的API深入讲解,我现在就对照着每个知识点去这本书翻看详细技术内容,忍不住第二次评论这本书,希望是最后一次.
  •     从基础讲起,层层深入和递进,腾讯工程师写的书,里面主要还是腾讯后台开发涉及到的常用技术,想去腾讯的同学值得购买!

精彩短评 (总计6条)

  •     这本书虽然知识泛而浅, 对于我这样只用ide来做手机游戏开发的码农来讲, 算上全面的捋了一下
  •     蜻蜓点水。
  •     扫了下目录,现在国内技术圈太特么的浮躁了,写个书能写成这样。
  •     注重基础与全面,这两点其实是很重要的
  •     但书中错误也太多了吧,已经不忍直视了
  •      买回来刚看几页,加了书中作者提供的读者交流的微信公众号, 发了书中两个疑问告知作者,一处是bug,另一处是觉得疑惑的地方,作者晚上回信息:好的,感谢你的指正.然后就没下文了, 没有回答我的疑问,不知道什么原因.
 

农业基础科学,时尚,美术/书法,绘画,软件工程/开发项目管理,研究生/本专科,爱情/情感,动漫学堂PDF下载,。 PDF下载网 

PDF下载网 @ 2024