大多数面向对象语言没有指针的概念,C语言也没有对象的概念,同时具有指针和对象的C++语言在学习时有高昂的门槛,同时在服务端后台开发、处理多并发的海量网络请求等方面有天然的优势。就像Android开发对性能要求比较高的地图、视频、即时通讯由NDK开发一样,当网络应用的用户量、 并发量迅速增长,达到一定量级之后,后端服务的技术架构都会适用于自己玩玩的JavaScript(Bmob云端代码)、适用于小规模网站的PHP和适用于中等规模网站的Java转变为Linux C++。
徐老师的《后台开发:核心技术与应用实践》就是一本Linux C++ 后台开发的实战典范。全书前三章简要介绍了C++语言的基础知识,言简意赅的理论讲解配合优雅的代码片段,很适合启蒙C++后台新手。建议阅读完前三章后阅读《C++ Primer》或其中文精简版(分别相当于《Core Java》和《写给大忙人看的Java核心技术》之于Java)进阶。
要做一名优秀的使用C++进行后台开发的程序员,只掌握C++语言及其常见类库是远远不够的,还需要掌握HTTP、TCP等网络协议和I\O模型等知识。本书第12章《HTTP协议》、第6章《TCP协议》和第7章《网络IO模型》深入讨论了后台开发所必备的网络相关知识点。
工(程师)欲善其事,必先利其(编译)器,本书第五章《调试》不但介绍了C++后台的几种调试方法,也介绍了调试工具Valgrind的安装与使用;无独有偶,第八章《网络分析工具》更是介绍了四种常见的网络分析工具,让读者的监控、运维、排障更加方便快捷高效,正应了徐老师“时间就是金钱,效率就是生命 ”的座右铭。
这本书囊括了做后台开发用到的全部技能,但并非空洞乏味的说教,而是在传授理论的同时有优雅的代码以参考、有丰富的图表以直观、有多样的工具以高效,适合各个阶段的Linux C++后台开发者阅读。
附:后台开发能力体系图谱