后台开发:核心技术与应用实践 - (EPUB全文下载)
文件大小:6.86 mb。
文件格式:epub 格式。
书籍内容:
后台开发:核心技术与应用实践
徐晓鑫 著
ISBN:978-7-111-54339-8
本书纸版由机械工业出版社于2016年出版,电子版由华章分社(北京华章图文信息有限公司,北京奥维博世图书发行有限公司)全球范围内制作与发行。
版权所有,侵权必究
客服热线:+ 86-10-68995265
客服信箱:service@bbbvip.com
官方网址:www.hzmedia.com.cn
新浪微博 @华章数媒
微信公众号 华章电子书(微信号:hzebook)
目录
序
绪论
第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 本章小结
序
C++可能是计算机历史上最早被发明的高级程序语言,同时也是当今最活跃的程序设计语言之一。C++很强大,强大到你可以使用它做任何层面的开发;C++也很脆弱,脆弱到需要程序员自己去控制内存回收,一个不小心就会使整个程序Core Dump。C++语言的创始人Bjarne Stroustrup曾私下承认,为了提高C++程序员的薪水和地位,在设计C++编译器版本过程中有意地增加了C++语言的难度,使C++更偏向于资深程序员的使用习惯,提高学习门槛,从而增加C++程序员的身价。学习曲线的增加并不是没有任何回报的,在服务端后台开发、处理多并发的海量网络请求方面,C++语言有天然的优势。因此,当应用的用户量、并发量迅速增长,达到一定量级之后,后端服务的技术架构都会转变为Linux C++。
要做一名优秀的使用C++进行后台开发的程序员,只掌握C++语言是远远不够的,还需要掌握如何进行编译、链接、调试,如何使用网络协议、IO模型和一些常用的类库,等等。我曾经面试过不少后台开发程序员,他们往往很重视语言本身,但是对一些语言之外的东西理解不够透彻,影响了他们的技术发展。我也读过不少相关方面的技术书籍,往往都过多地停留在语言层面,忽略了实际开发工作中需要用到的知识。
晓鑫在腾讯从事开发工作多年,有丰富的后台开发经验,她从实际的后台开发经验出发,讲解了后台开发中需要用到的方方面面的知识。从C++语言出发,又不止于C++语言,本书可以说是一本Linux C++后台开发的实战典范。当知道晓鑫在写这么一本书的时候,我真心为国内的众多开发者感到高兴。如果读者有意愿成为一名从事Linux后台开发的程序员,本书无疑是一本最佳的参考书籍。
研发是一项讲究实战的工作,一切不从实际工作出发的技术书籍都是纸上谈兵,没有实际意义。一本优秀的技术书籍应该是这样的:当读者按照书中的内容进行实操的时候,读者写的每一行代码都是有价值的,能够在实际工作中派上用场。本书恰好做到了这一点。这是一位技术书籍作者对读者的起码诚意。
软件工程师是一种需要坚定、踏实、精益求精的“工匠精神”的职业,心浮气躁、得过且过的态度不可能把代码写好。老一辈的 ............
书籍插图:
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » 后台开发:核心技术与应用实践 - (EPUB全文下载)