一、《编程珠玑》(第2版)
本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具有很高的阅读价值。
二、《数学之美》 第三版
这是一本备受推崇的经典科普作品,被众多机构推荐为数学学科的敲门砖,是信息领域大学生的必读好书。
数学既是对于自然界事实的总结和归纳,又是抽象思考的结果。在《数学之美》里,吴军博士集中阐述了他对数学和信息处理这些专业学科的理解,把数学在IT领域,特别是语音识别、自然语言处理和信息搜索等方面的美丽之处予以了精彩表达,这些都是智能时代的热门技术话题。
本书还用了大量篇幅介绍各个领域的典故,是文科生也可以看懂的科普读物。成为一个领域的大师有其偶然性,但更有其必然性。其必然性就是大师们的思维方法。通过本书,可以了解他们的平凡与卓越,理解他们取得成功的原因,感受那些真正懂得数学之美的人们所拥有的美好人生。
本书先后荣获国家图书馆第八届文津图书奖、第五届中华优秀出版物奖图书提名奖、入选“2014年向全国青少年推荐百种优秀图书书目”、第一版曾荣获2012-2013年度全行业畅销书,《数学之美》多次被推选为必读书。《数学之美》给广大读者,尤其是在校读大学甚至读高中的年轻人带去了美的数学启示,作者更希望中国做工程的年轻人,能够从《数学之美》中体会到在信息技术行业做事情的正确方法,以便在职业和生活上都获得成功。
第三版增加了三章新内容,分别介绍当今非常热门的三个主题:区块链的数学基础,量子通信的原理,以及人工智能的数学极限。
三、《代码整洁之道》
“阅读这本书有两种原因:第一,你是个程序员;第二,你想成为更好的程序员。很好,IT行业需要更好的程序员!”——罗伯特·C. 马丁(Robert C. Martin)
尽管糟糕的代码也能运行,但如果代码不整洁,会使整个开发团队泥足深陷,写得不好的代码每年都要耗费难以计数的时间和资源。但是,这种情况并非无法避免。
著名软件专家罗伯特·C. 马丁(Robert C. Martin) 在本书中为你呈现了革命性的视野。他携同Object Mentor公司的同事,从他们有关整洁代码的*佳敏捷实践中提炼出软件技艺的价值观,以飨读者,让你成为更优秀的程序员——只要你着手研读本书。
阅读本书需要你做些什么呢?你将阅读代码——大量代码。本书会促使你思考何谓正确的代码,何谓错误的代码。更重要的是,本书将促使你重新评估自己的专业价值观,以及对自己技艺的承诺。
四、《重构:改善既有代码的设计》(第2版)
新版沿袭了第1 版的结构,依次解释什么是重构,为什么要重构,如何通过“坏味道”识别出需要重构的代码,以及如何在实践中成功实施重构(无论用的是什么编程语言)。
● 理解重构的过程和重构的基本原则;
● 快速有效地应用各种重构手法,提升程序的表达力和可维护性;
● 识别代码中能指示出需要重构的地方的“坏味道”;
● 深入了解各种重构手法,每个手法都包含解释、动机、做法和范例4 个部分;
● 构建稳固的测试,以支持重构工作的开展;
● 理解重构过程的权衡取舍以及重构存在的挑战等。
五、《领域驱动设计:软件核心复杂性应对之道》
本书是领域驱动设计方面的经典之作,修订版更是对之前出版的中文版进行了全面的修订和完善。
全书围绕着设计和开发实践,结合若干真实的项目案例,向读者阐述如何在真实的软件开发中应用领域驱动设计。书中给出了领域驱动设计的系统化方法,并将人们普遍接受的一些实践综合到一起,融入了作者的见解和经验,展现了一些可扩展的设计新实践、已验证过的技术以及便于应对复杂领域的软件项目开发的基本原则。
六、《浪潮之巅》(第四版)(上下册)
这不是一本科技产业发展历史集,而是在这个数字时代,一本IT人非读不可,而非IT人也应该拜读的作品。
《浪潮之巅 第四版》是一本介绍互联网及IT行业兴衰变化的书,书中的内容最初由吴军博士发表在Google黑板报上,历经多次改写和重构,第四版增加了四分之一的内容,并重写和更新了其他章节。近一百多年来,总有一些公司很幸运地、有意识或无意识地站在技术革命的浪尖之上。在这十几年间,它们代表着科技的浪潮,直到下一波浪潮的来临。从一百多年前算起,AT&T 公司、IBM 公司、苹果公司、英特尔公司、微软公司、思科公司、雅虎公司和 Google 公司,也许还有接下来的特斯拉公司,都先后被幸运地推到了浪尖。虽然,它们来自不同的领域,中间有些已经衰落或正在衰落,但是它们都极度辉煌过。在这些公司兴衰的背后,有着它必然的规律。《浪潮之巅》系统地介绍了这些公司成功的本质原因及科技工业一百多年的发展。本书不仅讲述科技工业的历史,更重在揭示它的规律性。
七、《深度学习》
深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。因为计算机能够从经验中获取知识,所以不需要人类来形式化地定义计算机需要的所有知识。层次概念允许计算机通过构造简单的概念来学习复杂的概念,而这些分层的图结构将具有很深的层次。本书会介绍深度学习领域的许多主题。
本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。
八、《人工智能》(第2版)
本书是作者结合多年教学经验、精心撰写的一本人工智能教科书,堪称“人工智能的百科全书”。全书涵盖了人工智能简史、搜索方法、知情搜索、博弈中的搜索、人工智能中的逻辑、知识表示、产生式系统、专家系统、机器学习和神经网络、遗传算法、自然语言处理、自动规划、机器人技术、高级计算机博弈、人工智能的历史和未来等主题。
本书提供了丰富的教学配套资源,适合作为高等院校人工智能相关专业的教材,也适合对人工智能相关领域感兴趣的读者阅读和参考。
九、《百面深度学习 算法工程师带你去面试》
本书由Hulu的近30位算法研究员和算法工程师共同编写完成,专门针对深度学习领域,是《百面机器学习:算法工程师带你去面试》的延伸。全书内容大致分为两个部分,第一部分介绍经典的深度学习算法和模型,包括卷积神经网络、循环神经网络、图神经网络、生成模型、生成式对抗网络、强化学习、元学习、自动化机器学习等;第二部分介绍深度学习在一些领域的应用,包括计算机视觉、自然语言处理、推荐系统、计算广告、视频处理、计算机听觉、自动驾驶等。本书仍然采用知识点问答的形式来组织内容,每个问题都给出了难度级和相关知识点,以督促读者进行自我检查和主动思考。书中每个章节精心筛选了对应领域的不同方面、不同层次上的问题,相互搭配,展示深度学习的“百面”精彩,让不同读者都能找到合适的内容。
十、《笨办法学Python 3》
本书是一本Python入门书,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。这本书以习题的方式引导读者一步一步学习编程,从简单的打印一直讲到完整项目的实现,让初学者从基础的编程技术入手,最终体验到软件开发的基本过程。本书是基于Python 3.6版本编写的。
本书结构非常简单,除“准备工作”之外,还包括52个习题,其中26个覆盖了输入/输出、变量和函数3个主题,另外26个覆盖了一些比较进阶的话题,如条件判断、循环、类和对象、代码测试及项目的实现等。每一章的格式基本相同,以代码习题开始,按照说明编写代码,运行并检查结果,然后再做附加练习。
十一、《Python编程快速上手 让繁琐工作自动化》
本书是一本面向实践的Python编程实用指南。本书的目的,不仅是介绍Python语言的基础知识,而且还通过项目实践教会读者如何应用这些知识和技能。本书的首部分介绍了基本Python编程概念,第二部分介绍了一些不同的任务,通过编写Python程序,可以让计算机自动完成它们。第二部分的每一章都有一些项目程序,供读者学习。每章的末尾还提供了一些习题和深入的实践项目,帮助读者巩固所学的知识。附录部分提供了所有习题的解答。
本书适合任何想要通过Python学习编程的读者,尤其适合缺乏编程基础的初学者。通过阅读本书,读者将能利用强大的编程语言和工具,并且会体会到Python编程的快乐。
十二、《Python核心编程》(第3版)
《Python核心编程(第3版)》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的Web编程、Django Web框架、云计算、高级Web服务。第3部分则为一个补充/实验章节,包括文本处理以及一些其他内容。
十三、《Spring实战》 第5版
Spring框架能够让Java开发人员的工作更加轻松。Spring 5的新特性通过微服务、反应式开发进一步提升了生产效率。随着与Spring Boot的全面集成,我们现在用少的配置就可以启动复杂的项目。全新升级的WebFlux框架对反应式应用程序提供了开箱即用的支持。
本书继续以众所周知的清晰风格,介绍了Spring 5的核心特性。你将亲自动手,逐步构建出一个安全的、以数据库作为支撑的Web应用。在这个过程中,你还将会探索反应式编程、微服务、服务发现、RESTful API、部署并掌握专家级的佳实践。无论你是Spring的初学者,还是想要升级到Spring 5,本书都不容错过。
十四、《C++ Primer Plus 》第6版 中文版
《C++ Primer Plus(第6版)中文版》分18章,分别介绍了C++程序的运行方式、基本数据类型、复合数据类型、循环和关系表达式、分支语句和逻辑运算符、函数重载和函数模板、内存模型和名称空间、类的设计和使用、多态、虚函数、动态内存分配、继承、代码重用、友元、异常处理技术、string类和标准模板库、输入/输出、C++11新增功能等内容。
《C++ Primer Plus(第6版)中文版》针对C++初学者,从C语言基础知识开始介绍,然后在此基础上详细阐述C++新增的特性,因此不要求读者有C语言方面的背景知识。《C++ Primer Plus(第6版)中文版》可作为高等院校教授C++课程的教材,也可供初学者自学C++时使用。
十五、《C Primer Plus》 第6版 中文版
《C Primer Plus(第6版)中文版》是一本经过仔细测试、精心设计的完整C语言教程,它涵盖了C语言编程中的核心内容。《C Primer Plus(第6版)中文版》作为计算机科学的经典著作,讲解了包含结构化代码和自顶向下设计在内的程序设计原则。
与以前的版本一样,作者的目标仍旧是为读者提供一本入门型、条理清晰、见解深刻的C语言教程。作者把基础的编程概念与C语言的细节很好地融合在一起,并通过大量短小精悍的示例同时演示一两个概念,通过学以致用的方式鼓励读者掌握新的主题。
每章末尾的复习题和编程练习题进一步强化了*重要的信息,有助于读者理解和消化那些难以理解的概念。本书采用了友好、易于使用的编排方式,不仅适合打算认真学习C语言编程的学生阅读,也适合那些精通其他编程语言,但希望更好地掌握C语言这门核心语言的开发人员阅读。
十六、《C和指针》
本书是为水平较高的C程序员和学生量身打造的,为那些需要深入理解C编程语言的人提供了以全面详尽的资源。本书对指针的基础知识和高级特性进行了全面且深入的讲解与探索,确保C程序员能够将指针的强大功能融入到他们的C程序中。本书内容覆盖全面,对C编程惯用法进行了详细解释,还对C指针的一些高级主题进行了深入讨论,对于高水平的学生和C程序员来说,本书是相当有价值的教程和参考资料。
本书内容:
1、提供了完整的背景信息,以方便读者全面理解C语言;
2、全面介绍了指针的内容,包括语法、有效使用指针的艺术,以及指针的常见编程惯用法;
3、对实现通用抽象数据结构的不同方法进行了比较;
4、使用简单、熟悉的写作风格来清楚解释难度较大的主题,并使用大量的插图和图表将复杂的概念进行可视化;
5、讨论了编程技巧、效率、可移植性和软件工程等问题,并利用“警告”的方式对一些常见的编程陷阱进行了标注;
6、介绍了C标准库中的每一个函数。
十七、《C 陷阱与缺陷》
本书对会让程序预期行为与实际行为产生很大不同的C语言特性进行了详细介绍。本书通过具体的案例和有帮助的建议来演示并介绍C语言中的这些陷阱与缺陷。本书每章末尾还包含了一些思考和相应的讨论。
即使是C编程专家,也会经常遇到一些需要数天调试才能修复的问题。本书中的每个示例都会让C程序员陷入困境,本书将通过展示这些困境来帮助读者预防这些问题。
除了书中的这些示例之外,本书还提供了下面这些建议:
1、避免离一(off-by-one)错误;
2、理解和构建函数声明;
3、理解指针和数组之间的微妙关系。
十八、《Go语言实战》
Go语言实战目标读者是已经有一定其他编程语言经验,想要开始学习Go 语言或者更深入了解Go 语言及其内部机制的中级开发者。本书会提供一个专注、全面且符合习惯的视角。本书关注Go 语言的规范和实现,涉及的内容包括语法、Go 的类型系统、并发、通道和测试等主题。
Go语言实战 主要内容
● Go语言规范和实现。
● Go语言的类型系统。
● Go语言的数据结构的内部实现。
● 测试和基准测试。
十九、《UNIX环境高级编程》 第3版
本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的第3版。在本书第2版出版后的8年中,UNIX发生了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持前一版风格的基础上,根据新的标准对内容进行了修订和增补,反映了新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了众多应用实例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。