摘要: 简介 初次见到serializers文件,想必大家都会感到陌生,所以,我们不妨换个词来形容他的作用,那就是django 中的Form,这样是不是感觉熟悉了一点。 实际上,serializers 的作用和Form也差不多,可以帮我们验证提交的表单,和取出model里面的字段 fields 既然是序列化 阅读全文
posted @ 2019-02-01 15:57 余震杰yzj 阅读(2469) 评论(0) 推荐(1) 编辑
摘要: 简单的使用 Django rest framework 建成DRF,可以帮助我们快速构建出 django的rest full 风格的api接口。 其源码容易理解,所以我们可以很方便的使用。 安装 settings.py 配置 python INSTALLED_APPS = ( ... 'rest_f 阅读全文
posted @ 2019-01-31 17:48 余震杰yzj 阅读(1729) 评论(0) 推荐(2) 编辑
摘要: mock 测试 mock 是辅助单元测试的模块,用于测试不方便调用的别人的接口。举个简单的例子,比如说,我们测试django 写的微信登录接口,正常流程下,我们需要前端拉起授权窗口,获取jscode或其他数据。而这一部分操作,我们在单元测试的时候没办法模拟出来。此时,我们希望假设调用微信的接口,正常 阅读全文
posted @ 2019-01-31 16:26 余震杰yzj 阅读(3305) 评论(0) 推荐(0) 编辑
摘要: redis 过期回调通知 背景 在使用redis的过程中,有时我们会遇到这种情景,当key过期的时候,我们需要去重新做一些操作,比如重新生成value等。之前,一直用的是添加一个celery定时任务,今天了解redis的通知功能后,发现可以用直接实现。 简介 官方原文:https://redis.i 阅读全文
posted @ 2018-11-15 21:47 余震杰yzj 阅读(1783) 评论(0) 推荐(0) 编辑
摘要: 在我们实际编码中,会遇到一些并行的任务,因为单个任务无法最大限度的使用计算机资源。使用并行任务,可以提高代码效率,最大限度的发挥计算机的性能。python实现并行任务可以有多进程,多线程,协程等方式。 进程,线程,协程 进程 进程是程序运行的基本单位,资源分配和独立运行的基本单位。 多进程实现并行任 阅读全文
posted @ 2018-10-02 15:51 余震杰yzj 阅读(312) 评论(0) 推荐(0) 编辑
摘要: git是一个分布式版本控制器,简单来说就是可以记录每次代码的修改和提交,方便我们查看修改记录和版本的回退 工作流程 基本概念 仓库 git 是一个分布式版本控制器,其单位就是仓库,每个仓库就是当前git管理的总和 远程仓库 远程仓库有时也称为中心仓库,所有的代码push到的地方,理论上来说,因为gi 阅读全文
posted @ 2018-09-05 21:23 余震杰yzj 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 使用celery完成异步任务 背景 有时我们需要一些定时任务,比如,30分钟后,修改订单状态为不可支付,并恢复库存,此时,要实现这种功能需要单独一个程序,使其不断查询时间是否到期。显然这种方式会浪费大量资源,所以我们引入一个定时任务的框架celery。 celery简介 celery 是一个高效的异 阅读全文
posted @ 2018-08-20 20:57 余震杰yzj 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 背景 在web开发过程中有遇到这样的情况:有一部分业务处理速度很慢,但它的结果对最终的返回没有影响,即使报错了,也不需要返回错误信息,只需要在另一个地方可以查询这部分业务的信息即可。例如:用户下单并成功支付,我们需要修改订单状态,并返回回去,但这中间需要做些其他操作,例如发邮件,发短信,生成相应资料 阅读全文
posted @ 2018-08-04 16:05 余震杰yzj 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 背景 首先,我不会解释这两个名词,我看过很多遍解释,可还是看不懂,还是直接看使用情景吧。 我们以佩波拉契数列为例,当我们不知道迭代器的情况下,我们写出来的代码可能是这样子的: 或者优化一下,变成这样子: 考虑到进一步的优化,我们就需要引进python的yield 语法 使用yield yield的用 阅读全文
posted @ 2018-08-01 22:44 余震杰yzj 阅读(785) 评论(0) 推荐(0) 编辑
摘要: 背景 通过对gRPC的介绍我们知道,当正常启动服务后,我们只需要知道ip,port就可以进行gRPC的连接。可以想到,这种方式并不适合用于线上环境,因为这样直连的话就失去了扩展性,当需要多机部署的时候,就无法在线上环境直接使用,而且当线上项目连接的那台服务器宕了的话,整个项目也会出错,这并不是我们想 阅读全文
posted @ 2018-07-31 22:04 余震杰yzj 阅读(8690) 评论(4) 推荐(2) 编辑