我一直以来读书是获取知识最好的方式,很长时间以来,我都在博客维护了一个 推荐书单,最近又作了一些整理,为每本书都添加了简评,但愿能对你们有帮助,固然若是能用个人推广连接购书就再好不过了。javascript
深刻理解计算机系统前端
这本书从一个程序员角度描述了计算机底层的工做原理,例如信息的储存、算数计算、汇编和连接、处理器、编译优化、存储器、输入输出、并发编程等话题。对于 C 等系统编程语言的使用者来说,这是一本必读的书,这本书会让你对你的写下的每一行代码的执行过程有一个比较系统的了解。对于应用级编程来说,这本书也有很大价值,由于了解底层实现会有助于你更深入地理解高抽象层次的编程语言是如何实现的。java
计算机程序的构造和解释程序员
这本书以 Lisp 为例系统性地介绍了用于在构建大型软件时控制代码的复杂度的技巧 —— 将复杂的事物,经过隐藏细节的方式不断地进行组合和抽象。这本书将会让你认真地思考编程的核心过程 —— 抽象,帮助你设计出结构良好、可维护的代码。算法
计算机网络:自顶向下方法数据库
这本书以自顶向下 —— 从应用到实现的方式介绍了计算机网络各层次的设计和实现。这本书会帮助你对计算机网络各个层次所扮演的角色有一个概览性的了解,对于应用层编程来说,了解 TCP 和 HTTP 的实现也是很是有帮助的。编程
计算的本质:深刻剖析程序和计算机后端
这本书同时介绍了「状态机」和「Lambda 验算」这两种计算模型,深刻地介绍了高层次的编译型语言如何被编译到上述的计算模型,但本书并无太多理论性的介绍,而是用比较易于接受的例子来进行讲解。这本书会让你了解到计算机是如何拥有计算能力的,以及平时所使用的高级语言如何映射到基本的计算模型,也会教会你如何本身实现一个简单的编译器。浏览器
代码大全性能优化
这本书经过上百个例子来介绍在具体编码工做中的「最佳实践」,这是一本当之无愧的「代码大全」,由于每一节都是相对独立的话题,所以本书很适合碎片时间阅读。这本书可能须要你有必定软件工程的实践才能理解其巧妙之处,所以建议每隔一段时间就重温一遍。
程序员修炼之道:从小工到专家
这本书经过几十个较为零散的话题介绍了一个优秀的程序员在工做的过程当中会遇到的问题 —— 如何挑选工具、如何协做、如何保证质量、如何管理需求和任务。这本书适合有必定工做经验的程序员阅读,并思考本身的工做中还有哪些改进空间。
编写可读代码的艺术
这本书经过大量的代码示例和讲解,从标识符、注释、变量、流程控制、排版、组织代码、自动测试的角度细致地讨论了什么才是「优雅」的代码风格。这本书会让你从新注意起代码中不起眼的小细节,适合全部但愿写出优雅的代码的人。
这本书介绍了世界上最大的互联网公司如何在规模逐渐增加的过程当中保证可用性的,从如何看待风险、部署监控、发布新版本、紧急故障处理、设计分布式系统、如何培养运维工程师等角度全面地介绍了站点可靠性工程师(SRE)所面临的挑战,推荐全部服务器端开发者阅读这本书。
编程珠玑
这本书经过十几个例子介绍了如何写出正确的代码,并一步步优化使其短小精悍并拥有较高的性能,应用了排序、搜索、集合和字符串运算等最基本的算法。这本书会让你思考如何写出正确的、简短的、高性能的代码,毕竟只有在这样的代码的基础之上,才有应用其余软件工程方法的意义。
集体智慧编程
这本书结合有趣的例子介绍了在数据分析、搜索引擎、文本过滤、预测和决策领域的一些算法,它们并不复杂,而且颇有可能会在你的工做的某个部分中发挥做用。
JavaScript 权威指南
这本书事无巨细地介绍了 JasvaScript 语言核心、标准库以及浏览器提供的 DOM 和 BOM. 本书并无由浅入深的结构,而是通篇平铺直叙地介绍,所以适合有必定 JavaScript 基础的人从头到尾阅读来掌握一些相对细节的 JavaScript 知识,或遇到具体问题时查阅相关章节。
JavaScript 语言精粹
这本书用相对简短的篇幅介绍了如何使用 JavaScript 中最精华的部分编写优雅的代码。这本书适合对 JavaScript 仅有些许了解的人快速上手 JavaScript, 避免陷入 JavaScript 语法中的那些糟粕。
JavaScript Web Applications 中文版
这本书经过从零设计一个 MVC 架构的 JavaScript Web 应用框架来介绍了如何控制大型 Web 应用的复杂度,也介绍了几个常见的开源 Web 框架。这本书适合 Web 前端开发者了解常见的 Web 框架的基本设计思路和工做原理。
JavaScript 异步编程
这本书介绍了 JavaScript 中事件模型、Promise、async.js 等异步抽象的设计和实现,同时也介绍了 Web Woerk 等在浏览器中优化性能的技巧。这本书适合全部 JavaScript 程序员增长对 Promise 等异步模型的理解,并在实践中挑选合适的异步模型。
SQL 必知必会
这本书由浅入深,概览式地介绍了 SQL 中和具体实现无关的那些语法,很是适合快速入门,了解 SQL 所提供的功能。
Redis 入门指南
这本书从 Redis 的各类数据类型入手,介绍了常见的命令,其间穿插着数据结构设计的实例,后半部分也介绍了事务、脚本和持久化等高级话题。这本书很是时候新手入门 Redis 或有必定 Redis 使用经验的人了解一些细节知识。
高性能 MySQL
这本书侧重于性能和可用性方面,先介绍了性能测试的基本原则,而后分别讨论了索引、查询对性能的影响,还介绍了如何配置分区和复制、如何配置高可用的数据库。适合已在工做中大量使用数据库,但愿深刻了解 MySQL 的工做原理来进行性能优化的开发者。
对于 Web 开发者而言,HTTP 是沟通前端于后端的桥梁,HTTP 自己提供了极其丰富的功能,就像其余的权威指南同样,这本书面面俱到地介绍了 HTTP 主要特性,有助于你在前端或后端开发中选择恰当的特性,在出现问题时进行更有针对性的排错。
Modern PHP 中文版
PHP 的用户既有 Facebook 这样顶尖的互联网公司,也有一些连版本控制和依赖管理都不了解的业余开发者。这本书会介绍如何使用 PHP 中的新特性、常见的需求有哪些最佳实践、有哪些风格标准能够参考、如何进行测试、如何进行部署,以现代化的方式来进行 PHP 开发。
这本书很是适合已有必定的开发经验,但愿快速了解 Python 的语法,并用 Python 完成一些简单的项目。这本书先是简略地快速介绍了 Python 的语法,而后介绍它在脚本、网络、数据处理等领域的应用,其间还介绍了不少相关的工具和第三方包。