自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 liunx升级内核版本

升级Linux内核版本可以通过多种方式实现,具体取决于发行版和需求。升级前建议备份重要数据,并确保了解回滚方法。不同发行版的具体命令可能略有差异。

2025-06-11 14:52:43 132

原创 docker安装常见错误

是一个用于管理系统服务的命令行工具,通常用于启动、停止、重启或查看服务的状态。用户组才能访问 Docker daemon。内存或磁盘空间不足可能导致 Docker daemon 崩溃。若未安装,需先安装 Docker。Docker 默认占用 2375 或 2376 端口。若文件缺失,重启 Docker 服务后会自动生成。或直接查看 Docker 日志文件(路径因系统而异,如。若问题解决,需配置防火墙规则或 SELinux 策略。命令通常作为兼容层存在,推荐使用。若冲突,修改 Docker 配置(

2025-06-11 14:40:36 481

原创 docker unrecognized service

系统无法识别Docker服务通常是因为Docker未正确安装或服务未注册。现代Linux系统通常使用systemd作为初始化系统。若未安装,需先安装Docker。某些情况下可能需要手动创建服务文件。安全模块可能阻止Docker运行。

2025-06-11 13:24:51 306

原创 E TypeError: cannot unpack non-iterable int object

该错误通常发生在尝试对不可迭代的对象(如整数)进行解包操作时。Python的解包操作需要右侧对象是可迭代的(如元组、列表等),但实际提供的却是一个整数。确认被解包的函数或表达式确实返回了可迭代对象。如果函数可能返回单值,改用单个变量接收或修改函数返回容器类型。该错误通常通过确保解包操作的右侧为可迭代对象即可解决,重点需检查数据流的类型一致性。对复杂表达式逐步拆解验证中间结果。使用调试器检查变量运行时状态。

2025-06-10 10:36:23 299

原创 ERROR: Could not find a version that satisfies the requirement sqlite3 (from versions: none)

出现此类问题时,优先检查Python环境是否完整,通常不需要额外安装sqlite3模块。若因特殊需求必须更新,建议从源码编译Python或使用第三方适配包。对于Windows系统 Python安装包通常已自带sqlite3,无需额外操作。若出现兼容问题,建议重新安装Python。是Python的标准库模块,通常不需要单独安装。如果确实需要重新安装或修复 使用系统包管理器安装SQLite开发文件(Linux/macOS)检查Python环境中是否已包含sqlite3模块。虚拟环境问题解决方案。

2025-06-09 15:51:19 176

原创 Sharding-JDBC笔记

Sharding-JDBC是Apache ShardingSphere的子项目,定位为轻量级Java框架,提供分库分表、读写分离、分布式事务等能力。它直接在JDBC层扩展,无需额外部署,适用于任何基于JDBC的ORM框架(如JPA、Hibernate、MyBatis等)。

2025-06-08 20:04:23 287

原创 Snowflake笔记

Snowflake 是一款基于云的弹性数据仓库解决方案,提供高性能、可扩展的数据存储与分析服务。其架构分离了计算与存储,支持多租户、多集群并发操作,适用于大规模数据分析和机器学习场景。

2025-06-08 20:02:33 204

原创 GitLab + Jenkins +Sonar Qube+docker+Harbor+ Kubernetes 实现 CI/CD 全流程

将 GitLab、Jenkins 和 Kubernetes 结合实现 CI/CD 流程,能够充分发挥各自优势:GitLab 提供代码托管和版本控制,Jenkins 作为自动化构建工具,Kubernetes 提供弹性部署环境。配置 Jenkins 的 GitLab 插件以接收这些事件并触发相应流水线。创建 Jenkinsfile 定义完整的 CI/CD 流程,包括构建、测试、打包和部署阶段。通过以上配置可实现从代码提交到生产部署的完整自动化流程,各组件分工明确又紧密集成,形成高效的 CI/CD 管道。

2025-06-08 18:01:27 569

原创 Robot framework笔记

Robot Framework支持通过Python或Java开发自定义库。以Python为例,需创建一个类并继承或直接使用@library装饰器。@library@keyword"""校验接口返回的所有字段是否符合预期规则"""# 实现字段校验逻辑pass库的安装需将模块放在Python路径或通过pip打包分发。配置依赖后,测试套件中可通过Library导入。

2025-06-08 12:41:23 953

原创 Airtest笔记

Airtest基于图像识别和Poco控件识别,适用于游戏和App测试。特点包括跨平台、低代码、支持多引擎(Unity、Cocos2dx)。connect_device("Android:///") # 连接设备touch(Template("login_button.png")) # 图像识别点击assert_exists(Template("success.png")) # 断言元素存在。

2025-06-08 12:32:46 146

原创 python常用工具

是Prometheus监控系统的Python客户端,支持指标收集和HTTP暴露端点。提供四种核心指标类型:Counter、Gauge、Summary和Histogram。是Python标准库中的模块,适合构建简单的命令行界面。它支持参数解析、帮助信息生成和子命令嵌套。是功能完备的任务调度库,支持多种触发器(日期、间隔、cron)。提供持久化存储和分布式支持。是第三方库,提供更简洁的API和装饰器风格。支持自动帮助页面生成、参数类型验证和彩色输出。跨平台获取系统信息,包括CPU、内存、磁盘和网络使用情况。

2025-06-08 12:28:55 192

原创 python并发编程

并发指多个任务交替执行,通过时间片轮转在单核CPU上模拟“同时”执行。并行指多任务真正同时执行,需多核CPU支持。多核同时运行多个进程是并行。进程是操作系统资源分配的最小单位,拥有独立内存空间;线程是CPU调度的最小单位,共享同一进程的内存资源。进程隔离性好但创建和切换成本高。多线程适合I/O密集型任务(如网络请求、文件读写);多进程适合CPU密集型任务(如数值计算)。多进程资源开销大,但能真正并行。注意由于GIL(全局解释器锁),多线程适合I/O密集型任务而非CPU密集型任务。为避免数据竞争,需使用。

2025-06-08 12:26:42 170

原创 设计模式笔记

这些设计模式在 Python 开发中广泛应用,理解它们有助于编写更模块化、可维护的代码。定义对象间的一对多依赖关系,当一个对象状态改变时,所有依赖者会收到通知。定义一系列算法,封装每个算法,并使它们可以互换。确保一个类只有一个实例,并提供全局访问点。通过工厂类创建对象,隐藏具体实现细节。动态地给一个对象添加一些额外的职责。

2025-06-08 12:23:28 193

原创 设计模式笔记

设计模式的选择应结合实际场景,过度使用反而会增加复杂度。在Python中,某些模式可以通过语言特性简化实现,如装饰器实现责任链。对于频繁创建的对象使用单例模式减少开销。工厂模式可以集中管理对象创建逻辑,责任链模式避免请求发送者和接收者耦合。单例模式确保一个类只有一个实例,并提供一个全局访问点。适用于需要频繁创建和销毁的对象,或控制资源共享的场景。工厂模式通过一个工厂类来创建对象,隐藏具体实现细节。分为简单工厂、工厂方法和抽象工厂。责任链模式将请求的发送者和接收者解耦,使多个对象都有机会处理请求。

2025-06-08 12:11:11 105

原创 pytest笔记

(生成HTML报告)

2025-06-07 17:00:52 217

原创 Django笔记

在 Django 中,ModelForm提供了从模型创建表单的快捷方式。# 自定义字段(非模型字段)# 添加验证逻辑raise forms.ValidationError("标题至少需要5个字符")"""返回当前页附近的页码范围"""{% else %}<a href="?

2025-06-07 16:36:09 559

原创 flask笔记

Flask通过核心简洁性+扩展生态,适合从微型到中型的项目开发。掌握上述核心概念(路由、ORM、表单、蓝图)后,可高效构建模块化Web应用。实际选型时需权衡项目规模、团队经验及定制需求。

2025-06-07 16:29:10 411

原创 微服务笔记

【代码】微服务笔记。

2025-06-07 16:12:45 234

原创 SonarQube笔记

作用:集中管理代码质量,提供可视化报告(漏洞、覆盖率、重复率等)。核心组件:中央服务:客户端扫描器数据库:存储分析结果(PostgreSQL/MySQL)插件:支持多语言分析。

2025-06-07 16:08:01 339

原创 【持续集成】cicd笔记

Jenkins Pipeline是一套插件,支持将持续集成和交付流程实现为代码。它允许通过脚本定义整个构建、测试和部署流程,具有可重复性和版本控制优势。持续集成是一种开发实践,开发者频繁将代码集成到共享仓库(如GitHub/GitLab),并通过自动化构建和测试验证代码质量。Jenkinsfile是存储Pipeline定义的文本文件,通常放在项目根目录,与代码一起版本化。CD是CI的延伸,确保代码通过CI后自动部署到预生产或生产环境。:安装Blue Ocean插件后,从Jenkins主页进入。

2025-06-07 16:03:11 960

原创 中间件笔记

ELK(Elasticsearch、Logstash、Kibana)用于集中式日志管理。Elasticsearch存储和搜索,Logstash收集和转换,Kibana可视化。

2025-06-07 15:30:19 434

原创 自动化测试质量门禁

典型质量门禁集成点: 开发阶段:pre-commit钩子运行静态检查 代码评审:MR/PR关联测试报告展示 构建阶段:CI管道测试结果验证 部署阶段:Canary发布前健康检查。渐进式门禁策略:新项目初期设置较低阈值,逐步提高 分层门禁体系:按代码库重要性分级设置标准 智能门禁调节:基于历史数据动态调整通过条件 可视化看板:实时展示各模块质量状态。单元测试门禁:要求所有单元测试通过且执行时间<5分钟 集成测试门禁:重点验证模块间交互,失败会阻断部署 E2E测试门禁:核心业务流程必须100%通过。

2025-06-07 12:49:26 186

原创 自动化测试与CI/CD集成的常见挑战

测试环境与生产环境不一致可能导致自动化测试结果不可靠。例如,依赖外部服务(如第三方API)的测试可能因网络波动或服务不可用而失败。容器化技术(如Docker)和基础设施即代码(IaC)工具可以部分缓解此问题。失败测试的调试成本较高,需建立有效的日志和报告机制。集成可视化工具(如Allure报告)和即时通知(Slack/webhook)可加速问题定位。云测试平台(如Sauce Labs)或容器化方案能解决多环境测试需求,但需考虑授权成本与网络延迟问题。大型测试套件可能拖慢CI/CD流水线速度,影响交付频率。

2025-06-07 11:26:34 201

原创 常见数据生成

对于需要特定统计分布的测试场景,可使用概率分布模型生成数据。正态分布适用于模拟自然现象,泊松分布适合事件发生率测试。随机数据生成是最简单的方法,适用于无需特定分布的场景。通过随机函数生成任意值,常用于压力测试或边界测试。Pairwise算法可高效覆盖参数组合,显著减少测试用例数量。适用于多参数系统的高效测试覆盖。通过变异合法输入产生异常数据,专门测试系统鲁棒性。使用机器学习模型生成符合特定模式的数据。LSTM可学习序列模式,GAN能生成高仿真数据。针对系统边界条件设计测试数据,包含最小、最大和临界值。

2025-06-07 11:04:49 149

原创 健壮性测试之主动注入故障 混沌工程python

如果需要自定义混沌行为,可以通过Python代码实现。pass # 无限循环模拟CPU负载p.start()time.sleep(60) # 持续1分钟。

2025-06-07 11:00:30 208

原创 并行测试策略

并行测试是一种通过同时运行多个测试用例或测试任务来提升测试效率的方法,适用于需要快速反馈或资源充足的场景。

2025-06-07 10:58:23 274

原创 支持Python的RPC协议

基于HTTP/2和Protocol Buffers的高性能RPC框架,支持多语言互通。Apache Thrift支持跨语言RPC,需定义IDL文件生成代码。基于ZeroMQ和MessagePack的RPC库,适合分布式场景。Python标准库内置的轻量级RPC协议,基于XML和HTTP。纯Python实现的RPC库,支持对象传递和异步调用。基于JSON的轻量级协议,常用库如。

2025-06-07 10:50:23 133

原创 python定期清理冗余用例为什么要使用hook机制

Hook机制(钩子机制)在Python中常用于拦截或扩展特定事件的处理逻辑。通过Hook机制注册清理函数,可以在特定事件(如测试用例执行完毕、系统空闲时)自动触发清理操作,避免手动干预。Hook机制通过事件驱动的方式,将清理逻辑与主流程解耦,同时提供精确的执行时机控制,是实现自动化冗余清理的理想方案。Hook机制允许在不修改原有代码的基础上插入清理逻辑。清理逻辑与业务逻辑分离,通过Hook机制实现低耦合。通过Hook机制可以监控资源使用情况并触发清理。Hook机制支持在不同阶段插入多个清理步骤。

2025-06-07 10:40:17 123

原创 增加可维护性和可扩展性的Selenium 事件监听器

Selenium 的事件监听器(Event Listeners)主要用于监听和响应 WebDriver 在执行自动化测试过程中触发的事件,例如元素点击、页面导航、脚本执行等。通过监听这些事件,可以扩展测试逻辑,实现日志记录、性能监控、错误处理等功能。在事件前后插入自定义代码,例如在点击前验证元素状态,或在页面加载后执行额外检查。在事件触发时检查操作结果,自动捕获异常并执行自定义处理逻辑(如截图、重试)。通过监听页面加载、元素交互等事件,统计操作耗时,帮助优化测试脚本性能。并实现需要监听的事件方法。

2025-06-07 10:34:46 230

原创 常见 MySQLdb 问题及解决方法

连接数据库时可能出现超时错误,通常与网络或配置相关。解决方法包括检查数据库服务是否正常运行,确保网络连通性,以及调整连接参数。数据插入或查询时出现乱码,通常是因为字符编码不一致。解决方法是在连接时指定字符编码。逐条插入数据效率低下,使用 executemany 方法可以显著提升批量插入性能。确保防火墙规则允许 MySQL 端口(默认 3306)的通信。使用连接池可以有效管理数据库连接。确保在执行操作后提交或回滚事务。对于严重损坏的情况,可能需要从备份恢复数据。调整事务隔离级别或优化事务大小以减少死锁。

2025-06-06 10:37:50 232

原创 从mysqldump备份中恢复特定库或表

使用文本编辑工具或命令行过滤出目标库的数据。以下方法适用于备份文件包含多个库的情况(即备份时使用了。需要先定位表结构的创建语句和数据插入语句。

2025-06-06 10:34:57 182

原创 InnoDB行锁的实现方式

具体来说,锁定的对象是索引项(Index Record),而非物理行数据本身。即使是表没有显式定义索引,InnoDB也会自动生成一个隐藏的聚簇索引(通常是主键或隐式的ROWID)来作为锁定依据。二级索引的锁定还会同时锁定对应的聚簇索引记录,防止其他事务通过不同路径修改同一行。若查询条件无可用索引,InnoDB会通过聚簇索引全表扫描加锁,实际效果接近表锁,但底层仍是通过逐行锁定隐藏的聚簇索引实现。通过索引锁定最小粒度的数据(单条记录或间隙),可以避免锁升级到表锁,提高并发性能。InnoDB的行锁是通过加在。

2025-06-06 10:30:35 176

原创 大字段是否拆分

InnoDB 的行存储格式会将大字段存储在溢出页中,但查询时仍可能读取额外页面。独立存储后子表可选用更适合的引擎(如 MyISAM 对 TEXT 的压缩)。大字段会显著增加单行数据的存储大小,导致数据库读取更多磁盘页面。如果查询频繁但很少需要大字段内容,拆分为子表可以减少主表的 I/O 压力。拆分子表后,数据库缓存(如 InnoDB Buffer Pool)能容纳更多主表热点数据,提升命中率。拆分后需跨表操作时可能增加事务复杂度。如果大多数查询只需要主表字段,拆分后可通过减少数据传输量提升性能。

2025-06-06 10:28:42 252

原创 数据库主从一致性校验方法

通过对比主库和从库的表行数是否一致进行初步校验。编写脚本对主从库数据进行逐行比对。对于关键业务数据库,建议建立定期全量校验机制,如每周低峰期运行完整校验脚本。主从库执行结果应完全相同。

2025-06-06 10:26:00 312

原创 数据库监控与慢查询

数据库监控通常涉及性能指标、资源使用率和慢查询分析。常见的监控手段包括:性能指标监控 CPU使用率、内存占用、磁盘I/O、连接数等指标可通过数据库内置命令或第三方工具获取。例如MySQL的命令。实时监控工具 工具如Prometheus+Grafana、Percona PMM、Datadog等可实时可视化数据库状态。日志分析 错误日志、慢查询日志、二进制日志等需定期检查,可通过工具如ELK(Elasticsearch, Logstash, Kibana)集中管理。或使用Percona的:

2025-06-06 10:23:16 136

原创 innodb的读写参数优化

通过performance_schema和sys schema可以获取详细性能数据,验证参数调整效果。不同工作负载可能需要特定优化,基准测试是验证参数有效性的最佳方式。缓冲池是InnoDB最重要的内存区域,需要根据服务器内存合理设置。多实例配置能提升高并发下的性能,old_blocks_time可避免频繁全表扫描对缓冲池的冲击。事务提交策略设置为2可在主从架构中提供较好平衡,单机重要数据建议保持默认1。并发线程参数需要根据CPU核心数调整,现代多核处理器可以设置较高值。

2025-06-06 10:20:41 316

原创 大规模数据库快速重启方案

bin/bash# servers.list包含所有DB服务器IP。

2025-06-06 10:17:51 137

原创 mysqldump中备份出来的sql,单行insert

参数可以强制每个INSERT语句单独成行。默认情况下mysqldump会使用扩展INSERT语法(多行合并为一个INSERT语句)。会在输出文件中以注释形式包含二进制日志坐标(CHANGE MASTER语句),值设为1时该语句非注释形式。对于需要保留复制点信息的场景,添加。

2025-06-06 10:12:59 249

原创 备份恢复失败如何处理

备份文件损坏是恢复失败的常见原因。确保执行恢复操作的用户有足够权限。恢复操作需要足够的磁盘空间。大规模备份可尝试分阶段恢复。若版本不匹配,需安装对应版本工具或使用中间格式转换。对比生成的MD5值与原始备份文件的校验值是否一致。不同版本的备份工具可能存在兼容性问题。若空间不足,清理临时文件或扩展存储后重试。日志通常包含失败的具体原因。

2025-06-06 10:09:53 107

原创 备份计划,mysqldump以及xtranbackup的实现原理

XtraBackup 是 Percona 开发的物理备份工具,适用于 InnoDB/XtraDB 引擎,支持热备份。mysqldump 是 MySQL 官方提供的逻辑备份工具,通过生成 SQL 语句实现数据备份。

2025-06-06 10:07:20 242

空空如也

空空如也

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

TA关注的人

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