无论你喜欢阅读在线技术书籍还是纸质技术书籍,出版商们都能满足你的要求。下面就是六家出版商们分享的他们选出的2015年度开源好书。
Go 程序设计语言(The Go Programming Language)
- 作者:Alan A. A. Donovan 和 Brian W. Kernighan
- ISBN:0134190440
- 400 页
- 出版日期: 2015年10月
- 格式:EPUB、MOBI 和 PDF
《Go 程序设计语言》是任何想要学习 Go 语言的程序员的权威资料。本书展示了如何书写清晰而规范的 Go 代码来解决实际问题。本书不要求读者已经了解 Go 语言,甚至不要求读者具备任何一门语言的开发经验,这使得无论是 JavaScript 、Ruby 、Python 还是 C++ 的程序员都能轻易上手。本书有数百个有趣、实用且书写良好的 Go 语言代码范例,涵盖了 Go 语言本身的全部内容、Go 语言最重要的类库以及各种各样的应用。每一章还配备了练习以测试对本章内容的理解,扩展知识面以及介绍一些替代方案。
- 作者:Brett Slatkin
- ISBN:0-13-403428-7
- 256 页
- 出版日期: 2015年2月
- 格式:EPUB、MOBI 和 PDF
本书将会让读者掌握真正的 “Python 式” 的编程方法,释放 Python 的全部潜力,写出极为鲁棒和高效的代码。作者 Brett Slatkin 采用 Scott Meyers 在畅销书《Effective C++》中开创的简洁的、场景驱动的方式,向读者讲述了 59 个 Python 的最佳实践、技巧和捷径,并且用实际的代码进行了阐释。根据他在谷歌构建 Python 基础架构的经验,Slatkin 揭示了一些鲜为人知的能够极大影响程序行为并提升效率的技巧和习惯用法。他教授了完成关键任务的最佳做法,让读者能够写出更加易于读懂、维护和改进的代码。
Dart 程序设计语言(The Dart Programming Language)
- 作者:Gilad Bracha
- ISBN:0-321-92770-2
- 224 页
- 出版日期: 2015年12月
- 格式:EPUB、MOBI 和 PDF
在这本严谨而可读的介绍性著作中,Dart 规范的领导人 Gilad Bracha 全面介绍了 Dart 语言本身以及其背后蕴藏的思想,为程序员、计算机科学系的学生以及其他专业人员提供了一份 Dart 语言的权威描述。本书用翔实的例子来描述了 Dart 的核心程序结构,着重于 optional typing 和纯面向对象等基本原则。 Bracha 透彻地解释了 Dart 中的反射机制,展示了它如何演化为一个程序员能轻松使用的form,从而不必创建过大的程序。Bracha 还分享了对于 Dart 并发和异步编程的 actor-style 模型的真知灼见。贯穿全书的不仅仅有 Dart 的语义,更有其关键特性的基本原理,使读者不仅能知其然,也能知其所以然。
- 作者:Julian Gamble
- ISBN:0-321-92773-7
- 288 页
- 出版日期: 2015年10月
- 格式:EPUB、MOBI 和 PDF
这是对 clojure 这门慢慢流行起来的语言的一本最新且选材广泛的“代码菜谱”。Gamble 通过实用而完备的例子描述了 clojure 的主要特性和最佳实践,展示了如果循序渐进解决实际问题。本书着力于 clojure 1.7 及以上的版本,全面反映了该语言最近的改进,确保在项目中使用最新的代码。
Shell 脚本编程范例第二版(Shell Scripting Recipes, Second Edition)
- 作者:Jayant Varma
- ISBN13:978-1-484202-21-0
- 380 页
- 出版日期: 2015年10月
- 格式:EPUB、MOBI 和 PDF
全书以解决问题的方式讲述了超过 150 个最实际和最需要的范例,帮助所有的 Unix 用户们重新找回了当年编写和测试 shell 脚本的时光。这本书中的大部分脚本都是兼容 POSIX(Portable Operating System Interface) 的,因此它也支持大部分的主流 shell ,包括 Bash 、zsh 和 sh 等等。这本全新的第二版考虑了在第一版出版快 10 年后在 shell 脚本编程上的很多变化,目前所有的范例都是最“摩登”的。
每一个真实的范例都采用相同的结构,能让读者轻松地弄明白每一个范例的作用。文件转换(DOS 、Unix 以及 Mac)、系统管理和资源监控仅仅是这本极其实用的 shell 脚本编程参考书中的几个话题。读者从书中还会学到文件名管理、复杂日期计算、屏幕控制等其他技巧。
专业 Bash 编程第二版(Pro Bash Programming, Second Edition)
- 作者:Jayant Varma 和 Chris F. A. Johnson
- ISBN13:978-1-484201-22-0
- 256 页
- 出版日期: 2015年6月
- 格式:EPUB、MOBI 和 PDF
本书教会你如何在你的程序中有效地利用 Bash shell 。Bash shell 是一门完整的编程语言,而不仅仅是整合外部 Linux 命令的胶水语言。一旦全面利用 shell 内部的特性,shell 程序就会表现得和用 C 或其他编译型语言所撰写的程序一样棒。同时你还会看到在没有预先的 Unix 知识的情况下,你一样能使用标准的编程技术来写出专业的 Bash 4.3 程序。很多脚本都进行了重写,以更符合 Bash 的规范并更好地利用 Bash 的特性。本书易读易懂,能教会你如何抓住 Bash 编程的精髓,而不是淹没在卷帙浩繁的语法手册中。
企业自由软件和开源解决方案(Pro Freeware and Open Source Solutions for Business)
- 作者:Philip Whitt
- ISBN13:978-1-484211-31-1
- 280 页
- 出版日期: 2015年9月
- 格式:EPUB、MOBI 和 PDF
这是小企业主寻找切实可行的昂贵的商业软件替代方案的指南。这本参考指南概述了很多专业软件的替代品,这些自由软件的替代品既流行且强大。在本书中你能找到针对办公、PDF 创建、会计、图像编辑和设计、桌面发布、3D 设计、CAD 、音视频编辑、网页和博客构建、客户关系管理、销售点、网络与安全等领域的自由和开源软件,以及 Windows 和 Macintosh 操作系统的替代品。只需要将很少一部分商业软件替换为自由和开源软件,你就能省下一笔可观的费用。
Windows 和 Mac 用户的Ubuntu上手指南(Beginning Ubuntu for Windows and Mac Users)
- 作者:Nathan Haines
- ISBN13:978-1-484206-09-6
- 244 页
- 出版日期: 2015年9月
- 格式:EPUB、MOBI 和 PDF
想要转移到一个开源的系统,抑或是想要帮助别人完成这种迁移?如果你寻觅一个全面的指南无果或是不知道该从何开始,这本书会让你高兴的。本书教给所有的 Ubuntu 初学者如何用这个系统来办公和娱乐。快来用这本精彩的初学者指南带你开启开源之旅吧!
- 作者:Amrith Kumar 和 Douglas Shelley
- ISBN13:978-1-484212-22-6
- 336 页
- 出版日期: 2015年8月
- 格式:EPUB、MOBI 和 PDF
这是一个循序渐进地教你建立一个安全可伸缩的云数据库并运行数据库即服务(DBaaS)的指南。本书向你展示了如何建立和配置 Trove DBaaS 框架,如何使用预先打包或定制的数据库实现,以及如何在开发和生产环境下操作各种数据库,包括 MySQL 、 PostgreSQL 、 MongoDB 、 Cassandra 和 Redis。
两位作者 Amrith Kumar 和 Douglas Shelley 都是 Trove 项目的积极的技术贡献者。二位描述了常见的部署场景,带领读者了解安装、配置以及复杂的数据库管理问题,例如复制、集群以及高可用性。本书对 Trove 的运作进行了详尽地描述,让读者对 Trove 的架构有一个深度的了解。
用 Python 来把无聊的事情自动化起来(Automate the Boring Stuff with Python)
- 作者:Al Sweigart
- ISBN:978-1-59327-599-0
- 504 页
- 出版日期: 2015年4月
- 格式:EPUB、MOBI 和 PDF
当你可以写一个程序来为你干脏活累活的时候,你为什么还要花数小时(数周甚至数月)来亲自干这些繁重的体力活呢?本书不需要你有任何的编程基础,你需要的只是找到一个你想要自动化完成的任务以及想要学习 Python 基础的意愿。Python 程序可以毫不费力地完成诸如对 PDF 进行分解、合并、加水印和加密,更新 Excel 文件,在线填写表单等工作。本书可以让你的工作流水线化,把你从繁重费事的工作中解放出来。
如果想要阅读更多本书作者 Al Sweigart 的著述,请访问他 在Opensource.com上的页面 。
教你的孩子写代码(Teach Your Kids to Code)
- 作者:Bryson Payne
- ISBN:978-1-59327-614-0x
- 336 页
- 出版日期: 2015年4月
- 格式:EPUB、MOBI 和 PDF
即使你连循环和变量都分不清楚,有了这本书,你可以通过 Python 带你的孩子了解编程的基本概念。本书采用了循序渐进的可视化教学以及面向游戏的例子来抓住孩子们的注意力,同时增强他们的解决问题和计算思考的能力。当你和孩子同时学习的时候,你会学会如果构建游戏(例如 Yahtzee 和 Pong ),编写编码和解码消息的程序,用 Turtle 图形库来画出五颜六色的图形等等。
如果想要阅读更多本书作者 Bryson Payne 的著述,请访问他 在Opensource.com上的页面 。
SparkFun 的 Processing 指南(SparkFun Guide to Processing)
- 作者:Derek Runberg
- ISBN:978-1-59327-612-6
- 312 页
- 出版日期: 2015年8月
- 格式:EPUB、MOBI 和 PDF
本书使用了对艺术家友好的编程语言 Processing ,通过互动艺术和游戏的方式来释放你的创造力。从中你会得到动画和编程的入门知识,并一步步的完成一系列的项目,包括像素画、迷宫游戏以及能响应声光温度的迷幻可视化效果。
ScratchJr 官方手册(The Official ScratchJr Book)
- 作者:Marina Umaschi Bers 和 Mitchel Resnick
- ISBN:978-1-59327-671-3
- 160 页
- 出版日期: 2015年10月
- 格式:EPUB、MOBI 和 PDF
拥有超过 1100 万用户的 Scratch 已经成为了教孩子编程的标准了。现在镇上又来了一个新孩子—— ScratchJr !有了这门转为五到七岁的孩子设计的编程语言,孩子们就可以在 Android 或 iPad 平板上创建交互的故事或游戏,并从中学到编程的基础知识。本书由 ScratchJr 的创造者编写,包含了一步步深入的若干活动,每一章都以一个有趣的项目结束。通过这种方式,孩子们能发展出计算思维、问题解决以及设计的技能。这本书还包括了对成人的一些小贴士,加深学习的一些有创造性的挑战以及将活动与语文以及数学联系起来的建议。
用 Python 来做数学(Doing Math with Python)
- 作者:Amit Saha
- ISBN:78-1-59327-640-9
- 264 页
- 出版日期: 2015年8月
- 格式:EPUB、MOBI 和 PDF
本书是热爱和钻研数学者的福音。它向读者展示了如何用 Python 来探究高中数学层次的问题,比如概率统计、几何和微积分。书中富于创造性的编程挑战以及实用的代码会让你新学到的数学和编程知识得到用武之地。你能通过编程的方式解不等式、画出子弹飞行时重力的效果、洗牌、通过投掷 100,000 支飞镖来估算圆的面积、探索斐波那契数列与黄金分割比例之间的关系等等。通过阅读本书,你会找到探究数学和获取有价值的编程技巧的新路,这在你学习数学和计算机科学的全过程中都会给你巨大的帮助。
- 作者:Luciano Ramalho
- ISBN:978-1-4919-4600-8
- 770 页
- 出版日期: 2015年7月
- 格式:DAISY、EPUB、MOBI 和 PDF
Python 的简洁性使得你能很快成为一个高效的程序员,不过这通常也意味着你没有用到它提供的所有特性和功能。有了这本指南,你就能够学到如何利用 Python 最好的(也许也是最容易被忽略的)特性来编写高效而规范的程序。作者 Luciano Ramalho 带领你了解 Python 的语言核心和类库,向你展示如何写出更短、更快和更可读的代码。很多有经验的程序员会把 Python 按照他们之前用的编程语言的方式来编码,而不去发掘自己经验之外的 Python 的特性。而看了这本书,这些程序员会学会如何成为使用 Python 3 的老手。
- 作者:Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia
- ISBN:978-1-4493-5862-4
- 276 页
- 出版日期: 2015年1月
- 格式:DAISY、EPUB、MOBI 和 PDF
各个行业的数据正在变得越来越大,那你将如何高效地处理这些数据呢?本书介绍了 Apache Spark(1.3 版本)这款能让数据分析变得很快的开源集群计算系统。在 Spark 中,你可以用简单的 Python、Java 和 Scala 的 API 来快速处理大数据集。这本书涵盖了很多新咨询,包括 Spark SQL、Spark Streaming 以及 Maven coordinates 。本书由 Spark 的开发者撰写,能让数据科学家和工程师快速上手。你能从中会学到如何用少量的几行代码来表述并行的任务,还能学到如何编写各类应用,从简单的批处理到流处理和机器学习。
- 作者:Emma Jane Hogbin Westby
- ISBN:978-1-4919-1118-1
- 356 页
- 出版日期: 2015年8月
- 格式:DAISY、EPUB、MOBI 和 PDF
除了构建软件之外,你还可以用 Git 做更多的事情。这本实用的指南传递了一种以人为本的版本控制方法,解释了如何使用 Git 来让你的团队更好地合作。你会学会怎么规划一个 Git 工作流,能不仅保证你能完成项目的目标,而且能适应实时的需求和团队未来的发展壮大。本书的第一部分架构工作流对项目经理、技术团队领导和 CTO 们都非常有用。第二部分提供了实战练习来帮助开发者更好地理解 Git 的命令。
- 作者:Carin Meier
- ISBN:978-1-4919-0904-1
- 242 页
- 出版日期: 2015年4月
- 格式:DAISY、EPUB、MOBI 和 PDF
如果你是一名没有接触过 Clojure 但经验丰富的程序员,那这本深入浅出的指南就非常适合你。作者 Carin Meier 不但提供了一个对这门 JVM 语言的概览以及它蕴含的函数式编程的概念,还包括了完整的训练课程来帮助你结构化地学习 Clojure 。本书的前半部分介绍了 Clojure 的独特设计并让你在两个 Clojure 的项目(包括一个 web 项目)上试试手;整个后半部分向你提供了关键的工具和资源,包括如何打入 Clojure 社区。
- 作者:Sébastien Goasguen
- ISBN:978-1-4919-1971-2
- 366 页
- 出版日期: 2015年11月
- 格式:DAISY、EPUB、MOBI 和 PDF
无论你是把就地(on premise)部署应用还是云端部署应用,本书都会为开发者、操作人员和 IT 专业人士提供超过 130 条经过证明的 Docker 使用方法。有了这些实用的解决方案,经验丰富的开发者在学习了前几章后就能打包和部署分布式应用; IT 专业人士能够解决每天遇到的问题,并创建、运行、共享和部署 Docker 镜像;操作人员能很快地上手使用改变他们工作方式的工具。
Python 机器学习(Python Machine Learning)
- 作者:Sebastian Raschka
- ISBN:9781783555130
- 454 页
- 出版日期: 2015年9月
访问一下近十年的艺术和商业网站你会发现有些人在谈论大数据,不过过去数年在商业领域发生的“革命”都已经结束了——大数据已经成了标准了。到了 2015 年,重要的是在于你拿数据怎么办。于是机器学习应运而生,它让你能建模分析数据,帮助你预测未来的结果和行为。在一个全球经济时代,成功与失败往往只有一线之隔,这时机器学习的洞见会给你带来信心,你会发现世界并不是你刚开始想的那么难以理解。
本书就紧跟这一趋势,用目前最流行的编程语言在机器学习领域找到了一条便利而实用的道路。不过它的便利性并不代表它缺乏深度,相反,它很广泛而深入,向读者介绍了一些最新的 Python 机器学习的库,比如 Theano 和 Keras 。本书还介绍了很多不同的应用,从情感分析到神经网络。在 Packt ,我们不仅把本书看作是 Python 流行的一个证据,更是一种能快速地研究一系列问题的技术生产力。
Go 编程蓝图(Go Programming Blueprints)
- 作者:Mat Ryer
- ISBN:9781783988020
- 274 页
- 出版日期: 2015年1月
Go 在很多方面与 Python 相似。和 Python 一样,Go 也是一种表达能力强的多用途语言,能为各领域的问题提供快速的解决方案。关于 Go 语言最有意思的一件事情就是它的一切特性都是刻意为之的。也许对于谷歌这家把细致的工程作为品牌的核心价值的公司来说,这样开发语言来并不令人吃惊,但站在开源未来的大背景下,这一点对于程序员的意义依然是值得深思的。
Go 优雅而富于表达能力的语法并不是用来被学习的,而应该是被体验的,这就是本书的开端。通过多个项目(包括使用 web-sockets 的聊天程序、随机推荐服务等),本书展示了 Go 如何简单地构建可伸缩且高性能的程序。在一个这些特质变得无比重要的生产环境中,我们觉得只有深入探究这些问题并解决它们,才让我们具备构建更好的软件的能力。
用 Spark 进行机器学习(Machine Learning with Spark)
- 作者:Nick Pentreath
- ISBN:9781783288519
- 338 页
- 出版日期: 2015年2月
我们看到机器学习正在成为定义我们所知的数据科学:从大数据到小数据,从数据挖掘到可视化,这些东西的核心就是从数据中学习和预测的能力。然而有了 Spark ,我们看到的是机器学习的未来: Spark 的速度和处理能力意味着它正在重新定义我们能利用大数据做些什么。Spark 在内存中存储数据或许是它最让人激动的功能之一,但只有当你看到它如何在集群间处理数据的时候,你才会开始了解它如何在高速数据分析中发挥作用。
本书全面地介绍了 Spark 的每一个功能,在 Packt 我们知道技术革新是由速度、效率和规模三方面驱动的,这也是 Spark 对我们来说非常重要的原因。这本书看上去像是一本标准的机器学习指南,但有了 Spark ,你会发现那些讲解数据准备和处理的章节,以及专门讲解实时机器学习的章节正是 Spark 大展拳脚的地方。
React.js 精粹(React.js Essentials)
- 作者:Artemij Fedosejev
- ISBN:9781783551620
- 208 页
- 出版日期: 2015年8月
在 2014 年,我们会把 MEAN(MongoDB Express AngularJS Node.js) 当作是全栈开发的最终解决方案。不过随着难以置信的轻量级工具的崛起,将框架和库之间桥接了起来,我们的看法渐渐发生了改变。在这些工具中, React.js 脱颖而出。由 Facebook 创建的 React.js 现在已经被世界上很多大型技术公司实用,包括 AirBnB 和 Instagram。这些公司在他们的 app 和网站中对 UI 和用户体验的依赖正是 React 强大功能的绝佳证明。React 让人印象深刻的原因很简单:它让你创建能实时响应数据变化的 UI 组件。在这个方面它不负其名: React 响应(react)得如你所需的快。
受 React 快速响应的启发,本书讲解了 web 开发界目前对组件的偏好。通过一个易懂而快速的 React.js 旅程,本书解释了为什么 React 会越来越流行。本书特别适合那些喜欢尝鲜的 web 开发者,因为它在 2016 年会持续跟进业界的改变和革新。这本书还附带一个 Git 仓库 ,读者可以从中找到源代码,更新和其他更多的资源。
Python 数据科学精髓(Python Data Science Essentials)
- 作者:Alberto Boschetti, Luca Massaron
- ISBN:9781785280429
- 258 页
- 出版日期: 2015年4月
如果 Python 是在 2015 年能定义编程的唯一语言(诚然有一些语言是它的强劲对手,但它们都不像 Python 那么无所不在),那我们就应该回归到 Python 并让它来解决另一个领域的问题。
本书为数据科学开启了一个新方法。本书和其他 Packt 出版的书一样,一直把易懂放在重要的位置。这并不仅仅意味着它“很好懂”(当然确实是很好懂啦),更重要的是它向各类读者,无论你是一个用 Python 的 web 开发者还是一个之前用 R 但对 Python 感兴趣的数据科学家,提供了一条简单的探索 Python 的数据科学能力的途径。每个人都想更好地理解数据,而本书向你展示了深度洞察数据其实并不困难。
OpenStack 云应用开发(OpenStack Cloud Application Development )
- 作者:Scott Adkins, John Belamaric, Vincent Giersch, Denys Makogon, Jason E. Robinson
- ISBN:978-1-119-19431-6
- 168 页
- 出版日期: 2015年11月
- 格式: EPUB、PDF
本书是一本针对 OpenStack 开发人员的专业的快节奏书籍,它是一本深入的指南,因而没有浪费时间去讲解开发的基础知识。本书由来自 Infoblox、Gigaspaces、GoDaddy 和 Comcast 的 OpenStack 社区的专家撰写,讲解了如何在不用操心底层硬件的情况下用 OpenStack 平台高效地开发大规模可伸缩的应用程序。本书通过一个 OpenStack 的实例描绘了每项技术是如何使用的,从中你可以学到专家经验和最佳实践,这会让你的产品更加健壮。本书涵盖了 OpenStack 服务原语、 OpenStack生态系统的网络化、针对企业的虚拟网络功能的部署、容器、数据保护等等主题。
- 作者:EMC2 Education Services
- ISBN:978-1-118-87613-8
- 432 页
- 出版日期: 2015年1月
- 格式: EPUB、PDF
本书讲解如何利用数据的力量来做出新发现。本书广泛地介绍了数据科学家们的活动,所使用的方法和工具。本书的内容着重于能适用于任何环境的概念、原则和实用程序,并且用实例来进行讲解和支持。这些例子你都能用开源软件来进行复制。
- 作者:Christopher Negus
- ISBN:978-1-118-99987-5
- 912 页
- 出版日期: 2015年4月
- 格式: EPUB、PDF
本书是一本 Linux 终极实操手册,无论你是一个纯粹的 Linux 新手还是一个只是为了搜寻最新改变的 Linux 老手。本书最新的第九版涵盖了最新版本的红帽 Linux (RHEL 7)、 Fedora 21 和 Ubuntu 14.04 LTS,还包括了使用 OpenStack 和 Cloudforms 进行云计算和开发的信息。针对 RHEL 7,这本指南会让你迅速了解新的特性,比如企业级文件系统、新的启动过程和服务管理、firewalld 和 Gnome 3 桌面环境。本书由红帽公司的专家撰写,讲解清晰,循序渐进地揭开 Linux 的神秘面纱,使你能够无缝地把新特性整合到你的工作流中。
专业 Python 编程(Professional Python)
- 作者:Luke Sneeringer
- ISBN:978-1-119-07085-6
- 288 页
- 出版日期: 2015年10月
- 格式: EPUB、PDF
本书讲的是进阶的知识,教给初中级 Python 程序员鲜为人知的工具和结构,帮助他们编写简洁而可维护的代码。本书还教会程序员做出更好的设计,编写出可读性强的代码,从而使程序更高效和鲁棒。本书涵盖了装饰器、上下文管理、魔术方法、类工厂、元类、正则表达式等主题,还讲述了用 asyncio 和命令行工具进行高级单元测试。每一个主题都包括对概念的解释和对应用程序的讨论,以及针对现实场景的实操教程。所有的源代码都能从合作网站上下载,而本书的 “Python 3 优先”的策略也保证了使用最近的版本,以及长期的可用性。
- 作者:Lawrence Spencer, Seth Richards
- ISBN:978-1-119-02872-7
- 528 页
- 出版日期: 2015年7月
- 格式: EPUB、PDF
本书展示了如何用 TDD 方式开发大型 JavaScript 应用,使其能经受时间的考验并在长期的运维中保持准确性。本书对软件架构采取了一种测试优先的方法,用编写单元测试的方式带领你了解若干的模式和实践,并跟你解释它们的作用。通过编写代码带通过单元测试,你不仅会提高架构大型应用的技术,还会学到如何测试你的程序。你会在实战中获得代码,这些代码从一开始就是正确的,但你需要用测试来保证它在后续的维护中能够一直保证正确。所有的代码不仅在文本中列示出来,还可以在网站上下载,因此你可以立即上手设计更加完备和鲁棒的应用程序。
你是否有未在此书单中列出的开源书籍可以推荐?如果有请在评论中告诉我们。