2018 年就要过去了,总结一下我认为值得关注的点。1. 认识周期先回顾一下社会热点:03 月 22 日,美国总统特朗普,以惩罚中国偷窃美国知识产权和商业秘密为由,对从中国进口的商品征收关税,涉及商品总计达 600 亿美元。由此,拉开中美贸易战。04 月 16 日,美国商务部宣布 7 年内禁止美国企业向中兴通讯公司销售零件。直至中兴通讯缴交 14 亿美元罚款及保证金后,美国商务部正式解除对中兴公司 ...
阅读更多 »
主要记录最近遇到的一些开发问题,解决方法。1. Python3 连接数据库Python3 主要有两个数据库连接客户端: mysqlclient 和 PyMySQL 。mysqlclient 是由 C 语言实现的PyMySQL 是由 Python 实现的在性能上, mysqlclient 比 PyMySQL 高一个数量级。但,在 PyPy 下,PyMySQL 与 mysqlclient 性能相差不大 ...
阅读更多 »
大公司的程序员,容易产生的错觉之一就是,误将平台能力当作自己的能力。在大团队,我们不应仅关注自己的一亩三分地,更需要了解平台的各个环节。一方面,有助于更好地利用平台相关特性,另一方面,也为了自我技术更好地成长。本文,介绍了如何使用 Jekins、Docker、GitLab 搭建 Django 自动化开发部署流程。相关工具都是开源、可以拿来即用的。1. 开发流程在生产环境,Web 应用采用的是 K8 ...
阅读更多 »
主要记录最近遇到的一些开发问题,解决方法。1. Python 内存分析方法主要涉及四个工具:memory_profile:分析每一行代码的内存使用量objgraph:跟踪内存中的对象的关系guppy:在运行时跟踪堆的使用情况pyrasite:向进程中注入代码分为两步:模拟线上环境,使用 pyrasite 和 guppy 获取堆信息根据上一步的信息定位到代码中的某一块,再使用 memory_prof ...
阅读更多 »
1. Serializer1.1 数据校验在反序列化数据时,需要对数据的合法性进行校验。这时,可以调用 is_valid() 进行验证,如果发生验证错误,可以在 .errors 属性获取错误提示信息。例如:serializer.is_valid() # False serializer.errors # {'created': [u'This field is requir ...
阅读更多 »