旅者行歌

不要虚掷你的黄金时代,不要去倾听枯燥乏味的东西,不要设法挽留无望的失败,不要把你的生命献给无知、平庸和低俗。

札幌行


持续集成部署

一. 背景 自动化部署就是为了解放生产力。 二. CI部署 Jenkins与Github集成 Github Hooks 配置Github项目仓库,Github项目仓库在处理这些动作的同时会发送信号至Jenkins触发自动构建操作。 生成Personal Access Token 登录Github,在头像上点击settings 点击Developer settings下的Pe...

敏捷开发模式下的项目复盘

一. 敏捷开发 1.1 背景 目标: 开发一个多系统通用的优惠券平台 团队: 产品经理(1人)/UED(1人)/iOS开发(2人)/Android开发(2人)/H5开发(2人)/Python开发(1人)/测试(2人) 周期: 35天 1.2 概念 敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。 敏捷开发不是一门技术,它是...

Flask源码剖析(20): 总结

一. 总结 Flask框架是个微框架,用于熟悉Python的基础语法,怎么进行源码分析学习,学习一个框架是怎么实现等等都是很有帮助的。 二. 分析 语法参考 在解析flask源码过程中,就当是重新复习一下python的基础语法,另外,可再翻一遍Python学习手册(第4版) 中文版,开卷有益。 源码分析 在读别人的源码之...

Flask源码剖析(19): 兼容

一. 兼容 Flask框架兼容与py2和py3版本,来看看是怎么实现的。 二. 代码 Flask框架提供python不同版本的兼容的实现放在flask/_compat.py文件中,如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 3...

Flask源码剖析(18): Debug辅助

一. Debug辅助 Flask框架提供了在debug模式下的一些辅助函数,主要是抛出异常的各种提示。 二. 代码 debug模式下的辅助函数主要放在flask/debughelpers.py,看看是怎么实现的 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...

Flask源码剖析(17): 日志

一. 日志 对于大部分程序员来说,20%的时间在写代码逻辑,80%的时间在调试。 如何提高debug的效率呢?那么最重要的一点是,快读定位问题,从已有的记录信息中得到程序崩溃的内容,对此,Flask程序提供了一个logging模块来记录这些信息。 二. 代码 Flask框架提供记录日志的模块是flask/logging.py,来看看是怎么实现的。 1 2 3 4 5 6 7 8 9 10 ...

Flask源码剖析(16): 辅助

一. 辅助 Flask框架提供了很多辅助函数,stream_with_context/make_response/url_for等,为其他功能的实现提供了公共函数。 二. 代码 这些辅助函数的实现主要放在flask/helpers.py文件,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27...

Flask源码剖析(15): 命令行接口

一. 命令行接口 Flask提供了一个脚本,对flask程序上的Flask.cli所有实例的所有命令进行访问,以及一些内置的命令。 当然,还可以注册更多的命令。 二. 代码 关于命令行接口的所有代码都放在flask/cli.py文件中,如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28...

Flask源码剖析(14): 测试

一. 测试 Flask提供的测试渠道是Werkzeug的Client来处理本地环境,未经测试的应用难于改进现有的代码。 二. 代码 Flask实现测试的代码存放于flask/testing.py文件中,如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34...