自定义博客皮肤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)
  • 收藏
  • 关注

原创 项目04-基于Docker的Prometheus+Grafana+AlertManager的飞书监控报警平台

旨在构建一个高可用的监控和报警系统,基于Docker技术,结合Prometheus、Grafana和AlertManager等工具,用于监控多台服务器上的应用程序、资源使用情况以及性能数据。通过整合飞书机器人实现实时报警通知,以便及时响应并解决潜在的问题。

2023-09-27 17:03:44 2320

原创 项目03-基于Docker_Nginx+LVS+Flask+MySQL的高可用Web集群

模拟一个可扩展、高可用性的企业级 Web 应用架构,集成了多个关键组件以支持大规模的 Web 服务。采用了现代化的docker容器化技术、lvs七层负载均衡、keepalived高可用机制、nginx动静分离及反向代理、 uWSGI和Flask动态Web服务器、MySQL半同步复制、prometheus监控和ansible自动化部署,以确保系统的可靠性、性能和可维护性。

2023-09-23 22:52:59 686

原创 Nginx运维知识基础详解

Nginx是一款轻量级的Web服务器、反向代理服务器,由于它的内存占用少,启动极快,高并发能力强,在互联网项目中广泛应用。

2023-09-16 18:00:00 461

原创 MySQL基础运维知识点大全

MySQL是一种流行的开源关系型数据库管理系统,广泛应用于Web应用程序。MySQL的运维工作是数据库管理员(DBA)的核心工作之一,包括数据备份与恢复、数据库性能优化、安全性管理等任务。

2023-09-16 08:00:00 1346 1

原创 Linux运维基础知识大全

Linux运维是指对Linux系统进行维护、管理和优化,确保系统的稳定运行和高效性能。Linux系统作为服务器端操作系统,被广泛应用于互联网、云计算、大数据等领域。Linux运维工程师负责日常系统的监控、故障处理、性能优化、安全防护等工作,同时也要保证系统的高可用性和可扩展性。

2023-09-15 13:08:07 2649

原创 计算机网络运维方向综合知识大全

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路和通信设备连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2023-09-15 12:58:06 5666

原创 项目02—基于keepalived+mysqlrouter+gtid半同步复制的MySQL集群

本项目的目的是构建一个高可用的能实现读写分离的高效的MySQL集群,确保业务的稳定,能沟通方便的监控整个集群,同时能批量的去部署和管理整个集群。

2023-09-10 16:30:23 434

原创 项目01—基于 DNS+nginx+prometheus 的双 vip 高可用 Web 集群

模拟企业构建一个高可用并且高性能的web集群项目,能处理大并发的web业务。使用Ansible实现软件环境的部署,Nginx实现7层负载均衡和搭建web框架,keepalived搭建双vip双master高可用架构,Prometheus+Grafana实现对web集群以及负载均衡器的系统资源监控,NFS实现web集群的数据同源,DNS搭建域名服务器实现对双vip地址进行解析

2023-09-07 22:03:11 725

原创 计算机网络原理之网络层详解

网络层的主要任务是实现网络互连,进而实现数据包在网络之间的传输;

2023-07-22 14:12:12 2551

原创 计算机网络原理之数据链路层详解

数据链路层是工作在局域网中的,以帧为单位进行传输和处理数据。在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层

2023-07-12 08:30:00 855

原创 计算机网络原理之物理层详解

物理层是计算机网络体系结构的底层,它是数据通信过程的基础,提供了网络通信的最基本的硬件和电气特性

2023-07-10 08:30:00 220

原创 计算机网络原理初体验

计算机网络的组成部分是硬件、软件、协议

2023-07-08 20:04:38 540

原创 官方正版制作Win10U盘启动攻略

官方下载,绿色无捆绑软件

2022-10-07 22:46:24 3531 1

原创 UltraISO制作U盘启动盘安装Win11系统攻略

官方下载制作,绿色无捆绑

2022-09-18 08:30:00 8424 1

原创 Windows11右键菜单修改为Win10模式的方法

win11右键菜单改回win10的步骤教程,有需要的朋友快来看看吧!

2022-09-17 16:14:05 4442 3

原创 Python中的re模块(二)

1. finditer()函数搜索字符串,返回一个Match对象的迭代器(包含匹配的开始和结束的位置)。找到正则匹配的所有子串,把它们作为一个迭代器返回。格式:re.finditer(pattern, string, flags=0)例如:import reitext = re.finditer(r'\d+','12 edueduedu44coder deducoder, 11skdh ds 12') #匹配所有的数字 for i in itext: print(

2022-05-24 13:00:00 636

原创 Python中的re模块(一)

1. compile()函数编译正则表达式模式,返回一个对象的模式(可以把那些常用的正则表达式编译成正则表达式对象,这样可以提高一点效率)。格式:re.compile(pattern,flags=0)例如:import re text = "The moment you think about giving up,think of the reason why you held on so long." text1 = "Life is a journey,not the destina

2022-05-23 20:05:21 179

原创 Python正则表达式

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,来筛选出符合这个规则的内容。可以简单理解为:一个强大的搜索工具中,正则表达式就是你要搜索内容的条件表达式。1. re.findall()函数作用:遍历整个字符串,可以获取其中所有匹配的字符串,返回一个列表。一般用法:re.findall(r'正则表达式','要匹配的文本')2. 从小练习接触正则从字符串中匹配单词to:import re text = "0537.

2022-05-22 13:59:37 601

原创 Python包装与授权

包装在Python中经常用到,包装就是把已存在的程序重新打包,使这个程序更加适合当前应用环境。而授权是包装特有的一个属性,通过授权,可以使当前类调用传入对象已存在的属性。1. 包装包装就是对已存在对象的属性功能进行调整,删除不需要的、添加或是修改已存在的功能,以达到自己所理想的规格,并装换成另外一种更适合当前使用场合的对外接口。包装包括定义一个类,它的实例拥有标准类型的核心行为。例如,我们需要处理一个数据,处理这个数据需要一系列的步骤,我们可以将这些步骤写到一个类里面。每当应用于不同的场景时,就.

2022-05-17 14:49:56 592 1

原创 Python类的内建函数

1. issubclass()函数issubclass()是一个布尔函数,这个函数用来判断一个类是否是另外一个类的子类或者子孙类。如果给出的子类确实是给出的父类的子类,则返回True,否则返回False。它的语法如下:issubclass(subclass, parentclass) parentclass也可以是一个包含若干个父类的元组,只要子类属于元组中某一个父类,则返回True,否则返回False。2. isinstance()函数isinstance()是一个布尔函数,这个函数用

2022-05-16 14:12:39 1008 7

原创 Python类多重继承

在 Python中有6种标准数据类型,分别为:Number(数字)、String(字符串)、List(列表)、Tuple(元组)、Sets(集合)和Dict(字典)。而根据内存中的内容是否可变,分为可变类型与不可变类型。其中,数字、字符串、元组和集合被称为不可变类型,列表和字典称为可变类型。1. 不可变类型子类化假定我们需要处理大量的浮点数,将浮点数四舍五入后得到最后的结果。这时我们可以定义这样一个类,用来进行这个操作。例如:class RoundFloat(float): def .

2022-05-15 14:48:36 1693 3

原创 Python类的继承

1. 类的继承1.1 父类父类也称基类,其声明方法与一般的类的声明方法一样。父类中存在着一些公共的属性和方法,子类继承于父类。1.2 子类子类继承于父类,拥有父类中的属性和方法,它自己也可根据实际情况声明一些属于自己的属性和方法。子类声明方法:class subClass(parentClass1,parentClass2,parentClass3,……): class_suite 类名后的括号里填的就是所继承的父类的名称。例如:class ParentClass:

2022-05-13 08:30:00 471 8

原创 Python类的基础语法2

在 Python 中,如果用实例去调用方法,这种限制就被称为 Python 中的绑定(binging)。没有创建实例时,方法就是未绑定的。1. 调用绑定方法在定义方法时,self总是作为第一个参数传递的。self代表实例本身,self.变量代表调用此实例的变量,self.方法代表调用实例的方法。因为声明方法时已经传入self,所以在调用时self就不用明确传入了,此时实例是隐含的。调用绑定方法的代码如下:class bindExample: def bindMethod(self):.

2022-05-11 20:43:46 155 6

原创 Python类的基础语法1

1. 类的声明在 Python 中,类的声明是通过class关键字表示的:class ClassName(bases_classes): '类文档字符串' class_suite # 类体 class后面接着是类名ClassName,类名的开头通常是大写。类名后面的**(bases_classes)表示这个类是由哪个类继承来的**,如果没有合适的继承类,就使用object类,object类是所有类都会继承的基类。类文档字符串是对类所进行的说明,可以通过ClassNa

2022-05-08 17:24:37 651 16

原创 Python内置模块

1. 内置模块Python 中常见的内置模块如下:os模块:文件和目录,用于提供系统级别的操作;sys模块:用于提供对解释器相关的操作;json模块:处理JSON字符串;logging: 用于便捷记录日志且线程安全的模块;time&datetime模块:时间相关的操作,时间有三种表示方式;hashlib模块:用于加密相关操作,代替了md5模块,主要是提供SHA1、SHA224、SHA256、SHA384、SHA512和MD5算法;random模块:提供随机数。2. 内置模块中的

2022-05-07 22:40:51 3932 12

原创 Python模块

1. 模块的引入Python 中要用关键字import来引入某个模块。比如要引用模块math,就要在文件的开头用import math来引入。在调用math模块中的函数时,引用格式为:模块名.函数名 因为这种调用方式可以避免特殊情况的发生。比如在多个模块中可能含有相同名称的函数,这时如果只是通过函数名来调用,程序无法知道是要调用哪个函数。所以如果用上述方法引入模块的时候,调用函数必须加上模块名。例如:import mathprint(fabs(-2)) 输出结果:NameError

2022-05-05 19:07:17 391 15

原创 Python函数调用

1. 定义函数与调用函数的顺序函数被定义后,本身是不会自动执行的,只有在被调用后,函数才会被执行,得到相应的结果。但是在 Python 中我们要注意一个关键点,就是Python不允许前向引用,即在函数定义之前,不允许调用该函数。例如:print plus(1,2)def plus(a,b): return a+b 运行结果为:NameError: name 'plus' is not defined 从报错结果可以看出,名字为plus的函数还没进行定义(虽然我们是在后面进行

2022-05-03 18:21:41 27574 9

原创 Python内置函数

内置函数我们在编程过程中会用到很多函数,但我们不需要每个函数都自己去编写,因为 Python 内置了很多十分有用的函数,我们在编程过程中可以直接调用。1.数学运算abs():返回数值的绝对值,例如:>>> abs(-4) 4 divmod():返回两个数值的商和余数,例如:>>> divmod(7,2) (3,1) max():返回元素中的最大值,例如:>>> max(2,6,1,7) 7 min():返回元素中

2022-05-02 11:00:00 212

原创 python函数细节

1. 函数返回值return语句将值返回到调用函数的出口,函数中一定要有return返回值才是完整的函数。如果我们没有在函数中定义函数返回值,那么程序会自动让函数返回一个结果,该结果是None对象,而None对象表示没有任何值。1.1 将值作为返回值函数的返回值只有一个,但有时我们会发现有的函数好像有多个返回值,其实这里的“多个”并不是指多个返回值。比如函数返回一列表,里面包含很多个元素值。这就类似于,只能从超市带走一个箱子,但是允许我们把一些东西都装到箱子里面看做一个东西带走。例如:def f(

2022-05-01 11:00:00 205

原创 Python函数结构

1. 定义函数基本结构是:def functionname( parameters ): "函数_文档字符串" function_suite return [expression] 定义函数以def关键词开头,后面跟着函数名、圆括号()、括号中的参数、冒号;接着,在缩进块中编写函数体,函数的第一行语句一般是写文档字符串,用于存放函数说明,也可以选择不写;Return[expression]表示结束函数,并返回值。而不带表达式的return相当于返回空值。2.

2022-04-30 11:00:00 1127 16

原创 Python容器嵌套

1.列表中存储字典餐馆中已经有了3份菜单,每份菜单都会有菜名和价格。我们要将这些信息存储在一起,可以采取如下方法:将3份菜单用字典的方式存储菜名和价格,然后将这3份菜单字典存储在一个列表中。例如:# 创建3个菜单字典,包含菜名和价格 menu1 = {'fish':40, 'pork':30, 'potato':20,'noodles':15} menu2 = {'chicken':30, 'corn':55, 'lamb':65,'onion':12} menu3 = {'bacon':

2022-04-29 11:30:00 268 6

原创 Python集合

1.集合集合(set)是无序和无索引的不重复元素序列,可以使用大括号 { } 或者 set() 函数创建集合注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。创建格式:parame = {value01,value02,...}或者set(value)例如:thisset1= {"apple", "banana", "cherry"}thisset2= set(("apple", "banana", "cherry")) # 请留意这个双括号p

2022-04-28 11:30:00 3399 8

原创 Python字典

1.字典Python 最强大的数据类型之一,通过键-值对的方式建立数据对象之间的映射关系。字典的每个键-值对用冒号:分割,每个键-值对间用逗号,分隔开,字典则包含在{}中。格式如下:d = { key1 : value1, key2 : value2 } 每个键都与一个值相关联,我们可以使用键来访问与之相关联的值。与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何 Python 对象用作字典中的值。2.访问字典中的值要获取与键相关联的值,可依次指定字典名和放在方括号内的键如下

2022-04-27 11:30:00 261 12

原创 Python元组

1.元组与列表元组与列表很相似,两者之间的差别在于:列表在初始化后其中的元素还可以进行增删改等操作,但是元组在初始化后其中的元素不能进行更改;列表在赋值时使用方括号[],而元组在赋值时使用小括号()。因为元组具有不可变的特性,所以在能用元组替代列表的地方最好都使用元组,这样代码更安全。2.创建元组元组创建很简单,只需要在括号()中添加元素,元素之间用逗号隔开。元组中只包含单个元素时,需要在该元素后面添加逗号。例如:menu1 = ('meat','fish','chicken') me

2022-04-26 15:58:07 332 4

原创 python列表

1.添加列表元素Python 提供了append() 和 insert() 等函数,实现向一个列表增加新元素的功能。(1)在列表尾部添加元素在 Python 中,可以使用append()方法向一个列表的尾部追加一个元素其基本语法如下:source_list.append(obj) 其中:source_list:待修改的列表;obj:待插入的元素。例如要向guests列表尾部增加客人Hu qi,相应的语句为:# 初始化guests列表 guests=['Zhang san',

2022-04-25 21:10:43 153 6

原创 Python迭代器

1.理解迭代器迭代就是遍历集合元素的一个过程,而迭代器(Iterator)就是可以储存迭代位置的一个对象,它可以使用next()函数从集合的第一个元素开始访问,并不断返回下一个值,直到所有的元素被访问完(引发StopIteration异常)才结束,并且只能往前不会后退。1)迭代器有两个基本的方法:iter() 和 next()使用如下:yan = [11, 22, 33, 44, 55]yan_iter = iter(li)print(next(yan_iter))#输出迭代的第一个prin

2022-04-23 16:30:00 1311 6

原创 Python循环嵌套

1.for循环嵌套for循环嵌套的基本形式为:for iteration_var in sequence: for iteration_var in sequence: 循环语句 例如:for x in range(1,10): for y in range(0,x): result = x + y print(result) 2.while循环嵌套while循环嵌套的基本形式为:while 判断条件:

2022-04-23 08:30:00 4920 16

原创 Python之While循环

1.while语句while语句的基本形式为:while 判断条件1: 循环语句当判断条件1为true时,执行循环语句,直到判断条件1为假。例如:count = 0 while(count <= 10): print("现在计数为:",count) count += 1 2.break语句break语句的基本形式为:while 判断条件1: 循环语句 判断条件2: break 当判断条件1为true时执行循

2022-04-22 16:30:00 2185 14

原创 Python之for循环

1. for循环语句for语句的基本形式为:for iteration_var in sequence: 循环语句依次遍历序列中的成员,执行循环语句。例如:list = ['python','java','c','c++'] for book in list: print("当前书籍为:",book) 2.continue语句continue语句的基本形式为:for iteration_var in sequence: 循环语句 if 判断

2022-04-22 08:30:00 6043 7

原创 Python顺序与选择结构

一.顺序结构假设存在a、b、c三个整数,如果按照以下顺序执行:c = a + b b = c - a a = b + c 与按照以下顺序:b = c - a a = b + c c = a + b 得出的a、b、c的结果是不同的。1.交换数值假设存在整数a = 10、b = 20,交换a、b数值的语句如下:tmp = a a = b b = tmp 2.编程题目程序中给出a、b、c三个整数,要求实现先交换a、b的值,然后计算a

2022-04-21 15:58:54 643 8

空空如也

空空如也

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

TA关注的人

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