自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

转载 websocket 实现长连接原理

websocket 实现长连接原理一、WebSocket是HTML5出的东西(协议),也就是说HTTP协议没有变化,或者说没关系,但HTTP是不支持持久连接的(长连接,循环连接的不算)首先HTTP有1.1和1.0之说,也就是所谓的keep-alive,把多个HTTP请求合并为一个,但是Websocket其实是一个新协议,跟HTTP协议基本没有关系,只是为了兼容现有浏览器的握手规范而已,也就是说它是HTTP协议上的一种补充可以通过这样一张图理解有交集,但是并不是全部。另外Html5是指的一系列新的A

2021-03-09 15:05:29 531

原创 mysql事务原理以及锁

一、Innodb事务原理  1.什么是事务    a.事务(Transaction)是数据库区别于文件系统的重要特性之一,事务会把数据库从一种一致性状态转换为另一种一致性状态。    b.在数据库提交时,可以确保要么所有修改都已保存,要么所有修改都不保存。  2.事务的特性:(ACID)    a.原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行。    b.一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺

2020-12-28 19:05:57 282

原创 mysql事务

MySQL 事务MySQL 事务主要用于处理操作量大,复杂度高的数据。比如说,在人员管理系统中,你删除一个人员,你既需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务!在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。 事务处理可以用来维护数据库的完整性,保证成批的 SQL 语句要么全部执行,要么全部不执行。 事务用来管理 insert,update,delete 语句一般来说,事务是必须满足4个条件(ACI

2020-12-28 18:57:13 114

原创 oauth2.0

OAuth2.0OAuth2.0是OAuth协议的延续版本,但不向前兼容OAuth 1.0(即完全废止了OAuth1.0)。 OAuth 2.0关注客户端开发者的简易性。要么通过组织在资源拥有者和HTTP服务商之间的被批准的交互动作代表用户,要么允许第三方应用代表用户获得访问的权限。同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。2012年10月,OAuth 2.0协议正式发布为RFC 6749[1]。中文名开放授权外文名OAuth2.0定义协议的...

2020-12-28 08:48:55 124

原创 django中间件

1.django中间件的调用方式我们可以自定义的编写属于自己的中间件。也就是需要编写一个类,然后里面定义4个方法process_request(self, request), process_view(self, request, callback_args, callback_kwargs), process_exception(self, request, exception), process_response(self, request, response)注意,这几个方法名称,...

2020-12-15 10:52:42 76

原创 支付宝支付

支付宝支付使用支付宝的沙箱环境来完成支付功能的测试以及开发。生成公私钥需要的工具https://opendocs.alipay.com/open/291/106097/设置沙箱里的公私钥秘钥python对接支付宝SDK安装:pip install python-alipay-sdk --upgradepython对接支付宝SDK文档:https://github.com/fzlee/alipay/blob/maste...

2020-12-08 13:16:48 443

原创 图片验证码

图⽚验证码的⽣成1.django 缓存设置1.1 安装Django缓存模块pip install django-redis==4.12.11.2 syl/settings.py中配置缓存# 缓存配置CACHES = { # django存缓默认位置,redis 0号库 # default: 连接名称 "default": { "BACKEND": "django_redis.cache.RedisCache", "LOCATION": "redis://127.0.0.1:

2020-11-30 19:16:54 105

原创 axios封装

封装:http.jsimport axios from 'axios'axios.defaults.baseURL="http://127.0.0.1:8000/"axios.defaults.timeout = 1000000;axios.defaults.headers.post['Content-Type'] = 'application/json';axios.defaults.headers.put['Content-Type'] = 'application/json';

2020-11-25 20:59:05 43

原创 Apiview里如何获取http里的数据

request.GET 可以获取 get请求数据。post请求数据用了好多种方法,request.POST,request.data,request.boby 什么的都不行

2020-11-22 14:21:00 321

原创 . http常见的状态码以及意义

•100~199——信息性状态码100 Continue 说明收到了请求的初始部分,请客户端继续。101 Switching Protocols 说明服务器正在根据客户端的指定,将协议切换成Update首部所 列的协议•200~299——成功状态码200 OK 请求没问题。实体的主体部分 包含了请求的资源201 Created 用于创建服务器对象的请求(比如,PUT)202 Accepted 请求已被接受,但服务器还未对其执行任何动作。203 Non-Authoritative

2020-11-20 10:58:45 134

原创 TCP的三次握手与四次挥手理解及面试题

序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个字节的编号;因此当前报文段最后一个字节的编号+1即为确认号。确认ACK:占1位,仅当ACK=1时,确...

2020-11-20 10:43:32 70

原创 django生产环境部署(usgi,uWSGI,WSGI以及nginx)

2020-11-13 07:58:53 167

原创 ubantu+nginx+uwsgi+django部署

1.更新ubantu的apt apt-get update 必要时候更新系统: apt-get upgrade2.远程连接服务器  ssh 用户名@ip   上传代码 : scp 本地文件夹/文件 用户名@ip:远程存放位置3.安装数据库   apt-get install mysql-server mysql-client libmysqlclient-dev(ps:如果不安装libmysqlclent-dev,接下来安装mysq...

2020-11-13 07:52:43 54

原创 全文检索django-haystack+jieba+whoosh

全文检索里的组件简介  1、什么是haystack?    1.haystack是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh, *Xapian*搜索引擎,不用更改代码,直接切换引擎,减少代码量。    2.搜索引擎使用Whoosh,这是一个由纯Python实现的全文搜索引擎,没有二进制文件等,比较小巧,配置比较简单,当然性能自然略低。    3.中文分词Jieba,由于Whoosh自带的是英文分词,对中文的分词支持不是太好,故用jieba替...

2020-11-11 11:34:12 494

原创 七牛云vue上传大文件

注册七牛云账号原理1.django获取token值from qiniu import Authdef qiniu_token():# 需要填写你的Access Key 和 Secret Key access_key = 'gF6rL2ONmDB5GqyRtavfX9arCzR8EniQPvK-kbbe' secret_key = '9Dy-f2F8ZsiXZVPMKpuZ8ioVoRJE_ViErKnSQI_q' # 构建鉴权对象 q = Auth(

2020-11-09 11:57:14 524

原创 三方登录----微博

三方登陆流程:微博开放平台设置app和key请求用户授权Token: https://open.weibo.com/wiki/Oauth2/authorize获取授权过的Access Token, UID: https://open.weibo.com/wiki/Oauth2/access_tokendjango代码settingimport os# Build paths inside the...

2020-11-05 20:29:48 274

原创 微博三方登录原理画图

2020-11-05 20:12:44 56

原创 Celery使用背景与功能概要,优势,特性

1.Celery介绍https://www.cnblogs.com/xiaonq/p/11166235.html#i11.1 celery应用举例 Celery 是一个 基于python开发的分布式异步消息任务队列,通过它可以轻松的实现任务的异步处理,如果你的业务场景中需要用到异步任务,就可以考虑使用celery 你想对100台机器执行一条批量命令,可能会花很长时间 ,但你不想让你的程序等着结果返回,而是给你返回 一个任务ID,你过一段时间只需要拿着这个任务id就可以拿到任务执行结果

2020-11-04 11:24:33 449

原创 异步任务-----django-celery 使用流程

大家的知道celery的使用,网上也有很多的教程。因为最近在使用django来完成项目,无意间发现发现有个东西叫django-celery,比celery的配置更加的简单,这里分享一下。首先需要统一一下使用的环境,以为如果redis的版本过高会报错推荐版本    Django == 2.2.6  django-celery == 3.3.1  django-redis == 4.11.0  redis == 2.10.6  celery == 3.1.26.po...

2020-11-04 11:12:11 226

原创 阿里云短信服务的配置和使用

1设置短信签名登陆阿里云。登录后进入短信服务管理页面,选择国内消息菜单 新建签名 (如果非企业用户,适用场景请选择验证码) (签名名称后面会用到)2.设置模板,主要定义以后发送短信的样式(模板code后面需要用到)3.设置access keys点击右上角个人头像选择子用户新建用户(它会给你一个ak 密钥 一定要保存下来 ,只出现这一次)给它添加sms权限4.首先导入阿里云maven坐标<dependency>...

2020-11-03 20:58:31 2243

原创 django-redis的使用方法

setting.py配置:#配置redisCACHES = { 'default': { 'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://127.0.0.1:6379', 'OPTIONS': { 'CLIENT_CLASS': 'django_redis.client.DefaultClient', # 'CONN

2020-11-03 20:54:15 172

原创 redis五大数据结构的操作

Redis数据结构 Redis五大基本数据结构 基本操作 字符串 string 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset Redis五大基本数据结构字符串 string 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset基本操作字符串 string存储 set key value 例:set username t.

2020-11-03 20:50:20 45

原创 jwt的使用

JWT的使用流程JWT的实现原理一篇文章告诉你JWT的实现原理发布于 3 个月前 作者axetroy3097 次浏览 来自 分享在使用 JWT 的时候,有没有想过,为什么我们需要 JWT?以及它的工作原理是什么?我们就来对比,传统的 session 和 JWT 的区别我们以一个用户,获取用户资料的例子传统的 session 流程浏览器发起请求登陆 服务端验证身份,生成身份验证信息,存储在服务端,并且告诉浏览器写入 Cookie 浏览器发起请求获取用户资料,此时 ...

2020-11-02 19:57:00 148

原创 cookie-session与JWT的比较

COOKIE&SESSION&JWT的比较COOKIE使用和优缺点1.1cookie原理: 用户名+密码  ·cookie是保存在用户浏览器端,用户名和密码等明文信息  1.2session使用原理  session是存储在服务器端的一段字符串,相当于字典的key  1.用户向服务器发送用户名和密码。  2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。  3.服务器向用户返回sessi...

2020-11-02 19:55:39 151

原创 jwt原理

JWT原理JWT是Auth0提出的通过对JSON进行加密签名来实现授权验证的方案,编码之后的JWT看起来是这样的一串字符:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ分为三段,通过解码可以得到1. 头部(Header) // 包

2020-11-02 19:49:31 175

原创 单点登录以及如何解决单点登录(cookie-session方法 和 jwt方法)

1.什么是单点登录单点登录(Single Sign On),简称为 SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。2.如何解决单点登录?cookie-session方法 和 jwt方法1、cookie使用原理      1.用户向服务器发送用户名和密码。      2.验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中。      3.服务器向用户返回session_id,sessi

2020-11-02 19:34:55 338

原创 Django之数据库--ORM

Django之数据库--ORM一、建立数据库模型类  1.在model里创建模型类。(继承models.Model) 1 class Order(models.Model): 2 TYPE_CHOICE = ( 3 (0, u"普通运单"), 4 (1, u"绑定关系"), 5 (2, u"库房读取") 6 ) 7 mac = models.CharField(max_length=TEXT_LEN, blan

2020-10-30 11:38:49 122

原创 django父子组件

父子组件的调用:●Import导入子组件●compants注册子 组件●注册的子组件当做标签来使用子组件给父组件传参:●父组件里的子标签里写上要传递的数据 (:子组件的参数名字=父组件的参数名字)●在子组件里注册参数(pros)●使用父组件传过来的参数父组件给子组件传参:●子组件里先用特定的方法来把数据传递给父组件( this, $emit("方法的名字",要传递的数据) )●父组件的子标签里来接收数据(@子组件的方法=父组件的方法)●在methods里 接收传过来的va

2020-10-30 11:25:45 123

原创 ModelViewSet里的过滤,排序,分页,序列化配置

1.过滤2.排序3.分页4.序列化例子 配置路由views

2020-10-28 19:00:01 137

原创 DRF的限流配置

2020-10-28 18:47:05 102

原创 DRF使用Serializer来进行序列化和反序列化操作知识点整理

DRF使用Serializer来进行序列化和反序列化操作1.在所创建的django项目里自建app,在app里的views里写2.配置urls路由3.在app里新建serializer.py,在serializer.py里写

2020-10-27 19:59:37 105

原创 RESTFUL风格以及django和DRF的不同点

1.创建符合企业规范的django项目1. 创建项目python django-admin.py startproject mysite2. 创建static目录及配置  1.创建放css, javascript,img的目录 mkdir -p static/css static/js static/img  2.在settings.py中将static绝对路径保存到变量STATICFILES_DIRS中。 在mysite/mysite/set...

2020-10-27 11:18:07 225

原创 Http请求以及django基础

Http请求解耦:耦合是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影响以至联合起来的现象。解耦就是用数学方法将两种运动分离开来处理问题,常用解耦方法就是忽略或简化对所研究问题影响较小的一种运动,只分析主要的运动。HTTP请求行、请求头、请求体小结HTTP请求报文由3部分组成(请求行+请求头+请求体):下面是一个实际的请求报文:其中,1、2、3是请求行,分别是请求方法,资源名称,HTTP版本号,4是请求头,5是请求体细说:①是请求方法,GET和POST

2020-10-26 20:41:54 211 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除