- 博客(10)
- 收藏
- 关注
原创 python GIL
GIL全称是全局解释器锁,它是加在Python解释器上的一把锁,Python字节码的执行必须要获取这把锁,这意味着在某个时间点只有一个线程能够处于执行的状态,这样即使程序中开启了多个线程也无法达到多线程的并行执行。
2025-09-22 10:15:36
586
原创 python迭代器
print(i)上面的代码会依次打印出1至6print(i)这里的代码也会依次打印出1至6,但是我们没有实现next这个魔法函数,而是只实现__iter__这一个魔法函数,但是我们在iter这个魔法函数内部调用了系统内置的iter函数来获得一个迭代器,所以这里itab这个对象也可以被for语句使用。
2025-06-21 14:05:35
329
原创 python socket编程
上面所讲的只是最基本的socket的编程知识,想要更加深入地学习socket编程,可以学习一下Python自带的socketsserver库源码和http库源码,里面都有很系统的socket编程实现,例如解析http请求和实现多线程多进程处理socket请求以及io多路复用,这对提高自己的socket编程知识将会大有裨益。
2025-04-20 16:28:12
810
原创 Redis之bitmap
在我们的平常开发中,我们需要存储一些bool类型的值,比如用户在一年内的签到记录,一年有365天,如果我们用普通的key/value来进行存储的话,那么如果用户数量达到一个非常大的量级的话,这对于内存是一个巨大的消耗,所以在这样的场景下我们使用bitmap来存储的话,每一天的签到记录就只占一个位,那么一年的话就是365个bit(不到46个字节)。这里二进制表示的从左到右是高位到低位,我们分别看到字符a的二进制从左到右第1/2/7位为1,那我们设置一个第1位,第2位,第7位为1的bitmap来试一下。
2024-12-11 23:49:22
2433
原创 docker镜像与容器的关系
Image(镜像)image是一个read-only文件image这个文件包含文件系统,源码,依赖等运行时所需要的资源image可以理解成一个用来构建容器的模板image具有分层的概念container容器容器可以简单地理解成运行中的image(当然这样并不准确,但是前期我们可以初步这么理解)容器实际上是复制image并且在image最上层加上一层(称之为container-layer,这个文件可以读写read-write)基于一个image可以构建多个container如何获取
2024-09-25 12:59:03
296
原创 初识容器技术与docker
容器是一种快速打包的技术,解决了IT世界里货物运输的问题,是一种内核轻量级的操作系统层虚拟化技术。主要由NaneSpace和Cgroup两大机制来保证实现。NameSpace主要用于资源间的隔离Cgroup就负责资源管理控制作用,例如cpu/memory的限制,进程组的优先级控制,进程组的挂起和恢复等等。
2024-08-27 21:18:05
555
1
原创 transition过渡的基本使用
1.简介transition属性是css3中的一个重要属性,transition可以为一个元素在不同样式之间变化添加补间动画。我们只需要定义开始状态和结束状态,这样transition属性就可以为我们添加补间动画。相较于传统的js实现的动画,transition属性实现的动画效果更细腻而且内存开销小。2.transition属性的基本使用transition属性有4个基本要素,分别是要过度的属性,动画时长,动画演变速度,延迟时间。3.哪些属性可以参与过渡(1)所有数值属性都可以参与过度,比如w
2021-07-04 18:20:49
18539
2
原创 django自定义验证方法
1.一般django默认使用的验证是用户加密码,如果在用户数据表中含有邮箱字段,并且想要通过邮箱验证用户登录该怎么实现呢。方法如下。一.自定义验证backendfrom django.contrib.auth.models import AbstractUserfrom django.contrib.auth.backends import ModelBackendfrom django.db.models import Qclass CustomBackends(ModelBackend):
2020-12-05 17:32:41
587
原创 django-restframework之间的各种view之间的关系以及使用
1.api_view和APIView首先api_view和APIView对应了最基本的FBV和CBV,api_view是一个装饰器用来确保视图中收到request实例,并且将上下文添加到相应中,而在drf中写CBV最先要继承的就是APIView,可以通过代码示例来掌握两者的使用的区别from .serializers import SnippetsSerializerfrom .models import Snippet@api_view(["GET",])def snippets_list(
2020-11-28 16:32:39
562
1
原创 DRF项目部署自带静态文件缺失
在drf项目部署后如果发现drf中自带的静态文件缺失,可以通过下面办法来解决1.在settings.py文件中加入STATIC_ROOT=os.path.join(BASE_DIR,"static/")2在项目下运行 python manage.py collectstatic3 最后nginx的配置文件如下至此应该就能加载到drf自带的静态文件...
2020-07-24 10:22:28
1095
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅