教育就是当一个人把在学校所学全部忘光之后剩下的东西。
——阿尔伯特•爱因斯坦
软件开发的世界是不断变化的。每一天都会有一门新的技术出现,昨天你学到的东西今天可能就毫无意义了。
在这个飞速变化的世界里,学习的能力是至关重要的。程序员如果选择故步自封,忽视自己的技能发展,那么他们很快就会落在后面,错失未来,只能被派去维护过去的遗留系统。如果想摆脱这种宿命,你就需要学会如何学习。这20本经典书,让你打好基础快速进入新领域。
入门经典篇
《C Primer Plus(第6版)中文版》
【美】Stephen Prata(史蒂芬 普拉达)著
与以前的版本一样,作者的目标仍旧是为读者提供一本入门型、条理清晰、见解深刻的C语言教程。作者把基础的编程概念与C语言的细节很好地融合在一起,并通过大量短小精悍的示例同时演示一两个概念,通过学以致用的方式鼓励读者掌握新的主题。
每章末尾的复习题和编程练习题进一步强化了重要的信息,有助于读者理解和消化那些难以理解的概念。本书采用了友好、易于使用的编排方式,不仅适合打算认真学习C语言编程的学生阅读,也适合那些精通其他编程语言,但希望更好地掌握C语言这门核心语言的开发人员阅读。
《C++ Primer Plus(第6版)中文版》
【美】Stephen Prata 著
《C Primer Plus(第6版)中文版》详细讲解了C语言的基本概念和编程技巧。本书以完整的程序为例,讲解C语言的知识要点和注意事项。每章末设计了大量复习题和编程练习,帮助读者巩固所学知识和提高实际编程能力。附录给出了各章复习题的参考答案和丰富的参考资料。《C Primer Plus(第6版)中文版》可作为C语言的教材,适用于需要系统学习C语言的初学者,也适用于巩固C语言知识或希望进一步提高编程技术的程序员。
《Python编程快速上手——让繁琐工作自动化》
【美】Al Sweigart(斯维加特)著
美亚畅销Python 3编程图书,帮助你通过编程快速实现工作自动化 。在本书中,你将学习利用Python 编程,在几分钟内完成手工需要几小时的工作,而事先却无需具备编程经验。一旦掌握了编程的基础知识,你就可以毫不费力地创建Python 程序,完成高效的自动化工作
美亚畅销Python 3编程图书,帮助你通过编程快速实现工作自动化 。在本书中,你将学习利用Python 编程,在几分钟内完成手工需要几小时的工作,而事先却无需具备编程经验。一旦掌握了编程的基础知识,你就可以毫不费力地创建Python 程序,完成高效的自动化工作。
《Python核心编程(第3版)》
【美】Wesley Chun(卫斯理 春)著
Python是一种灵活、可靠且具有表现力的编程语言,它将编译语言的强大与脚本语言的简洁性、快速开发特性整合起来。在本书中,Python开发人员兼企业培训师Wesley Chun会帮助您将Python技能提升到更高的水平。
本书涵盖了成为一名技术全面的Python开发人员所需的一切内容。本书讲解了应用开发相关的多个领域,而且书中的内容可以立即应用到项目开发中。此外,本书还包含了一些使用Python 2和Python 3编写的代码案例,以及一些代码移植技巧。有些代码片段甚至无须修改就可以运行在Python 2.x或Python 3.x上。本书适合具有一定经验的Python开发人员阅读。
《JavaScript忍者秘籍 第2版》
[美] John,Resig(莱西格)著
JavaScript语言非常重要,相关的技术图书也很多,但至今市面没有一本对JavaScript语言的重要部分(函数、闭包和原型)进行深入、全面介绍的图书,也没有一本讲述跨浏览器代码编写的图书。而本书弥补了这一空缺,是由jQuery库创始人编写的一本深入剖析JavaScript语言的书。
《“笨办法学”Python3》
Zed Shaw 著
本书是基于Python 3.6版本编写的。百万粉丝程序员带你轻松入门Python语言!5小时的完整视频教程,纯美式发音,搭配中文字幕,边看边练两不误;52个精心设计的编程习题,拒绝拖沓,提供项目案例,学以致用不务虚。
本书是一本Python入门书籍,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。
职业生涯规划篇
《代码整洁之道》
马丁 著
软件质量,不但依赖于架构及项目管理,而且与代码质量紧密相关。这一点,无论是敏捷开发流派还是传统开发流派,都不得不承认。《代码整洁之道》提出一种观念:代码质量与其整洁度成正比。干净的代码,既在质量上较为可靠,也为后期维护、升级奠定了良好基础。作为编程领域的佼佼者,《代码整洁之道》作者给出了一系列行之有效的整洁代码操作实践。这些实践在《代码整洁之道》中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。
《代码整洁之道》阅读对象为一切有志于改善代码质量的程序员及技术经理。书中介绍的规则均来自作者多年的实践经验,涵盖从命名到重构的多个编程方面,虽为一“家”之言,然诚有可资借鉴的价值。
《代码整洁之道 程序员的职业素养》
罗伯特·C.马丁 著
成功的程序员在以往的工作和生活中都曾经历过大大小小的不确定性,承受过永无休止的压力。他们之所以能够成功,是因为拥有一个共同点,都深切关注创建软件所需的各项实践。他们将软件开发视为一种需要精雕细琢加以修炼的技艺,他们以专业人士的标准要求自己,他们具有职业素养。
软件开发大师Robert C. Martin在书中介绍了真实软件技艺中的各项原则、技术、工具和实践,展示了怎么以自豪、自尊和自信的心态进行软件开发,怎么取得卓越表现和丰硕成果,怎么做到有效沟通和确切估算,怎么以坦诚的心态面对困难,并引导读者认识到专业程序员肩负的责任重大,阐述了什么才是程序员的职业素养。
《编程珠玑(第2版 修订版)》
乔恩·本特利(Jon Bentley) 著
本书作者Jon Bentley,世界计算机科学家,被誉为影响算法发展的十位大师之一。
多年以来,当程序员们推选出心爱的计算机图书时,《编程珠玑》总是位于前列。正如自然界里珍珠出自细沙对牡蛎的磨砺,计算机科学大师JonBentley以其独有的洞察力和创造力,从磨砺程序员的实际问题中凝结出一篇篇不朽的编程“珠玑”,成为世界计算机界名刊《ACM通讯》历史上受欢迎的专栏,结集为两部不朽的计算机科学经典名著,影响和激励着一代又一代程序员和计算机科学工作者。本书为首卷,主要讨论计算机科学中本质的问题:如何正确选择和高效地实现算法。
在书中,作者选取许多具有典型意义的复杂编程和算法问题,生动描绘了历史上众大师们在探索解决方案中发生的轶事、走过的弯路和不断精益求精的历程,引导读者像真正的程序员和软件工程师那样富于创新性地思考,并透彻阐述和总结了许多独特而精妙的设计原则、思考和解决问题的方法以及实用程序设计技巧。
《重构 改善既有代码的设计》
马丁·福勒(Martin Fowler) 著
软件开发的不朽经典,生动阐述重构原理和具体做法,普通程序员进阶到编程高手必须修炼的秘笈。
重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。
本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重构的理解,还是开发工具对重构的支持力度,都与本书出版时不可同日而语,但书中所蕴涵的意味和精华,依然值得反复咀嚼,而且往往能够常读常新。
《软技能 代码之外的生存指南》
约翰 Z.森梅兹 著
这是一本真正从“人”(而非技术也非管理)的角度关注软件开发人员自身发展的书。书中论述的内容既涉及生活习惯,又包括思维方式,凸显技术中“人”的因素,全面讲解软件行业从业人员所需知道的所有“软技能”。
对大多数软件开发人员而言,编码才是有趣的,而如何与客户、同事以及经理们打交道,如何保证工作效率,如何保障财务安全,如何保持自己的体形,如何找到真爱……这些则统统被视为畏途。本书恰恰可以在这些方面帮到你!
人工智能
《深度学习》
【美】Ian Goodfellow(伊恩·古德费洛)著
AI圣经!深度学习领域奠基性的经典畅销书!长期位居美亚AI和机器学习类图书榜首!所有数据科学家和机器学习从业者的bi读图书!特斯拉CEO埃隆·马斯克等国内外众多专家推荐!
深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。因为计算机能够从经验中获取知识,所以不需要人类来形式化地定义计算机需要的所有知识。层次概念允许计算机通过构造简单的概念来学习复杂的概念,而这些分层的图结构将具有很深的层次。本书会介绍深度学习领域的许多主题。
《Python神经网络编程》
[英] 塔里克·拉希德(Tariq Rashid)著
本书用轻松的笔触,一步一步揭示了神经网络的数学思想,并介绍如何使用Python编程语言开发神经网络。本书将带领您进行一场妙趣横生却又有条不紊的旅行——从一个非常简单的想法开始,逐步理解神经网络的工作机制。您无需任何超出中学范围的数学知识,并且本书还给出易于理解的微积分简介。
本书为美亚五星畅销书,备受关注。基于Python3.5,全彩印刷,如果只选一本神经网络图书,他是首选。
《人工智能(第2版)》
[美] 史蒂芬·卢奇(Stephen Lucci) 著
美国经典入门教材,被誉为人工智能领域百科全书。人工智能领域近十年来最前沿教程,更加适合本科生使用。
本书基于人工智能的理论基础, 向读者展示全面、新颖、丰富多彩且易于理解的人工智能知识体系。本书给出诸多的示例、应用程序、全彩图片和人物轶事,以激发读者的阅读和学习兴趣;还引入了机器人和机器学习的相关高级课程,包括神经网络、遗传算法、自然语言处理、规划和复杂的棋盘博弈等。
操作系统篇
《UNIX网络编程 卷1:套接字联网API(第3版)》
【美】W. Richard Stevens, Bill Fenner, Andrew M. Rudoff 著
这是一部传世之作!顶级网络编程专家Bill Fenner和Andrew M. Rudoff应邀执笔,对W. Richard Stevens的经典作品进行修订。书中吸纳了近几年网络技术的发展,增添了IPv6、SCTP协议和密钥管理套接字等内容,深入讨论了最新的关键标准、实现和技术。
书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从本书网站下载这些示例的源代码。
《UNIX网络编程 卷1:套接字联网API(第3版 英文版)》
【美】W. Richard Stevens, Bill Fenner 著
本书是一部UNIX网络编程的经典之作。书中全面深入地介绍了如何使用套接字API进行网络编程。全书不但介绍了基本编程内容,还涵盖了与套接字编程相关的高级主题,对于客户/服务器程序的各种设计方法也作了完整的探讨,最后还深入分析了流这种设备驱动机制。
本书内容详尽且具权威性,几乎每章都提供精选的习题,并提供了部分习题的答案,是网络研究和开发人员理想的参考书。
《UNIX网络编程 卷2:进程间通信(第2版)》
【美】W. Richard Stevensns 著
点击封面购买纸书两卷本的《UNIX网络编程》是已故著名技术作家W. Richard Stevens的传世之作。卷2着重讨论如何让应用程序与在其他机器上的应用程序进行对话。
良好的进程间通信(IPC)机制是提高UNIX程序性能的关键。本书全面深入地讲解了各种进程间通信形式,包括消息传递、同步、共享内存及远程过程调用(RPC)。书中包含了大量经过优化的源代码,帮助读者加深理解。这些源代码可以从本书网站下载。 本书是网络研究和开发人员公认的权威参考书,无论网络编程的初学者还是网络专家都会大受裨益。
书中的所有示例都是在UNIX系统上测试通过的真实的、可运行的代码,继承了Stevens一直强调的理念:“学习网络编程的最好方法就是下载这些程序,对其进行修改和改进。只有这样实际编写代码才能深入理解有关概念和方法。”读者可以从本书网站下载这些示例的源代码。
《UNIX环境高级编程(第3版)》
W.Richard Stevens 著
20多年来,严谨的C程序员都是依靠一本书来深入了解驱动UNIX和Linux内核的编程接口的实用知识的,这本书就是W.RichardStevens所著的《UNIX高级环境编程》。
现在,Stevens的同事SteveRago彻底更新了这本经典著作。Rago保留了使本书前版成为经典之作的精髓和方法。他在Stevens原著的基础上,从基础的文件、目录和进程讲起,并给诸如信号处理和终端I/O之类的先进技术保留较大的篇幅。他还深入讨论了线程和多线程编程、使用套接字接口驱动进程间通信(IPC)等方面的内容。
本书是被誉为UNIX编程“圣经”的AdvancedProgrammingintheUNIXEnvironment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX/Linux程序员都是一本不可或缺的参考书。
《UNIX/Linux 系统管理技术手册(第四版)》
【美】Evi Nemeth, Garth Snyder, Trent R.Hein, Ben Whaley 著
《UNIX/Linux系统管理技术手册(第四版)》(ULAHv4)是《Linux系统管理技术手册》和《UNIX系统管理技术手册》的终结版,也是Evi Nemeth的封刀之作。
《UNIX/Linux系统管理技术手册(第四版)》延续了《Linux系统管理技术手册(第二版)》以及《UNIX系统管理技术手册(第三版)》的讲解风格,以当前主流的5种Linux发行版本(Red Hat ES、SUSE、Debian、Fedora Core和Ubuntu)为例,把Linux系统管理技术分为3部分分别介绍。
《UNIX/Linux系统管理技术手册(第四版)》的几位作者是分别来自学术界、企业界以及职业培训领域的Linux/UNIX系统管理专家,这使得本书从第一版开始,即成为全面、深入而且颇富实用性的Linux系统管理权威参考书。
其他篇
《领域驱动设计 软件核心复杂性应对之道 修订版》
[美] 埃里克 埃文斯(Eric Evans) 著
“领域驱动设计之父”经典著作;众多声名显赫软件大师鼎力推荐;凝聚领域建模专家数十年的实战经验,深度剖析构建高质量复杂系统的核心技术领域模型使开发人员可以表达丰富的软件功能需求,由此实现的软件可以满足用户真正的需要,因此被公认为是软件设计的关键所在,其重要性显而易见。但讲述如何将领域模型用于软件开发过程的杰出的实用资料却不多见。
本书正是这一领域声名显赫的作品,受到众多业界大师的赞美和推介,广受读者好评。要通过创建领域模型来加速复杂的软件开发,就需要利用大量实践和标准模式在开发团队中形成统一的交流语言;不但要重构代码,而且要重构代码底层的模型;同时采取反复迭代的敏捷开发方法,深入理解领域特点,促进领域专家与程序员的良好沟通。针对这些内容,本书结合真实项目,系统地介绍了领域驱动开发的目标、意义和方法,充分讨论了复杂系统的建模与设计问题。
《Google软件测试之道》
【美】James Whittaker, Jason Arbon, Jeff Carollo 著
测试领域的传奇巨匠James与两位Google顶级专家一起披露了Google如何做测试的精髓所在,并提供了一套崭新的最佳测试工程实践方案。即使你的产品并非如Google般的规模,相信你仍然可以从中受益匪浅。
本书揭示了大量的奇巧妙计,绝对100%实用且扩展性超强,涉及到风险分析、测试计划……像真实用户一样思考……探索性实践、黑盒、白盒、验收测试……获取有用反馈……记录问题……选择和创建工具…… 测试“文档和模拟对象”的接口、类、模块、库、二进制文件、服务和基础设施……代码审核、重构……使用测试钩子、代码提交脚本、代码提交队列、持续集成等方面。使用这些技术,你可以把测试工作由瓶颈变成一个加速器,使得整个测试团队都更加富有效率。
《逆向工程权威指南》
[乌克兰] Dennis Yurichev 丹尼斯 著
逆向工程是一种分析目标系统的过程。 本书专注于软件逆向工程,即研究编译后的可执行程序。本书是写给初学者的一本经典指南。全书共分为12个部分,共102章,涉及软件逆向工程相关的众多技术话题,堪称是逆向工程技术百科全书。
全书讲解详细,附带丰富 的代码示例,还给出了很多习题来帮助读者巩固所学的知识,附录部分给出 了习题的解答。 本书适合对逆向工程技术、操作系统底层技术、程序分析技术感兴趣的读者 阅读,也适合专业的程序开发人员参考。
《Spring 实战(第4版)》
【美】Craig Walls(沃尔斯)著
全球有超过100 000的开发者使用本书来学习Spring
中文版累计销售超10万册,畅销经典Spring 技术图书,针对Spring 4 全新升级 作者Craig Walls,SpringSource的软件开发人员,也是一位畅销书作者。 第3版译者继续翻译新版,品质保障!
扫码关注我们