首页 > 代码库 > 强烈推荐一本今年八月份的新书《后台开发:核心技术与应用实践》,作者腾讯资深后台开发工程师徐晓鑫
强烈推荐一本今年八月份的新书《后台开发:核心技术与应用实践》,作者腾讯资深后台开发工程师徐晓鑫
昨天被华章安利了一本今年8月份的新书《后台开发:核心技术与应用实践》,极好的书,评价和口碑超高。
这本书腾讯公司资深研发工程师多年后台开发经验总结,获腾讯、Facebook、微软、阿里、百度多位资深技术专家高度认可。 完整勾勒后台开发技术能力体系,多维度讲解了成为一名后台开发工程师所需掌握的核心技术、开发工具和实践方法,后台工程师修炼必读。作者sharexu是位值得推崇的女性开发者。
后台开发是一个“历史悠久”的领域,同是也是一个沉淀深厚,高技术价值的领域。本书清晰、严谨、务实的风格显示出晓鑫对该领域知识的深刻理解。——张子兴 Facebook对外支付项目主程,美国加州MenloPark
每一位从事后台开发的专业人士都需要一本《后台开发:核心技术与应用实践》。对每一位想要认真从事该领域工作的人来说,这是一本绝对必读的书籍。——彭可竞 微软软件工程师,美国华盛顿州Redmond
《后台开发:核心技术与应用实践》是作者多年后台开发、架构和研究的精华。本书用通俗的文字、详尽的示例代码,结合实际工作中的案例,讲述了后台开发方方面面的知识,内容丰富。对于从事后台开发的人员,这是一本很好的由浅入深的学习书籍。——周乐 阿里巴巴资深算法工程师,北京望京
使用C 语言进行后台开发有一定的门槛,本书可以很好的帮助你跨过这个“门槛”。——畅晋 百度大数据高级测试工程师,北京上地
徐晓鑫:
听到“后台开发”这个词,估计很多人心中都会有一些自己的感性认识,这种认识具体到每个人可能有一些差别,但估计大部分人都有这么一种看法:“后台开发”是编写一些用户看不见的程序,也就是非界面的,既不是网页,也不是App,更不是桌面程序,因为这些都是用户看得见的(被称为“前台开发”)。这种感性认识在一定程度上是正确的,但是它不够具体,也不够全面。
我所理解的“后台开发”的确是用户“看不见”的部分,但是还有很多界面性的程序是给企业内部人员使用的,这些虽然是界面程序,但是对于最终用户来说也是“看不到”的。举个例子,开发一个电子商务的网站,提供给客户进行商品购买的网页是用户看得见的,不属于“后台”,但是电商网站内部员工使用的“用户管理系统”,“订单管理系统”等,也是用户看不见的,但它们不属于本书中所指的“后台”。在有些场合,或者一些人的习惯中,这些内部使用的系统也叫“后台”,这样并没有错,希望读者在听到的时候,知道说话人指的是什么。
在BAT这类成熟的、大型的、技术分工明确的互联网公司里,一般提到“后台开发”,指的是“服务端的网络程序开发”,从功能上可以具体描述成这样:服务器收到客户端发来的请求数据,解析请求数据,然后进行处理,最后把结果返回,如下图所示。
“SERVER”
这里的“SERVER”就是后台开发程序员需要用尽毕生精力去耕耘的“后台程序”,或者“服务器”。 SERVER接收请求的方式既可以是通过TCP请求包,也可以是HTTP请求包(其实也是 TCP连接)。如果是HTTP方式的请求,请求包的格式一般是JSON或者XML ,或者自定义的ASCII文本;如果是TCP请求,二进制的格式会常见一些。解析请求包的方式自然是请求包的格式相对应的,来的是什么格式的包,就用对应的解包库区解析,如果是自定义的格式,就按照自定义的方式去解析。“处理请求”这一步是后台程序的具体业务逻辑。很多封装好的后台程序包会把其他三步都做好,但是这一步还是需要开发者自己去实现,因为只有开发者自己清楚,程序是要去做“登陆”还是去做“注册”的事情。“输出回复包”和“接收请求包”是对应的,一般来说,收到的是 JSON,那么回复的也是JSON,收到的是 XML,那么发送的也是XML,其他的格式也是一样的。这四个步骤是所有后台程序都会有的,无论使用什么语言去实现,都可以看到这四个步骤的影子。
“CLIENT”
“CLIENT”指的是向“ SERVER”发起请求,并接收“SERVER”回复的一方,就是通常称的“客户端”。既然后台程序是通过 TCP或者HTTP 接收和回复消息的,那么只要是能够发起TCP或者HTTP连接的都可以作为客户端,可以是浏览器, PC端的程序,安卓应用,IOS应用,等等。
当然,这只是“后台开发”最基本的概念认识,也是像BAT这类成熟的大型互联网公司对“后台开发”这个岗位的工作范围定位。具体到实际的工作中,后台开发工程师需要涉及的技术层面很多,接入层、逻辑层、数据层等、需要考虑的问题也很多,个人认为最重要的几个就是高可用性(availabilty)、可扩展性(scalability),健壮性(robustness)。也许以后咱们可以一起仔细聊一聊这些话题。
本文部分段落摘自《后台开发:核心技术与应用实践》绪论部分
《后台开发:核心技术与应用实践》
ISBN:978-7-111-54339-8
作者:徐晓鑫
强烈推荐一本今年八月份的新书《后台开发:核心技术与应用实践》,作者腾讯资深后台开发工程师徐晓鑫