06 2021 档案
摘要:电脑防锁屏 HTML/JS 代码 起因: 公司电脑会自动锁屏,有时不用电脑也不想让电脑锁屏。网上搜到了解决方案,亲测有效。 原理: 通过JS来控制键盘的按键循环按下实现不锁屏的效果,这里定时按下SCROLLLOCK键,达到电脑不会被锁屏的效果。由于浏览器出于安全考虑,所以下面的代码只在ie上有效
阅读全文
摘要:django多数据库 一 django多数据库 1) 数据库单实例 > 搭建MySQL主从(一主一从:读写分离) > MySQL集群 > 分库分表 2) django中实现读写分离 3) 分表有两种:水平分表(按id范围分表),垂直分表(一对一的关系) MyCat:数据库中间件 1--1000w在d
阅读全文
摘要:django缓存与信号 一 django缓存 1 缓存介绍 -在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面。 -当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务
阅读全文
摘要:RBAC、xadmin与Book系列多表群操作 一 RBAC-基于角色的访问控制 1 什么是RBAC 1.1 概念 -RBAC 是基于角色的访问控制(Role-Based Access Control )在 RBAC 中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简
阅读全文
摘要:drf之分页异常处理自动接口文档 一 分页器(三种)重点如何使用 1 关于分页器 1.1 内置的三种分页器 1)-PageNumberPagination:普通分页 2)-LimitOffsetPagination:偏移分页 3)-CursorPagination:游标分页 1.2 两种分页模式 1
阅读全文
摘要:JWT认证 一 jwt认证介绍 1 什么是jwt # Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者
阅读全文
摘要:drf之认证、权限、限流、过滤 一 drf认证Authentication 1 drf认证功能介绍 0) 认证,频率,权限 1) 用户是否登录到系统中 2) 后期基本上会用JWT的认证 3) 自定制的认证 2 认证功能源码分析 2.1 源码分析 1) APIView 》dispatch 》self.
阅读全文
摘要:drf的请求与响应 一 Request 1 关于Request # 关于Request -REST framework 传入视图的request对象不再是Django默认的HttpRequest对象,而是REST framework提供的扩展了HttpRequest类的Request类的对象。 -R
阅读全文
摘要:视图组件与路由组件 一 视图组件 1 drf视图类 # Django REST framwork 提供的视图的主要作用: 控制序列化器的执行(检验、保存、转换数据) 控制数据库查询的执行 2 2个视图基类 2.1 DRF视图基类 # REST framework 提供了众多的通用视图基类与扩展类,以
阅读全文
摘要:DRF入门 一 web开发模式 1) 前后端混合开发(模板语言:DTL),处理很多前端问题 2) 前后端分离:前端是一个项目,后端是一个项目,联调 -全栈开发 3) 前端:不仅仅指 web前端,移动端,小程序 -web:vue,react,html+css+jq -移动端:ios(object c,
阅读全文
摘要:django之auth组件 一 Auth模块是什么 -Django它内置了强大的用户认证系统--auth,实现包括用户注册、用户登录、用户认证、注销、修改密码等功能。auth组件本质上是一个app。它默认使用 auth_user 表来存储用户数据。 二 auth模块常用方法 from django.
阅读全文
摘要:多对多关联与中介模型 一 多对多关联的三种方式 # 多对多关联关系的建立有三种方式。 1 方式一:自行创建第三张表 class Author(models.Model): nid = models.AutoField(primary_key=True) name = models.CharField
阅读全文
摘要:cookie与session组件 一 会话跟踪技术 1 什么是会话跟踪技术 1) 在Web中,客户向某一服务器发出第一个请求开始,会话就开始了,直到客户关闭了浏览器会话结束。 2) 在一个会话的多个请求中共享数据,这就是会话跟踪技术。 3) 例如在一个会话中的请求如下: -请求银行主页; -请求登录
阅读全文
摘要:django之中间件 一 中间件简介 # 中间件顾名思义,是介于request与response处理之间的一道处理过程,相对比较轻量级,并且在全局上改变django的输入与输出。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能 # django内置中间件 'django.middleware.
阅读全文
摘要:Linux_001.su: Authentication failure问题 故障描述 su - root / su root 输入密码之后提示 su: Authentication failure ccf@chaofan:~$ su - root Password: su: Authentic
阅读全文
摘要:Django之forms组件 一 forms组件介绍 1) 注册功能,登录功能,前端需要校验(字段长度,邮箱是否合法。。。) 2) 前端校验可以没有,后端校验是必须的,使用传统方式 if判断写的很多 3) 借助于 forms组件,可以快速实现字段的校验 from django.forms impor
阅读全文
摘要:Django之分页器组件 一 Django的分页器(paginator)简介 在页面显示分页数据,需要用到Django分页器组件。 -1) 项目数据量大了以后,比如涉及到分页,一页一页的加载显示 -2) django中分页器组件,把分页常用的东西,封装到一个类中 -3) 实例化得到一个对象,对象里有
阅读全文
摘要:Django与Ajax 一 Ajax介绍 1 什么是Ajax AJAX(Asynchronous Javascript And XML)翻译成中文就是“异步Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使
阅读全文
摘要:序列化器-Serializer 零 序列化介绍 api接口开发,最核心最常见的一个过程就是序列化,所谓序列化就是把数据转换格式,序列化可以分两个阶段: 序列化: 把我们识别的数据转换成指定的格式提供给别人。 例如:我们在django中获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或别
阅读全文
摘要:Django之Model进阶 一 原生sql的使用 # 1) 原生sql(有些sql用orm写不出来) # 2) 两种方案 # 第一种:用的比较少 from django.db import connection cursor = connection.cursor() cursor.execute
阅读全文
摘要:Django之多表查询 一 创建模型 1 模型创建 1) 图书表:book,作者表:author,作者详情表:authordetail,出版社表:publish,(第三张中间表)。 2) 作者跟作者详情:是一对一,关联字段写在哪一方都可以 3) 图书跟出版社:是一对多,【一对多关系一旦确立,关联字段
阅读全文
摘要:django之模型层单表查询及其他补充 一 orm简介 1 orm概述 1) orm:对象关系映射(跟语言无关) -数据库中的表 》对应程序的一个类 -数据库中的一行数据 》对应程序中的一个对象 2) python中常见orm框架 -django的 orm框架 -sqlachemy orm框架 3)
阅读全文
摘要:django之模板层 一 模板简介 你可能已经注意到我们在例子视图中返回文本的方式有点特别。 也就是说,HTML被直接硬编码在 Python代码之中。 def current_datetime(request): now = datetime.datetime.now() html = "<html
阅读全文
摘要:Django视图层及其他补充 一 Django之视图层 1 视图层之请求对象 1.1 request属性 django将请求报文中的请求行、首部信息、内容主体封装成 HttpRequest 类中的属性。 除了特殊说明的之外,其他均为只读的。 1).HttpRequest.GET 一个类似于字典的对象
阅读全文
摘要:Django之路由控制 一 Django中路由的作用 URL配置(URLconf)就像Django 所支撑网站的目录。它的本质是"URL与要为该URL调用的视图函数之间的映射表";你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行 # 典型的例子: from dj
阅读全文
摘要:django初识 一 web应用 1 Web应用是什么 简单说就是用浏览器访问的应用程序。 # 介绍: 1)、Web应用程序是一种可以通过Web访问的应用程序,程序的最大好处是用户很容易访问应用程序,用户只需要有浏览器即可,不需要再安装其他软件。 2)、应用程序有两种模式C/S、B/S。 C/S是客
阅读全文
摘要:Django基础知识 一 django目录介绍 -mydjango # 项目名 -app01 # app的名字 -migrations # 数据库变更相关记录(你不要删,也不要改) -admin.py # 后台管理(创建项目如果没有选,就没有) -apps.py # app的相关配置,不用管 -mo
阅读全文
摘要:索引原理与慢查询优化 一 索引原理 1 为何要用索引 创建索引的目的是为了优化查询速度,但是一张表一旦创建了索引,会降低读写速度。 2 什么是索引 索引是MySQL数据库的一种数据结构,在MySQL里称之为key。 3 索引的原理 本质:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同
阅读全文
摘要:视图、触发器、事务、存储过程、函数 一 视图 1 什么是视图 视图是一个虚拟表(非真实存在) ,其本质是【根据SQL语句获取动态的数据集,并为其命名】,用户使用时只需要使用【名称】即可获得结果集,可以将该结果当作表来使用。 使用视图我们可以把查询结果过程中的临时表摘出来,用视图去实现,这样可以以
阅读全文
摘要:数据备份与pymysql模块 一 IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具Navicate。 掌握: #1. 测试+链接数据库 #2. 新建库 #3. 新建表,新增字段+类型+约束 #4. 设计表:外键 #5. 新建查询 #6. 备份库/表 #注意
阅读全文
摘要:MySQL记录相关操作基础 一 插入数据insert 1) 插入完整数据(顺序插入) 语法一: insert 表名(字段1,字段2,字段3…字段n) values(值1,值2,值3…值n); 语法二: insert 表名 values(值1,值2,值3…值n); 2) 指定字段插入数据 语法: in
阅读全文
摘要:MySQL记录相关操作之多表查询 一 介绍 # 为了让表的查询更有效率,所以表一般会分拆成多个进行存储,这样就需要使用select语句针对多表进行查询。 # 实验表格准备———————— # 建表 create table department( id int, name varchar(20) )
阅读全文
摘要:MySQL表相关操作 一 表相关操作基础 1 表介绍 表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段。 id name age 字段:一条记录对应的标题称为一个字段,如id,name,age 1 kiessling 37 记录:一行内容称为一条
阅读全文
摘要:MySQL基础 一 mysql相关概念介绍 1 数据库概述 1.1 什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片、图像、声音、语言等,数据有多种表现形式,他们都可以数字化后存入计算机。 在计算机中描述事物,就需要抽取这一事物的典型特征,组成一条记
阅读全文
摘要:单例模式及实现单例模式的方法 一 单例模式 "单例模式(Singleton Pattern)"是一种常用的软件设计模式,该模式的主要目的是确保"某一个类只有一个实例存在"。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,某个服务器程序的配置信息存放在一个文件中,客户端通
阅读全文
摘要:面向对象的魔法方法 一 类型判断、反射与importlib 1 类型判断 1.1 issubclass "issubclass(x, y)" 这个内置函数可以帮我们判断x类是否是y类型的子类。 官方解释:"issubclass(class, classinfo)"`如果 class 是 clas
阅读全文
摘要:并发编程之携程 一 协程介绍 1 单核下并发的本质及切换任务的两种情况 切换的本质是:**切换+保存状态** #### 1.切换任务的情况一: 任务发生阻塞。(可以提升效率,因为充分利用I/O阻塞的时间。) #### 2.切换任务的情况二: 占用CPU时间过长,或有一个优先级更高的程序替代了它。(不
阅读全文
摘要:并发编程之多线程 一 同步锁 1 两个注意点 1).线程抢的是GIL锁,GIL锁相当于执行权限,拿到执行权限后才能拿到互斥锁Lock,其他线程也可以抢到GIL,但如果发现Lock仍然没有被释放则阻塞,即便是拿到执行权限GIL也要立刻交出来。 2).join是等待所有,即整体串行,而锁只是锁住修改共享
阅读全文
摘要:并发编程之线程 一 什么是线程 计算机相当于大工厂,工厂里有一个个车间(进程) ,有很多人(线程) 干不同的事。 **进程是资源分配的最小单位,线程是CPU调度的最小单位。每一个进程中至少有一个线程。** 线程的开销更小,更轻量级。 二 开启线程的两种方式 1 通过函数的方式 # 第一种,通过函数
阅读全文
摘要:进程基础及多进程的使用 一 进程理论知识 1 操作系统的作用 1).隐藏丑陋复杂的硬件接口,提供良好的抽象接口;应用程序员有了这些接口后,就不用再考虑操作硬件的细节,专心开发自己的应用程序即可。 2).管理、调度进程,并且将多个进程对硬件的竞争变的有序。 2 多道技术 2.1 产生背景: 针对单核,
阅读全文
摘要:并发编程之进程间通信、生产者消费者模型 一 进程调度 (1) 先来先服务 (2) 短作业优先 (3) 时间片轮转 (4) 多级反馈队列 多级反馈队列调度算法即能使高优先级的作业得到响应又能使短作业(进程)迅速完成。 二 僵尸进程与孤儿进程 (1) 僵尸进程 进程结束了,资源还没来得及回收完成。
阅读全文
摘要:元类metaclass 一 什么是元类 #### python中一切皆是对象。以如下代码为例分析: # 元类=》OldboyTeacher类=》obj class OldboyTeacher(object): school = 'oldboy' def __init__(self, name, ag
阅读全文
摘要:猴子补丁、垃圾回收机制 一 猴子补丁 1 什么是猴子补丁 属性在运行时的动态替换,叫做猴子补丁(Monkey Patch) 。 猴子补丁的核心就是用自己的代码替换所用模块的源代码。 2 猴子补丁的功能(一切皆对象) 拥有在模块运行时替换的功能,例如:一个函数对象赋值给另一个函数对象(把函数原本的执行
阅读全文
摘要:UDP套接字通信、socketserver并发编程 一 基于UDP的套接字通信 1 TCP与UDP协议的对比 ### 1.可靠性 #### (1) TCP协议是可靠协议 对方必须回复一个ack确认消息,才会将自己这端的数据从内存中删除。 #### (2) UDP是不可靠协议 发送一条消息就会
阅读全文
摘要:粘包问题及解决方案 一 什么是粘包问题 前提:只有TCP会发生粘包现象,UDP永远不会粘包。 粘包问题本质上就是接收方不知道消息的边界,不知道一次性该提取多少字节流用于解析消息,造成的消息解析错误问题。 二 为何么会有粘包问题 1 socket收发消息的原理之流式协议 发送端可以是1K1K的发送
阅读全文
摘要:socket编程基本流程及TCP套接字 一 socket编程基本流程 1 套接字的概念及分类 1.1 套接字是什么 套接字是一种【通信机制】,凭借这种机制,客户/服务器系统的开发工作既可以在本地单机上进行,也可以跨网络进行,Linux所提供的功能(如打印服务,ftp等) 通常都是通过套接字来进行通信
阅读全文
摘要:上网的基本流程(网络通信原理) 一 普通URL的组成 #### 协议--域名--端口--虚拟目录--文件名 以如下url为例: `http://www.aspxfans.com:8080/news/index.asp` ### 1 协议部分 该URL的协议部分为“http:”,这代表网页使用的是HT
阅读全文
摘要:socket编程与OSI五层协议 一 socket编程初探 1 什么是socket socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,socket相当于一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的Socket
阅读全文
摘要:图床工具PicGo设置 留存下来设置,以防重装软件或者系统再去网上查找相关步骤。 一 gitee图床使用 1 PicGo设置 1.1 gitee插件下载 安装完PicGo之后,首先是下载插件: 1.2 插件设置 进入设置面板 设置 owner repo token 其中repo 要进入仓库看
阅读全文