- 博客(241)
- 资源 (14)
- 问答 (12)
- 收藏
- 关注
原创 Python | 通过数据库连接理解项目中上下管理器__enter__ 和 __exit__的作用
Python 上下文管理器的核心是 __enter__ 和 __exit__ 方法,它们支持 with 语句实现资源自动管理。with 语句能确保文件、数据库连接等资源在使用后自动释放,防止资源泄露。contextlib.closing 是一个实用工具,可将有 close() 方法的对象包装成上下文管理器,使其支持 with 语句。本文详细介绍了上下文管理器的工作原理、DBC 类的实现示例,并对比了手动实现与 closing 的不同应用场景,帮助开发者更好地管理资源。
2025-11-17 18:14:51
971
原创 MongoDB | python操作MongoDB的基础使用
本文介绍了一个Python MongoDB数据库操作接口mgd_sql的实现方法。该函数支持四种操作:插入、查询、删除和更新,封装了MongoDB的基本CRUD操作。 文章通过对比MySQL和MongoDB的概念差异,详细解析了MongoDB的连接流程(客户端→选库→选集合→执行方法)。核心代码分析展示了如何用PyMongo实现增删改查,并提供了最小可运行示例。特别强调了MongoDB特有的注意事项,如游标机制、$set更新操作符等常见坑点。 最后总结出四个基本步骤:连接数据库→选库→选集合→调方法
2025-11-14 23:21:01
304
原创 接口自动化测试 | 认识几种常用的文件读写封装【yaml/ini/conf/csv/xlsx】
接口测试中常用文件读写操作封装,主要包括YAML/INI/CSV/Excel等格式的处理。YAML文件用于存储接口配置、测试数据等,使用yaml.safe_load安全解析为字典结构。INI文件通过ConfigParser管理数据库等配置,支持分节和键值对读写。CSV和Excel文件则借助pandas处理,实现表格数据的读取与写入,Excel需依赖openpyxl引擎。文件读写封装可提高代码复用性,统一管理测试配置、数据及日志信息。
2025-11-13 22:50:30
976
原创 Python自动化测试 | 快速认识并了解pytest的基本使用
本文介绍了pytest测试框架的基本使用方法。首先通过conda创建独立环境并安装pytest8.3版本,详细说明了三种启动方式(命令行、代码、鼠标启动)。阐述了pytest的用例发现规则和内容规则,要求测试函数必须是test_开头且无参数无返回值。通过add函数的测试示例展示了测试用例编写方法。还介绍了配置框架的两种方式(命令行参数和ini配置文件),重点讲解了mark标记功能,包括用户自定义标记和框架内置标记(如skip、xfail等)。最后以参数化标记为例,演示了如何实现数据驱动测试,通过数据文件动态
2025-10-30 22:18:34
840
原创 自动化测试 | 认识接口自动化封装中的YAML用例
摘要: YAML 测试用例是一种分离测试数据与逻辑的接口自动化方案。通过 YAML 文件定义用例(包含 URL、参数和预期结果),配合通用 Python 执行脚本实现自动化测试。相比硬编码测试数据,YAML 具有易读、易维护的优势,支持非技术人员编写用例。典型 YAML 用例通过缩进表示层级结构,结合 pytest 框架实现批量执行。学习路径建议从 YAML 语法入门,逐步实践接口用例编写与自动化执行,最终构建可扩展的测试体系。关键优势在于用例与代码解耦,提升测试效率和协作性。
2025-10-30 15:35:39
872
原创 性能测试 | 性能测试工具JMeter直连数据库和逻辑控制器的使用
JMeter数据库连接与逻辑控制器使用指南 摘要: 本文介绍了JMeter直连数据库的操作方法,包括添加MySQL驱动、配置连接信息和JDBC请求的步骤,并通过两个案例演示了查询商品ID及验证响应数据的过程。同时讲解了三种常用逻辑控制器的应用:1) if控制器实现条件判断访问不同网站;2) 循环控制器设置请求重复次数;3) ForEach控制器配合用户变量或正则表达式提取器实现循环读取变量值。文中通过具体案例(如循环访问百度、提取地址关键字搜索等)详细说明了各控制器的配置方法和使用场景,帮助用户掌握JMet
2025-10-28 17:27:07
1072
原创 嵌入式开发 | C语言 | 单精度浮点数4字节可以表示的范围计算过程
文章摘要 本文详细解析了单精度浮点数(float)的4字节表示范围计算过程,从二进制存储原理出发,逐步介绍了浮点数的概念、IEEE 754标准的作用、指数的存储方式以及偏移量的设计。重点说明了浮点数如何通过科学计数法(二进制)表示极大或极小的数值,并解释了指数和尾数的分工。最终推导出float的范围±3.4×10³⁸的由来,帮助读者彻底理解浮点数的存储机制和计算逻辑。 (150字)
2025-10-24 21:06:02
1157
原创 嵌入式开发 | C语言 | 单精度浮点数解疑--为什么规格化数中指数位E不能是E=0 或 E=255?
IEEE 754浮点数标准中,指数E=0和E=255被设计为特殊值,用于处理边界情况。正常情况下E取值1-254,对应真实指数-126至+127。当E=0时:若M=0表示±0;若M≠0表示非规格化数(0.M×2⁻¹²⁶),填补极小数的表示空白。当E=255时:M=0表示±∞,M≠0表示NaN(无效运算结果)。这种设计实现了浮点数表示的完整性,既能处理常规数值,又能表示0、无穷大和错误状态,同时保持数值的连续性和计算安全性。
2025-10-24 20:45:44
1032
原创 性能测试 | 认识性能测试工具JMeter断言、关联、属性以及录制脚本的使用
本文介绍了JMeter测试工具中的断言和关联功能。断言部分详解了响应断言、JSON断言和持续时间断言的使用方法,通过案例演示如何验证响应结果是否符合预期。关联部分重点讲解了正则表达式提取器、XPath提取器和JSON提取器的应用,帮助解决请求间的参数依赖问题。文中包含多个实操案例,如百度搜索验证、JSON数据提取等,并提供了详细的配置步骤和截图说明。这些功能可以显著提升JMeter测试的准确性和自动化程度,适用于各种接口测试场景。
2025-10-22 22:07:27
802
原创 性能测试 | 性能测试工具JMeter线程组和参数化的使用
本文介绍了JMeter线程组和参数化测试的基本使用方法。主要内容包括:1)线程组参数设置,通过调整线程数和循环次数控制负载和运行时间;2)发送HTTP请求的4种案例,包括GET/POST请求的参数传递方式;3)参数化测试的4种实现方式:用户定义变量、用户参数、CSV数据文件和计数函数。重点讲解了如何通过不同参数化方法实现多用户并发测试,如使用CSV文件存储1000个用户数据,配合计数函数生成不同测试金额,模拟真实支付场景。文章还提供了结果树查看和乱码解决方案等实用技巧。
2025-10-20 23:32:35
1164
原创 性能测试 | 性能测试工具Jmeter的认识和基础使用
本文介绍了性能测试工具JMeter的安装与使用。首先说明环境配置需安装JDK和JMeter,并详细展示了安装步骤。随后解析JMeter目录结构,包括bin、docs、lib等重要目录功能。重点讲解JMeter元件与组件的作用域和执行顺序,强调元件以取样器为核心,通过父子关系确定作用范围。最后通过访问百度接口的案例演示线程组配置、HTTP请求设置及结果查看流程,说明串行与并行运行的实现方法。全文包含多张操作截图,帮助读者直观理解JMeter的核心功能和应用场景。
2025-10-20 21:06:15
412
原创 性能测试 | 认识性能测试的概念以及应用
性能测试是利用自动化工具模拟不同场景,评估软件性能指标的过程,主要关注响应时间和资源消耗。性能测试策略包括基准测试(建立性能基准)、负载测试(确定系统最大负载)、稳定性测试(长时间运行验证)和压力测试(峰值情况检验)。关键性能指标有响应时间、并发数、吞吐量(QPS/TPS)、点击数和错误率。性能测试不同于功能测试,通常在功能测试完成后进行,目的是评估系统能力、寻找瓶颈并验证未来需求支持。
2025-10-19 19:53:57
722
原创 接口测试 | 使用Postman实际场景化测试
本文介绍了使用Postman进行接口测试的实际场景化流程。首先通过W模型完成测试用例文档编写,创建用例集并初始化测试环境变量。重点演示了登录模块的断言测试和员工管理模块的业务场景测试,包括添加、查询、修改、删除员工等操作,通过环境变量实现接口间的数据关联。最后详细说明了如何批量执行测试用例、导出测试集和环境文件,以及使用newman命令生成HTML测试报告的全过程。整个测试流程强调前期文档设计的重要性,并展示了Postman在接口测试中的高效应用。
2025-10-18 21:46:26
1181
原创 接口测试 | Postman的高级用法的测试使用
Postman高级用法主要包括变量传递、前置脚本、关联接口、批量执行和参数化测试。文章详细介绍了全局变量和环境变量的设置与获取方法,以及如何通过Pre-request Script在请求前动态处理数据。通过案例展示了接口关联和变量传递的实际应用,并讲解了批量执行测试用例与生成HTML测试报告的操作步骤。最后,文章还介绍了如何使用CSV/JSON文件实现参数化测试,提升测试效率。部分测试网址已失效,但掌握核心原理即可灵活应用。
2025-10-17 22:03:41
940
原创 接口测试 | Postman的安装和测试使用
本文详细介绍了Postman的安装配置流程和高级功能使用。主要内容包括:安装Node.js作为基础运行环境通过npm安装Newman命令行工具及HTML报告插件解析Node.js、Newman和HTML报告插件之间的依赖关系Postman基础功能演示:GET/POST请求测试、登录接口调试高级用法:Collections管理(创建/导入/导出用例集)断言功能实现:响应状态码、响应体内容、JSON数据验证等
2025-10-15 23:52:41
1005
原创 接口测试 | 接口测试的基础概念和需求
接口测试流程主要包括需求分析、接口文档解析、测试用例设计、执行测试、缺陷管理、生成报告及持续集成等步骤。核心测试维度涵盖功能、业务逻辑、参数、性能及安全测试,重点关注SQL注入等安全隐患。测试用例需包含请求方法、URL、请求头/体等10大要素,通过工具或代码实现。完整流程确保接口功能正确性、安全性及性能稳定性,是软件质量保障的关键环节。
2025-10-15 22:12:15
172
原创 接口测试 | 认识接口风格以及工作原理
传统接口简单直接,RESTful扩展性强但设计成本较高,需根据项目规模选择。Token机制通过客户端自持凭证实现无状态交互,是RESTful的核心特征之一。
2025-10-15 17:07:10
711
原创 Fiddler | 抓包工具的基础使用
HTTP协议由请求和响应两部分组成。请求格式包括请求行(方法+URL+协议)、请求头(键值对如User-Agent、Content-Type)、空行和请求体(POST/PUT携带数据)。响应格式包含状态行(状态码)、响应头、空行和响应体。常见请求方法有GET(获取)、POST(创建)、PUT(更新)和DELETE(删除)。状态码分为5类:1xx(信息)、2xx(成功)、3xx(重定向)、4xx(客户端错误)、5xx(服务器错误)。抓包工具可查看请求/响应内容,使用前需清空缓存。
2025-10-15 14:49:59
397
原创 tmux+minicom工具使用
tmux 默认会缓存一定数量的历史输出(默认可能是 2000 行)。离开会话 按下Ctrl+b d或者输入Rtmux detach命令。杀死会话 tmux kill-session -t。找到自己对应串口的端口号,设置号时间戳 以及 文件名。接入会话 tmux attach -t。新建会话 tmux new -s。此时回到linux的原始界面。查看会话 tmux ls。
2025-06-02 20:23:07
620
原创 Git实战--基于已有分支克隆进行项目开发的完整流程
步骤操作内容1️⃣克隆仓库(如果本地没有)2️⃣切换到feature/A分支3️⃣创建并切换到自己的新分支(如4️⃣在新分支上进行开发5️⃣提交本地修改6️⃣推送本地分支到远程仓库7️⃣在 xxx上创建 Merge Request(MR)提交审核。
2025-06-02 20:07:54
865
原创 Python代码生成逼近真实场景的时间序列(含降噪对比)
同样的,当原始序列数据通过降噪后序列是光滑的,那么这种数据又该如何生成呢?那么问题来了,这种序列,是否有办法生成呢?希望这篇文章能在你构架模型架构的时候给予帮助!
2025-05-19 14:07:35
285
原创 附 Python 代码!VMD 分解后如何计算样本熵(SE)?手把手教你实现
变分模态分解变分模态分解时间序列处理的过程中,常常在最后输入模型前需要针对数据集进行数据分解相关的工作,目的使得输入模型的数据能够更好的捕捉时间序列相关的关系,今天分享一种方法VDM+SE本文章简单介绍基本的使用,最后结合GitHub上的源码进一步巩固学习。
2025-04-14 22:36:22
814
原创 深入Python typing模块:掌握Optional、Annotated等,写出更优雅的代码
这些工具通过分析代码中的类型注解(Type Hints),检查变量、函数参数、返回值等是否符合预期的类型,从而帮助开发者发现潜在的类型错误,提高代码的质量和可维护性。其中,type 是原本的类型注解,metadata 是你想要附加的额外信息,可以是任意 Python 对象,如字符串、整数、自定义类的实例等。它允许在类型提示中使用变量来表示类型,而不是具体的类型。在上述代码中,UserId 是一个使用 Annotated 定义的类型别名,它本质上还是 int 类型,但附带了额外的元数据 "
2025-04-10 22:11:40
1648
原创 Git 进阶:巧妙实现远程分支代码拉取用于学习,不建立本地关联
git fetch origin feature/A 这条命令并没有对本地内容有任何改变 分支也没有增加 为什么还要进行这个操作 不直接执行创建并切换到本地分支(不跟踪远程分支)?精确控制拉取范围:当明确指定分支(如 git fetch origin feature/A)时,FETCH_HEAD 仅记录该分支的信息,避免污染其他远程分支的引用。远程分支 feature/A 的提交历史会被下载到本地的 origin/feature/A 引用中。2. 创建并切换到本地分支(不跟踪远程分支)
2025-03-21 14:18:05
535
原创 团队协作中的分支合并:构建高效开发流程的关键
git pull 命令会从远程仓库拉取最新的更改并合并到当前分支。它的具体行为取决于你是否指定了远程仓库和分支名称。如果当前分支没有配置远程跟踪分支,git pull 会报错。你需要手动指定远程仓库和分支。如果你有多个远程仓库,或者远程仓库的名称不是 origin,你需要显式指定远程仓库名称。
2025-02-27 21:04:48
465
原创 动态规划思想:从理论到实践的探索
动态规划(Dynamic Programming,DP)是一种解决复杂问题的算法思想,核心是通过分解问题、存储中间结果来避免重复计算。它的核心目标是优化递归或分治过程中出现的重叠子问题,通过空间换时间的方式大幅提升效率。核心思想分解子问题 将大问题拆解为相互关联的小问题,找到问题的递归结构。例如:斐波那契数列:f(n) = f(n-1) + f(n-2)编辑距离:将字符串转换拆解为字符级别的插入、删除、替换操作。DNA序列编辑距离。
2025-02-18 19:59:40
1175
原创 Python | 学习type()方法动态创建类
方法的使用场景是在访问不存在的属性时,会触发该方法中的处理逻辑。尤其是在动态属性获取中结合 type()动态创建类有着良好的使用关系。
2025-01-03 21:57:11
350
原创 Pandas | skill | 将groupby分组后的数据使用堆叠图像展示
【代码】Pandas | skill | 将groupby分组后的数据使用堆叠图像展示。
2024-12-09 21:49:50
400
原创 Pandas | 检查布尔序列函数any() 和 all()的区别
在 Python 中使用pandas库时,.any()和.all()是两个用于检查布尔序列(如pandas的Series)的函数,它们的行为和用途有所不同:通常用于检查两列元素是否一致或者个别一致的情况.any().any()TrueTrue.any()TrueFalse.any()False.all().all()TrueTrue.all()TrueFalse.all()False。
2024-12-05 21:57:45
664
原创 python | 不定长参数的使用以及解包符*的使用
在 Python 中,不定长参数(Arbitrary Argument Lists)允许函数接收任意数量的参数。操作符用于解包(unpacking)一个序列(如列表或元组)中的元素,使得这些元素可以作为独立的参数传递给函数。不定长参数是 Python 函数定义中非常强大的特性,它们使得函数能够灵活地处理各种输入情况。,这意味着函数可以接收任意数量的位置参数。用于接收这些参数,它们在函数内部以字典(dict)的形式存在。参数,那么函数将使用提供的值来设置 y 轴的范围。来接收任意数量的位置参数和命名参数。
2024-12-01 21:44:54
1270
原创 learning_curve | 学习、理解以及使用学习曲线在评估型性能和诊断模型问题中的使用
生成学习曲线并用它们来分析模型性能通常涉及以下步骤:准备数据集:选择模型:划分数据集:定义训练集大小:使用学习曲线函数:绘制学习曲线:分析学习曲线:结果网格搜索在确定下面模型的最优参数前是需要通过网格搜索来确定的你可以使用 KFold、StratifiedKFold 或 ShuffleSplit 等交叉验证策略【后续有机会补充】ShuffleSplit:这是一个交叉验证生成器,它将数据随机打乱,然后按照指定的比例划分为训练集和测试集(验证集)。这种策略也被称为随机划分验证策略。n_s
2024-12-01 12:17:16
2111
原创 SMOTE | 使用SMOTE算法来处理不平衡数据的问题
中,你可以从0->1使用python跟着作者走一遍如何使用该方法来处理不平衡的数据集。样本个数:568630;正样本占50.00%;负样本占50.00%样本个数:284807;正样本占0.17%;负样本占99.83%通过SMOTE方法平衡正负样本后。
2024-11-30 21:26:05
1341
1
原创 Git | 理解团队合作中Git分支的合并操作
请注意,合并操作可能会影响你的工作流程,因此在执行合并之前,确保你已经与团队成员沟通,并且了解合并可能带来的影响。如果你不确定,可以先在本地创建一个新的分支来测试合并操作。若是你也想使用该项目练习,联系我,我看到会回你,我也期待多人协作,想看到多人写作又是一个什么效果 ,期待ing。:在合并之前,确保你的本地分支是最新的。在 Git 中,如果你想要将一个分支的更改合并到另一个分支,你可以使用。:首先,你需要切换到你想要合并更改到的目标分支。这将显示两个分支之间的差异,帮助你了解合并将带来的具体更改。
2024-11-27 21:48:03
1402
原创 python | 深刻理解sys.path.append方法的用法
sys.path.append() 方法是 Python 中用于动态添加搜索路径的工具。sys.path 是一个由字符串组成的列表,它定义了 Python 解释器在导入模块时搜索模块的路径。当你使用 sys.path.append() 方法时,你实际上是在列表的末尾添加一个新的路径。用途导入自定义模块:如果你有自定义的 Python 模块或包,它们不在标准库或安装的第三方库的路径中,你可以使用 sys.path.append() 来添加包含这些模块的目录。
2024-11-26 21:48:24
1948
2
原创 Git | 使用git remote add 命令关联远程仓库
使用该命令来关联远程仓库也发现了一个弊端,就是创建新分支的时候没有主分支的那些内容,也有可能 应该在步骤 4: 添加远程仓库后git clone 一下,这样在步骤 7: 推送更改到 GitHub后就有对应的原来主分支的内容了。注意此时坑来了,我们GitHub上的默认分支是main,而本地初始化后的仓库默认分支是master,若是此时不将本地分支重命名为main,则后续推送到远程仓库的东西是名称为master的分支。打开终端或命令提示符,导航到这个新文件夹。在你的计算机上,创建一个新的文件夹。
2024-11-23 18:05:01
1311
原创 Git | 通过Gihub+git组合来学习理解团队项目合作中分支的创建、合并、删除操作
上游分支是你本地分支的远程对应分支,它存储在远程仓库中。当你设置上游分支后,Git 就知道你的本地分支应该与远程仓库的哪个分支同步。在这里你发现 本地仓库和远程仓库是以一一对应的,你在删除分支的时候想的是删除远程仓库的分支,实际上你也要删除本地对应的分支,养成好的习惯受益终生。: 这是一个命令,用于将你在本地计算机上对代码所做的更改发送到远程仓库。这个命令的作用是将本地的 main 分支推送到远程仓库,并将其设置为默认的上游分支。是你的分支名,它可能是你从远程仓库克隆时自动创建的,也可能是你自己创建的。
2024-11-23 12:44:15
1564
原创 Python | 结合动态加载importlib模块来理解inspect模块的使用
Python 的inspect模块提供了许多有用的函数,允许你在运行时检查 Python 对象(如函数、方法、类等)的详细信息。这个模块可以用来获取对象的源代码、文档字符串、参数列表等信息,常用于调试、分析代码结构或构建依赖于反射的高级工具。以下是inspect。
2024-11-21 21:44:25
1101
原创 Python | 使用内置函数dir() 列出对象的属性和方法
,这些方法是由 Python 自动提供的,用于对象的初始化和字符串表示等。函数是一个内置函数,它用于列出对象的属性和方法。函数时,它会返回一个包含对象所有属性和方法名称的列表。此外,还包括了一些特殊的方法(如。在 Python 中,
2024-11-20 22:27:32
358
数据集不是完整的,目的是熟练使用Pandas - 两个数据集 >`calendar.csv` >`listings.csv`
2024-10-13
zip(*)函数所需数据data2.txt
2021-05-29
zip()函数所需数据data1.txt
2021-05-29
img.pyPython使用PIL生成随机中文验证码
2021-01-26
docker 私有库镜像停止再运行消失问题
2024-10-30
我使用scrapy爬取boss直聘爬取岗位信息的li标签返回的列表为什么是空的?
2021-10-11
pygame下相对路径加载图片出错问题
2021-01-22
input(deck.pop())中这种方式的使用如何理解?
2021-04-03
无法爬取boss直聘岗位信息对应的标签列表
2021-10-11
保存处理后的视频 opencv
2021-03-06
opencv进行图像处理后与QLabel结合的问题
2021-05-07
Graphics View显示图片的问题?
2021-05-01
Python中列表与列表中元组相加问题
2021-04-15
关于Pandas中使用中文名称替换大写城市字母简写出现Nan问题
2021-04-05
分配参数问题之计算结果值
2021-03-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅