- 博客(7)
- 收藏
- 关注
原创 限流?详解基于速率的流控算法
在web开发的过程中,流量控制可以保证我们的系统平稳运行,防止瞬时流量压垮的我们系统,也可以防止一些恶意流量攻击。因此,选用一个适合于我们系统的流控算法对我们的系统就有重要的意义,本文会介绍几种基于速率的流控算法,并说明每一种算法适合的场景。
2025-02-19 18:56:49
1100
原创 Python的垃圾回收机制,详解Python的GC体系
垃圾回收即简称为GC,是Python,Java等高级语言所使用的内存回收机制,由虚拟机帮助我们管理内存,让它自动把我们去追踪和回收内存中的对象。没有作用的对象就是垃圾,虚拟机就是扫地机器人,在某个时机自动帮我们清除垃圾。区别于C和C++这种让用户自己进行内存管理的方式,由虚拟机代用户管理内存。让用户自己进行内存管理的方式固然自由方便,但是对编码者编程功底和程序理解的要求也要更高。而且这样也可能导致大量难以发现并且危害巨大的bug,如造成内存泄漏,产生野指针和悬挂指针等。
2025-02-16 22:08:26
2389
原创 Django中如何避免N+1查询问题?
这是一个新手码农特别容易忽视,或者说难以发现的问题,就像笔者在刚刚开始敲代码的时候也会在不知不觉中犯下这个严重影响应用性能的问题!我们在开发应用的过程中,一个对自己的代码有有追求的程序员总是会想尽一切办法优化程序的性能,影响程序性能的原因有很多,但是N+1问题是一个常见的性能问题,特别是在使用对象关系映射(ORM)框架或进行数据库查询时,往往可能不经意间就犯下了这种错误。
2025-02-14 00:26:20
1024
原创 详解Django中的ForeignKey(一对多关联)
ForeignKey是 Django 模型系统中的一个字段类型,用于定义模型之间的一对多的关系。它创建了一种关系,使一个模型的实例可以连接到另外一个模型的实例,在数据库中表现为外键。
2025-02-09 18:55:48
2330
原创 python中的协程
这样做的坏处就是,一旦这些任务中有耗时的IO操作,cpu在等待IO的过程中会挂起,而在同步执行的情况下,cpu在挂起之后不会利用这段等待IO的时间去执行其他任务,而是硬等到IO结束才继续执行下一个任务,这样就会导致我们不能极致地利用cpu的性能,导致程序的效率不高。异步执行区别于同步执行的地方就在于,当cpu在执行一些耗时操作的时候,它不会在原地傻傻等待,而是自己去找活干,在开始等待某一个耗时操作的之后,他会主动去执行其他任务。而在执行第二个任务的时候也不会等待,发现需要等待就马上执行下一个任务。
2025-02-06 21:49:30
1244
原创 基于属性控制访问的权限模型(ABAC)
ABAC(基于属性的访问控制, Attribute-Based Access Control)是一种访问控制模型,通过使用来决定用户对资源的访问权限。与传统的基于角色的访问控制模型(RBAC)不同,ABAC 不依赖于固定的角色,而是更加灵活地使用一组属性来动态地评估和授权访问请求。
2025-02-05 16:05:54
1960
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人