自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 网络协议:IP、TCP、DNS

一、IP协议IP协议作用是把数据传送给对方,其中需要满足各类条件,其中最重要的条件是IP地址和MAC地址MAC指网卡的固定地址,一般不会更改,IP地址指明节点被分配到的地址,可变换。一般MAC地址需要和IP地址进行配对ARP协议是解析地址的协议,可以根据ip地址反查出对应的MAC地址。采用ARP协议源主机可以广播式根据目标主机ip获取到目标主机MAC二、TCP协议传输层,分割传输从而保证大数据,三次握手传输可靠无丢失(1)客户端向服务器发送标有SYN的数据包(2)服务端接收到SY

2022-04-18 18:59:51 2450

原创 网络协议:TCP/IP

一、tcp/ip内几层应用层:决定向用户提供应用服务时通信的活动。(ftp、dns、http等)传输层:对上层应用层提供处于网络连接中两台计算机之间的数据传输。(tcp传输控制协议、udp用户数据报协议)网络层:用来处理在网络上流动的数据包。数据包是网络传输的最小单位。该层规定了通过怎样的传输路线到达对方计算机,并把数据报传送给对方链路层:用来处理连接网络的硬件部分二、基本流程举例:客户端在应用层发送http请求,在传输层(tcp协议)把从应用层接收到的数据进行分割,

2022-04-18 17:18:59 2353

转载 FastAPISQL (Relational) Databases

SQL (Relational) DatabasesFastAPI不需要您使用SQL(关系)数据库。但是您可以使用所需的任何关系数据库。在这里,我们将看到一个使用SQLAlchemy的示例。您可以轻松地使其适应SQLAlchemy支持的任何数据库,例如:PostgreSQL MySQL SQLite Oracle Microsoft SQL Server, etc.在此示例中,我们将使用SQLite,因为它使用单个文件并且Python具有集成的支持。因此,您可以复制此示例并按原样运行

2022-02-19 12:42:18 510

转载 explan 结果每个字段说明

https://blog.csdn.net/u011383596/article/details/108092176

2021-05-25 22:47:23 242

原创 浅谈mysql索引

索引一、简介1、目的2、什么时候需要索引,什么时候不需要索引二、常见索引模型1、哈希2、有序数据3、平衡二叉树3、B树4、B+树三、常见索引分类1、按照功能逻辑分类2、按照物理实现方式分类3、按照字段个数分类四、索引使用规则1、创建索引有哪些规律2、什么情况下索引会失效一、简介1、目的目的: 索引目的说白了就是为了提高查询效率,就像书的目录一样,根据目录可以很快查询到对应的知识。不过索引也有一些不足,比如占用存储空间,降低数据库写操作性能2、什么时候需要索引,什么时候不需要索引有些情况下创建索引反

2021-01-16 11:49:34 298

原创 浅谈mysql日志:binlog和redolog,加更change buffer

1、redo log2、binlog3、redolog和binlog区别1、redo log又叫重做日志,是innodb存储引擎层的日志,属于物理日志。采用循环写入方法,用来记录修改之后的值,不管事务是否提交,都会把事务操作的变化记录下来。如果每次更新都需要一次次写入磁盘成本很高,所以采用先写日志再写磁盘。日志大小是固定的,采用循环写入的方法。2、binlog又叫归档日志,是mysql server层的日志,属于逻辑日志。是以二进制形式进行记录,采用追加写入的方法,用来记录表字段修改数据更新等一.

2021-01-03 23:33:24 635 2

原创 浅谈mysql事务

事务: 简单的说,就是一组数据库操作,要么全部成功,要么全部失败。mysql中不是所有的存储引擎都可以使用事务,就像innodb支持事务,而在5.5版本以前默认的存储引擎MyISAM就不支持事务,这可能也是后来MyISAM被innodb所取代的原因之一。举一个烂大街的例子来说明为什么要使用事务?:userA给userB转账一个亿 100块,如果a给b转账的过程中突然发生某些事故,导致此时a的100元已经扣除,b却没有收到,这怎么办?为了防止这种事情的发生,就有了事务。事务一、简介1、事务的4种特性(AC

2021-01-03 22:43:10 101

原创 mysql操作

mysql1、数据库show databases;create database db_name charset=utf8;drop database db_name;use db_name;2、数据表结构show tables;desc tb_name;create table tb_name(字段名 数据类型 可选约束条件, 字段名 数据类型 可选约束条件);eg: cteate table tb_name(id int unsigned auto_increment primary

2020-09-14 22:49:28 526

转载 centos7 安装 Mysql 5.7.28,详细完整教程

1.下载 MySQL yum包wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm2.安装MySQL源rpm -Uvh mysql57-community-release-el7-10.noarch.rpm3.安装MySQL服务端,需要等待一些时间yum install -y mysql-community-server4.启动MySQLsystemctl start mysqld.service5.检查

2020-08-27 14:27:33 641

原创 python 时间戳 日期 字符串相互转换, 及其日期相关换算

import datetimeimport timeimport pandasimport calendarfrom dateutil.parser import parsefrom dateutil.relativedelta import relativedelta"""1. 现在时间 2020-04-06 15:40:20.8918132. 获取年月日 (2020, 4, 6)3. 字符串转换时间 2020-04-06 type <class 'datetime.dat

2020-07-27 10:19:54 245

原创 mysql一:基本架构

mysql基本架构mysql分为server层和存储引擎层:1、server层包括连接器、查询缓存、分析器、优化器、执行器连接器:mysql -h$ip -P$port -u$user -p负责管理连接权限验证。连接时间超过一定值没有操作会自动断开,默认为8h。连接过程一般比较复杂,所以建议使用长连接。但是建立过多长连接会占用大量内存空间,内存占用过大会导致重启。因为在执行过程中临时使用的内存管理在连接对象里,这些内存只有断开连接才会被释放。解决方法为重连或5.7以上版本可通过mysql_res

2020-07-10 10:07:42 141

原创 python进阶三:垃圾回收机制

垃圾回收机制python程序运行时需要开辟一块内存空间用来管理程序运行时产生的临时变量,运行结束后将运行结果存储到永久性存储器中内存泄漏:(1)不再使用的内存未能释放(2)程序设计错误导致失去对内存的控制,从而造成资源浪费一、引用计数法python中一切皆对象,变量其实都是一个指针指向一个对象,当对象的引用计数()指针数为0时,内存将被回收手动启动垃圾回收:import osimport psutilimport gc# 显示当前 python 程序占用的内存大小def show_

2020-07-08 17:42:33 124

原创 python进阶二:函数装饰器、类装饰器、如何保证原函数的元信息、装饰器嵌套、装饰器应用场景

装饰器一、简单装饰器def my_decorator(func): def wrapper(): print('wrapper of decorator!') func() return wrapperdef greet(): print('halo world!') greet = my_decorator(greet)greet()# 输出wrapper of decorator!hello world!@my_de

2020-07-03 17:56:20 219

原创 python进阶一:深拷贝浅拷贝,==和is区别

1、浅拷贝指重新分配一块内存,创建一个对象,里面的对象是原对象中子对象的引用2、深拷贝指重新分配一块内存,创建一个新的对象,并将原对象的元素以递归方式,通过创建新的子对象拷贝到新对象中,因此,新对象和原对象没有任何关联3、“==”和“is”“==”是比较两个值是否相等,“is”是判断他们是否指向同一内存地址“is"效率优于”==",因为"is"只需要获取对象的id进行比较,而"=="需要递归的遍历对象所有值,并逐一比较。python会把-5到256到证书维持一个数组,起到一个缓存作用。这样,每

2020-06-27 22:30:27 164

原创 python基础四:面向对象四要素、继承

四、面向对象class Document(): # 类对象 a = xx # 类属性 def __init__(self, title, author, context): print('init function called') self.title = title # 实例属性 self.author = author self.__context = context # __开头的属性是私有属性 def

2020-06-22 21:26:00 1030

原创 python基础三:函数(函数嵌套、闭包、匿名函数)

五、函数**1、多态:**不用考虑输入的数据类型,而是将其交给具体的代码判断执行2、函数嵌套:作用:第一,函数嵌套能够保证内部函数的隐私第二,合理函数嵌套能够提高程序运行效率3、函数作用域:函数内部改变全局变量的值:global内部函数改变外部函数定义的变量的值:nonlocal4、闭包:与函数嵌套不同的是,闭包外部函数返回的是一个函数,而不是一个具体的值,返回的函数通常赋予一个变量,这个变量可以在后面被继续执行调用优点:函数开头需要做一些额外工作,而需要多次调用这个函数时,将额外工作

2020-06-21 23:28:51 171

原创 python基础二:字典和集合增删改查的底层原理

字典和集合字典在3.7+中被确认为有序;集合是无序的并且无法进行索引操作字典和集合内部是哈希表对于字典,这张表内部存储了哈希值、键和值对于集合,哈希表中没有键和值配对,只有单一的元素1、插入操作每次向字典或集合插入元素时,python首先会计算其hash值,根据hash值计算出这个元素应该插入哈希表的位置(1)如果此位置是空的,那么直接插入(2)如果此位置被占用,则说明该位置被占用,python会比较这两个元素分别对应的哈希值和键是否相等。​ 若相等,说明该元素已存在,如

2020-06-18 23:40:59 227

原创 python基础一:元组与列表的区别,该如何进行选取

1、不同列表:(1)动态,长度大小不固定,可进行增删改操作。​ 同时需要存储指针来指向对应元素,还需要额外存储已经分配的长度大小​ python每次分配空间时会额外多分配一些,这样的机制(over-allocating)保证了其操作高效性,增加/删除时间复杂度均为O(1)(2)列表存储空间略大于元组,性能略逊于元组元组:(1)静态,长度大小固定,不可改变(2)元组相对于列表更轻量级,元组性能略优于列表2、相同(1)都支持负索引(2)都支持切片操作(3)

2020-06-18 16:42:29 226

原创 数据结构与算法:冒泡排序

如何分析排序算法(时间复杂度、空间复杂度、稳定性)1、排序算法的执行效率最好情况,最坏情况,平均情况时间复杂度(有序和无序的数据,对时间复杂度有影响)冒泡排序最好情况数据已经有序,时间复杂度为O(n);最坏情况数据是倒序,要进行n次冒泡,时间复杂度为O(n2);平均情况下,时间复杂度为O(n2)。时间复杂度的系数、常数、低阶比较次数和交换(或移动)次数2、排序算法的内存消耗原地排序算法:特指空间复杂度是O(1)的排序算法。冒泡、插入和选择排序都为原地排序算法3、排序算法的稳定性稳定性

2020-05-09 13:42:09 1463

原创 数据结构与算法:递归

一、概念递归是一种高效、简介的编码技巧,一种应用很广泛的算法,比如DFS深度优先搜索,前中后序二叉树遍历等都是使用递归。方法或函数调用自身的方式成为递归调用,调用称为递,返回成为归所有递归问题都可以用递归公式来表示二、递归优缺点优点:代码简洁缺点:堆栈溢出风险(可根据调整递归调用的最大深度来解决),出现重复计算问题(用某种数据结构来存储已经求解过的值f(k),当调用f(k)时,先看一下...

2020-05-07 14:00:54 114

原创 数据结构与算法:队列在有限资源池的应用

一、概念先进先出,分为入队和出队。入队:放一个数据到队列尾部;出队:从队列头部取一个元素。用数组实现的队列叫作顺序队列,用链表实现的队列叫作链式队列。二、顺序队列如图,abcd依次如对之后,队列中head指针指向下标为0的位置,tail指针指向下标为4的位置当调用两次出队操作,队列中head指针指向下标为2的位置,tail指针仍指向下标为4的位置随着数据入队和出队操作,head和...

2020-04-29 16:25:30 138

原创 数据结构与算法:栈的应用场景

一、概念先进后出,后进先出。只允许在一段插入和删除操作。**栈的实现:**用数组实现的栈叫顺序栈,用链表实现的栈是链式栈。大部分情况下,入栈操作的时间复杂度 O 都是 O(1),只有在个别时刻才会退化为 O(n),出栈时间复杂度为O(1)二、应用1、函数调用中的应用操作系统会给每个线程分配一块内存空间,这块内存被组织成栈结构,每进入一个函数,都会将临时变量作为栈帧入栈;当被调用函数执...

2020-04-28 18:53:17 2683 1

原创 数据结构与算法:链表(如何利用链表实现LRU缓存淘汰算法)

一、数组和链表区别数组需要一块连续的内存空间,对内存要求比较高。链表通过指针将一组零散的内存块串联起来数组随机访问效率高,插入删除操作为了保持内存数据的连续性,需要做大量搬移操作链表插入和删除效率高,查找需要遍历链表 数组因为使用连续内存空间,可以借助cpu缓存机制,预读数组中数据链表不是连续存储,所以cpu缓存不友好,没有办法预读二、单链表链表是通过指针将零散的内存块串联起来,...

2020-04-27 18:42:34 317

原创 数据结构与算法:数组(为什么从0编号)

一、概念数组是一种线性表结构。它用一组连续的内存空间来存储一组具有相同类型的数据**线性表:**数据拍成像一条线一样的结构。eg:数组、链表、队列、栈非线性表: 二叉树、堆、图**连续的内存空间来存储一组具有相同类型的数据:**正是因为这两个限制,它才有了随机访问。但是其弊端是如果像插入和删除数据,为了保证连续性,需要做大量的数据搬移工作。数组和链表区别:数组适合随机访问,时间复杂...

2020-04-26 18:39:54 198

原创 常见密码泄露场景,防止密码攻破方法及几种加密算法

一 密码泄露的途径和场景1. 暴力破解生成随机码方式破解密码2. 传输劫取中间人攻击,传输过程中密码被获取3. 脱库数据库中数据泄露二 防止密码被攻破1. 严禁使用明文存储2. 不可逆算法MD5 sha hmac等3. 安全机制,防止暴力破解(防止暴力破解)比如验证码,或几次密码错误账号锁定4. 要复杂,加盐(防止脱库)盐:没有固定规律的随机字符串,盐越长越复杂,密码越...

2020-04-15 17:31:32 3319

原创 git知识大全

码云帮助中心git知识大全学习用,很好用,收藏起来偶尔翻来看看

2020-04-06 13:53:15 124

原创 关于python多线程GIL锁的问题

纯属个人理解:如有不妥,希望能被指出。GIL全局解释锁,在CPython解释器中所应用。因为其的存在,导致python名义上的多线程实际上同一时间只有一个线程在运行。比如使用了多个线程的计算机密集型程序,只会在单cpu上运行。所以python多线程运行io密集型任务很友好,cpu密集型任务反而。。。当初为什么要用GIL?为了不让多个线程同时执行同一字节码,避免多个线程同时对某个对象进行操...

2020-03-31 18:32:23 444

原创 docker入门、基础命令

1.概述**作用:**快速持续集成、服务弹性伸缩、简单部署、节省机器资源**概念:**装应用的容器(程序、网站等),沙箱机制(独立性、隔离性),轻量级、可移植解决问题:(1)本地运行无问题,其他地方无法运行;(2)多人同用一个系统进行开发,因docker隔离性,其他不受影响;(3)需要临时增加服务器资源(快速扩展,弹性伸缩简单)**优势:**启动快、占用资源少2.镜像、仓库、容器镜像(...

2020-03-21 11:57:06 82

原创 MAC安装miniconda及其基本使用

1.mac上安装minicondaminiconda官网根据需要进行下载下载后,在文件所在目录下 sh一下2. 查看miniconda是否安装成功conda -V 检测是否安装成功如果出现command not found之类的命令,可能是需要配置环境变量我本人出现的问题:zsh: command not found: conda解决方法:(1) vim ~/.zshrc,没有...

2020-03-12 17:10:50 26379 6

Django中文件上传、保存、读取

from django.http import HttpResponsefrom chardet import detectdef dofiles(request): ''' :param request: 用户上传的文件 :return: 文件内容 ''' if request.method == 'POST': dirl...

2019-12-25 22:26:41 4929 1

空空如也

空空如也

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

TA关注的人

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