程序员必看的书籍推荐:
推荐1:Python 网络数据采集
作者:Ryan Mitchell
译者:陶俊杰,陈小莉
原书4.6星好评,一本书搞定数据采集
涵盖数据抓取、数据挖掘和数据分析
提供详细代码示例,快速解决实际问题
网络上的数据量越来越大,单靠浏览网页获取信息越来越困难,如何有效地提取并利用信息已成为一个巨大的挑战。
本书采用简洁强大的 Python 语言,介绍了网络数据采集,并为采集新式网络中的各种数据类型提供了全面的指导。第一部分重点介绍网络数据采集的基本原理:如何用 Python 从网络服务器请求信息,如何对服务器的响应进行基本处理,以及如何以自动化手段与网站进行交互。第二部分介绍如何用网络爬虫测试网站,自动化处理,以及如何通过更多的方式接入网络。
推荐2:像程序员一样思考
编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问鲤.从而构建美妙的应用。本书分析了程序员解决问题的方法,并且教授你其他图书所忽略的一种能力,即如何像程序一样思考。
全书分为8章。第1章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。第2章通过实际编写C++代码来解决几个简单的问题,从而让读者进一步体会到问题解决的思路和应用。第3到7章是本书的主体部分,分别探讨了用数组、指针和动态内存,类、递归和代码复用来解决问题的途径和实际应用。最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。
本书选取的话题切中程序员的痛点,针对他们最容易陷入挣扎的领域展开讨论,引发思考。每章后面都给出一些编程习题,使得读者能够应用该章所讨论的概念,训练和提升问题解决的能力。
推荐3:Java 性能权威指南
作者:Scott Oaks
译者:柳飞,陆明刚,臧秀涛
《Java 性能权威指南》对 Java 7 和 Java 8 中影响性能的因素展开了全面深入的介绍,讲解传统上影响应用性能的JVM特征。内容包括:用 G1 垃圾收集器最大化应用的吞吐量;使用 Java飞行记录器查看性能细节,而不必借助专业的分析工具;堆内存与原生内存最佳实践;线程与同步的性能,以及数据库性能最佳实践等。
推荐4:Redis 实战
本书深入浅出地介绍了Redis的5种数据类型,并通过多个实用示例展示了Redis的用法。除此之外,书中还讲述了Redis的优化方法以及扩展方法,是一本对于学习和使用 Redis 来说不可多得的参考书籍。
本书一共由三个部分组成。第一部分对Redis进行了介绍,说明了Redis的基本使用方法、它拥有的5种数据结构以及操作这5种数据结构的命令,并讲解了如何使用Redis去构建文章展示网站、cookie、购物车、网页缓存、数据库行缓存等一系列程序。第二部分对Redis命令进行了更详细的介绍,并展示了如何使用Redis去构建更为复杂的辅助工具和应用程序,并在最后展示了如何使用Redis去构建一个简单的社交网站。第三部分对Redis用户经常会遇到的一些问题进行了介绍,讲解了降低Redis内存占用的方法、扩展Redis性能的方法以及使用Lua语言进行脚本编程的方法。
推荐5:解读 NoSQL
作者 [美]丹麦克雷(Dan McCreary)、安凯利(Ann Kelly)
译者范东来、滕雨橦,责任编辑杨海玲。
本书从 NoSQL 的相关理论开始,深入浅出地探讨了 NoSQL 最核心的架构模式、解决方案和一些高级主题,内容循序渐进,从理论回归于实践。
全书分为 4 个部分。第一部分介绍 NoSQL 的相关理论,如 CAP 理论、BASE 理论、一致性散列算法等;第二部分介绍 NoSQL 最核心的架构模式键值存储、图存储、列族存储、文档存储;第三部分展现一些常用的 NoSQL 解决方案,如 HA、全文搜索等;最后一部分讨论 NoSQL 的一些高级主题,如函数式编程。
推荐给程序员们的专业技术书
1、第一本Docker书
Docker公司前服务与支持副总裁力作
全球第一本Docker技术图书
学习Docker必备的第一本书
《第 一本Docker书》由Docker 公司前服务与支持副总裁James Turnbull 编写,是权威的Docker 开发指南。本书会指导读者完成Docker 的安装、部署、管理和扩展,带领读者经历从测试到生产的整个开发生命周期,让读者了解Docker 适用于什么场景。书中先介绍Docker 及其组件的基础知识,然后用Docker 构建容器和服务来完成各种任务:利用Docker 为新项目建立测试环境,演示如何使用持续集成的工作流集成Docker,如何构建应用程序服务和平台,如何使用Docker 的API,如何扩展Docker。
2、游戏设计的100个原理
众多游戏设计秘籍
100条重要的游戏设计领域的方法
《游戏设计的100个原理》分4篇向读者讲述了游戏创 新、创作、平衡和解决问题的100个原理。每一个专题都采用丰富的案例来介绍多种不同的设计思路,同时以经典图片的形式点出了该原理所蕴含的真谛。 本书为全彩设计,适合从事或学习游戏设计的专业人士阅读,读者将从本书中学到如何让游戏流行,如何让玩家痴迷,如何设置关卡以及如何解决游戏设计中的问 题。
3、编程珠玑(第二版 修订版)
历史上最伟大的计算机科学著作之一
融深邃思想、实战技术与趣味轶事于一炉的奇书
《编程珠玑》是对我职业生涯早期影响最大的书之一,其中的许多真知灼见多年之后仍然使我受益匪浅。 Steve McConnell,软件工程大师,IEEE Software前主编,《代码大全》作者
《编 程珠玑(第2版修订版)》本书是计算机科学方面的经典名著。书的内容围绕程序设计人员面对的一系列实际问题展开。作者Jon Bentley 以其独有的洞察力和创造力,引导读者理解这些问题并学会解决方法,而这些正是程序员实际编程生涯中至关重要的。本书的特色是通过一些精心设计的有趣而又颇 具指导意义的程序,对实用程序设计技巧及基本设计原则进行了透彻而睿智的描述,为复杂的编程问题提供了清晰而完备的解决思路。本书对各个层次的程序员都具 有很高的阅读价值。
4、编写可测试的JavaScript代码
资深程序员讲述JavaScript代码编写和测试之道
《编写可测试的JavaScript代码》目标是教授如何为客户 端和服务器编写和维护可测试的JavaScript代码。全书共8章。首先介绍了什么是可测试的代码,然后分别从代码复杂度、架构、单元测试、代码覆盖 率、集成测试、性能测试、负载测试、调试和自动化等角度详细介绍。书中丰富的示例能够帮助读者从头开始养成好的代码编写习惯,提升测试效率及代码的可维护 性。 本书的作者曾先后在YouTube、Yahoo!以及Google等公司从事前端开发及测试相关工作,具有丰富的经验。本书主要针对那些想成为 JavaScript专业开发人员的人;也适合初中级水平或者专家级别的开发人员参考阅读。
程序员精选
1、深入理解Scala
来自资深实践者的深刻洞见
Scala之父作序推荐
权威并且易于理解。Martin Odersky Scala之父
带你深入Scala的内部工作机制。John C Tyler PROS Pricing
目前为止,我在技术书里读到过的最好的示例。Eric Weinberg Wagger Designs
《深入理解Scala》深入探讨了Scala里几个较为复杂的领域,包括类型系统的高阶内容、隐式转换、特质的组合技 巧、集合、Actor、函数式编程的范畴论等,而且不是干巴巴地讲述语言和库的概念。本书充满各种实用的建议和最佳实践,可以来帮助读者学习怎样把 Scala里较少被掌握的部分应用到工作中。 本书不是Scala的入门级教程,而是适合有经验的Scala程序员向专家水平进阶的参考读物。本书适合想要了解Scala语言的底层机制和技术细节的读 者阅读参考。
2、优质代码:软件测试的原则、实践与模式
提炼作者有30多年的软件开发经验
20多年软件测试技术的教授经验
从开发人员关注的代码质量的角度来讲软件测试
什 么是优质代码?除了能够正确实现设计意图外,优质代码还应该具备三好的特性:好看,好闻(没有坏味道),好验证。然而,如何写出优质代码呢?除了好看 和好闻之外,可测试性是优质代码的重要指标。尽管开发工程师普遍对提高代码的可测试性感兴趣,但是,想要在复杂的代码环境下游刃有余地解决可测试性问题, 非得有合适的招式支撑不可。《优质代码》这本书提供了一整套提升代码可测试性和测试代码的招式,书中结合实例对不同招式进行了细致的讲解,并用两个相 对完整的实例演示了招式的使用。对于立志于写出优质代码却又受可测试性困扰的开发工程师来说,本书是不可多得的参考资料。 段念,豆瓣网工程副总裁
《优 质代码:软件测试的原则、实践与模式》使用真实的代码示例介绍了测试的模式、原则和20多个技术细节,并通过两个完整的案例分析,即测试一个全新的 Java应用程序和一个未被测试的遗留JavaScript jQuery插件,将本书讲述的所有内容整合在了一起。此外,作者还展示了一个概念框架,帮助读者将精力重点放在改善贯穿整个软件生命周期的可测试性上, 并给读者提供了简化代码构造的全系列测试的实操指南。
3、图数据库
《图数据库》系统地介绍了图数据库的历史由来、建模方法、工作原理和一些真实的用户用例,详细地说明了图数据解决的是什么样的问题,并 以Ne4j数据库和Cypher查询语言为例,阐述了图数据库的建模方法和领域用例,最后还介绍了图数据库的工作原理以及一些实用的图论算法。本书的三位 作者均为Neo4j Technology公司的技术高手,他们对图数据库及其解决方案有丰富的经验,其中一位甚至还是Neo4j图数据库的联合创始人。
4、HTML5实战
《HTML5实战》是一本全面介绍运用HTML5开发Web应用的书籍,包括了数据存储、通信以及如何创建视频游戏等诸多内容。全书分 为4个部分,第一部分主要介绍HTML5语法及本书所涉及的全部API;第二部分主要介绍基于浏览器的应用;第三部分主要介绍交互式图像、媒体及游戏;第 四部分是附录内容,深入介绍了一些本书的主题,提供一系列重要的参考资料。
5、趣学Python:教孩子学编程(全彩版)
Amazon畅销编程图书
无需任何计算机基础知识
轻松有趣地掌握Python编程
《趣学 Python》把你带入一个鲜活的Python编程世界。作者 Jason R. Briggs将带领你用独特的(往往很好玩 的)示例程序带你学习基础知识。每章后面都配有 编程练习来帮助训练思维并加强理解。在本书的最 后部分,你将编写两个完整的游戏:一个经典弹球 游戏的复制品,以及一个能在平台上跳跃、有动画 及更多效果的《火柴人逃生》游戏。
6、JavaScript面向对象编程指南(第2版)
唯一一本介绍JavaScript面向对象编程的图书。
本书是《JavaScript面向对象编程指南》的第二版,全书 包括8章和4个附录。依次介绍了JavaScript的发展历史、基础性话题(变量、数据类型、数组、循环以及条件表达式)、函数、对象、原型、继承的实 现、BOM和DOM等。附录部分包括了学习JavaScript编程常用的参考资源。尤其值得一提的是,本书作者是JavaScript设计模式方面的专 家,他在本书第8章中介绍了几种常用的JavaScript编程模式,这也成为他的另一本重要著作《JavaScript模式》(JavaScript Patterns)奠定了基础。
7、Java EE 7精粹
最权威的Java EE开发资讯
《Java EE 7精粹》提供了Java EE 7平台中关键规范的概述。全书共16个章节,对Java EE 7平台中的每一个概念都给予了详细的解释,并通过一系列简单的代码示例来帮助读者更好地了解这个平台。作者Arun是Java EE团队的核心成员,也是Oracle的Java布道者,对Java EE 7平台的启动有重要贡献,是对Java EE 最有发言权的技术专家。
8、像程序员一样思考(修订版)
学会像程序员一样思考
构建创新性问题解决方案!
本书所提供的习题类似于我在接受Google和Facebook的软件工程师面试时所遇到的问题,因此对于打算通过面试寻找新工作的专业程序员,本书是极好的复习材料。 Ariane Coffin, Wired.com网站的GeekMom
《像 程序员一样思考》(修订版)分为8章。第1章通对几个经典的算法问题切入,概括了问题解决的基本技巧和步骤。第2章通过实际编写C++代码来解决几个简单 的问题,从而让读者进一步体会到问题解决的思路和应用。第3到7章是本书的主体部分,分别探讨了用数组、指针和动态内存,类、递归和代码复用来解决问题的 途径和实际应用。最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。
9、SQL学习指南
如果你决定开始学习SQL语言,那么请卷起袖子大干一场吧,不过别忘了让本书成为你的伙伴。阅读本书并完成 书中每个实践练习,可以为创建基于数据库的解决方案做好准备。数据库无所不在,本书向你提供作者在工作中经过实践检验的宝贵经验。 Roy Owens 来自CBORD Group公司的数据库专家
《SQL学习指南》本书全面系统地介绍了SQL语言各 方面的基础知识以及一些高级特性,包括SQL数据语言、SQL方案语言、数据集操作、子查询以及内建函数与条件逻辑等内容。书中每个章节讲述一个相对独立 的主题,并提供了相关示例和练习。本书内容以SQL 92标准为蓝本,涵盖了市场上常用数据库的最新版本(MySQL 6.0、Oracle 11g及Microsoft SQL Server 2008)。 本书适合数据库应用开发者、数据库管理员和高级用户阅读。针对开发基于数据库的应用程序,以及日常的数据库系统管理,本书都展现了大量经过实践检验的方法 和技巧。读者可以通过对本书循序渐进地学习快速掌握SQL语言,也可以在实际工作中遇到问题时直接翻阅本书中的相关章节以获取解决方案。
10、大数据存储:MogoDB实战指南
《大数据存储:MongoDB实战指南》从学习与实践者的视角出发,本着通俗精简、注重实践、突出精髓的原则,精准剖析了 MongoDB的诸多概念和要点。全书共分4个部分,分别从基础知识、深入理解MongoDB、监控与管理MongoDB和应用实践几个维度详细地介绍了 MongoDB的特点及应用实例。 本书适合有海量数据存储需求的人员、数据库管理开发人员、数据挖掘与分析人员以及各类基于数据库的应用开发人员。读者将从书中获得诸多实用的知识和开发技 巧。
11、Python Cookbook(第3版)中文版
Python Cookbook(第3版)中文版覆盖了Python应用中的很多常见问题,并提出了通用的解决方案。书中包含了大量实用的编程技巧和示例代码,并在 Python 3.3环境下进行了测试,可以很方便地应用到实际项目中去。此外,本书还详细讲解了解决方案是如何工作的,以及为什么能够工作。
畅销回顾
1、《数学之美》第二版
获奖畅销书《数学之美》第一版荣获国家图书馆第八届文津图书奖。
第一版入选广电总局2014年向全国青少年推荐百种优秀图书书目,荣获2012-2013年度全行业优秀畅销书。
信息领域大学生必读好书,央视新闻推荐的学科敲门砖。
新版增加了大数据和机器学习等最新内容,以满足人们对当下技术的学习需求;同时,根据专家和读者的反馈更正了错漏,并更新了部分内容。
《数 学之美》第一版上市后深受广大读者欢迎,并荣获国家图书馆第八届文津图书奖。读者说,读了《数学之美》,才发现大学时学的数学知识,比如马尔科夫链、矩阵 计算,甚至余弦函数原来都如此亲切,并且栩栩如生,才发现自然语言和信息处理这么有趣。而今,数学在信息产业中的应用越来越广泛,因此,作者在第二版中增 加了一些内容,尤其是针对大数据和机器学习的内容,以便满足人们对当下技术的学习需求。
2、文明之光 第三册
吴军博士继获奖畅销书《浪潮之巅》、《数学之美》之后的跨界之作
为您讲述他眼中的超越上下五千年的人类文明史
随文津奖得主一起体会科技与人文之美
作 者所选的创作素材来自于十几年来在世界各地的所见所闻,对其内容都有着深刻的体会和认识。《文明之光》系列第三册每个章节依然相对独立,书中全景式地展现 了人类文明发展历程中的多样性。内容涉及音乐、美术、计算机、互联网、金融、硅谷对世界科技发展的启迪、微粒子和宇宙天文学、环境保护八个专题。
3、构建之法:现代软件工程
做中学 Learning By Doing的现代方式教授软件工程
李未院士鼎力推荐,众多软工教师一致好评
微软研发总监邹欣力作
推荐软件工程专业学子阅读,了解软件工程真正内涵,懂得工程二字真正含义,知道软件工程和计算机科学的区别。了解之后,就知道为何软件工程是就业含金量较高的行业了。
朝红阳(http://weibo.com/u/1794892070)/中山大学软件学院
书中设想了大量的场景学和习,并且用了大量的类比,非常生动有趣。这本教材也对软件工程课老师提出了更高的要求;对学生而言,同样面临着要付出怎样的努力才能学到干货的选择。
鞠小林(http://weibo.com/jukxy)/南通大学计算机学院
《构建之法:现代软件工程》共分17章,对照美国ACM/IEEE2013年新出版的计算机科学教学指导 (Computer ScienceCurricula 2013)中的软件工程相关部分,这本教材覆盖了其中大多数Core-Tier1和Core-Tier2的内容。可以说,全书对软件工程内容的覆盖不逊于 任何一本现行的教材,同时讲述了业界最新实践方法。
4、Wireshark网络分析就这么简单
在那些让人崩溃的网络故障或性能问题面前,Wireshark是非常有效的利器如果你能够像作者一样对它驾轻就熟的话。本书作者根据自己多年 的经验,不仅由浅入深地把Wireshark的功能和使用技巧展示出来,还深入浅出地介绍了DNS、HTTP、NFS等协议的工作原理。本书不同于一般教 科书的特点是:把本来枯燥的技术问题写得如此诙谐、有趣!作者写得从容,相信读者也读得轻松。
段海新,清华大学博士生导师
《Wireshark网络分析就这么简单》采用诙谐、幽默、风趣的手法,由简入深地对使用Wireshark来分析常见网络协议的方法进行了剖析,作者还通过身边发生的大量真实案例分享了Wireshark的数据包分析实战技巧。
其他技术类图书不同的是,本书不务虚,不注水,力求为读者提供最佳阅读体验,使读者在一个轻松愉悦的阅读氛围中,潜移默化地掌握Wireshark的前世今生和实用技巧,为你的网络工程师生涯提供技术支持。