- 博客(150)
- 资源 (1)
- 收藏
- 关注
原创 Python前端-1-html练习
编写一个仅包含的表单,要求:编写一个表单,要求:编写一个表单,要求:编写一个表单(性别选择),要求:编写一个包含的 “美食偏好” 表单,要求:选项为 “川菜、粤菜、湘菜、鲁菜、苏菜”,value 值与文本一致;提交后:✅ 若选中≥2 个,弹窗显示 “你的美食偏好:[选中项用逗号分隔]”;✅ 若选中 1 个,弹窗显示 “你最喜欢的菜系:[选中项]”;✅ 若未选中,弹窗显示 “你还未选择任何菜系”;控制台打印所有选中项的数组。编写一个简单的 “用户注册” 表单,包含以下控件:为第 6 题的表单添加 “重置按钮”
2026-03-06 16:18:43
376
原创 Python前端-1-html基础
本章学习知识点注释HTML 注释不会在页面显示,用于标注代码含义,支持单行 / 多行注释,格式为标签分类HTML 标签分为单标签(自闭合标签)和双标签(成对标签),是构成 HTML 页面的基本单位。标签属性属性是标签的附加信息,格式为,写在开始标签内,用于定义标签的特征(如尺寸、路径、样式等)。语法规范标签嵌套时需用缩进(通常 2/4 个空格),增强可读性;标签名 / 属性名不区分大小写,但行业规范建议统一用小写;属性值建议用双引号包裹(单引号也可,无引号不推荐)。特殊字符(实体
2026-03-06 16:17:43
461
原创 Python网络并发编程-5-协程
协程核心:协程通过单线程内的任务切换 + 状态保存实现并发,最适合 IO 密集型任务,无线程切换开销和锁机制问题。实现方式:第三方库:Gevent(自动检测 IO,使用简单)原生实现:asyncio + async/await(Python3.5 + 推荐)IO 模型选择:简单场景:阻塞 IO + 多线程高并发场景:IO 多路复用(select/epoll)或协程现代 Python:优先使用 asyncio 原生协程。
2026-03-05 11:17:50
532
原创 Python网络并发编程-4-GIL
本章学习知识点什么是GIL?Python多线程的工作流程线程获取需要操作的公共数据;向CPython解释器申请获取GIL(执行Python字节码的“通行证”);Python解释器调用操作系统原生线程;CPU执行具体的运算任务;当该线程执行到指定时机(时间片耗尽、触发IO操作等),无论任务是否执行完毕,都会主动释放GIL;下一个被CPU调度的线程重复上述1-5的过程,抢夺GIL并执行任务。GIL 对不同任务的影响GIL的存在直接决定了Python多线程在不同类型任务中的执行效率,具体差异如下:GIL 到底锁的
2026-03-05 10:40:33
572
原创 Python网络并发编程-3-线程
什么是线程?线程(Thread)是程序执行流的最小单元线程是进程内的一个执行实体,一个进程至少包含一个线程(主线程),也可以创建多个子线程。线程自身不独占系统资源(如内存、文件句柄),但会共享所属进程的全部资源(代码段、数据段、堆空间等)。线程的核心组成:线程 ID、指令指针(PC)、寄存器集合、堆栈(独立的)。线程的核心特点每个线程有独立的 “执行上下文”(如阅读进度),CPU 切换线程时会保存 / 恢复这个上下文。线程切换开销远小于进程(无需复制内存空间),启动速度更快。
2026-03-04 16:56:51
396
原创 Python网络并发编程-2-进程
核心概念:进程是程序的运行实例,并发靠 CPU 时间片切换实现,并行是多核真正同时执行;进程状态分为运行、阻塞、就绪三种。Python 进程编程:通过创建进程,Windows 需加;守护进程随父进程退出,互斥锁解决共享资源竞争问题。进程间通信:优先使用队列(Queue),基于内存实现且自带锁机制,是最安全、高效的 IPC 方式。
2026-03-03 16:41:55
574
原创 Python网络并发编程-1-socket
Socket(套接字)是应用层与 TCP/IP 协议族通信的中间抽象层,本质是一组标准化的 API 接口。设计模式角度:Socket 采用「门面模式」,将复杂的 TCP/IP 协议族(三次握手、数据分片、重传等)封装在底层,对外暴露简单易用的接口,开发者无需理解协议细节即可实现网络通信。核心价值:屏蔽协议复杂性,大幅提升网络编程效率。socket所在网络层级。
2026-03-03 11:20:25
629
原创 14、Python面向对象编程-元类与单例模式
自定义元类需继承type,通过metaclass参数指定给目标类,可重写元类方法控制类的创建规则。if not class_name.istitle(): raise TypeError('类名必须首字母大写')if not cls.__doc__ or len(cls.__doc__.strip()) == 0: raise TypeError('类文档必须填写')print("类名:", class_name)print("基类:", class_metaclass)
2026-02-28 14:42:44
671
原创 13、Python面向对象编程-魔法方法
Python 中以「双下划线__开头和结尾」的方法称为魔法方法(也叫特殊方法),它们由 Python 解释器自动触发,无需手动调用。通过重写魔法方法,可自定义类的内置行为(如打印、比较、长度计算等),是面向对象进阶的核心工具。列表中所用的方法魔法方法分类核心工具 / 方法核心价值典型场景基础行为定制__str____repr____len____call____eq__自定义对象打印、长度、调用、比较等基础行为自定义类、容器类、计数器生命周期管控__new____init____del__
2026-02-28 10:19:01
770
原创 12、Python面向对象编程-自省机制(类型判断、反射)
能力分类能力分类核心工具核心价值最佳实践类型判断运行时识别对象类型、类继承关系,保障数据合法性日常用 isinstance,精准匹配用 type,验继承用 issubclass反射机制动态操作属性 / 方法,实现配置驱动、插件化开发先判后取、白名单校验、区分对象 / 类属性说明自省机制的核心是 “运行时获取 / 操作对象信息”,是 Python 动态特性的核心体现;类型判断的关键是 “区分继承关系”,反射的关键是 “字符串驱动操作”;
2026-02-27 16:01:38
327
原创 11、Python面向对象编程-组合、方法、装饰器
示例: 文档练的py文件本章学习知识点OOP 进阶特性是对封装、继承、多态三大核心特性的补充与强化,聚焦于「更优雅的代码复用」「更精细的属性管控」「更合理的方法设计」,是提升代码可维护性的关键。归类与定位应用场景补充核心逻辑:“has-a” 拥有关系,将其他类的实例作为当前类的属性,实现对象级复用(而非继承的类级复用)与继承对比:继承是 “is-a” 从属关系(子类是父类的一种),组合是 “has-a” 拥有关系(一个对象包含另一个对象)优势:低耦合(类间独立修改)、高灵活(动态增删属性)、易扩展(复用独立
2026-02-27 14:12:27
234
原创 10、Python面向对象编程-封装、继承、多态
特性说明特性核心思想典型应用场景避坑要点封装隐藏细节,暴露接口数据校验、权限控制、复杂逻辑封装避免过度封装,接口不宜过多继承抽取共性,扩展个性类的层级设计、基础功能复用避免多层多继承,优先 super () 调用多态接口统一,实现各异通用功能适配、插件化扩展依赖抽象接口,而非具体实现# 1. 基类:定义统一接口(所有用户的共性)self.name = name # 公有属性:用户名# 统一接口:operate(子类必须重写,体现多态核心)
2026-02-26 17:41:48
340
原创 9、Python面向对象编程-类与对象
类的定义方式:通过class关键字定义,语法为,类体包含属性(数据)和方法(函数);核心执行特性定义顺序:必须先定义类,后创建对象(与函数 “先定义后调用” 逻辑一致);执行时机:类体代码在「类定义阶段」立即执行,生成类的名称空间(存放类的所有属性和方法);调用差异:调用函数返回执行结果,调用类(实例化)返回对象本身;关键操作类.__dict__:查看类的名称空间(包含所有类属性和方法的键值对);点语法(.):Python 专属的属性访问方式,如类.属性或对象.属性。
2026-02-26 17:40:29
552
原创 linux服务-MariaDB 10.6 Galera Cluster+garbd
garbd故障影响与应对仅garbd进程故障无影响,garbd+数据节点同时宕机才会导致只读,且可快速应急恢复garbd是无状态进程,重启后会自动重新加入集群,不影响数据同步;且其投票权重默认低于数据节点,集群仲裁优先级始终以数据节点为主,进一步降低故障影响。分场景影响与处理故障场景集群状态(基于仲裁机制)仅garbd进程崩溃(节点1的garbd挂了)2台数据节点均在线,Quorum=2(满足(2/2)+1=2),集群正常读写garbd所在数据节点1整机宕机。
2026-01-27 14:49:38
673
原创 linux服务-麒麟10安装sqlserver
由于sqlserver不是开源免费的,所以只能下载rhel8版本的mssql-server安装包进行安装演示。使用unixODBC开发包安装mssql-tools。安装SQL Server命令行工具sqlcmd。初始化sqlserver,配置安装信息。下载sqlserver安装包。,截止2026年1月23日。
2026-01-23 17:56:14
658
原创 linux服务-MariaDB 10.6 Galera Cluster 部署
注意事项存储引擎限制:仅支持InnoDB,MyISAM等非事务引擎不支持同步复制,会导致数据不一致,生产环境严禁使用。大事务限制:避免超大事务(如百万级批量插入),会占用大量带宽和内存,导致集群阻塞,建议拆分为小事务。DDL操作注意:DDL操作(CREATE/ALTER TABLE)会触发全量同步,高并发场景建议在业务低峰期执行。节点数量建议:优先选择3、5等奇数节点,避免脑裂;2节点需额外配置仲裁节点。手动部署路径适配。
2026-01-07 15:07:00
1054
原创 linux服务-Filebeat原理与安装
通过 Filebeat 依据 filebeat.input 配置按文件类型采集日志文件,对不同类型文件分类读取处理后将数据输出至 Elasticsearch、Redis、Kafka 等后端存储,最终在 Kibana 中实现数据的可视化展示与分析。:内置 processors 可添加主机 / 容器 / K8s 元数据,便于日志溯源。其它两种几乎不用,简单说:只有日志行顺序完全反了(比如先出堆栈、后出日期),才用。:基于 Registry 文件记录偏移量,重启 / 崩溃后可从断点继续采集;
2025-12-22 11:32:58
974
原创 linux服务-Kibana8原理与安装
参考:官网Kibana 8 是 Elastic Stack(ELK Stack)的核心组件之一,专注于 Elasticsearch 的数据可视化、交互分析和管理运维,是 Elastic 生态中面向用户的 “可视化前端”。定位Kibana 本身不存储数据,所有数据均来自 Elasticsearch(ES),其核心作用是:架构与交互流程Kibana 8 的架构可分为三层,核心交互流程如下:关键组件:8.x 版本特性Kibana 8 支持多种部署方式(Linux 包、Docker、K8s、Windows/m
2025-12-21 15:17:18
929
原创 linux服务-RabbitMQ 原理与安装
RabbitMQ 是基于实现的开源消息中间件,由 Erlang 语言开发,核心优势是高可用、可扩展、支持多种消息模式,广泛用于系统解耦、异步通信、流量削峰等场景。
2025-12-11 21:51:16
1473
5
原创 linux服务-elasticsearch原理与安装
Elasticsearch(ES)是基于 Lucene 构建的分布式全文搜索引擎,核心特点是,广泛用于日志分析、全文检索、指标监控等场景。
2025-12-11 15:27:34
1061
原创 扩展4-rocketmq_exporter使用
RocketMQ 本身提供了(基于 JMX/HTTP),核心依赖其模块的监控工具,以及 Prometheus 的Exporter/metrics。
2025-12-10 10:45:21
597
原创 linux服务-rocketmq安装部署
Producer/Consumer 启动时向 NameServer 获取 Topic 对应的 Broker 路由信息;Broker 定期向 NameServer 上报心跳、路由和负载信息,保证路由数据最新;Producer 根据路由信息将消息发送到指定 Broker 的 Queue;Consumer 从 Broker 拉取消息,消费完成后提交偏移量(Offset)。
2025-12-08 17:55:53
717
原创 8、python特有特性
核心价值节省内存:迭代器是「惰性取值」(用的时候才生成值),比如生成器(一种迭代器)遍历百万级数据时,不会像列表一样一次性加载所有数据到内存,而是取一个生成一个;# 生成器(迭代器):惰性取值,内存占用极低print(next(gen)) # 0(仅生成第一个值)统一遍历接口:不管是列表、字典、文件等不同类型的可迭代对象,都能通过「转迭代器→调 next」的方式遍历,实现了遍历逻辑的统一;状态保持。
2025-12-02 17:23:25
562
原创 7、python异常处理
Python 内置异常适用于通用错误,但业务系统中需要更具体的错误描述(如「用户余额不足」「订单状态异常」)。通过自定义异常,可实现错误的分类管理和精准反馈。自定义异常实现规则继承自 Python 内置的Exception类(不要继承,它包含系统级异常如 KeyboardInterrupt);通过__init__方法自定义异常信息,可添加业务相关的额外属性(如错误码);用raise语句主动抛出自定义异常。实战:电商订单的自定义异常。
2025-12-02 17:22:23
1083
原创 6、python模块与包-2
本文系统整理 Python 基础常用模块,包含时间处理、随机数生成、文件操作、系统交互、数据序列化、配置管理及安全哈希等核心功能,每个模块均配备规范代码示例与关键说明,便于学习与实际应用。
2025-12-02 10:54:56
746
原创 5、python 模块与包
自定义模块就是创建.py文件,编写代码后供其他文件导入,步骤如下:创建模块文件(# my_module.py(自定义模块)# 模块变量MODULE_NAME = "我的自定义模块"# 模块函数"""两数相加""""""两数相乘"""# 模块类"""两数相减"""导入自定义模块(在同一目录下的main.py# main.py# 方式1:导入整个模块print(my_module.MODULE_NAME) # 访问变量 → 我的自定义模块。
2025-12-01 16:35:00
1328
原创 4、python数据结构与内置方法
列表切片越界:切片时startend超出索引范围不会报错,返回空列表(如字典键错误:用dict[key]访问不存在的键会报错,推荐用字符串不可变性:尝试修改字符串元素(如s[0] = 'a')会报错,需用replace()等方法返回新字符串集合无序性:遍历集合的顺序不确定,不能依赖索引访问元组单个元素:创建单个元素的元组需加逗号(如(1,)),否则是普通数据类型(如(1)是整数).*是贪婪匹配(尽可能多匹配),如需非贪婪匹配用.*?字符串拼接效率:多次用拼接字符串效率低,推荐用join()
2025-11-28 17:23:42
825
原创 3、python函数
函数是封装好的、可重复执行的代码块,核心价值是「一次定义,多次调用」,减少冗余代码。函数定义语法def 函数名(参数列表):"""函数文档字符串(可选,用于说明功能、参数、返回值)"""函数体(代码块,缩进4空格)return 返回值(可选,无return则返回None)关键字def:标记函数定义的开始函数名:遵循 PEP8 规范(小写 + 下划线,如calc_sum),见名知意参数列表:函数接收的输入(可选,无参数则留空)文档字符串:用""" """包裹,可通过help(函数名)查看。
2025-11-28 09:27:45
295
原创 2、Python流程控制
input()类型转换遗漏:忘记将输入转换为intfloat,导致算术运算报错while循环中没有修改条件的代码,或条件永远为True缩进错误:循环 / 条件语句的代码块未缩进,或缩进不一致作用范围:嵌套循环中,break只退出当前层循环,不影响外层格式化输出语法错误:f-string 遗漏f开头,format()占位符与变量数量不匹配循环else误解:认为else是 “循环不执行时执行”,实际是 “循环正常结束时执行”
2025-11-26 22:21:31
561
原创 1、python基础语法
变量名 = 值是赋值运算符,不是 “等于”)特点:Python 是动态类型语言,无需声明变量类型,赋值时自动确定类型# 定义不同类型的变量name = "小李" # 字符串类型变量age = 25 # 整数类型变量height = 1.75 # 浮点数类型变量is_student = True # 布尔值类型变量# 变量重新赋值(类型可改变)age = 26 # 从 25 改为 26(同一变量名可存储不同值)
2025-11-26 22:20:54
480
原创 扩展3-mysql_exporter使用
下载之后,点仪表板–> 导入 --> 用18948 --> 数据源是prometheus。prometheus.yml配置。创建 MySQL 监控专用账号。配置mysql连接信息。SQL 语句类型统计。
2025-11-26 14:30:00
900
原创 扩展2-redis_exporter使用
Redis Exporter 是 Prometheus 生态中核心的 Redis 监控工具,支持单机、主从、哨兵、Cluster 集群等多种部署模式,能采集连接数、内存使用率、命中率、键空间、集群状态等全量指标。
2025-11-25 18:04:49
1180
原创 扩展1-node_exporter使用
node_exporter 是 Prometheus 生态中核心的主机监控采集器,通过暴露 metrics 接口提供服务器 CPU、内存、磁盘、网络等基础监控指标。其参数主要用于等场景。
2025-11-24 21:08:00
1100
原创 linux服务-Keepalived配置-2
当两台主机互相无法感知对方的存在,那么就会认为主已经挂掉, 此时通过自身的调用机制会将vip等资源都弄过来,这样当两个主机都同时认为自己是主,那么有可能会在某一时刻同时写给数据库会造成死锁的现象,也有可能会产生其它的资源争用,更主要的是两个一样的ip在同一个局域网内它们两都可能上不了网无法提供服务。用sendEmail,
2025-11-23 22:17:02
738
原创 linux服务-Keepalived原理-1
Keepalived是服务器高可用架构的核心工具,基于VRRP协议实现高可用功能,配合健康检查保障服务不中断,VRRP出现的目的就是为了解决静态路由单点故障问题的,它能够保证当个别节点宕机时,整个网络可以不间断地运行。
2025-11-23 22:14:51
715
原创 linux服务-Nginx+Tomcat+Redis之Session 共享
参考:tomcat原理,redis 集群原理与部署,nginx原理与安装,nginx配置章节,示例配置归集Nginx:作为前端反向代理和负载均衡器,接收所有客户端请求,按配置规则分发到后端多个 Tomcat 节点,实现请求分流(负载均衡)。Tomcat 集群:多个 Tomcat 实例部署相同的业务应用,并行处理 Nginx 转发的请求,提升系统并发能力和可用性(单节点故障不影响整体服务)。Redis:作为分布式 Session 存储中心,所有 Tomcat 节点将 Session 数据统一写入 Redis,
2025-11-20 17:40:01
1003
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅