07 2020 档案

摘要:过期策略 我们set key的时候,都可以给一个expire time,就是过期时间,指定这个key比如说只能存活1个小时,我们自己可以指定缓存到期就失效。 如果假设你设置一个一批key只能存活1个小时,那么接下来1小时后,redis是怎么对这批key进行删除的? 答案是:定期删除+惰性删除 所谓定 阅读全文
posted @ 2020-07-31 16:23 自己有自己的调调、 阅读(1038) 评论(0) 推荐(0)
摘要:1.介绍 SQLAlchemy是一个基于Python实现的ORM框架。该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 pip3 install sqlalchemy 组成部分: Engine,框架的引擎 阅读全文
posted @ 2020-07-26 14:09 自己有自己的调调、 阅读(277) 评论(0) 推荐(0)
摘要:能否手动抛出一个异常吗? 答案是肯定的,Python允许程序自行引发异常,使用 raise 语句即可。 异常是一种很“主观”的说法,以下雨为例,假设大家约好明天去爬山郊游,如果第二天下雨了,这种情况会打破既定计划,就属于一种异常;但对于正在期盼天降甘霖的农民而言,如果第二天下雨了,他们正好随雨追肥, 阅读全文
posted @ 2020-07-24 23:29 自己有自己的调调、 阅读(9825) 评论(0) 推荐(0)
摘要:git config 配置 Git 的相关参数。 Git 一共有3个配置文件: \1. 仓库级的配置文件:在仓库的 .git/.gitconfig,该配置文件只对所在的仓库有效。 \2. 全局配置文件:Mac 系统在 ~/.gitconfig,Windows 系统在 C:\Users\<用户名>\. 阅读全文
posted @ 2020-07-24 22:22 自己有自己的调调、 阅读(217) 评论(0) 推荐(0)
摘要:virtualenv是什么? virtualenv是一个创建隔绝的Python环境的工具。 为什么要创建虚拟环境? 它解决了“项目X依赖于版本1.x,而项目Y需要项目4.x”的两难问题,而且使你的全局site-packages目录保持干净和可管理。 简介 隔离不同的python环境,如有点项目用Dj 阅读全文
posted @ 2020-07-22 14:03 自己有自己的调调、 阅读(281) 评论(0) 推荐(0)
摘要:稳定性初解 说到稳定性,与之对应就是不稳定性,那么排序算法的稳定性又为何意呢?通俗地讲就是,能保证排序前两个相等的数其在序列的前后位置顺序与排序后它们的前后位置顺序一致。形式化解释如下:一列数中,如果Ai = Aj,Ai位于Aj的前置位,那么经过升降序排序后Ai仍然位于Aj的前置位。 稳定性优劣 那 阅读全文
posted @ 2020-07-17 23:56 自己有自己的调调、 阅读(5341) 评论(2) 推荐(0)
摘要:简介: 快速排序(Quicksort)是对"冒泡排序"的一种改进。 快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以 阅读全文
posted @ 2020-07-17 23:34 自己有自己的调调、 阅读(169) 评论(0) 推荐(1)
摘要:简介: 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因D.L.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每 阅读全文
posted @ 2020-07-17 21:33 自己有自己的调调、 阅读(154) 评论(0) 推荐(0)
摘要:简介: 插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一个有效的算法。插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行 阅读全文
posted @ 2020-07-17 20:58 自己有自己的调调、 阅读(133) 评论(0) 推荐(0)
摘要:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的 阅读全文
posted @ 2020-07-16 23:11 自己有自己的调调、 阅读(138) 评论(0) 推荐(0)
摘要:二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 查找过程 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、 阅读全文
posted @ 2020-07-16 22:54 自己有自己的调调、 阅读(161) 评论(0) 推荐(0)
摘要:前言 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 这个算法的名字由来 阅读全文
posted @ 2020-07-16 22:39 自己有自己的调调、 阅读(161) 评论(0) 推荐(0)
摘要:01 如何在python中操作数据库? 在后端开发中免不掉与数据库打交道,无非是使用orm或者原生sql来操作数据库。 在python中通过原生sql操作数据库,主流就两种。 使用pymysql模块:pymysql支持python2.x和python3.x的版本 使用mysqldb模块:mysqld 阅读全文
posted @ 2020-07-16 13:20 自己有自己的调调、 阅读(788) 评论(0) 推荐(0)
摘要:二叉排序树(Binary Sort Tree),又称"二叉查找树"(Binary Search Tree),亦称"二叉搜索树"。是数据结构中的一类。在一般情况下,查询效率比链表结构要高。 定义 一棵空树,或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; 阅读全文
posted @ 2020-07-15 23:21 自己有自己的调调、 阅读(128) 评论(0) 推荐(0)
摘要:前言: 在计算机科学中,二叉树(英语:Binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的树结构。通常分支被称作“左子树”或“右子树”。二叉树的分支具有左右次序,不能随意颠倒。 二叉树通常作为数据结构应用,典型用法是对节点定义一个标记函数,将一些值与每个节点相关系。这样 阅读全文
posted @ 2020-07-15 23:00 自己有自己的调调、 阅读(204) 评论(0) 推荐(0)
摘要:在分析上下问之前,要做好一个心理准备,因为设计到的代码会很多,不懂的要跟着文档自己去翻阅源码。 首先把涉及到的主要的类或者设计到的py页面展示如下图。下面会以对应类或者页面去讲解flask源码 之前已经论述过了,每次请求过来都会触发app(),所以会触发FLask类的__call__方法,__cal 阅读全文
posted @ 2020-07-14 00:01 自己有自己的调调、 阅读(267) 评论(0) 推荐(0)
摘要:8.3 预读源码必要了解的知识点 在阅读源码之前,源码中会涉及到很多python类的特殊的用法以及类写好的功能组件,所以这里做一个补充,以便于接下来源码的阅读 01 偏函数 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分 阅读全文
posted @ 2020-07-13 23:48 自己有自己的调调、 阅读(179) 评论(0) 推荐(0)
摘要:01 思考:每个请求之间的关系 每一个请求进来的时候都开一个进程肯定不合理,那么如果每一个请求进来都是串行的,那么根本实现不了并发,所以假定每一个请求进来使用的是线程。 那么线程中数据互相不隔离,存在修改数据的时候数据不安全的问题。 假定需求是,每个线程都要设置值,并且该线程打印该线程修改的值。 f 阅读全文
posted @ 2020-07-13 15:20 自己有自己的调调、 阅读(291) 评论(0) 推荐(0)
摘要:01 请求扩展 01 before_first_request :项目启动后第一次请求的时候执行 @app.before_first_request def before_first_request(): print('第一次请求的时候执行') 02 before_request:每次请求之前执行 阅读全文
posted @ 2020-07-13 11:50 自己有自己的调调、 阅读(398) 评论(0) 推荐(1)
摘要:01-cookie 1.1 什么是cookie? cookie技术产生源于HTTP协议在互联网上的急速发展,在浏览器发展初期,为了适应用户的需求,技术上推出了各种保持web浏览状态的手段,为什么要保持web浏览器的状态呢? 一般web通信是基于HTTP的,HTTP是无状态的协议,也就是说,在一次请求 阅读全文
posted @ 2020-07-13 00:11 自己有自己的调调、 阅读(230) 评论(0) 推荐(0)
摘要:1 集成Python shell 在实际的开发中,不免有一些任务需要在shell下完成。比如为cms后台添加超级管理员的需求,又比如迁移数据库的需求,定时任务等等,诸如这类需求更适合在shell中去操作(大部分需要在shell中去操作的都是权限比较高的任务)。 提示:迁移数据库就是用来解决数据库更新 阅读全文
posted @ 2020-07-12 23:01 自己有自己的调调、 阅读(523) 评论(0) 推荐(1)
摘要:数据库,顾名思义是储存数据的仓库,常见的管理数据库的软件被称为数据库管理系统(DBMS, Database Management System), 常见的DBMS有 MySQL、PostgreSQL、SQLite、MongoDB。这些常见的DBMS我们可以把他们理解为专门负责搬运数据的管理的数据的程 阅读全文
posted @ 2020-07-12 14:44 自己有自己的调调、 阅读(366) 评论(0) 推荐(1)
摘要:1 重定向 1.1 什么是重定向? 重定向,顾名思义,就是重新定向到一个新的位置,比如我们在浏览器的页面自动跳转到了另一个页面,又比如访问了一个页面,然后观察网址之后并不是我们输入的网址,这个过程就是重定向完成的。 1.2 为什么要有重定向? http状态码 应用场景 优势 暂时性重定向 302 访 阅读全文
posted @ 2020-07-12 14:04 自己有自己的调调、 阅读(1159) 评论(0) 推荐(1)
摘要:视图函数和视图类 1 视图函数 1.1 endpoint简介 endpint参数是写在注册路由的装饰器中的一个参数,学名叫端点,我们可以理解为函数的别名。原来我们翻转视图函数的url的时候是直接通过是如函数的名字,如url_for('函数名'),现在我们可以指定一个endpoint='fbv'参数来 阅读全文
posted @ 2020-07-11 23:39 自己有自己的调调、 阅读(397) 评论(0) 推荐(0)
摘要:1 请求报文和响应报文 打开浏览器,当我们输入一个url,点击访问的时候会向目标服务器发送一个HTTP请求,请求的的时候会发生什么呢,会经过os七层,这里不赘述os七层通讯原理,可以理解为通过url请求目标服务器的一段具体的资源,可以理解为发送了一个请求,一个请求的本质就是向目标服务器上面发送了一些 阅读全文
posted @ 2020-07-11 21:02 自己有自己的调调、 阅读(754) 评论(0) 推荐(0)
摘要:1 什么是url? url是统一资源定位符(Uniform Resource Locator的简写),对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。 一个URL由以下几 阅读全文
posted @ 2020-07-11 17:16 自己有自己的调调、 阅读(1838) 评论(0) 推荐(0)
摘要:1.Flask中的HTTPResponse。作用:直接返回字符串至客户端 @app.route('/') #app中的route装饰器 def index(): #视图函数 return "Hello Flask" #HttpResponse 在Flask 中的HttpResponse 其实就是直接 阅读全文
posted @ 2020-07-11 15:14 自己有自己的调调、 阅读(355) 评论(0) 推荐(1)
摘要:Werkzeug是一个WSGI工具包,他可以作为一个Web框架的底层库。 werkzeug 不是一个web服务器,也不是一个web框架,而是一个工具包,官方的介绍说是一个 WSGI 工具包,它可以作为一个 Web 框架的底层库,因为它封装好了很多 Web 框架的东西,例如 Request,Respo 阅读全文
posted @ 2020-07-11 13:31 自己有自己的调调、 阅读(702) 评论(0) 推荐(0)
摘要:写一个函数,给定矩阵的长度级数n,返回一个回旋排列的数字矩阵: 例如: n=2返回: 1 2 3 4 n=3返回: 1 2 3 4 5 6 7 8 9 import numpy def Matrix(): N = 4 M = N array = numpy.zeros((N, M), dtype=n 阅读全文
posted @ 2020-07-09 00:25 自己有自己的调调、 阅读(549) 评论(0) 推荐(0)
摘要:归并排序是创建在归并操作上的一种有效的排序算法,效率为O(nlogn)大O符号。1945年由约翰·冯·诺伊曼首次提出。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,且各层分治递归可以同时进行。 采用分治法: 分割:递归地把当前序列平均分割成两半。 集成:在保持元素顺 阅读全文
posted @ 2020-07-07 00:16 自己有自己的调调、 阅读(226) 评论(0) 推荐(0)
摘要:2020专业版永久激活方式 引言 本Agent仅供学习研究之用,请勿用于商业用途! 商业用途请联系Jetbrains购买正版,请支持正版! 注意:版本不要高于2020.1.3,用专业版,社区版不管用 第一次破解直接按流程操作,已使用有破解相关文件或配置,卸载重装。 适用于PyCharm2020.1. 阅读全文
posted @ 2020-07-06 00:03 自己有自己的调调、
摘要:1、如何获取列表中第二大的值? #先去重,在排序,取值 lst = [1,2,3,4,5,5,5,5,5,5,5,5] setvar = set(lst) # 列表.sort 类型有局限性,只能是列表,基于原有列表进行修改 # sorted 容器类型数据皆可以,返回新列表 lst = sorted( 阅读全文
posted @ 2020-07-03 00:18 自己有自己的调调、 阅读(238) 评论(0) 推荐(0)
摘要:1、简述列举了解的编程语言及语言间的区别? 编译型: 一次性全部编译成二进制码,然后运行 解释型:编译一行,运行一行 1.python 解释型,间接高效,容易上手,各个方向百花齐放 2.java 混合型(JVM,JIT编译器),开发周期慢,web方向 3.c 编译型 属于底层开发,只有面向过程,没有 阅读全文
posted @ 2020-07-03 00:16 自己有自己的调调、 阅读(225) 评论(0) 推荐(0)