- 博客(81)
- 收藏
- 关注
转载 发布订阅模式
1、什么是发布订阅模式?发布订阅模式,在我们生活中是非常常见的一种,比如我们常见的微信公众号订阅号,被订阅的公众号作者会将更新的文章发送给每个订阅者,再比如我们找中介买房子,告诉了中介我们的需求(订阅),然后中介手上有了适合的房源后,将信息发送给所有订阅的人(发布)等。2、看一个最简单发布订阅的代码例子let e = { arr:[], on(fn)=...
2019-09-09 15:42:00
312
转载 python 实现 websocket
一、websocket概要: websocket是基于TCP传输层协议实现的一种标准协议(关于网络协议,可以看看文末的图片),用于在客户端和服务端双向传输数据 传统的客户端想要知道服务端处理进度有两个途径: 1)通过ajax不断轮询,由于http的无状态性,每次轮询服务器都需要去解析http协议,对服务器压力也很大 2)采用long poll的方式,服务端不给客户...
2019-09-02 17:24:00
2627
转载 高阶函数
1、什么样的函数是高阶函数? 1)一个函数的参数是另一个函数(回调) 2)一个函数返回另一个函数(拆分函数) 如 function a(){return function(){}}2、常见的高阶函数: 1)before:我们经常会遇到这种需求,就是一个核心功能上面需要衍生出一些个性化功能,这时候,我们需要先将核心功能抽离出来,在外面再增加方法 解决方...
2019-08-29 10:14:00
230
转载 apply,call和bind的使用及区别
1、用途 1)apply,call和bind都是 用来改变this的指向 2)apply和call会让当前函数立即执行,而bind会返回一个函数,后续需要的时候再调用执行2、this指向问题this的指向有以下四种情况: 1)如果函数中的this没有调用对象,则this指向window(严格模式下,this为undefined) 2)如果函数中this被不...
2019-08-20 17:12:00
180
转载 js实现分段上传文件
使用js实现分段上传文件,本文使用了FileReader对象,可参考:https://developer.mozilla.org/zh-CN/docs/Web/API/FileReader1)获取文件,分段读取function WebDav_Upload() { var file = document.getElementById('WebdavFileToUpl...
2019-04-29 16:37:00
1031
转载 判断浏览器类型
function GetBrowserType(){ var userAgent = navigator.userAgent; if(userAgent.indexOf("MSIE")>0){ var b_version = navigator.appVersion; var version = b_version.split(";"); ...
2019-03-25 19:40:00
99
转载 Django单元测试
前面简单介绍了flask的单元测试,这里说说Django单元测试。Django单元测试也是使用了python自带的unittest,Django的testTestCase继承了python的unittest.TestCase1、在创建Django app时,已经自动生成了tests.py文件,我们直接在tests.py中编写我们的测试用例from django.test ...
2019-03-18 19:18:00
153
转载 DRF限制访问频次
官方文档:https://www.django-rest-framework.org/api-guide/throttling/1、什么场景下需要限制访问频次呢? 1)防爬虫:爬虫可能会在短时间内大量的访问服务接口,增加服务器压力 2)对于需要限制访问频次的接口2、DRF如何限速: 通过 rest_framework下面的throttling 模块实现 t...
2019-03-11 16:44:00
500
转载 DRF缓存
对于现在的动态网站来讲,所有的界面展示都是通过客户端请求服务端,服务端再去请求数据库,然后将请求到的数据渲染后返回给客户端。用户每次访问页面都需要去请求数据库,如果同时有多个人访问的话,对于我们的数据库的压力是相当大的。所以我们会想,对于不是经常变更的数据,或者不需要实时更新展示的数据,我们可以将数据存放在缓存中,用户下次需要数据的时候,服务端直接从缓存中拿到数据返回给用户即可,不需...
2019-03-11 14:41:00
1236
转载 pycharm 远程调试代码
我们在本地开发的时候,有时候需要使用到远程服务器的环境,如我们在调试微信或支付宝支付的时候。那我们如何通过本地pycharm环境连接远程服务器进行调试呢?1、pycharm和远程服务器连接 1)点击Tools----> Deploment ------>Configuration 2)点击左上角 + 在弹出框中输入你希望的名字,点击OK...
2019-03-05 19:34:00
162
转载 python实现单例模式
1、什么是单例模式: 单例模式即一个类有且仅有一个实例 先看下面一个例子: 可以看到,我调用了两次Marry实例化,得到的结果id是不同的,说明,两次创建了两个不同的Marry实例。 所以如果我们想要让类有且仅有一个实例,思路就是创建一个实例,后续再创建的时候,先判断是否已经存在实例了,如果已经存在了,就直接引用之前创建的实例即可。2、使用pyth...
2019-02-13 13:58:00
211
转载 python全局解释器GIL
1、什么是进程: 进程是竞争计算机资源的基本单位。对于单核CPU来讲,同一时间只能有一个进程在运行,所以当我们开启多个应用时,操作系统需要根据进程调度算法去在不同的应用程序之间切换,而不同的进程之间切换对于CPU的开销是非常大的。 为了减少CPU的这种开销,更加充分的利用CPU的性能优势,出现了线程。2、线程: 线程是进程的一部分,一个进程可以有一个或多个线程。...
2019-02-11 15:36:00
94
转载 python上下文管理
一、python上下文介绍: python中的上下文,指的就是代码所执行的环境状态,或者运行的场景 python上下文管理器规定了某个对象的使用范围,当进入或者离开了使用范围,会有相应的操作,多用于资源的分配和释放上,即在开始时分配资源,结束时释放资源。 如文件的读写,在读写前,需要先打开文件,在读写完成后,需要关闭文件。再如数据库的操作,在操作前,需要先连接数据库,结...
2019-02-11 15:25:00
298
转载 git客户端的安装及使用
1、git提交全部文件的基本步骤: 1)git status:查看修改内容 2)git add XX :添加XX文件到暂存区,如果修改内容比较多,可以使用git add -A .来一次性添加所有文件(-A后来有个点.);git add .:表示添加新文件和修改的文件(不包括删除的文件);git add -u:表示添加编辑和删除的文件,不包括新增的文件。 3)git co...
2019-01-28 16:06:00
160
转载 flask刷新token
我们在做前后端分离的项目中,最常用的都是使用token认证。登录后将用户信息,过期时间以及私钥一起加密生成token,但是比较头疼的就是token过期刷新的问题,因为用户在登录后,如果在使用过程中,突然提示token过期了,需要重新登录,会觉得很奇怪。我使用的方式,是在解析token的时候,如果token过期了,但是还在可刷新的时间范围内,我们应该自动刷新token,并将新的to...
2019-01-24 17:01:00
903
转载 python使用redis
版本: python 3.5 redis 3.0.1(redis的安装 pip install redis)1、连接 import redis r = redis.Redis(host='192.168.222.129', port='6379', db=0,password=password) (这里通过本地远程连接redis的时候,会有一些问题...
2019-01-22 18:24:00
90
转载 Linux下redis的安装及配置
1、去官网下载redis(redis.io)2、将其解压到根目录下 3、进入解压的目录,然后编译源程序, 如果不是root账户登录的,命令前面需要加sudo make make install PREFIX=/usr/local/redis 执行完成后,进入/usr/local目录,可以看到下面多了一个redis目录 (这一步执行成功的前提是已经安装...
2019-01-21 16:39:00
98
转载 Ubuntu下解压压缩文件
1、ZIP解压 ZIP因为它的跨平台使用优点,是目前使用率最高的一种压缩方式,但是它的压缩率相比较tar.gz和tar.gz2来讲,却要低很多。 压缩命令:zip -r archive_name.zip directory_to_compress 解压命令:unzip archive_name.zip2、TAR TAR在Linux中使用很广泛,它的好处...
2019-01-21 14:08:00
120
转载 通过secureCRT连接虚拟机VMware workstation问题记录
很急没有使用虚拟机了,今天再登录的时候,发现用secureCRT连接不上VMware workstation1、连接步骤: 1)打开secureCRT,点击+ 新建一个连接 2)按照流程一步一步配置: 点击完成,添加成功 3)在左侧的会出现上面配置的连接 4)双击主机名,会弹出对话框需要输入...
2019-01-19 16:34:00
556
转载 redis 数据类型
1、基础类型简介: redis支持5中数据类型:List, hash,set, sorted set, string类型特性使用实例常见命令String二进制安全的类型;可以包含任何数据,如jpg图片或者序列化对象;String类型是redis最基本的数据类型,最大可以存储512MSET key valu...
2019-01-18 14:36:00
72
转载 windows下redis安装及配置
1、简介: redis是一个高性能的key-value数据库:redis能读的速度为11万次/秒,写的速度是8.1万次/秒 redis支持丰富的数据类型:String, List, Hash(map),Set,ordered Sets等数据类型 redis的单个命令的执行操作原子性的,多个操作时redis也支持事务管理,即通过MULTI和EXEC指令包裹起来。 但...
2019-01-15 14:21:00
142
转载 js获取response头信息
当我们使用ajax发起请求时,经常需要获取请求返回的头信息。默认情况下,js货可以获取如下头信息:Cache-ControlContent-LanguageContent-TypeExpirsLast-ModifiedPragmaajax请求完成,会返回xhr(XMLHTTPRequest)对象,这里面会包含返回的头信息,其中有两个方法,如下:...
2019-01-14 14:23:00
3183
转载 flask token认证
在前后端分离的项目中,我们现在多半会使用token认证机制实现登录权限验证。token通常会给一个过期时间,这样即使token泄露了,危害期也只是在有效时间内,超过这个有效时间,token过期了,就需要重新生成一个新的token。如何生成token呢?1、创建用户数据库,本文会使用flask-SQLAlchemy(ORM)去管理数据库: 首先创建一个用户模型:包括了用户...
2019-01-11 14:26:00
501
转载 python 枚举Enum
常量是任何一门语言中都会使用的一种变量类型如 要表示星期常量,我们可能会直接定义一组变量JAN = 1TWO = 2...然后在返回给前端的时候,我们返回的就会是1,2,...这种魔法数字,导致后来的人阅读起来很麻烦。在python中,为了代码的可读性和简洁性,更建议使用枚举类型1、枚举类型的定义: from enum import Enum 1)...
2019-01-10 14:36:00
123
转载 Flask序列化
我们在做后台接口的时候,对于返回值,用的最多的就是json数据格式flask中,返回json数据格式,我们可以用到flask的jsonify函数。对于基础序列是可以直接序列化的,但是更多的情况下,我们要返回给前端的是一个从数据库查询的模型对象。那么要如何序列化一个模型对象呢?追踪flask源码,我们会发现,在处理特殊类型的数据的时候,flask用到了json包下的一个JSON...
2019-01-09 17:26:00
1341
转载 python字符串处理
1、传统的字符串处理方式为 % 格式化字符串时,python使用一个字符串为模板,模板中的格式符为真实值预留了位置。 常见格式符有: %s:字符串 %e:指数,基底写为e %c:单个字符 %E:指数,基底写为E %d:十进制整数 %i:十进制整数 %o:八进制整数 %f:浮点数 %x:十六进制整数 %F:浮点数...
2019-01-08 17:15:00
93
转载 xadmin集成DjangoUeditor
1、安装 安装DjangoUeditor 1)去GitHub上面下载djangoueditor源码包(https://github.com/twz915/DjangoUeditor3) 然后进入源码的setup.py所在目录,执行pyton setup.py install安装。 2)直接通过pip命令安装 pip install DjangoUed...
2019-01-07 15:50:00
112
转载 flask异常处理
对于异常,通常可以分为两类:一类是可以预知的异常,我们通常会用try...except....捕捉,第二类是未知的error,我们是无法预知的。 try: code block except A: except A handle except: other except else: if no...
2019-01-04 10:17:00
413
转载 flask实现子域名
什么是子域名? 子域名,类似于xxx.douban.com的形式,如book.douban.com,music.douban.com,movie.douban.com等用flask怎么实现子域名? flask在注册路由的时候,允许一个参数subdomain from flask import Flask app = Flask(__name__) ...
2019-01-02 14:24:00
551
转载 Flask的蓝图和红图
1、蓝图对于简单的项目来说,比如项目就只有一个user模块,我们可以都将视图函数定义在一个文件里面,不需要用到蓝图。但是如果我们的项目有多个模块,如下有v1模块,v2模块.....等,那么如果我们将这么多的模块的视图文件都杂在一个文件中去写的话,就会导致管理非常不便: 如多人开发不同模块,会导致业务代码经常出现冲突,或者我们要弃用某个功能模块的话,需要去文件中找到所有的相关...
2019-01-02 13:45:00
1295
转载 python装饰器
1、python作用域 在介绍python装饰器前,先简单说下python作用域: L>E>G>B(调用先后顺序) L:local---->函数内部作用域 E:enclosing---->函数内部与内嵌函数之间 G:global----->全局作用域 B:build-in----->内置作用...
2018-12-28 10:30:00
99
转载 python正则表达式
1、原子概念: 原子是正则表达式中最基本的组成单位,每个正则表达式至少包含一个原子 常见原子类型: 普通字符,如a b c等 非打印字符,如\n \t等 通用字符,如\d, \D等 常用的通用字符:字符说明\d 匹配一个数字字符,等价于[0-9] \D匹配一个非数字字符,等价于[...
2018-12-27 10:18:00
129
转载 python3 urllib及requests基本使用
在python中,urllib是请求url连接的标准库,在python2中,分别有urllib和urllib,在python3中,整合成了一个,称谓urllib1、urllib.request request主要负责构建和发起网络请求 1)GET请求(不带参数) response =urllib.request.urlopen(url,data=None,[...
2018-12-26 15:32:00
395
转载 python 操作数据库
官方文档:https://www.python.org/dev/peps/pep-0249/1、创建connection,建立网络连接 MySQLdb.Connect(host,port,user,passwd,db, charset) host:mysql服务器地址字符串 port:mysql服务器端口号,数字 user:连接数据库用户...
2018-12-25 11:22:00
109
转载 数据库(mysql)基本使用命令大全
1、查看数据库及表属性: 1)查看所有数据库 SHOW DATABASES; 2)选择使用的数据库 USE <DATABASE_NAME> 3)查看当前数据库下面的表 SHOW TABLES; 4)选择使用的表 USE <TABLE_NAME> 5)查看表结构 DESC <TAB...
2018-12-24 17:01:00
161
转载 matplot绘图基本使用
先看一个最简单的例子import matplotlib.pyplot as pltplt.figure()plt.subplot(211)plt.plot([1,2,3], color=''r", linestyle='--')plt.show()1、figure的使用:自定义整张画布 语法:figure(num=None, figsize=None, d...
2018-12-24 15:31:00
354
转载 Pandas基础使用
Pandas是基于NumPy的一种工具,该工具是为了解决数据分析任务而创建的。1、导入pandas import pandas as pd2、pandas数据类型: 1)Series:一维数据类型,其中每个元素都有一个标签 2)DataFrame:二维数据类型,它可以存储各种不同类型的数据,每个元素都有自己的标签3、Series对象的创建 s =...
2018-12-21 17:37:00
158
转载 flask 单元测试
程序开发过程中,代码是为了完成需求,当代码编译通过后,能不能保证功能的正常实现,需要我们编写测试代码,模拟程序运行过程,检验功能是否符合预期。单元测试主要面向一些功能单一的模块进行。单元测试,实际上就是一些“断言”的代码,用于判断函数或对象的一个方法所产生的结果是否符合预期python中,断言是申明结果为真的判定,如果表达式为假,程序会发生异常。常用的断言有...
2018-12-19 16:43:00
249
转载 flask使用基础
1、安装 pip install Flask 基本依赖库: jinja2:实现对模板的处理 werkzeug:本质是socket服务器,用于接收http请求,并对请求进行预处理,然后触发Flaks框架,开发人员基于Flask框架提供的功能对请求进行相应的处理并返回给用户。2、创建核心对象 from flask import Flask a...
2018-12-18 15:49:00
185
转载 python 环境搭建
我用的是windows,所以本文是针对windows的安装说明1、下载python版本: 到python官网下载自己想要安装的版本:https://www.python.org/downloads/ 并不是最新的就是最好的,合适自己的才是最重要的。我这里选择的是python362、下载之后,双击.exe文件,之后按照框框里面的指示步骤一步一步走 ...
2018-12-17 17:37:00
106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人