程序猿程序员首页投稿(暂停使用,暂停投稿)

后端好书阅读与推荐

2017-08-03  本文已影响666人  MageekChiu

这一两年来养成了买书看书的习惯,陆陆续续也买了几十本书了,但是一直没有养成一个天天看书的习惯。今天突然想要做个决定:每天至少花1-3小时用来看书。这里我准备把这两年来看的书挑出好的做一个简要总结、即将要看的书做一个计划,以便整理成书单留给自己学习,也顺便推荐给需要的童鞋。

ps:本书单针对同一大类的知识点大致遵循着循序渐进,越学越深入越具体的顺序。

JavaScript高级程序设计

JavaScript高级程序设计(第3版) (豆瓣) https://book.douban.com/subject/10546125/

有人可能会有疑问,后端为啥要学JavaScript呢?其实就是为了更好的使用node.js做铺垫。这本书说是高级程序设计,其实还是比较基础,但是难能可贵的是它几乎包含了所有的基础知识,而且对基础知识的讲解比较深入,至少看了过后就不会犯那些常见的错误(比如for循环绑定变量i,这个问题几乎天天有人问(⊙﹏⊙)),能知其然、知其所以然,而且讲了许多最佳实践,所以还真的是高级。对于后端的同学可以只看基础部分,不看浏览器相关的部分(当然时间多也可以了解)。

本书有很多值得学习的地方,比如

当然这本书也有点问题,主要就是时效性,本书主要按照ECMAScript 3 来讲解,最多提到了ECMAScript 5 但是现在都有ECMAScript 8 了,所以在看相关部分的时候,要注意查看最新的特性是否已经解决了某些问题(比如es8提出了Object.values 来直接获得对象的所有值而不需要先Object.keys,再来按key遍历),对本书要有所取舍(by the way ,几乎所有技术书籍,甚至我这篇文章,迟早都会有时效性问题,毕竟我们处于一个变化巨大的时代,但这并不影响它们成为经典,只要我们有所取舍,取其神,去其形即可)。

深入浅出Node.js

深入浅出Node.js (豆瓣) https://book.douban.com/subject/25768396/

和一般的讲node的书不同,这本书不是简单的讲一讲怎么使用npm,用一用express或者连一连mysql这样的API文档式书籍,而是真正的深入浅出,本书首先介绍了node的来源,用处,让我们知道它存在的意义,然后依次介绍了模块机制,异步IO的实现,异步编程的解决方案,内存控制,buffer,网络编程,web应用,进程管理,测试,产品化。

本书的优点相当多:

本书的不足之处可能在于组织上吧,感觉有点头重脚轻,比如对于初学者来说,一般想先看看node如何做web,或者做网络服务,体验点成就感,然后才是学习其实现原理,而本书反了过来;而对于进阶者来说,后面的web、网络服务部分似乎浅的有点用不上,有点鸡肋(⊙﹏⊙)。但是我们可以根据自己的需要有选择的进行章节阅读,就能避免这个问题。

Java编程思想

Java编程思想 (第4版) (豆瓣) https://book.douban.com/subject/2130190/

本书可谓是经典了,它不是基础知识面面俱到的入门书籍(Java核心技术·卷1:基础知识(原书第9版) (豆瓣),这本书就讲全了基础知识,而且不是浅尝辄止,还进行了深入探讨,所以也推荐),而真的是如翻译的书名一样,体现了Java的思想,是Java中一些精要的集合,我们不必按照作者的顺序去阅读,可以根据需要选择性的阅读。本书还融合了许多设计模式,需要我们去感悟其中的思想。

这本书比较精彩的部分:

如上所述,本书也有时效性问题,所以要配合最新的Java8甚至Java9来查阅;同时,本书的代码实在是太多,有些可以忽略不看,并不影响理解。
本书作为一本整体大致地把握Java的书籍是合适的,但是Java实在是太大了,要真正细致的掌握每一个知识点比如多线程、网络编程、Spring,还得看专门的书,比如下面要讲的这本。

Java并发编程实战

Java并发编程实战 (豆瓣) https://book.douban.com/subject/10484692/

本书从并发性和安全性的基本概念入手逐步深入,讲到用类库构建线程安全类,然后讲到了如何利用多线程来提升吞吐量,Java中的一些现有多线程框架的使用,性能测试,最后讲了显示锁,原子变量等进阶知识点。基本囊括了能用到的多线程所有知识点。

本书亮点:

如上所述,本书时效性也有问题,主要用的是Java5,6,所以也要注意查阅最新文档对比(实战Java高并发程序设计 (豆瓣) https://book.douban.com/subject/26663605/ 这本书在时效性方面就要强一些,讲到Java8了,而且也比较通俗易懂,推荐~),另外,Swing那一段可以跳过不看了。

Java Web高级编程

Java Web高级编程 (豆瓣) https://book.douban.com/subject/26581686/

这本书的强大之处就在于一本书几乎包揽了java web 所有的主流技术,所谓此书在手,Java我有(⊙﹏⊙)......开个玩笑,本书非常大非常厚,所以也非常全,所以我也并没有看完,但是我看过的部分真的让我认为这是一本好书。本书从servlet原理讲起,讲到jsp,一步步讲到Spring,过度很自然,让人明白Spring存在的理由,然后讲了Hibernate(虽然我没看),最后讲了Spring security,可谓一气呵成,同时又不失条理,系统性很强,看完之后对于Java web 应该能有个整体的把握。

本书亮点:

我感觉这本书唯一的缺点就是太厚了吧:-D,会吓跑许多人(包括我)。

Head First 设计模式

Head First 设计模式(中文版) (豆瓣) https://book.douban.com/subject/2243615/

这本书最大的特点就是不拘一格讲知识,他不会板起脸来告诉你这个叫观察者模式,那个叫装饰器模式......而是通过一些通俗易懂的例子(会飞会叫的鸭子,气象站检测应用的建设)和丰富的图例、游戏(运用了认知科学的方法)来说明不同的设计模式的含义、用途、优点和缺点,使人印象深刻,容易理解和记忆。

本书展示了很多有意义的设计原则,比如:

对于设计模式初学者来说,这本书似乎比四人组的设计模式更容易接受,因为它不是那么严肃,不是那么学究,当然如果希望严肃的学习,或者本身水平较高,那还是看四人组的比较好~

程序员修炼之道

程序员修炼之道 (豆瓣) https://book.douban.com/subject/5387402/

本书可以说是一本学习方法论,或者工作方法论的书,再高一点可以说是一本哲学的书。本书原名The Practical Programmer,亦即注重实效的程序员,全书围绕注重实效展开讨论,包括注重实效的哲学(负责,变化,权衡,管理知识,交流)、途径(避免重复,随时记录,估计)、工具(文本,shell,游戏,源码控制)、偏执或者说讲究(规范合约、断言、异常使用)等等等等。

本书从推荐序开始就相当精彩:

本书读起来可谓非常畅快,但是要落实真的是不容易,而且我觉得应该反复读,因为每增加一些工作经验就会遇到一些问题,对书里面提到的要点也就感悟更深,从而能更好的解决问题。

架构即未来

架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版) (豆瓣) https://book.douban.com/subject/26765979/

这本书乍一听可能会觉得它是讲的架构是诸如MySQL 读写分离,redis cluster,CDN,负载均衡等架构问题,看完绪论和第一章才发现不是那么回事(⊙﹏⊙),原来它前面很大的篇幅都在讲人事上的架构,后面才是技术上的架构,会不会有种受骗的感觉?其实不必,这本书相当于是站在了更高的角度来看问题,毕竟要把技术上的事做好做大都离不开强大的团队,离不开完善的人事管理。

结构上本书分4部分:团队的组织、管理和领导,构建可扩展技术平台的方案与危机管理,可扩展的架构方案,新兴技术如大数据云计算等的架构。

我感觉比较精彩的一些点是:

2017.8.3 后记

7.26 就开始着手写了,但是为了能更好的总结这些书,我又把它们全部过了一遍然后才写,直到 8.3 才写完,希望能起到一些作用。后面我还会持续更新更多的好书,会涉及到Linux、Jvm、Redis、MySQL、Docker等,欢迎拍砖交流,我的主页 - Mageek`s Wonderland http://mageek.cn/archives/33/


上一篇下一篇

猜你喜欢

热点阅读