书评 | Flask Web开发
Posted 图灵教育
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了书评 | Flask Web开发相关的知识,希望对你有一定的参考价值。
题图:Freepik
本文由图灵社区用户 tkpromise 原创
参见:http://www.ituring.com.cn/article/505107
原文标题:
有些书陪你走一段时光,
有些书陪你走未来的时光
5月初看到征文活动,我想到的第一本书就是《Flask Web开发:基于Python的Web应用开发实战》,这是目前为止,我今年读得最多的一本书,也是印象最深刻的一本书(没有之一)。前一段时间看到关于此书第 2 版的相关信息,非常期待,编辑说预计 7 月出版,到时候一定再买一本支持。
之前学习 Python,但都没有具体到项目,偶尔写一些工作中用到的小脚本、写写爬虫。今年 3 月企鹅云有活动,可以以很优惠的价格购买云服务器,就想认真地写一个博客,于是又读到这本书。读到第 6 章的时候需要通过手机短信配置邮件客户端获取授权码,然后发了条短信,发现这个收件人已经存在,而且上一条短信是2016 年 7 月发的。两年的时间过去了,我居然又回到了这里,顿时有些感慨。虽然以前读过这本书,因为没有太多实践,再次阅读居然没有太多印象,书还很新,翻开每一章都如初次见面。于是又把这本书反复读了好几遍,代码也敲了好几遍。
很多人推荐过这本书,不论原版还是翻译版都算得上是 Python Web 开发第一书。内容由浅入深,从一个基础项目扩展到实战项目,再深入到测试及部署的有关问题,可以说非常全面了。现在回想一下当时读这本书之所以没有太多印象,很大一部分原因是当时读的时候都是直接 git checkout 源码运行,觉得跑起来就行了,其中涉及的前端及 HTTP 知识并不理解,知识不够全面。今年重新阅读的时候由于已经有了html/CSS/JS、前端库和框架的了解,每一个章节的代码都认真地敲了好多遍,所以对模板、ORM、flask-login、blueprint 等于有了更深的理解。当然,中间少不了踩坑、走弯路,我还记得第一次用 Gunicorn 把项目真正部署到企鹅云时的感觉,那真是太棒了。
几天前和一个同事聊关于读书这件事,他说:每一本书都像一个朋友,陪你走过一段不一样的时光。我觉得一本真正的好书,有价值或有意义的好书,更可以陪你走未来的时光。当你读完了一本好书,一读再读的时候,往往每次都有新的感悟,最终这本书会融入你的身体,成为影响你思考的力量。最近在学着写小程序,用 Flask 做后端,感觉很棒。不时会有这样一种感觉——代码随着指间的跳跃,仿佛是从身体里流出,很熟悉。
相对于我喜欢的另一项运动跑步,写代码是另一个极端。跑步的时候对手是自己,无论是10公里、马拉松、还是越野跑,无论有多少参赛选手,在什么样的跑道,要对抗的只有身体的不适和内心的声音,你能感觉到的只有自己的呼吸、心跳和跑鞋落地的声音。所有要做的只有坚持、坚持完赛、坚持取得最好的成绩,坚持就是胜利。
但写代码很不一样,写代码的时候你会遇到很多问题,这个怎么会有错误,要尝试怎么解决,去使用搜索引擎查看是否有好的方案。这个代码很好,能不能写个函数或者对象,不要忘了注释,很多时候写的过程中你和上帝都懂这个代码是什么意思,但过一段时间再看,可能就只有上帝懂这个代码是什么意思……如果说跑步是专一,是单线程,那么写代码就需要多线程,从 template 切换到 static 再到 SQLAlchemy,你要考虑到代码的复用性、可读性等。你可能会多次回头,重写代码,你很少看到一场马拉松比赛有人从中途往回跑,跑步只有一个终点,而写代码没有终点,除非那个项目死了……
总之,非常感谢作者写了这样一本书,我也向很多朋友推荐过这本书,最近 Flask有了一个比较大的版本升级 1.0,相对于之前的版本有了很多新功能,有时间的话会去读官方文档。相信即使到那时候,再次翻阅这本书,还是会有收获。
相关图书:
定价:59.00 元
电子书:29.99元
Flask 第一书
豆瓣评分 8.7 分
从安装与环境设置讲起,一步一步搭建服务器端 Web 应用
全流程讲解 Web 应用开发,给出最佳实践
本书共分三部分,全面介绍如何基于 Python 微框架 Flask 进行 Web 开发。第一部分是 Flask 简介,介绍使用 Flask 框架及扩展开发 Web 程序的必备基础知识。第二部分则给出一个实例,真正带领大家一步步开发完整的博客和社交应用 Flasky,从而将前述知识融会贯通,付诸实践。第三部分介绍了发布应用之前必须考虑的事项,如单元测试策略、性能分析技术、Flask 程序的部署方式等。
☟ 点击【阅读原文】京东购买《Flask Web开发》
以上是关于书评 | Flask Web开发的主要内容,如果未能解决你的问题,请参考以下文章
Flask之旅《Flask Web开发:基于Python的Web应用开发实战》学习笔记
学习参考《Flask Web开发:基于Python的Web应用开发实战(第2版)》中文PDF+源代码