Blog

Blog

PHODAL

2017 年值得大家看的五本编程书籍【Phodal 书单】

最近几个月看了不少书,觉得有几本甚是不错,如干货满满的《编程风格》,概念普及中的《Serverless架构:无服务器单页应用开发》。便撰文一篇,简单地介绍一下这几本书。

推荐的这几本书,都是一些系统性思考的书籍。因此,形如《深入理解 ES6》这种偏向于技术细节的书,建议大家按自己的需要去阅读。

干货推荐:《编程风格》

《编程风格:好代码的逻辑》 是我在最近看的一本书,这本书蛮有意思的。它让我联想起了 GoF 的《设计模式》,只是《设计模式》一书多以 C++ 以例,并且对新手来说过于抽象。好了,扯远了。 GoF 总结出了 23 种设计模式,这些设计模式都会在日常的代码设计中体现。而《编程风格:好代码的逻辑》一书,则更侧重于讲述在代码设计过程中的一些思想。

如果让我们对这些编程概念应用,进行一个按层级的划分,从顶层到底层应该类似于(按个人理解):

DDD -> 微服务 -> 应用架构 -> 设计模式 -> 编程风格 -> 算法与数据结构

按我对这本书的理解,书中的编程风格很有意思,在某些地方与设计模式重合,在哪些地方又偏向于代码实现设计。

这本书使用的是 Python 语言,书中的内容是:以 33 种代码风格来实现一个业务功能,即词频统计。这就好比是,我们布置了一个作业题下去了,然后 33 个人交出了不同的答案。两三年前,当我开始阅读公司面试的代码作业,总会看到一些新奇的解决问题的思路。每每如此,总会感慨一下,为什么我想不到这个方法。

因此,这就是这本书的可贵之处:一个功能的 33 种实现。如书开头的时候,是以早期资源受限(内存)的风格讲起,在今天多数时候我们并不会考虑内存问题。随后,又介绍了 Forth 风格的词频统计算法,即以堆、栈的形式来进行计算。一步步按不同的风格演示,直至越来越高级的 MapReduce、MVC 风格、RESTful 风格。

尽管从某种意义上来说,这不是一本非常有价值的书,不能帮助你完成工作。但是,它是启发我们进行更多的代码级思考。

干货推荐:《JavaScript 框架设计 第2版》

如果你是一个工作 1~2 年的前端工程师,那么相信在完成工作方面,你应该不会有什么问题。正在琢磨怎么深入前端领域(又或者,开源、KPI、升职加薪),那么你可以试试阅读这本书。

记得我刚工作的时候,我看到了这本书的第 1 版,于是自己就去造一些前端的轮子,即多年前的 Lettuce。与阅读开源软件相比来源,自己去造一个相似的轮子,是一个更有效的方法。在这个过程中,我们还会去剖析一些现有的轮子,从中 GET 到一些新的技能。

而与上本书相比,《JavaScript 框架设计 第2版》与时俱进地添加了更多的东西。在上一版的时候,诸如 class、选择器等等的东西保留了下来,又增加了一些诸如 React、Virtual DOM,以及作者的 Avalon 等等的内容。这些可以让我们更清楚地看到,框架背后的思考,能帮助我们造出更好的轮子。

概念推荐:《Serverless 架构:无服务器单页应用开发》

(PS:如标题所说,如果你想了解更多概念,就来看看吧)

作为一个程序员,你可能会时常想着自己做一个产品。而如果你只是一个前端工程师,那么你可能会对后端感到一丝丝恐惧。这个时候,你不妨试一试 Serverless,即:你的后台运行在 Web 服务之上,而不是 Web 服务器

传统的后台,我们需要自己登录到服务器,然后部署上我们的应用。因此,我们要关心的不仅仅是应用本身,还有服务器运行的操作系统、网络服务等等,以及数据库和系统的可扩展性。而 Serverless 则是,我们使用 Lambda 服务编写一些业务逻辑,并设置好数据库、认证授权、日志等等的一系列服务,那么我们再去完成前台部分的逻辑即可。

这本书主要是以云计算的老大 AWS 而介绍的,这本书可以让你对未来有一些更好的看法,尝试一些更有意思的东西。当然了,你最好有要一个 AWS 账户,AWS 提供一年的免费试用,前提是你有 VISA 账户。

概念推荐:《 Spring Cloud 与 Docker 微服务架构实战》

(PS:如标题所说,如果你想了解更多概念,就来看看吧)

推荐这本书的原因是,这本书的一些内容和我们公司之间的 workshop 有很多的内容是重合的。这是一本写给新手看的微服务书籍,建议有经验的读者就不要考虑了,网上的资料有很多。当然如果你有钱,又没有时间,那么你就可以买、买、买。

毕竟这是一本主要以介绍 Spring Cloud 为主的书,而不是一本介绍微服务的书。因此,只是实践 Spring Cloud 或者理解概念,那么这本书相当的不错。

概念推荐:《 Cloud Native Go: 构建基于 Go 和 React 的云原生Web应用与微服务》

(PS:如标题所说,如果你想了解更多概念,就来看看吧)

听闻公司在推荐学习 Cloud Native,吓得我去买了本 Cloud Native 书,然后我就后悔了:Cloud Native 从某种意义上来说是一些最佳实践的合集——微服务、DevOps、持续交付等等。

同样的,这也是一本概念性 + 实战的书籍,只是用的是 Go 语言,不过只有最后一章讲到 React。因此,建议 1~2 年经验的开发者可以试试,如果是多年经验的,那么建议阅读《十二要素方法》。

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806

新书《全栈应用开发:精益实践》

这不是一本深入前端、后台、运维、设计、分析等各个领域的书籍。本书以实践的方式,将这一系列的领域及理论知识结合到一起,来帮助读者构建全栈Web 开发的知识体系,并辅以精益及敏捷的思想,来一步步开发Web 应用:从创建一个UI 原型到编写出静态的前端页面;从静态的前端页面到带后台的应用,并部署应用;从Web 后台开发API 到开发移动Web 应用。在这个过程中,我们还将介绍一些相辅相成的步骤:使用构建系统来加速Web 应用的开发;为应用添加数据分析工具来改进产品;使用分析工具来改善应用的性能;通过自动化部署来加快上线流程;从而帮助读者开发出一个真正可用的全栈 Web 应用。同时,我们也将帮助读者把这些步骤应用到现有的系统上,改进现有系统的开发流程。

comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Developer, Consultant, Writer, Designer

InfoQ社区编辑,CSDN前端博客专家

毕业于西安文理学院电子信息工程专业

长期活跃于开源软件社区 GitHub,专注于物联网和前端领域。

著有《自己动手设计物联网》(电子工业出版社)、曾作为技术专家审阅英国 Packt 出版社的物联网书籍《Learning IoT》、《Smart IoT》等书。

在 GitHub 开源有《Growth:全栈增长工程师指南》等六本电子书,并译有《物联网实战指南》。

联系我: h@phodal.com

标签

最近的一些事