自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Nova组件源码分析之冷迁移与Resize

冷迁移与Resize1、迁移是指将虚拟机从一个计算节点迁移到另外一个节点上。冷迁移过程中虚拟机是关机或是处于不可用的状态,而热迁移则需要保证虚拟机时刻运行。2、Resize则是指根据需求调整虚拟机的计算能力和资源。Resize和冷迁移的工作流程相同,区别只是Resize时必须保持新的Flavor配置大于旧的配置,而冷迁移则要求两者相同。3、resize和冷迁移的本质区别:同一个接口,根据传参不同,有flavor就执行升配,无flavor就走的是冷迁移。1、 入口API:nova/api/openstack/

2022-06-23 11:00:38 803 1

原创 Nova中的api

1、nova中和api有关的文件/目录夹有:api目录多个rpcaip.py多个api.py2、openstack的几种apiRest api:项目对外开放的接口。本地调用api(local api):进程内方法调用,及普通的Python方法调用Rpcapi.py就是某个功能模块的远程调用api3、Rest API:RestAPI是openstack的标准对外接口,所有API都有官方文档详细定义。openstack中的rest api实现有两个关键技术:wsgi和Paste Deployment.ws

2022-06-23 10:44:55 560

原创 OpenStack-----Nova源码分析之创建虚拟机

Nova源码解析学习:一、浏览代码的工具:二、源码地图:1、每个子项目的源码根目录下都有一个setup.py和setuo.cfg文件2、Setup.py中的setup函数有大量的参数需要设置(包括项目的名称、作者、版本等),setup.cfg文件的出现将setup函数解脱出来,它使用pdf工具去读取和过滤setup.cfg中的数据,将解析后的结果作为自己的参数。3、Setup.cfg文件的内容由很多section组成,能帮助我们更好的去理解代码的section唯有entry_points(对于一个Pytho

2022-06-23 10:40:05 918

原创 OpenStack学习笔记-Glance组件深入了解

视频了解:glance:为虚拟机的创建提供镜像的服务glance的功能:使用户能够发现、注册、检索虚拟机的镜像,它提供一个能够查询虚拟机镜像元数据和检索真实镜像的REST APIREST API的体现就是一个URL,而在glance中通过一个URL地址来标识一个URL地址来唯一标识一个镜像的形式如:/v1/images/:glance服务按照的位置/v1:使用v1版本,详见四/images:...

2022-06-23 10:34:15 1435

原创 OpenStack学习笔记之-Nova组件深入了解

视频了解:nova组件是用来建虚拟机的(功能:负责响应虚拟机创建请求、调度、销毁云主机)nova主要组成:nova-api:负责接收外部的rest api的请求nova-scheduler:负责调度(相当于nova-api的秘书)nova-compute:负责具体的去调相关的虚拟化驱动nova-conductor:帮助nova-computer查看数据库,然后将消息通过message queue传给nova-computer为什么查看数据库时要借助nova-conductor而不是nova-computer

2022-06-23 10:32:49 3203

原创 OpenStack学习笔记(二)

视频讲解:keystone简单来说是用来做认证的概念详解:User:使用Openstack组件的客户端可以是人、服务。系统,任何访问Openstack组件的客户端都需要有一个用户名Project:1、是一个人或服务所拥有的资源集合。不同的Project之间资源是隔离的,资源可以设置配额;2、在一个Project中可以包含多个User,每个User都会根据权限的划分来使用Project中的资源。3、User访问Project的资源前,必须要与该Project关联,并且指定User在Project下的Role,

2022-06-23 10:31:29 1198

原创 OpenStack学习笔记(一)

基于OpenStack设计与实现书籍内容笔记:了解最原始的初始化虚拟化技术:允许多个用户远程共享同一高性能计算设备的时间了解了虚拟化技术的初衷:使昂贵的大型资源得到尽可能的充分利用云计算的三种模式:公有云、私有云和混合云扩展了解:1、公有云:面向大众提供资源的服务;用户通过互联网来获取这些资源的使用;优势:成本低,扩展性非常好缺点:对于云端的资源缺乏控制、保密数据的安全性、网络性能和匹配性问题2、私有云:“私有”更多是指此类平台属于非共享资源,而非指其安全优势。私有云是为了一个客户单独使用而构建的,所以这些

2022-06-23 10:29:48 1008 2

原创 秋招备战之MySQL索引

一、什么是索引:索引是mysql的一种数据结构,这种数据结构称之为 key,或者说是一种数据的组织方式表中的一行行数据按照索引规定的结构组织成了一种树形结构,该树叫B+树范围查询其实相当于n次等值查询范围索引:select name where id>3等值索引:select name where id=2二、为何要用索引:优化查询速度,对于数据库来说读(select)写(insert,update,delete)比例就是十:一,所以查的优化就显得很重要三、如何正.

2022-03-22 18:56:13 333 11

原创 简单讲解Django请求生命周期流程图

浏览器发送请求(HTTP协议)web服务网关接口: 1、请求来的时候解析封装 响应走的时候打包处理 2、django默认的wsgiref模块不能承受高并发 最大只有1000左右 上线之后会替换成uwsgi来增加并发量 3、WSGI跟wsgiref和uwsgi的关系: WGSCI是协议 wsgir...

2022-01-18 11:45:48 677

原创 趁寒假室友不在,我偷偷入门了Django(笔记整理)

目录一、Django简介:1、Web框架本质2、Django版本3、 注意事项4、python 三大主流web框架简单介绍及区别5、静态文件配置6、小白必须三板斧7、虚拟环境二、路由层1、路由匹配2、名称空间3、无名分组与有名分组4、反向解析三、视图层1、CBV和FBV2、requesr对象方法3、JsonResponse对象四、模板层1、模板语法传值:2、过滤器:3、标签:4、with起别名:5、自定义过滤器、..

2022-01-18 06:15:12 972 9

原创 MySQL学习笔记(七)视图,触发器,事务,存储过程,函数,流程控制,索引

下面是听了林海峰老师的视频总结与大家分享~首先为大家补充一些关于多表查询的知识点只要是多表查询,就有两种思路 1、联表 2、子查询为大家举一个1例子:查询平均年龄在25岁以上的部门名称ps:这里不为大家展示结果和建表过程,只演示sql代码思路1、联表操作1、先拿到部门和员工表拼接之后的结果2、分析语义,得出需要进行分组select dep.name from emp inner join dep on emp.dep_id=...

2022-01-04 19:13:19 829 2

原创 冲刺 HTML学习笔记(五)定位、溢出属性、清除浮动、z-index、透明度

忙里偷闲来总结一波,这也将是最后的关于HTML的小结,后面将开始js之旅一、解决浮动带来的影响浮动会造成父标签塌陷问题那么如何解决浮动带来的影响呢?"""1、可以自己加一个div设置高度2、利用clear属性3、在写html页面前,先提前写好处理浮动带来的影响的css代码(通用的解决浮动带来的影响).clearfix:after{content:'';display:block;clear:both;}之后只要标签出了塌陷的问题就给该塌陷的标签加一..

2021-12-28 20:26:31 368

原创 HTML学习笔记(四)伪类选择器、伪元素选择器、分组与嵌套、即一些基本属性介绍

下面是看了林海峰老师的视频的学习笔记来与大家分享一、伪类选择器伪类选择器这里主要是为大家介绍a标签与input标签的CSS样式,下面用简单的案例加注解为大家介绍<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <style> a:link{ ...

2021-12-23 20:04:17 1408

原创 HTML学习笔记(三)CSS引入方式及基本选择器、组合选择器、属性选择器

下面是听了林海峰老师的视频总结与大家一起分享~一、CSS三种引入方式1、style标签内部直接书写<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title><!-- 1、style标签内部直接书写--> <style> h1{ .

2021-12-22 23:54:02 516

原创 HTML学习笔记(二)表单标签与表格标签

只要不放弃自己,在哪都能放光!!!!!每天鼓励自己的一句话下面是看了林海峰老师的视频总结与大家分享一、表格标签首先为大家列举它的属性border: 表格边框. cellpadding: 内边距 cellspacing: 外边距. width: 像素 百分比.(最好通过css来设置长宽) rowspan: 单元格竖跨多少行 colspan: 单元格横跨多少列(即合并单元格)下面用一个小案例为大家介绍table标签即展示它的效果<!DOCTYPE html>&.

2021-12-21 21:11:33 741

原创 HTML学习笔记(一)初始HTML即head、body内常用标签介绍

这是听了林海峰老师的视频总结,来与大家一起学习分享~一、首先聊一聊浏览器输出窗口发生的几件事吧"""1、浏览器朝服务端发送请求2、服务端接受请求(比如:请求百度首页)3、服务端返回相应的响应(返回一个百度首页)4、浏览器接收响应,根据特定的规则渲染页面展示给用户看"""浏览器可以充当很多服务端的客户端,如百度,腾旭视频,优酷等等....那么如何做到浏览器能够跟多个不同的客户端之间进行数据交互呢? 1、浏览器很厉害,能够自动识别不同服务端做不同处理...

2021-12-20 21:07:14 762

原创 MySQL学习笔记(六)补充表的操作之distinct,order by,limit,正则,连表操作

下面的链接是基于上次的文章讲解,这次补充上次没讲完的知识点即对连表操作的描述​​​​​​​​​​​​​​​​​​​​MySQL学习记录(五)补充表的一些操作即where,group by,having用法一、去重distinct# 注意必须是完全一样的数据才能去重# 一定不要将主键忽视了,有主键的情况下是不可能去重的[ {'id':1,'name':'egon','age':18}{'id':2,'name':'egon','age':18}...

2021-12-16 21:37:59 800 1

原创 MySQL学习记录(五)补充表的一些操作即where,group by,having用法

一、修改表# MySQL对大小写是不敏感的"""1、修改表名 alter table 表名 rename 新表名;2、增加字段 alter table 表名 add 字段名 字段类型(宽度) 约束条件;alter table 表名 add 字段名 字段类型(宽度) 约束条件 first;# first 将字段直接添加到表的最前面alter table 表名 add 字段名 字段类型(宽度) 约束...

2021-12-14 23:34:08 811 2

原创 MySQL刷题记录(一)

一、组合两个表表1: Person+-------------+---------+| 列名 | 类型 |+-------------+---------+| PersonId | int || FirstName | varchar || LastName | varchar |+-------------+---------+PersonId 是上表主键表2: Address+-------------+---------+...

2021-12-13 21:53:26 176 1

原创 MySQL学习笔记(四)约束条件及表的关系讲解

下面是听了林海峰老师视频的总结与大家分享~一、约束条件1.1、default默认值# 补 充知识点 插入数据的时候可以指定字段create table t1( id int, name char(4));insert into (name,id) t1 values('jason',1);# 下面正式讲解default约束条件的用法create table t2( id int, name char(4), gen...

2021-12-11 22:29:25 996 4

原创 MySQL学习笔记(三)数据类型详细介绍

下面的内容是听林海峰老师课的总结,下面就先为大家详细介绍它的数据类型们~先来了解下对应数据类型的范围吧一、整形字段"""整形字段首先分为:TINYINT、SMALLINT、MEDUIMINT、INT、BIGINT"""1TINYINT型TINYINT默认情况下是带有符号的TINYINT超出限制会报错为大家树立一个案例为大家更好的理解create table t1(id tinyint);insert into t1 values(-12...

2021-12-10 21:18:59 998 4

原创 MySQL学习笔记(二)初始sql语句及修改配置文件

下面是听了林海峰老师课的讲解总结与大家分享~一、MySQL配置文件一般MySQL的配置文件都是my-default.iniini结尾的一般都是配置文件程序启动会先加载配置文件中的配置之后才真正启动'''[mysqld] #一旦服务端启动立刻加载下面的配置sql_mode=NO_ENGINE,STRICT_TRANS_TABLES[mysql] #客户端....[client] #其它客户端....'''你也可以自己新建一个my.ini的配置文件修改一些配.

2021-12-09 21:58:15 1245 4

原创 MySQL之存储引擎,你了解了多少?

在日常生活中文件格式有很多种,并且针对不同的文件格式会有对应不同存储方式和处理机制(如:.txt、.pdf、.mp4.......)针对不同的数据应该有对应的不同的处理机制来存储存储引擎就是不同的处理机制一、MySQL主要存储引擎:。Innodb。myisam。memory。blackhole下面我们来一一了解它们'''Innodb是MySQL5.5版本及之后默认的存储引擎存储数据更加安全''''''myisam是MySQL5.5版本之前默认的存..

2021-12-06 23:20:13 457 4

原创 MySQL密码忘记了?不慌~

当你可能前一秒设置了MySQL密码,出去吃个饭拿个快递的功夫可能就忘记密码了......这时我们该慌吗????不用慌兄弟们,我来解决你们忘记密码的烦恼~下面是听了林海峰老师的视频总结你可以将mysql获取用户名和密码校验的功能看成是python中的装饰器,装饰在了客户端请求访问的功能上。我们如果将该装饰器移除,那么mysql服务端就不会校验用户名和密码了!!!!# 1、先关闭当前mysql服务端# 命令的方式启动(让mysql跳过用户名密码校验功能)# mysqld --s.

2021-12-05 22:45:31 1070 5

原创 初识MYSQL含安装教程(详细篇)

一、数据库的本质'''数据库本质其实就是一款基于网络通信的应用程序其实每个人都可以开发一款数据库软件,因为它仅仅就是一个基于网络通信的应用程序。这也就意味着数据库软件其实有很多很多......1、关系型数据库: MySQL、oracle、db2、access、sql、server2、非关系型数据库: redis、mongodb、memcache'''关系型数据库特点: 1 数据之间彼此有关系或者约束 ...

2021-12-02 21:51:50 369 3

原创 python打卡leetcode(六)

一、二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度3 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximum-depth-of-binary-tree著作权归...

2021-11-30 21:56:16 125 4

原创 今日讲解——关于进程与线程最后的冲刺啦

听了林海峰老师讲解有关线程与进程的补充知识点的总结如下:一、死锁现象这些都是只需要了解的知识点,我就用代码来为大家讲解吧~from threading import Thread,Lockimport timemutexA=Lock()mutexB=Lock()# 类只要加括号多次 产生的肯定是不同的对象--》print(mutexA is mutexB)-->False# 如果你想要实现多次加括号等到的是同一个对象,就要用单例模式class MyThread(Threa

2021-11-29 22:29:39 257 1

原创 今日讲解之python-实现单例模型的四种方法

这是看了林海峰老师讲解单例模型的实现方法的总结来与大家分享~一、@classmethod ->通过类方法实现'''class Foo: # 定义一个类的数据属性,用于接收对象的实例,判断对象是否只有一个 _instance = None def __init__(self, name, age): self.name = name self.age = age @classmethod def singlenton(

2021-11-29 10:57:01 768 2

原创 今日夜谈-Python多线程即相关理念

今日看了林海深老师讲解多线程总结如下:一、什么是线程?线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程。车间负责把资源整合到一起,是一个资源单位,而一个车间内至少有一个流水线。所以,进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位。总结进程与线程区别:'''进程:资源单位线程:执行单位线程才是真正干活的人,干活中需要的资源由线程所在进程提供每个进程肯定自带一个线程每个进程内可创建多个

2021-11-28 22:55:29 758 7

原创 今日补充进程对象及相关方法和知识~

看了林海峰老师的视频总结:基于上一篇文章讲解了进程的概念和实现方法,接下看为大家介绍有关进程更详细的知识点及方法下面链接为上一篇文章的链接https://blog.csdn.net/m0_51734025/article/details/121549389?spm=1001.2014.3001.5502一、进程对象即及其它方法首先大家要知道进程间数据是相互隔离的。'''# 方法介绍 1 p.start():启动进程,并调用该子进程中的p.run() 2 p.run().

2021-11-27 22:15:56 352 1

原创 晚上劳累来看看python多进程吧(详细)~

听了林海深老师的课程后对python多进程的理念又有了更多的了解,下面来与大家分享一 、什么是进程?进程:正在进行的一个过程或者说一个任务。而负责执行任务则是cpu。二、谈谈进程与程序的区别:程序仅仅只是一堆代码而已,而进程指的是程序的运行过程。需要强调的是:同一个程序执行两次,那也是两个进程,比如打开暴风影音,虽然都是同一个软件,但是一个可以播放海贼王,一个可以播放妖精的尾巴。三、了解并发与并行的概念:ps:无论是并行还是并发,在用户看来都是'同时'运行的,不管是进程还是线程,

2021-11-25 23:03:04 591 2

原创 python-sockertserver并发编程思想

听了林海峰老师讲的sockertserver的总结一、首先在socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题)1、server类2、request类:二、我将先为大家讲解基于TCP的sockertserver的基本使用服务端代码:import socketserverclass MyRequestHandle(socketserver.BaseRequestHandler): def handle(..

2021-11-25 01:11:35 2532

原创 python-套接字基于TCP实现一个远程执行命令的程序(含解决粘包问题)

看了林海峰老师的视频后的总结:粘包是TCP协议经常出现的问题,如果不解决好的话,会将数据粘在一起,带来很多烦恼和麻烦首先为大家展示解决粘包问题前实现本章的功能代码# 客户端from socket import *client=socket(AF_INET,SOCK_STREAM)client.connect(('127.0.0.1',8080))while True: msg=input('请输入命令>>>>').strip() if le

2021-11-23 21:20:31 1769 1

原创 python套接字基于UDP模拟电话通信简单介绍

相对之前文章介绍过的基于TCP的套接字的实现,udp是无链接的,先启动哪一端都不会报错,传输效率更快,适合做聊天室,但数据不会保证完整性# 客户端:import socketclient=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)# 数据报协议=》udp协议while True: msg=input('>>>>') client.sendto(msg.encode('utf-8'),("10.0.2.15

2021-11-22 23:45:59 469

原创 python-套接字之基于TCP协议的简单套接字电话通讯

听了林海生老师的计算机网络五层协议后开始实现套接字的代码即原理认识,首先为大家上一组图Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。开始用一个简单的套接字电话通信小案例为大家讲解它的具体应用# 客户端代码import socket# 1、买手机phone=socket.socket(socket.AF_INET,socket.SOCK_STREAM)# 流式协议=》TCP协议# 2、拨通服务端电话phone.connect(('127.0..

2021-11-21 22:58:56 1948

原创 周末回顾基本python数据类型之字符串详细用法~(可以收藏欧~)

首先我将为大家介绍字符串的常见方法# 普通的索引操作想必大家都会,我就来讲解一些比较特殊的吧s='abcd's=s[::-1]#倒着取print(s)# 输出结果:dcbas=s[0:3:2]#[start:end:step] start:起始位置 end:结束位置(不包含最后一个)step:步长,如果步长为n,则在start:end范围内从开始位置依次隔n个取值print(s)# 输出结果:db# 特殊情形s=s[-1:-4:-2]# start,end,step均为'-'时

2021-11-20 10:06:13 296 2

原创 周末无聊乏累来为大家讲解一道mid难度leetcode链表题(两数相加)吧~(个人觉得比较完整的思路~)

两数相加给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 = [9,9...

2021-11-19 21:28:03 153 1

原创 今日闲谈之python函数可变长参数(会有收获欧~)

这是听了Egon老师林海峰老师课的笔记一、什么是可变长参数可变长指的是实参值的个数不固定 而实参有按位置和按关键字两种形式定义,针对这两种形式的可变长,形参对应有两种解决方案来完整地存放它们,分别是*args,**kwargs下面我将为大家依依介绍它们的存在:补充:#1、位置参数:按照从左到右的顺序定义的参数 位置形参:必选参数 位置实参:按照位置给形参传值def func(a,b): print(a,b)func(1,2)# --&

2021-11-18 13:45:38 1718 6

原创 闲聊之python 异常处理(生活太浮躁,来看看文章吧)

这是我看了林海峰老师的视频做的笔记希望能帮助大家,加油!一、什么是异常?异常:程序发生错误的信号,程序一旦出错就会抛出异常,程序的运行随即终止异常处理的三个特征:1、异常的追踪信息2、异常的类型3、异常的内容二、处理异常的原因:为了增强程序的健壮性,即便是程序运行过程中出错了,也不要终止程序而是捕捉异常并处理:将出错信息记录到日志内三、如何处理异常异常可分为两类:1、语法上的错误(处理方式:必须在程序运行前就改正)if i>3 print(

2021-11-16 20:39:58 104 5

原创 python -闲谈闭包函数与有参无参装饰器,你掌握了吗

一、什么是闭包函数?在听了Egon老师的讲解后我有了一些见解来跟xdm分享:闭包函数=名字空间与作用域+函数嵌套+函数对象‘闭'函数指的该函数是内嵌函数‘包’函数指的该函数包含对外层函数作用域名字的引用(不是对全局作用域)注意:内部函数包含对外部作用域而非全局作用域的引用来为大家举个例子:x=100def f1(): x=1 def f2(): print(x) return f2# 可以理解为f2就是被f1包起来的函数,它的内容

2021-11-15 18:55:48 988 6

空空如也

空空如也

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

TA关注的人

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