
正则表达式--分好类,会更好记
各个语言通用,一次学好,一直有用。 正则表达式可以用来匹配字符串中的字符。比如:在各语言中都有相应的支持。 正则表达式的分类 基础正则表达式(BRE):元字符需要转义 扩展正则表达式(ERE):元字符不需要转义即可使用 编程语言支持的高级正则表达式:支持更多的特性 不同语言的应用 shell-gre

python-MRO列表及C3算法
当一个类继承多个类时,通过MRO列表来查找其属性或者方法。

drf基础使用示例
drf可以让开发者更快速的进行restfullApi的开发 安装 在安装好django后可以以下命令安装drf pip3 install djangorestframework==3.10.3 注册 在setting.py中注册 ‘rest_framework’ Hello Word 通过下边的内容

xss与csrf
最常见的两种攻击方式,对此种攻击的防范应该做为安全的基本常识 xss跨站脚本攻击 当一个页面可以显示用户提交的内容时,如果用户在内容中添加了可执行代码,如果后台没有进行处理,则当有其他的用户访问该页面时,会自动执行用户自己添加的代码。 一般在模板层都会对此类可执行代码进行转义。 csrf跨站请求伪造

python-虚拟环境的搭建及使用
当在一台主机上需要运行多个版本的python环境或者不同版本的包时,可以使用**虚拟环境**进行不同python软件间的环境隔离。 安装环境:windows 1. 安装依赖 pip3 install virtualenv pip3 install virtualenvwrapper-win 2.配置

mysql存储引擎
存取引擎层负责数据的存储和提取。在mysql中,存取引擎层架构模式是插件式的,支持多个存储引擎。 存储引擎 锁 表级锁: 如果有人修改当前这个表,会直接上锁,其他用户无法进行修改,不能进行高并发. 行级锁: 如果有人修改当前这个表中的一条记录,当前这条数据会被锁定,其他数据仍然可以被修改,速度快,允

mysql数据类型
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。选择合适的数据字段的类型是数据库的优化重要的一步。 合适的数据类型可以提高数据库存储空间利用率,一定程度上提高数据查询效率. 1.整形

线程及GIL全局锁
进程在启动时,仅仅是在内存空间中申请了一块自己的空间,而线程才会被cpu执行。 线程 进程和线程都是虚拟单位,进程为资源单位,线程是执行单位 当我们创建一个进程时也会相应的创建一个线程,进程被执行时,cpu执行的其实是进程里面的线程,线程指的就是代码的执行过程,执行代码中所需要使用到的资源都向所在的

常见的IO模型
合理的处理IO可以提高系统的处理速度,提高CPU的利用率 通讯中主要包括网络IO和从内核拷贝数据到线程中,内核拷贝到线程中速度很快,因此IO一般在网络中。 网络IO 模型主要包括: blocking IO 阻塞IO nonblocking IO 非阻塞IO IO multiplexing IO多路复

python中常见的锁
通过锁可以保证线程与进程的安全 死锁与递归锁 死锁:当一个线程或者进程抢到了一把锁,且执行下一步的操作时,还需要一把锁,但是这把锁被另外一个进程或者线程拿到了,那么就会出现死锁现象。 死锁示例: from threading import Thread, Lock import time mut