工作中看到有一些不好的代码,想了个办法优化了一下,于是有了这篇博文。本文主要讲tornado的表单验证,使用的是wtforms。本文最终达到的效果是使用self.xx获取post传递过来的值。
阅读全文letsencrypt刚出来的时候写了一篇它的认证签发原理。自那过后就没有真正的去实践过了。最近有部署HTTPS的需求就又考察了一番。发现acme.sh灰常好用啊~~~,来一篇水文记录下测试部署HTTPS的完整过程吧
阅读全文很早就使用过autopep8来自动格式化代码,使用IDE的时候也会经常使用格式化代码功能让代码更符合规范一点。可是这都不是自动化的,或者说是强制的。为了保持团队的良好代码风格感觉每个同事在提交代码之前都自动进行格式化或者风格检查是一个不错的主意,于是找到了pre-commit
原理也还是很简单的,git自身提供了一些hook功能,查看git/hooks目录下会发现有一些sample文件,这样在执行commit、push、merge的时候都是可以进行一些简单的检查等功能的。然而这个设定有一个缺点。没一个hook只能执行一个文件的内容,所以要么将各种功能放在一个文件里面,或者每个功能都放置在各自的文件里面。最后由一个文件一起执行。pre-commit就解决了我们的这个文件。将不同的任务分割成单个文件。然后只需要添加别人共享的脚本就能够很快的进行commit hook了,简要使用方法例举如下
在项目根目录下编写配置文件(.pre-commit-config.yaml)
1
2
3
4
5- repo: git://github.com/pre-commit/pre-commit-hooks
sha: v0.7.1
hooks:
- id: trailing-whitespace
- id: autopep8-wrapper进行初始化
pre-commit install
就可以了,以后每次执行commit的时候就会执行检查。配置文件的repo地址即为符合pre-commit框架的地址,id即为提供的功能~~,还是很好理解的。例如以上提供的autopep8-wrapper就可能够配置pep8规范进行一些代码风格检查,如果不符合风格就会自动格式化。pep8工具的默认配置文件是~/.config/pep8
参考
About style guide of python and linter tool. pep8, pyflakes, flake8, haking, Pyling.