Python多任务:多线程和多进程
python的多任务其实用了很久了,因为刚开始写代码的时候总是看网上说高并发、异步之类的,就觉得很高大上,所以刻意地去学过,后来在实际开发工作有过为了使用而使用,也有过真正因为性能问题而必须要使用。今天想把目前掌握的一些内容记录下来。
其实应该介绍一下网上流传甚广的“Python速度慢”和GIL,但是这两个话题在网上有非常多的文章讨论过,就不想再多写了。
Python多任务其实有多线程、多进程和协程三种实现方法,但是协程一般只在性能要求特别高的情况下使用,并且在实现上相对于多线程和多进程要复杂一些,所以不在这里写,以后单独为协程写一篇笔记。
做项目时技术之外的那些东西
最近在公司做一个项目,跟以往不同的是,在这个项目中,我有点类似于项目经理的角色(但我并不是项目经理)。换了一个角色,发现要想成功做成一个项目,远不是光有好的技术就可以的。
记录一下最近的感受,主要分为这几个方面:充分沟通、预期管理、协调同事关系、任务分配、超前规划。
下面对每一项单独记录。
关于构建监控系统的一点感想(四):监控系统本身应该部署在哪里?
之所以想要写这篇笔记是因为上周我们的监控系统发生了一件我以前遇到的事情,这次虽然没有造成严重后果,但是很值得反思。
先说说发生的事情,也就是背景。
我们的监控是基于Prometheus构建的,然后利用grafana做可视化,都是部署在k8s里面的,这个k8s同时也是业务所在的集群,这应该也是很普遍的做法,而且网上很多教程和博客都是这么写的。
关于构建监控系统的一点感想(三):监控延迟
所谓“延迟”其实就是指响应时间,比如一个web页面的响应时间,一个api接口的响应时间等等。
这篇笔记分如何实施和如何使用两部分来讲关于延迟的监控。
笔记中不会写实施的详细的步骤,因为这样的内容网上非常多,更多的是记录在使用中一点感想和建议,如果读者正好也在做类似的事情,可能会在思路上能够提供一点点的帮助
Django rest Framework入门 五 :认证、权限、限流、分页和过滤
写在前面
以下提到的代码的代码仓库:https://github.com/yexia553/drf
分支: others
认证和权限
在实际开发中,认证这一部分常常是使用jwt,但jwt是相对独立并且比较复杂的模块,这里就不过多记录,以后有机会专门写一下jwt和drf的配合使用。
Django rest Framework入门 四 :视图
在Django rest Framework入门 二 :DRF框架初体验中其实已经使用了视图了(book.views里面的代码),而且就是实际开发中最常用的模式,但是那是经过DRF框架高度封装的,代码的可读性不好,而且如果不了解里面的细节,当以后遇到需要定制化的工作时可能就无从下手,这一篇笔记会记录一些我自己认为比较重要切常用的实现细节。
写在前面:
本文后面所有的代码样例中,book.urls里面,以下两段代码只能二选一,使用其中一个的时候必须把另外一个注释掉。
第一段是与ViewSet配置使用的,第二段是与ModelViewSet配置使用的。