自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

脱发是不可能的博客

随便写写,记录一下自己的学习笔记,学习心得

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 一张图搞定redis

2020-06-18 14:04:34 159

原创 python beanstalk 使用

import greenstalkclass BeanStalk: def __init__(self, host, port, encoding='utf-8', use='default', watch='default'): self.conn = greenstalk.Client(host=host, port=port, encoding=encoding, use=use, watch=watch) def producer(self, body, pr

2020-06-11 16:15:24 495

原创 Centos 安装Docker

文章目录卸载旧版本安装启动验证是否成功卸载旧版本sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \

2020-06-02 15:11:28 142

原创 Flask中的上下文

文章目录前言Local什么是线程隔离呢?werkzeug中Local的实现Local使用LocalStackLocalStack使用LocalProxyLocalProxy的作用什么是上下文Flask中的上下文请求上下文应用上下文上下文的定义上下文处理流程为什么要使用栈这种数据结构为什么要拆分请求上下文和应用上下文前言上一篇中我们已经知道flask运行的大体流程(Flask的工作原理),其中进入wsgi_app中首先创建的就是上下文环境,那么什么是上下文呢,又有什么作用。在了解上下文之前,先要弄清楚Lo

2020-05-25 10:33:48 515

原创 Flask的工作原理

文章目录web应用程序处理流程WSGIFlask处理请求入口Flask处理请求的实现web应用程序处理流程用户通过客户端发送请求。请求发送到web服务器上。web服务器将请求转交给web应用程序,web应用程序进行处理。web应用程序将请求结果返回给web服务器,由web服务器返回响应结果给客户端。客户端收到响应结果,展示给用户。可以看到,web服务器和web应用程序需要进行通信,但是web服务器有很多种(apache,Nginx,Lighttpd…),web应用程序开发框架也有很多种(F

2020-05-21 20:28:01 1161

原创 Flask中的循环导入

文章目录问题代码分析流程图分析解决方法问题Flask中的app实例是一个很重要的单例,当我们在做视图函数拆分的时候,如果不做考虑,很容易造成循环引入的问题。比如说我们在写flask应用的时候,要把app.py中的视图函数提取到另一个py文件,而在视图函数中注册路由时需要app的实例,因此就会导入app.py中的app实例,而为了能够完成路由的注册,app.py 需要导入视图函数的模块,这个时候就形成了一个循环引用。# app.pyfrom flask import Flaskapp = Fla

2020-05-13 20:08:32 982 1

原创 Flask入口文件if __name__ == "__main__"的作用

文章目录if \_\_name\_\_ == '__main\_\_'的作用if \_\_name\_\_ == '__main\_\_'的运行原理flask 中if \_\_name\_\_ == '__main\_\_'的作用if __name__ == '__main__'的作用一般情况下,我们所写的py文件要么单独直接运行,要么做为模块被其他py文件所引用。而if __name__ == '__main__'的作用就是来控制程序的运行过程。写在if __name__ == '__main__'

2020-05-11 21:40:19 1459 1

原创 数据结构和算法(十三)快速排序

文章目录定义算法步骤动图分析过程分析python代码实现时间复杂度稳定性定义快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。算法步骤挑选基准值:从数列中挑出一个元素,称为“基准”(pivot)。分割:重新排序数列,所有比基准值小的元素摆放在基

2020-05-11 19:59:46 114

原创 Flask中的蓝图

文章目录引入什么是蓝图蓝图的使用蓝图对象的初始化蓝图的运行机制-源码分析引入正常情况下,我们简单的Flask程序都是单文件,把所有的视图函数写在一个文件里,比如说我有一个博客程序,前台需要首页、列表、详情等等。比如说我们创建一个app.py来实现这个功能。#app.py 文件from flask import Flaskapp=Flask(__name__)@app.route('/')def index(): [email protected]('/list')def list(

2020-05-10 20:13:46 627

原创 数据结构和算法(十二)插入排序

文章目录定义算法步骤动图分析过程分析python实现插入排序时间复杂度稳定性定义插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。算法步骤将第一元素当做一个有序序列,第二个到...

2020-05-08 14:19:04 209

原创 数据结构和算法(十一)选择排序

文章目录定义算法步骤动图分析过程分析python实现选择排序选择排序优化(二元选择排序)时间复杂度稳定性定义选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。选择排序的主要优点与数据移动...

2020-04-29 14:33:33 189

原创 数据结构和算法(十)冒泡排序

文章目录定义算法步骤动图分析过程分析python实现冒泡排序冒泡排序第一次优化冒泡排序第二次优化冒泡排序的变形——鸡尾酒排序时间复杂度稳定性定义冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。...

2020-04-15 13:48:24 320

原创 数据结构和算法(九)双端队列

文章目录定义python 实现双端队列经典算法题定义双端队列(deque,全名double-ended queue),是一种具有队列和栈的性质的数据结构。双端队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。双端队列可以在队列任意一端入队和出队。python 实现双端队列class Deque(object): """ 实现双端队列 """ def __init_...

2020-04-14 10:56:50 225

原创 数据结构和算法(八)队列

文章目录定义python内置队列实现python实现queue定义队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队头元素,而an是队尾元素。这样我们就...

2020-04-13 14:24:44 114

原创 数据结构和算法(七)栈

定义栈又名堆栈,可存入数据元素、访问元素、删除元素,其特点是只能在一端进行数据的输入(入栈)和输出(出栈)。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。python 实现栈结构class Stack(object): """ 堆栈实现 """ def __init__(self): self.item = ...

2020-04-13 14:23:51 105

原创 数据结构和算法(六)双向循环链表

文章目录定义优势python实现双向循环链表头部插入节点指定位置插入节点删除节点定义双向循环链表是在双向链表的基础上发展的,双向链表的最后一个节点指向起始节点,起始节点的上一个节点指向最后一个节点,就得到双向循环链表。优势向循环链表比双向链表具有更多的优势,节点的增加和删除有很多优化的地方,从起点开始不必循环完整个链表就可以增加或删除节点。python实现双向循环链表头部插入节点...

2020-04-13 14:22:56 171

原创 数据结构和算法(五)双向链表

文章目录定义优势python 实现双向链表头部插入节点尾部插入节点指定位置插入节点删除节点定义双向链表每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。优势双向链表可以从任何一个节点访问前一个节点,也可以访问后一个节点,以至整个链表。双向查找节点时很便利,一般是在需要大批量的另外储存数据在链表中的位置的时...

2020-04-13 14:18:58 319

原创 数据结构和算法(四)单向循环链表

文章目录定义优势python 实现定义单链表的一个变形是单向循环链表,只不过单向循环链表最后一个节点不再指向空,而是指向头节点,从而形成了一个环。优势对单向链表中任一个节点的访问都需要从头结点开始;而对单向循环链表从任意节点出发都能遍历整个列表,极大的增强了其灵活性。python 实现class Node(object): """ 节点 """ def __init__(se...

2020-04-13 14:17:50 92

原创 数据结构和算法(三)单链表

文章目录为什么需要链表链表节点的实现单链表的实现头部插入节点尾部插入节点指定位置插入删除节点完整代码链表与顺序表的对比为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表链表是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点里存放下一个...

2020-04-13 14:16:56 161

原创 数据结构和算法(二)顺序表

文章目录顺序表的定义顺序表的两种实现方式顺序表的操作删除元素python实现顺序表顺序表的定义将元素顺序的放在一块连续的存储空间里,元素间的顺序关系由它们的存储顺序自然表示。#顺序表的基本形式a表示的是顺序表的基本布局,数据本身元素连续存储,每个元素所占的存储单元大小相同。元素的下标是其逻辑地址,而元素存储的物理地址(实际内存地址)可以通过存储区的起始地址Loc (e0)加上逻辑地址(第...

2020-04-13 14:04:53 307

原创 数据结构和算法(一)时间复杂度

文章目录引入执行时间反应算法效率大O表示法时间复杂度的计算最坏时间复杂度常见算法时间复杂度常见时间复杂度之间的关系引入先看一道题如果 a+b+c=1000,且 a2+b2=c^2(a,b,c 为自然数),如何求出所有a、b、c可能的组合?解法一:import timestart_time = time.time()for a in range(1001): for b in ran...

2020-04-13 14:02:27 232

原创 python3使用虚拟环境

文章目录1.虚拟环境的作用2.venv创建虚拟环境3.virtualenvwrapper创建虚拟环境1.虚拟环境的作用我们在开发多个不同的应用程序时,使用的是同一个python,比如应用A要使用flask 1.1.1,应用B要使用flask0.12.1,这时候怎么办呢?这时候虚拟环境的出现就是为了解决这个问题,虚拟环境为每一个应用程序创建一个属于自己的python环境,互不干扰,不与其他产生...

2020-04-13 13:57:44 103

redis.xmind

已脑图的方式总结redis,覆盖知识点全面,包含RedisAPI的使用和理解、持久化、主从复制、哨兵模式、分布式集群内容等等

2020-06-18

空空如也

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

TA关注的人

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