- 博客(43)
- 收藏
- 关注

原创 插入排序
‘’’插入排序‘’’arr=[23,45,3,6,56,1,15,4]for i in range( len( arr ) ): preIndex = i - 1# -1 # current = arr[i]# 23 #存储for循环遍历的索引数字 while preIndex >= 0 and arr[preIndex] > curren...
2020-01-20 19:28:47
21807
原创 websocket 代码实现
websocket 代码实现#服务端import asyncioimport websocketswebsocket_users = {} #将websocket对象保存,方便后续转发数据async def recv_user_msg(websocket): recv_text = await websocket.recv() print("recv_text:", websocket.pong, recv_text) # for r in range(10):
2021-08-05 22:19:13
410
原创 websocket原理
websocket原理简介:websocket是h5提供j的一种在单个tcp连接上进行的全双工双向传输的协议,最主要支持服务端主动向客户端推送消息,期间只需一次握手即可。在websocket未诞生之前,由于http短连接,无状态的特行,一般实时通话常用的技术是长连接和ajax轮询ajax轮询原理:浏览器每隔几秒发送一个请求,询问服务器是否有新消息。客户端:是否有新消息?request服务端:没有 response客户端:是否有新消息 requ
2021-08-05 22:18:29
372
原创 APScheduler定时任务框架
定时任务框架ipm中定时给运维发消息,定时用任务模板生成任务操作系统有会提供定时任务的实现,比如windos自带的任务计划,以及linux自带的crontab,但是无法跨平台使用这些,那么就需要自己实现定时任务这个功能。from flask import Flaskfrom flask_apscheduler import APSchedulerclass SchedulerConfig(object): JOBS = [ { "id": 'NO
2021-08-01 14:44:08
308
原创 python事件Event
python事件EventBackgrounpBoking类实现中运用到了Event。Event 用法:event=threading.Event() #设置一个事件实例event.set() #设置标志位event.clear() #清空标志位event.wait() #等待设置标志位event.isSet() #判断标志位是否清空# -*-coding:utf-8-*-# Time : 2021/07/08 20:37# File Name : Event.pyfrom t
2021-08-01 14:43:21
911
原创 Python-标准库calendar的使用
Python-标准库calendar的使用此模块允许输出类似Unix cal程序的日历,并提供与日历相关的其他有用功能。ipm中获取当前月份最大天数import calendar# 设置一周的第几天 0是第一天 6是礼拜日calendar.setfirstweekday(firstweekday=0)# 返回一周的第一天print(calendar.firstweekday())# 判断是否为闰年print(calendar.isleap(2008))print(calendar.
2021-08-01 14:42:17
420
原创 python 标准库--uuid模块
python 标准库–uuid模块uuid概念通用唯一标识符 ( Universally Unique Identifier ),对于所有的UUID它可以保证在空间和时间上的唯一性,也称为GUID通过MAC地址、 时间戳、 命名空间、 随机数、 伪随机数来保证生成ID的唯一性,,有着固定的大小( 128 bit位 ),通常由 32 字节的字符串(十六进制)表示。它的唯一性和一致性特点,使得可以无需注册过程就能够产生一个新的UUID;UUID可以被用作多种用途, 既可以用来短时间内标记一个对象,也可以
2021-08-01 14:41:39
1711
原创 python yaml模块
··python yaml模块ipm中用于读取logger的配置文件 if not os.path.exists("logs/"): os.mkdir('logs') logging.basicConfig(level=log_level) # 调试debug级 with open("logging.yaml", 'rt') as f: config = yaml.safe_load(f.read()) logging.config.dic
2021-08-01 14:41:05
1272
原创 python atexit模块的使用
python atexit模块的使用模块的简介atexit模块主要的作用就是在程序即将结束之前执行的代码,atexit模块使用register函数用于注册程序退出时的回调函数,然后在回调函数中做一些资源清理的操作。该模块其实是一个对 sys.exitfunc 钩子( hook )的简单封装ipm中在应用退出时释放文件锁。简单使用:import atexitimport timedef run(): print("apply is run ...")def clear():
2021-08-01 14:40:32
1241
原创 python arrow模块
python arrow模块import arrow# 获取世界标准时间utc = arrow.utcnow()print(utc)# 获取本地时间now_local_time = arrow.now()print(now_local_time)# 获取指定时间print(arrow.now('Asia/Shanghai'))A = arrow.now()print(A.year) # 当前年print(A.weekday()) # 当前周print(A.hour)
2021-08-01 14:39:39
490
原创 collections库
collections库defaultdict#dict当中最常见的问题,就是key为空的情况#基础写法 dict.get("key",None)#比如当key存在重复,我们希望将key相同的value存进一个list当中,而不是只保留一个。这种情况下写成代码就会比较复杂data = [(1, 3), (2, 1), (1, 4), (2, 5), (3, 7)]d = {}for k, v in data: if k in d: d[k].append(v)
2021-08-01 14:38:50
414
原创 pytest测试框架
pytest测试框架调用从 Python 代码调用 pytestPytest 查找测试策略跳过测试创建第一个测试用例Python 测试发现的约定断言某个异常被引发在类中分组多个测试参数测试化Fixturefixture作用域fixture自动执行fixture重命名fixtrue参数化内置固件tmpdir & tmpdir_factorypytestconfigcapsysmonkeypatchrecwarn调用在模块中运行测试pytest test_mod.py在目录中运行测试pyte
2021-08-01 14:38:00
740
原创 装饰器一波懂
# -*-coding:utf-8-*-# 想搞懂装饰器首先先得知道闭包def function(arg): def wapper(): return arg return wapperprint(function(1)()) # 这个函数内层函数调用了外层函数中的变量就会产生闭包,例如左边传了个1,最后则返回1# 若传进去的是一个函数了???势必会写成下边这样,就是不带参数装饰器def fun01(func): def wapper(*arg
2021-02-23 19:05:30
107
原创 利用socketServer模块实现网络编程
利用socketServer模块实现网络编程创建服务端# -*-coding:utf-8-*-from socketserver import TCPServer as Tcp, StreamRequestHandler as SRH #导入正确的类from time import ctimeHOST = 'localhost'PORT = 8888ADDR = (HOST, PORT)#StreamRequestHandler类将输入输出套接字看作类似文件的对象,因此
2021-01-05 15:20:12
286
4
原创 数据库表范式-mysql
数据库表设计前言: 王珊教授 - 《数据库系统概论》 范式 - 表结构设计标准的级别 常规范式: 1NF , 2NF , 3NF, BCNF, 4NF, 5NF 意义: 为了消除重复数据,减少冗余数据,让我们数据表有更好的组织关系 特点: 符合高级范式的设计,必定符合其低级的范式设计;第一范式1NF: 字段是最小单元 且 不可再分错:|...
2020-02-15 22:41:21
267
原创 Django第三方授权登录
以微博为例以OAuth2.0授权码模式实现第三方授权登录,原理如下图: 1.User Agent为浏览器,CLient为我们想要登录的应用,Auth login为微博登录页面,Auth server为微博服务器。2.首先用户通过浏览器进入我们想要登录的应用,通过点击第三方登录,进入微博登录授权页面,登录用户微博账号,微博会询问你是否授权给你想要登录的应用,用户点击授权,会马上...
2020-02-15 22:26:38
930
原创 Django 缓存,中间件,CSRF防护
目录文章目录目录缓存什么是缓存?为什么使用缓存?使用缓存场景:Django中设置缓存Django中使用缓存浏览器中的缓存强缓存协商缓存中间件 Middleware跨站请求伪造保护 CSRF缓存什么是缓存?缓存是一类可以更快的读取数据的介质统称,也指其它可以加快数据读取的存储方式。一般用来存储临时数据,常用介质的是读取速度很快的内存为什么使用缓存?视图渲染有一定成本,对于低频变动的页面可...
2020-01-20 20:32:00
462
原创 Django Web框架教学笔记
目录文章目录目录admin 后台数据库管理自定义后台管理数据表修改后台Models的展现形式模型管理器类数据库表管理数据表关联关系映射一对一映射一对多映射多对多映射cookies 和 sessioncookiessession 会话控制admin 后台数据库管理django 提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用django 会搜集所有已注册的模型类,为...
2020-01-17 21:08:55
312
原创 Django Web框架教学笔记
目录文章目录目录查询数据字段查找查询谓词修改数据记录删除记录聚合查询F对象Q对象 - Q()原生的数据库操作方法查询数据数据库的查询需要使用管理器对象进行通过 MyModel.objects 管理器方法调用查询接口如果查询结果返回的是QuerySet,可打印QuerySet.query,获取到该orm对应的sql方法说明all()查询全部记录,返回Qu...
2020-01-16 20:36:16
389
原创 django 静态文件,应用,数据库和模型,django shell的使用
文章目录静态文件Django中的应用 - app创建应用app应用的分布式路由include 函数数据库 和 模型Django下配置使用 mysql 数据库模型(Models)Django 的 ORM框架数据库迁移的错误处理方法数据库的基本操作管理器对象创建数据对象Django shell 的使用静态文件什么是静态文件不能与服务器端做动态交互的文件都是静态文件如:图片,css,js,...
2020-01-15 21:51:11
462
原创 选择排序
选择排序‘’’选择排序‘’’list = [3, 15, 48, 35, 4, 18, 2, 43, 8, 24, 1, 29, 6]def selectionSort(arr): for i in range( len( arr ) - 1 ): # 每轮都以开始的那个数为基准 # 记录最小数的索引 minIndex = i # 首先第一...
2020-01-14 22:32:33
119
原创 IO多路复用select ,pool ,epool之间的区别
IO多路复用select ,pool ,epool之间的区别1.从跨平台来说。1.select 跨平台性最好 效率一般 最多监控1024个IO2.pool 跨平台一般 效率一般 监控IO无上限,水平触发。3.epool 跨平台性差 效率高 监控IO无上限,边缘触发。IO多路复用对比:select优点:支持系统多  ...
2020-01-14 20:58:03
2640
原创 django安装与使用
django安装与使用1. sudo pip3 freeze|grep -i 'Django' Django==1.11.8 查询django版本 $ sudo pip3 install django[==版本] 目标网址 安装django的指定版本,去目标网址找django版本下载Django的版本最新版本:2.2.x当前教学版本:1.11.8Djang...
2020-01-13 20:52:42
360
原创 冒泡排序
冒泡排序1.废话不说直接上代码。list=[15,451,1212,5,45,5,2,12,12,15]for r in range(1,len(list)):#1,2,3,4,5,6,7,8,9 for i in range(0,len(list)-r):#0,1,2,3,4,5,6,7,8 if list[i]>list[i+1]: ...
2020-01-13 20:48:36
155
原创 bootstrap
bootstap常用标签练习:!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta htt...
2020-01-10 19:48:14
97
原创 jquery对 ajax 的支持
1.$obj.load() 作用:载入远程的HTML文件到指定的元素中$obj.load(url,data,callback) $obj:显示响应内容的jq元素 url:请求地址 data:请求参数(可省略) 方式1:字符串传参 "key1=value1&key2=value2" 注:此种传参会使用 get 方式发送请求 方式2:使用JS对象传参 { ...
2020-01-09 20:11:41
188
原创 AJAX,JSON前后端交互
JSON1.JSON介绍 JSON:JavaScript Object Notation 在ajax中,允许将 复杂格式的响应数据 构建成 JSON的格式再进行响应2.JSON表现1.JSON表示单个对象 1.使用 {} 表示单个对象 2.在 {} 中使用 key:value 的形式来表示属性(数据) 3.Key必须要用 " " 引起来 4.val...
2020-01-08 20:16:31
129
原创 AJAX
1.什么是AJAX Asynchronous Javascript And Xml 异步的 JS 和 xml(EXtensible Markup Language) 通过 JS 异步的向服务器发送请求并接收响应数据 同步访问: 当客户端向服务器发送请求时,服务器在处理的过程中,浏览器只能等待,效率较低 异步访问: 当客户端向服务...
2020-01-07 19:36:42
115
原创 Flask
文章目录一、 Flask 概述1. 什么是Flask1) Flask 介绍2) Flask 的框架模式 - MTV2. 准备工作二、Flask 使用1. Flask-路由(route)1) 什么是路由2) 路由的使用3) 反向解析2、Flask模板(templates)1) 什么是模板2) 模板的设置一、 Flask 概述1. 什么是Flask1) Flask 介绍Flask是一...
2020-01-04 19:17:23
796
原创 JQuery工具库
文章目录jQuery简介1. 介绍2. 使用1)引入2)工厂函数 - $()3)原生JavaScript对象与jQuery对象4)jQuery获取元素5)操作元素内容6)操作标签属性7)操作标签样式8)元素的创建,添加,删除9)动画效果10)数据与对象遍历11)jQuery事件处理jQuery简介1. 介绍jQuery是JavaScript的工具库,对原生JavaScript中的DOM操作、...
2020-01-03 20:14:14
330
原创 javascript基础day04
文章目录一、BOM 对象1. BOM 介绍2. 对象方法网页弹框定时器方法3. 对象属性historylocation二、DOM节点操作1. 节点对象2. 访问节点3. 操作元素样式4. 模拟点击练习:一、BOM 对象1. BOM 介绍 BOM全称为“Browser Object Model”,浏览器对象模型。提供一系列操作浏览器的属性和方法。核心对象为window对象,不需要手动创建,...
2020-01-02 20:18:51
109
原创 js对象数组
一、 内置对象1) 对象2) Array 数组创建特点属性和方法二维数组3)String 对象创建特点属性方法Math 对象定义属性方法5)日期对象创建日期对象日期对象方法一、 内置对象1) 对象对象是由属性和方法组成的,使用点语法访问2) Array 数组创建特点数组用于存储若干数据,自动为每位数据分配下标,从0开始数组中的元素不...
2019-12-31 21:02:49
2313
原创 JS基础
文章目录一、流程控制1. 作用2. 分类1)顺序结构2)分支/选择结构1. if语句2. switch语句3)循环结构二、函数1. 作用2. 语法3. 使用4. 匿名函数5. 作用域6. 获取多个DOM元素和控制属性一、流程控制1. 作用控制代码的执行顺序2. 分类1)顺序结构从上到下依次执行代码语句2)分支/选择结构1. if语句简单if结构if(条件表达式){ 表达式成立...
2019-12-30 20:27:54
102
原创 JS基础
文章目录一、 JavaScript 概述1. 什么是JavaScript1) JS 介绍2) JS 组成2. 使用方式二、基础语法1. 语法规范2. JS的变量与常量1) 变量2) 常量3. 数据类型1) 基本数据类型(简单数据类型)2) 引用数据类型3) 检测数据类型4. 数据类型转换1) 强制类型转换2) 隐式类型转换(自动转换)5. 运算符1) 赋值运算符2) 算数运算符3) 符合运算符...
2019-12-29 19:19:15
127
原创 H5 , Css基础练习
h5,css基础练习1.内边距练习padding<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> ...
2019-12-26 20:01:26
566
原创 H5,css样式
文章目录一、尺寸与颜色单位1. 尺寸单位2. 颜色单位2. CSS 盒模型1. 内容尺寸2. 边框1. 边框实现2. 单边框设置3. 网页三角标制作4. 圆角边框5. 轮廓线6. 盒阴影3. 内边距4. 外边距5. 元素最终尺寸的计算一、尺寸与颜色单位1. 尺寸单位px 像素单位% 百分比,参照父元素对应属性的值进行计算em 字体尺寸单位,参照父元素的字体大小计算,1em=1...
2019-12-25 20:31:41
517
原创 H5,css
文章目录CSS 基础使用一、CSS介绍二、CSS使用方式1. 行内样式/内联样式2. 内嵌样式3. 外链样式表三、 样式表特征1. 层叠性2. 继承性3. 样式表的优先级四、CSS 选择器1. 作用2. 分类 :1. 标签选择器2. id选择器3. class选择器/类选择器4. 群组选择器5. 后代选择器6. 子代选择器7. 伪类选择器3. 选择器的优先级五、标签分类及嵌套1. 块元素2. 行内...
2019-12-25 20:26:21
103
原创 html基础知识及练习
1.开发前准备运行环境:浏览器,设置chrome为默认浏览器,作为网页文件的运行环境。调试工具:浏览器自带的调试工具,使用快捷键"F12"或右键"检查"打开。开发工具:不限,选用个人习惯的即可。(Sublime、VSCode、EditPlus、 PyCharm 等 下面开发用的VsCode)2.基础知识一、Web前端介绍1. 什么是网页网页是基于浏...
2019-12-23 20:07:24
534
原创 基于微软Ling框架下的函数式编程
基于微软Ling框架下的函数式编程----------------------------------------------**## 生成器推导式**----------------------------------------------def my_enum(list_number): # index=0 # for i in list_number: # ...
2019-12-22 22:08:17
162
原创 数据库
数据库操作#1.查询名字为女和攻击力在100 英雄的idmysql> select name from sanguo where gender='w' union select id from sanguo where attack>100;+-----------+| name |+-----------+| 孙尚香 || 甄姬 || 大乔 ...
2019-12-21 22:48:53
159
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人