自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 mysql存储引擎

1.介绍MySQL中的文件系统,用来和"磁盘"交互.2.类型Innodb 默认MyIsam 5.5之后不用了 show engins; #查看支持的引擎3.InnDB 核心特性transaction:事务CR(Crash recovery): 自动故障恢复MVCC: 多版本并发控制热备:行锁AHI:自适应哈希索引change buffer:更改缓冲区DWB: 双写缓冲区外键3.1事务事务的特性3.2 MVCC3.3行锁4.InnoDB体系结构4.1On_disk

2022-03-21 18:33:42 818

原创 mysql数据库索引以及执行计划

介绍相当于一本书中的目录,优化查询(select,update,delete)索引类型BTREERTREEHASHFTEXTBTREEb-tree数据结构,是一棵平衡树.根节点,枝节点,叶子节点适合范围查找(mysql大多数都是范围查找),查找每个值的高度都一样.每个节点都是一个16kb的页.b+tree在叶子节点加入了双向指针.在查询的数据在叶子节点部分十多个数据页的数据时,可以通过叶子节点的指针,跳到下一个数据页,可以减少数据页的读取(减少IO).优化一条SQL(1.sql

2022-03-21 16:06:14 1070

原创 数据结构------树(未更新完...)

树1.树的定义树是一种数据结构,比如目录结构树是一种可以递归定义的数据结构树由n各节点组成的集合:(1)如果n=0,那么这是一棵空树;(2)如果n>0,那存在1个节点作为树的根节点,其他节点可以分为m个集合,每个集合本身又是一棵树.2.一些树的术语(1)节点(2)根节点:没有入边的节点(3)父节点(4)子节点(5)兄弟节点(6)子树(7)叶子节点:没有子节点的节点(8)树的高度(深度)(9)树的度实现文件系统:class Node: def __init__(s

2022-03-17 23:29:07 231

原创 数据结构------哈希表

哈希表哈希表(Hash Table,又称散列表),是一种线性表的存储结构.哈希表有一个直接寻址地址和一个哈希函数组成.哈希函数h(k)将元素关键字k作为自变量,返回元素的存储下标过程直接寻址表当关键字的全域U比较小时,直接寻址是一种简单而有效的方法缺点:当域U很大时,需要消耗大量的内存,很不实际,如果U很大而实际出现的key很少,则大量的空间被浪费.无法处理关键字不是数字的情况.改进直接寻址法—哈希(1)构建大小为m的寻指标T;(2)key为k的元素放在h(k)位置上;(3)h(k)

2022-03-17 16:18:17 411

原创 数据结构------链表

链表链表是由一系列节点组成的元素集合.每个节点包含两部分,数据域item和指向下一个节点的指针next.通过节点之间的相互连接,最终串联成一个链表.# 节点的实现class Node(): def __init__(self, item): self.item = item self.next = None链表的创建和遍历class Node(): def __init__(self, item): self.item = it

2022-03-17 11:16:16 405

原创 数据结构------队列

队列队列(Queue)是有序集合,仅允许在队尾插入,在队头进行删除.性质队列FIFO先进先出的原则进行操作队列的实现队列的实现能不能用简单的列表来实现呢?如下:…队列的实现方式----环状队列:空队的时候如下:rear和front共同指向0的位置当有元素入队时:当元素a1,a2出队,同时a9,a10入队后,front和rear的位置如图所示:此时队满(1)队首指针前进1:front = (front+1)%MaxSize(2)队尾指针前进1: = (rear+1)%MaxS

2022-03-17 00:26:26 762

原创 数据结构------栈

栈栈(Stack)是一个数据集合,可以理解为只能在一段进行插入或删除的列表.特点LIFO(last_in, first_out),栈中的数据后进先出栈的相关概念栈顶,栈底栈的基本操作(1)进栈:push(2)出栈:pop(3)取栈顶元素:peek()(4)检查栈是否为空:isEmpty()(5)检查栈的大小:size()栈的实现栈可以使用列表来实现,以下我代码,(也可直接使用列表当栈)class Stack(): def __init__(self):

2022-03-16 21:48:12 639

原创 冒泡排序,选择排序,插入排序

冒泡排序每一趟找出一个剩余元素中最大的元素def bubble_sort(li): # 一共len(li)-1趟 for i in range(len(li)-1): # 每一趟比较的次数都不相同 exchange = False for j in range(len(li)-i-1): if li[j] > li[j+1]: li[j], li[j+1] = li[j+1],

2022-03-10 19:58:16 50

原创 速度较快-------归并排序

何为归并?归并排序的思想是归并.归并是使将两个分别有序的列表合并成一个有序的列表.如下:如图,两个列表分别有序,将他们合并成一个有序的大列表.一下我们实现归并的过程.我们可以通过中间位置将一个列表分为两个有序的列表:lst1 = [0, 3, 4] 和 lst2 = [2, 5, 7,8](1)比较i和j位置的元素,将i位置较小的元素0放入新的列表中,并将i向后移动;(2)比较此时i和j位置的元素,将j较小位置的元素2追加至新的列表,并且j向后移动;…(n)此时左边列表的元素已经遍历完

2022-03-10 18:43:29 121

原创 速度较快-------快速排序

快速排序

2022-03-10 15:55:10 110

原创 速度较快-------堆排序方法

堆排序在了解堆之前需要补充一些关于树的知识:堆是比较特殊的完全二叉树,分为两种:大根堆和小根堆.大根堆:每个父节点都大于子节点;小根堆:每个父节点的值都小于叶子节点的值.什么是堆的向下调整?向下调整的树的特征是:树本身不是堆,但是其左右子树是堆.如下图所示:根节点处是0的左子树和右子树都是大根堆.接下来我们看一下堆的向下调整.向下调整就是把0向下调整到下面合适的位置.(1)将顶部根节点的元素拿出来,和其两个子节点进行比较,挑出其中的较大的7,将其上移,此时7的位置空出来;(2)此时将

2022-03-09 00:40:58 308

原创 git常用操作

基于某个版本拉取分支(1)先在本地拉去分支git stashgit branch# 位于该版本号在的分支上git checkout -b hotfix0701 版本号(2) 将该分支推到远程上git push origin 本地分支名:远程分支名# 从远程仓库拉去某个分支到本地(1)查看本地分支git branch(2)查看远程分支git branch -r(3)拉取分支到本地git checkout -b 本地分支名 origin/远程仓库分支名#合并分支hotfix到

2022-02-18 10:09:00 306

原创 http请求示例

def query_tf_serving(url, data, request_time, num=1):"""请求模型服务接口Args:url: 请求urldata: 请求数据,image base64字符串request_time: 请求时间num: 请求次数,最多重试5次Returns: 分类模型预测值"""logger.info(f"The {num} query to tensorflow serving. URL: {url}. request_time: {st

2022-02-15 10:39:17 1640

原创 Redis数据库

Redis介绍redis是一种Nosql数据库

2022-01-26 18:37:37 624

原创 (1)两数之和

题目描述:解题思路:代码:运行结果

2022-01-25 10:29:02 190

原创 python中网络编程(持续更新)

进程池和线程池的使用进程池from concurrent.futures import ProcessPoolExecutor, as_completed, wait, ALL_COMPLETEDwith ProcessPoolExecutor(max_workers=rule_workers) as rule_pool: for i in range(rule_workers): temp = [drawing_info for j, drawing_info in en

2022-01-24 11:34:43 773

原创 python中性能分析----memery_profiler,line_profiler模块(未完结)

我们在写代码的过程中对性能的分析不外乎代码运行所占用的内存和代码运行的时间等两个方面,python中的两个模块可以帮助我们查看每行代码的运行情况,从而我们可以针对性的对代码进行优化。接下来我们对这两个模块进行介绍。内存分析memory_profiler通过profiler可以帮助我们将需要分析的函数在运行时候每一行所占用的内存打印出来。1.安装memory_profilerpip install memory_profiler通过pip list 命令查看是否安装成功2.profiler的使用

2022-01-23 22:27:47 470

原创 python中熟练使用opencv模块

opencv模块可以让我们实现对图像的各种处理。

2022-01-09 17:11:37 1530

原创 python中的异常处理

异常

2021-12-01 16:47:19 342 1

原创 二叉树相关知识

二叉树

2021-12-01 16:44:12 62

原创 python的内存管理

内存

2021-12-01 16:42:20 490

原创 python中的重要模块

模块

2021-12-01 16:40:40 297

原创 python对于文件的相关操作

python中文件对象的操作

2021-12-01 16:38:25 161

原创 python中的数据类型以及深浅拷贝,python内存管理

python数据类型以及内存管理

2021-12-01 16:37:30 412

原创 面向对象开发(持续更新中)

pass

2021-12-01 16:33:50 58

原创 推导式(列表,字典,集合)

推导式可以快速创建列表字典,集合,并且代码更加简洁,在工作中我们也时常需要推导式来快速创建需要的数据1.列表推导式格式[val for val in Iterable]示例lst = [1, 2, 3, 4]#(1)单循环推导式#列表中每个元素减3result = [i-3 for i in lst]print(result) # [-2, -1, 0, 1]#判断条件result = [i for i in lst if i % 2 == 1]print(result) # [

2021-12-01 15:32:33 960

原创 高阶函数(map,reduce,filter,sorted),匿名函数lambda

1.匿名函数lambda匿名函数顾名思义不需要命名的函数。lambda函数的形式:'''lambda 参数1,参数2,:表达式其中参数可以有多个,函数结果返回表达式的计算结果,表达式中不能含有return,表达式本身就是返回结果'''f = lambda x:x**2print(f(2)) # 4f2 = lambda x,y,z:x+y+zprint(f2(1,2,3)) # 6示例:st = [lambda x:x*i for i in range(3)]print(

2021-11-30 18:07:44 185

原创 迭代器与生成器

1.关于迭代器迭代器用于迭代操作的对象,在其内部实现了__iter__,和__next__。可以像列表一样可以通过for进行迭代,但列表内部实现了__iter__而没有实现__next__,任何实现了__iter__的都可以称之为可迭代对象,内部实现了__next__的可以称之为迭代器。迭代器一定是可迭代对象,但可迭代对象不一定是迭代器。列表,字符串元组等都是可迭代对象。list1 = [1,2,3]print("__iter__" in dir(list1)) #Truestring1

2021-11-22 18:26:25 594

原创 单态模式及其应用

1.什么是单态?2.几种单态的写法3.单态的应用

2021-11-08 16:50:57 346

原创 代码小工具1--------关于目录映射

找到目标文件路径

2021-11-02 17:41:46 147

原创 装饰器及其在实际项目中的应用(日志模块,代码计时器,内存跟踪器,超时警告)

1.什么是装饰器顾名思义,装饰器是通过装饰供能来丰富函数或类的实现功能,并且减少了代码的耦合性,使得代码看起来更加简洁。简单示例:2.装饰器的类型2.1函数装饰器函数装饰器是针对于函数进行装饰,使得函数的供能进行丰富。它通过闭包来实现,将要装饰的函数作为外层函数的参数传入,将该函数在内层函数中进行执行并增加附加功能,然后将内层函数作为结果返回。如下示例:不需要传参数的函数装饰器:from time import sleep,timedef decorator(func): def

2021-11-02 17:34:24 286

原创 python中闭包及其应用场景

1.介绍 闭包,指函数对外部变量进行了引用,并且外部函数的返回值是内嵌的内部函数。 示例:def outfunc(x): def infunc(y): return x+y return infuncif __name__ == "__main__": a = outfunc(2) b = a(3) print("a:", a) print("b:", b)执行结果:在函数infunc中对外部变量x进行了引用,并且外部函数ou

2021-10-27 16:42:30 1073

原创 二.Django的模式以及下载安装

MVC和MTV框架1.MVC定义将web应用分为模型(M),控制器©和视图(V)三层,他们之间以一种插件式的、松耦合的方式连接在一起,模型负责业务对象与数据库的映射(ORM),视图负责与用户的交互(页面),控制器接受用户的输入调用模型和视图完成用户的请求,其示意图如下所示:2.MTVDjango的MTV模式本质上和MVC是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django的MTV分别是值:M (模型Model): 负责业务对象和数据库的关系映射(ORM)。T (模板

2021-03-10 01:45:18 175

原创 MySQL基础管理

1.用户管理1.1用户的作用Linux中用户的作用:登录系统,管理系统MySQL中用户的作用:登录MySQL数据库,管理MySQL对象(表)1.2用户的定义MySQL用户:用户名@"白名单"白名单? 地址列表,允许白名单的IP登录MySQL,管理MySQLhaci@"localhost" :haci用户能够通过本地登录MySQL(socket)haci@"10.0.0.10" :haci用户能够通过10.0.0.0远程登录MySQL服务器haci@"10.0.0.%" :h

2021-03-09 17:43:55 62

原创 mysql的体系结构

MySQL工作模式mysql是基于服务端/客户端的cs工作模式的;其提供了两种连接方式:(1)本地socket连接方式,这种方式只能在本地使用,不依赖ip端口号,比如在终端输入mysql -uroot -p进行客户端对服务端mysqld的连接;(2)tcp/ip远程连接:比如navicat进行数据库的连接;图解:服务器端mysqld图解实例:1.什么是实例?实例 : 一个mysqld进程+mysql预分配的内存结构+大量的工作线程2.功能是什么?管理数据3.mysqld在内存中的工

2021-01-27 20:51:57 206 2

原创 web项目和app中的支付宝接口使用

1.APP中支付宝接口的使用(Flask)1.1准备工作安装alipay的sdk,集成到flask项目中pip install python-alipay-sdk --upgrade切换到应用(如:users)目录下,新建keys文件保存应用的公私钥,以及支付宝的公钥cd application/apps/users/mkdir keyscd keysopensslOpenSSL> genrsa -out app_private_key.pem 2048 # 私钥OpenS

2020-12-30 10:02:52 663 1

原创 Django和Flask中的JWT

JWT很多公司开发的一些移动端可能不支持cookie,并且我们通过cookie和session做接口登录认证的话,效率其实并不是很高,我们的接口可能提供给多个客户端,session数据保存在服务端,那么就需要每次都调用session数据进行验证,比较耗时,所以引入了token认证的概念,我们也可以通过token来完成,使用Json Web Token认证机制.Json web token(JWT),是为了在网络应用环境件传递声明而执行的一种基于JSON的开放标准(RFC 7519).该token被设计为

2020-12-13 19:49:55 452

原创 celery

1.什么是celeryCelery是一个功能完备即插即用的异步任务队列系统.它适用于异步处理问题,当发送邮件,会上传文件,图像处理等一些比较耗时的操作,我们可以将其异步执行,这样用户不需要等很久,提高用户体验.专注于实时处理异步任务队列同时也支持任务调度.官方文档:http://docs.jinkan.org/docs/celery/getting-started/index.html2.特点(1)简单,易于维护,有丰富的文档(2)高效,单个celery进程每分钟可以处理数百万个任务(3)灵活

2020-12-03 11:37:41 251 1

原创 linux的编辑工具

Linux编辑工具1 vim/vivim有高亮显示yum install vim -y2 vim/vi的模式1.vim 文件,直接进入命令模式,可以执行命令模式下的操作2.命令模式可以直接切换到编辑模式;esc 回到命令模式 :进入末行模式3.编辑模式不能直接进入末行模式,先从编辑模式返回命令模式,再从命令模式进入末行模式2.1命令模式复制: yy粘贴: p撤销: u删除: dd剪贴: (删除+粘贴) dd + p光标移动: 文件首行: gg 文

2020-11-21 22:15:33 112

原创 linux中的文件管理操作

文件管理对文件的操作:创建,删除,压缩,移动,复制,编辑,查找,查看,1目录结构Windows: 多根 c:\ d:\ e:\Linux: 单根 /切换到根目录下cd /bin 普通用户可以执行的命令sbin: 管理员可以执行的命令home: 普通用户的家目录 /home/usernameroot: 管理员的家目录boot: 存放的启动系统时要加载的文件dev: 设备(硬盘 光盘 终端) /dev/random 产生随机数 /de

2020-11-21 22:13:02 73

空空如也

空空如也

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

TA关注的人

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