我一直以来读书是获取知识最好的方式,很长时间以来,我都在博客维护了一个 推荐书单,最近又做了一些整理,为每本书都添加了简评,希望能对大家有帮助,当然如果能用我的推广链接购书就再好不过了。
这本书从一个程序员角度描述了计算机底层的工作原理,例如信息的储存、算数计算、汇编和链接、处理器、编译优化、存储器、输入输出、并发编程等话题。对于 C 等系统编程语言的使用者来讲,这是一本必读的书,这本书会让你对你的写下的每一行代码的执行过程有一个比较系统的了解。对于应用级编程来讲,这本书也有很大价值,因为了解底层实现会有助于你更深刻地理解高抽象层次的编程语言是如何实现的。
这本书以 Lisp 为例系统性地介绍了用于在构建大型软件时控制代码的复杂度的技巧 —— 将复杂的事物,通过隐藏细节的方式不断地进行组合和抽象。这本书将会让你认真地思考编程的核心过程 —— 抽象,帮助你设计出结构良好、可维护的代码。
这本书以自顶向下 —— 从应用到实现的方式介绍了计算机网络各层次的设计和实现。这本书会帮助你对计算机网络各个层次所扮演的角色有一个概览性的了解,对于应用层编程来讲,了解 TCP 和 HTTP 的实现也是非常有帮助的。
这本书同时介绍了「状态机」和「 Lambda 验算」这两种计算模型,深入地介绍了高层次的编译型语言如何被编译到上述的计算模型,但本书并没有太多理论性的介绍,而是用比较易于接受的例子来进行讲解。这本书会让你了解到计算机是如何拥有计算能力的,以及平时所使用的高级语言如何映射到基本的计算模型,也会教会你如何自己实现一个简单的编译器。
这本书通过上百个例子来介绍在具体编码工作中的「最佳实践」,这是一本当之无愧的「代码大全」,因为每一节都是相对独立的话题,因此本书很适合碎片时间阅读。这本书可能需要你有一定软件工程的实践才能理解其巧妙之处,因此建议每隔一段时间就重温一遍。
这本书通过几十个较为零散的话题介绍了一个优秀的程序员在工作的过程中会遇到的问题 —— 如何挑选工具、如何协作、如何保证质量、如何管理需求和任务。这本书适合有一定工作经验的程序员阅读,并思考自己的工作中还有哪些改进空间。
这本书通过大量的代码示例和讲解,从标识符、注释、变量、流程控制、排版、组织代码、自动测试的角度细致地讨论了什么才是「优雅」的代码风格。这本书会让你重新注意起代码中不起眼的小细节,适合所有希望写出优雅的代码的人。
这本书介绍了世界上最大的互联网公司如何在规模逐渐增长的过程中保证可用性的,从如何看待风险、部署监控、发布新版本、紧急故障处理、设计分布式系统、如何培养运维工程师等角度全面地介绍了站点可靠性工程师( SRE )所面临的挑战,推荐所有服务器端开发者阅读这本书。
这本书通过十几个例子介绍了如何写出正确的代码,并一步步优化使其短小精悍并拥有较高的性能,应用了排序、搜索、集合和字符串运算等最基本的算法。这本书会让你思考如何写出正确的、简短的、高性能的代码,毕竟只有在这样的代码的基础之上,才有应用其他软件工程方法的意义。
这本书结合有趣的例子介绍了在数据分析、搜索引擎、文本过滤、预测和决策领域的一些算法,它们并不复杂,并且很有可能会在你的工作的某个部分中发挥作用。
这本书事无巨细地介绍了 JasvaScript 语言核心、标准库以及浏览器提供的 DOM 和 BOM. 本书并没有由浅入深的结构,而是通篇平铺直叙地介绍,因此适合有一定 JavaScript 基础的人从头至尾阅读来掌握一些相对细节的 JavaScript 知识,或遇到具体问题时查阅相关章节。
这本书用相对简短的篇幅介绍了如何使用 JavaScript 中最精华的部分编写优雅的代码。这本书适合对 JavaScript 仅有些许了解的人快速上手 JavaScript, 避免陷入 JavaScript 语法中的那些糟粕。
JavaScript Web Applications 中文版
这本书通过从零设计一个 MVC 架构的 JavaScript Web 应用框架来介绍了如何控制大型 Web 应用的复杂度,也介绍了几个常见的开源 Web 框架。这本书适合 Web 前端开发者了解常见的 Web 框架的基本设计思路和工作原理。
这本书介绍了 JavaScript 中事件模型、 Promise 、 async.js 等异步抽象的设计和实现,同时也介绍了 Web Woerk 等在浏览器中优化性能的技巧。这本书适合所有 JavaScript 程序员增加对 Promise 等异步模型的理解,并在实践中挑选合适的异步模型。
这本书由浅入深,概览式地介绍了 SQL 中和具体实现无关的那些语法,非常适合快速入门,了解 SQL 所提供的功能。
这本书从 Redis 的各种数据类型入手,介绍了常见的命令,其间穿插着数据结构设计的实例,后半部分也介绍了事务、脚本和持久化等高级话题。这本书非常时候新手入门 Redis 或有一定 Redis 使用经验的人了解一些细节知识。
这本书侧重于性能和可用性方面,先介绍了性能测试的基本原则,然后分别讨论了索引、查询对性能的影响,还介绍了如何配置分区和复制、如何配置高可用的数据库。适合已在工作中大量使用数据库,希望深入了解 MySQL 的工作原理来进行性能优化的开发者。
对于 Web 开发者而言, HTTP 是沟通前端于后端的桥梁, HTTP 本身提供了极其丰富的功能,就像其他的权威指南一样,这本书面面俱到地介绍了 HTTP 主要特性,有助于你在前端或后端开发中选择恰当的特性,在出现问题时进行更有针对性的排错。
PHP 的用户既有 Facebook 这样顶尖的互联网公司,也有一些连版本控制和依赖管理都不了解的业余开发者。这本书会介绍如何使用 PHP 中的新特性、常见的需求有哪些最佳实践、有哪些风格标准可以参考、如何进行测试、如何进行部署,以现代化的方式来进行 PHP 开发。
这本书非常适合已有一定的开发经验,希望快速了解 Python 的语法,并用 Python 完成一些简单的项目。这本书先是简略地快速介绍了 Python 的语法,然后介绍它在脚本、网络、数据处理等领域的应用,其间还介绍了很多相关的工具和第三方包。
1
clearbug 2017-01-04 11:46:23 +08:00 via Android
赞!这就是我的 2017 书单了
|
2
onlyhot 2017-01-04 12:53:19 +08:00 via iPhone
你应该列出阅读一本书所需要的知识储备或者说门槛
|
3
swirling 2017-01-04 13:33:03 +08:00
虽然我读过大部分但是觉得书单并没有用,用到什么看什么比较快一点。
|
4
PythonAnswer 2017-01-04 13:35:14 +08:00
哪位推荐一本最近的,称得上经典的, es6 的书?
|
5
solome 2017-01-04 13:55:02 +08:00
|
6
padeoe 2017-01-04 14:05:04 +08:00
前一段时间在学校 PT 发了一批经典电子书,计算机科学与技术与软件工程相关的,我也发一把,供参考,并请批评指教
第一批 01.《 C++ Primer 中文版》 02.《 Effective C++ 中文版》 03.《 Java 编程思想 (第四版)》 04.《 More Effective C++ 35 个改善编程与设计的有效方法 中文版》 05.《 UNIX 网络编程 第 1 卷 套接口 API (第 3 版)》 06.《 UNIX 网络编程 卷 2 进程间通信 第 2 版》 07.《 WEB 程序设计(第 7 版)》 08.《人件 原书第 3 版》 09.《人月神话 40 周年中文纪念版》 10.《代码之美》 11.《代码整洁之道》 12.《嵌入式计算系统设计原理 原书第 3 版= COMPUTERS AS COMPONENTS 》 13.《数据库管理系统原理与设计 (第 3 版)》 14.《数据结构与算法分析 Java 语言描述 原书第 3 版》 15.《机器学习》 16.《汇编语言程序设计》 17.《深入理解计算机系统 原书第 2 版》 18.《离散数学结构 第 6 版》 19.《算法 第 4 版》 20.《算法导论 第三版》 21.《编程珠玑 第 2 版 修订版》 22.《编译原理》 23.《编译器设计》 24.《计算机图形学》 25.《计算机程序设计艺术 卷 1 :基本算法 第 3 版》 26.《计算机网络 (第四版)》 27.《设计模式:可复用面向对象软件的基础》 28.《重构:改善既有代码设计》 29.《高性能 JAVASCRIPT 》 30.《高性能 MYSQL 》 31.《黑客与画家 来自计算机时代的高见》 第二批 01.《 CSS 禅意花园》 02.《 C 专家编程》 03.《 C 和指针》 04.《 C 程序设计语言》 05.《 C 陷阱与缺陷 (第二版)》 06.《 Head First Python 重视大脑的学习指南 中文版》 07.《 Head First Servlets & JSP 中文版》 08.《 HEAD FIRST 设计模式 (中文版)》 09.《 JAVASCRIPT 高级程序设计:第 3 版》 10.《 JAVA 核心技术 卷 2 高级特性 (原书第 9 版)》 11.《 Java 核心技术 卷 I :基础知识(第八版)》 12.《 LINUX 程序设计》 13.《 PYTHON 语言及其应用=INTRODUCING PYTHON 》 14.《 UML 面向对象建模与设计》 15.《 UNIX 环境高级编程 第 3 版》 16.《代码大全 (第 2 版)》 17.《具体数学 计算机科学基础=CONCRETE MATHEMATICS A FOUNDATION FOR COMPUTER SCIENCE,SECOND EDITION 第 2 版》 18.《分布式系统原理与范型 (第二版)》 19.《哥德尔、艾舍尔、巴赫——集异壁之大成》 20.《并行程序设计 (第二版)》 21.《思科网络技术学院教程 CCNA EXPLORATION :网络基础知识》 22.《操作系统概念: JAVA 实现》 23.《点石成金( Don't Make Me Think )(原书第 2 版)》 24.《现代操作系统 原书第 3 版》 25.《程序员修炼之道 从小工到专家》 26.《程序员的职业素养》 27.《算法Ⅰ~Ⅳ( C++实现)——基础、数据结构、排序和搜索 (第三版)》 28.《算法心得 高效算法的奥秘 原书第 2 版》 29.《类型和程序设计语言》 30.《编码隐匿在计算机软硬件背后的语言》 31.《计算机复杂性 现代方法=Computational complexity a modern approach 》 32.《计算机程序的构造和解释 (原书第 2 版)》 33.《计算机组成与体系结构:性能设计 第 8 版》 34.《设计原本:计算机科学巨匠 FREDERICK P.BROOKS 的反思》 35.《软件工程 实践者的研究方法 原书第 7 版》 36.《面向模式的软件体系结构 卷 2 :用于并发和网络化对象的模式》 37.《面向模式的软件架构分布式计算的模式语言 卷 4 》 38.《面向模式的软件架构模式系统 卷 1 = PATTERN-ORIENTED SOFTWARE ARCHITECTURE VOLUME 1 A SYSTEM OF PATTERNS 》 39.《面向模式的软件架构资源管理模式 卷 3=PATTERN-ORIENTED SOFTWARE ARCHITECTURE PATTERNS FOR RESOURCE MANAGEMENT 》 发现和楼主书单很多相同的 |
7
quietcoder 2017-01-04 16:53:15 +08:00
👍
|
8
shyling 2017-01-04 18:48:28 +08:00
sicp 难道不是 scheme ?
|
9
exoticknight 2017-01-05 06:15:35 +08:00
其实推荐来推荐去都是那些书……
|
10
lovedebug 2017-01-05 09:07:46 +08:00
这些书么?全是大部头 如果没有一定基础的话不建议开头就学习。
还有看这些书要很有耐心,可能你看了一半前面的就都忘了。 |
11
yuchuanxi 2017-01-06 22:34:36 +08:00
看了你的书单,就觉得你是可以拿 100k 的大神
|
12
PythonAnswer 2017-01-10 02:07:39 +08:00
@solome 多谢。还是想看一些实战的项目。
|