- 博客(40)
- 收藏
- 关注
原创 MySQL数据库基础
本文介绍了数据库的基本概念、主流数据库系统及MySQL的架构与使用。数据库相比文件存储具有更好的安全性、查询效率和管理能力,能有效处理海量数据。主流数据库包括MySQL(最受欢迎)、Oracle(大型项目)、SQL Server(.NET开发)等轻量级选项如SQLite和H2。MySQL采用C/S架构,核心组件包括连接池、SQL接口、优化器和可插拔存储引擎(如InnoDB、MyISAM)。文章详细说明了数据库服务器的安装本质、表关系创建方法,以及SQL语言的分类(DDL、DML、DCL)。最后对比了不同存储
2025-10-08 12:18:59
707
原创 阿里云服务器安装MySQL
在Ubuntu系统上安装MySQL的简明指南:1. 更新软件包后执行apt install mysql-server安装;2. 运行mysql_secure_installation进行安全设置(包括密码强度、删除测试数据库等);3. 通过systemctl管理服务状态;4. 配置文件mysqld.cnf可调整端口、字符集(建议utf8mb4)、存储引擎(推荐InnoDB)等参数;5. 使用mysql -u root -p登录验证。安装完成后建议配置错误日志和慢查询日志以便维护。
2025-10-07 12:40:08
866
原创 博客接口自动化项目实战
本文介绍了博客系统接口自动化测试的全流程。通过需求分析明确接口功能及依赖关系,针对登录、博客列表、详情、添加、删除等接口设计53个测试用例,覆盖正常和异常场景。测试框架基于Pytest+Allure,实现了数据分离、日志记录和自动化报告。测试结果显示所有用例通过,发现删除接口在失败时data字段返回null而非预期的boolean类型,建议统一接口响应格式。项目采用模块化设计,包含请求工具、YAML数据管理和日志系统,为后续扩展维护提供了良好基础。
2025-09-10 08:00:00
650
原创 Linux-地址空间
本文探讨了进程地址空间和Linux调度机制。通过代码示例演示了fork()创建子进程时的虚拟地址共享现象,解释"写时拷贝"机制:初始共享物理内存,修改时触发拷贝以实现数据隔离。地址空间的本质是内核结构体,虚拟地址将物理内存有序化,实现进程管理与内存管理的解耦。Linux调度器采用O(1)算法,使用活动队列和过期队列的双队列结构,配合优先级位图实现高效调度。当活动队列空时交换指针实现队列轮换,保证调度公平性。这些机制体现了操作系统在进程管理和内存管理上的核心设计思想。
2025-08-15 23:50:37
1236
原创 接口自动化-JSON Schema
JSON Schema是一种用于定义和校验JSON数据结构的规范。它通过type关键字指定数据类型(string/number/boolean等),用properties定义对象属性结构。支持数值范围校验(min/max)、字符串正则匹配、数组长度限制等约束条件。通过required指定必填字段,dependentRequired处理属性依赖关系。安装使用简单(pip install jsonschema),可配合在线工具生成Schema模板。特别适用于API接口数据校验,能有效确保JSON数据的完整性和规
2025-08-09 20:57:27
1325
原创 接口自动化-YAML
YAML是一种简洁的人类可读数据序列化语言,常用于配置文件存储。它使用缩进结构(类似Python),比JSON/XML更简洁,去除了引号、括号等符号。YAML支持多种数据类型(标量值、数字、布尔、字符串、列表、字典等),文件后缀为.yaml/.yml。使用时需注意大小写敏感、禁止使用制表符、严格缩进等规则。Python中可通过PyYAML库操作YAML文件,主要使用safe_dump()写入和safe_load()读取。文中提供了YAML与JSON的语法对比表、基本操作示例代码(写入、读取、清空)以及文件打
2025-08-08 15:16:49
698
原创 接口自动化-pytest
本文介绍了Python主流测试框架pytest的核心功能与使用方法。通过对比unittest和RobotFramework,突出pytest在语法简洁性、断言支持、参数化测试和插件生态等方面的优势。详细讲解了pytest的安装要求、测试用例编写规范、命令行参数配置、前后置操作(setup/teardown和fixture)、断言机制、参数化测试等核心功能。特别深入解析了fixture的高级用法,包括作用域控制、参数化实现、yield拆卸机制,以及通过conftest.py实现全局共享。文章还提供了参数化测试
2025-08-07 21:25:06
1237
原创 接口自动化—requests模块
本文介绍了接口自动化测试的基本概念和实施流程。接口自动化通过测试系统内部组件间的通信,提高测试效率和准确性。主要内容包括:1)接口自动化流程(分析接口、挑选接口、设计用例、搭建环境等);2)requests模块的使用方法(GET/POST请求、响应处理);3)实际案例演示(博客详情页和登录接口测试)。重点讲解了如何选择高价值接口进行自动化,以及requests库处理HTTP请求的关键技术。
2025-08-06 14:11:24
1020
原创 Linux-环境变量
本文系统介绍了Linux环境变量的核心概念与使用方法。主要内容包括:环境变量的基本概念及其在系统运行中的全局作用;常见环境变量(PATH、HOME等)的功能说明;环境变量相关命令(echo、export等)的使用方法;环境变量在系统启动时的加载机制;本地变量与环境变量的区别;通过C程序获取和修改环境变量的方法(getenv/putenv);内建命令的特性等。文章通过实例演示了环境变量如何影响程序执行路径,并解释了环境变量表在父子进程间的传递机制,帮助读者深入理解环境变量在Linux系统中的运作原理。
2025-08-05 18:21:58
661
原创 Linux-命令行参数
本文介绍了Linux命令行参数的基本概念和使用方法。主要内容包括:1)命令行参数由命令名称、选项和参数值三部分组成,选项分为短选项(-l)和长选项(--all);2)C/C++程序中main函数通过argc和argv接收参数,并演示了参数处理示例;3)解释了参数传递机制,指出命令行程序是bash的子进程,参数由父进程传递。文章还说明了特殊符号参数(-和--)的用法,以及参数化对程序功能定制的重要性。
2025-08-04 13:56:52
1090
原创 Linux-进程优先级
简单的说优先级和权限的区别: 老规矩:先写个简单的进程代码: 进程优先级的修正数据,nice 值,nice其取值范围是-20至19,一共40个级别。新的优先级 = 优先级(默认80) + nice,这样,当nice值为负值的时候,那么该程序将会优先级值将变小,即其优先级会变高,则其越快被执行,所以调整进程优先级,在Linux下,就是调整进程nice值。再次修改nice值会失败,进程优先级不能经常修改我们 语法格式: 示例:语法格式: 示例:
2025-08-04 08:00:00
1045
原创 Linux—进程状态
本文系统介绍了进程状态理论及其在Linux系统中的实现。主要内容包括:1. 进程基本状态(新建、就绪、执行、阻塞、挂起、终止)及其转换路径;2. Linux内核中进程状态的具体实现(运行R、睡眠S/D、停止T/t、僵尸Z、死亡X);3. 重点分析了僵尸进程的产生机制和危害(父进程未读取子进程退出状态导致内存泄漏);4. 介绍了孤儿进程的处理机制(由init/systemd接管)。通过代码示例和状态转换图,清晰展示了进程生命周期中各种状态的转换条件和实际应用场景。
2025-08-02 20:06:28
749
原创 Linux—进程概念与理解
本文摘要: 计算机系统遵循冯诺依曼体系结构,由输入/输出设备、CPU和存储器组成。CPU仅与内存交互,外设数据需先存入内存。操作系统作为软硬件资源管理者,包含内核和外壳程序,通过系统调用接口为用户提供服务,库函数则封装系统调用实现跨平台性。进程是程序的执行实例,由PCB(task_struct)管理,包含标识符、状态、优先级等信息。Linux中可通过fork()创建子进程,父子进程共享代码但数据独立,采用写时复制技术提高效率。进程信息可通过/proc目录和ps命令查看,文件操作与进程当前工作目录相关。
2025-07-31 17:17:37
991
原创 接口测试理解
本文介绍了接口测试的基本概念和应用。主要内容包括:1)接口的分类(程序内部接口和系统对外接口);2)接口测试与功能测试的区别(测试范围、参数校验等维度);3)接口组成要素(请求地址、方法、参数等),重点说明header与入参的区别;4)接口测试的重要性(发现隐藏bug、提升安全性等);5)常见请求方法(GET/POST)和状态码;6)接口测试用例设计方法,包括通过性验证、参数组合、安全验证和异常验证;7)结合业务逻辑设计用例的思路。文章系统阐述了接口测试的核心要点,为开展接口测试工作提供了实用指导。
2025-07-28 19:36:40
652
原创 接口自动化-allure报告
AllureReport是一个用于可视化测试结果的开源工具,由框架适配器和命令行工具组成。本文介绍了AllureReport的安装和使用方法:首先通过pip安装allure-pytest包并配置环境变量;然后创建测试文件,使用pytest命令生成测试报告;最后通过allure serve命令在浏览器中查看报告。文章还详细说明了如何清除旧报告、本地化生成报告以及配置pytest.ini文件。AllureReport无需深厚技术知识即可阅读,是测试工作流的理想选择。
2025-07-27 21:56:35
683
原创 接口自动化-logging日志
Python的logging模块提供了灵活的日志记录功能。文章介绍了默认日志对象的使用方法,包括basicConfig设置日志级别,以及如何创建自定义logger对象,通过getLogger获取记录器并设置级别。重点讲解了添加FileHandler处理器将日志写入文件,并使用Formatter定义日志格式,包括时间戳、级别、模块名等关键信息。通过示例代码展示了如何实现带格式的日志记录到文件的功能,帮助开发者更好地管理程序日志。
2025-07-27 12:05:36
865
原创 BBS类Web应用测试项目(论坛系统自动化测试)
本项目基于Python+Selenium+Webdriver-manager设计并实现了一套自动化测试解决方案,覆盖了论坛系统的核心功能,包括用户注册、登录、帖子操作、用户交互、UI功能及个人中心等模块。通过多维度验证策略,系统化保障了论坛系统的质量,降低了生产环境风险,提升了终端用户满意度。测试用例设计涵盖了功能测试、界面测试、性能测试、易用性测试、安全性测试和兼容性测试等方面。测试工具包括JMeter、Postman、Selenium、PyCharm和WebDriverManager。测试过程中发现了导
2025-05-20 11:04:12
407
1
原创 Linux调试器-gdb使用
程序的发布方式有两种,debug模式和release模式编译时需要加上-g选项:编译源代码时必须使用-g参数保留调试信息,否则gdb无法进行调试。编译器形成可执行文件时,会给给可执行程序增加调试信息。list(或l)显示源代码,默认前10行list(或 l)+行号显示binFile源代码,接着上次的位置往下列,每次列10行。list(或 l) 函数名列出某个函数的源代码。r 或 run运行程序。n 或 next逐过程执行。s 或 step进入函数调用break(b)+行号。
2024-10-08 23:24:25
1381
1
原创 Linux项目自动化构建工具-make/Makefile
本文介绍make/makefile的基本概念和怎样使用,图文并茂地让读者快速了解并上手make/makefile。
2024-09-22 22:50:02
1303
30
原创 C++内存管理
本文主要介绍了C/C++中的内存管理,包括内存分布、动态内存管理方式以及new和delete操作符的使用、内存泄漏的危等,帮助大家更好地认识C++的内存管理
2024-08-21 17:23:39
1230
48
原创 C++类和对象(下)
本文介绍类和对象的构造函数、explicit关键字、static成员、友元、内部类、匿名对象还有拷贝对象时的一些优化,帮助大家更好的了解类和对象。
2024-08-15 17:06:41
1371
26
原创 linux入门指令(上)
a 将所有章节的都显示出来,比如 man printf 它缺省从第一章开始搜索,知道就停止,用a选项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕。2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。-a 或--time=atime或--time=access或--time=use只更改存取时间。-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在。
2024-08-05 19:37:29
1131
1
原创 C++类和对象(上)
本文主要分阶段介绍类和对象的知识点,这部分包括面向过程和对象的介绍、类的定义、类的访问限定符、类的封装、类的实例化、类的对象模型。
2024-03-23 21:30:43
1270
2
原创 DosBox汇编环境保姆级搭建
学习汇编语言时,需要进入dos模式并使用debug工具调试。但是64位win10系统没有自带这些工具。因此,需要额外安装DosBox和debug.exe这两个软件。因为学校选修了汇编语言这门课,就写个博客防止忘记搭建,顺便给大家提供参考。到这里我们就可以开始汇编语言的学习了,希望对大家有帮助。
2024-03-23 20:50:10
2224
2
原创 初识C++(下)
为了理解透彻,我们分别建立Text.cpp 、Stack.h 、 Stack.cpp三个文件Text.cppint main()Add(1, 2);return 0;Stack.hStack.cpp此时我们生成解决方案,编译器会发生报错。这是是因为Text 和 Stack 都有Add这个函数定义和地址,链接时并且不构成函数重载(函数类型一直,初识C++(上)有写),就认为是重复的函数,进行重定义的报错。那么如何解决呢?1.声明和定义分离为什么声明和定义分离就能成功呢?
2024-03-15 18:11:18
1092
7
原创 使用qsort函数快速排序
qsort()函数是C语言库函数中的一种排序函数,排序方法为快速排序其特点是可以排序任意类型的数组元素。它的头文件是。void* base 待排序数组第一个元素的地址。
2023-11-17 23:08:10
198
3
原创 扫雷(递归扫雷+标记取消排雷旗)
扫雷,是一款被大家所熟知的游戏,小学时候上机房的我不听老师的微机课又没网,就特别喜欢玩这些小游戏,打字的贼追不上,所以电脑的扫雷成了我当年最爱的游戏。本次博客就用c语言来实现一下扫雷小游戏。
2023-08-10 19:16:20
489
14
原创 C语言:三子棋(玩家vs电脑阻拦 + 先手后手)
三子棋是一种益智游戏,井字棋。游戏分为双方对战,双方依次在9宫格上摆放棋子,率先将自己的三个棋子走一条线就视为胜利,摆满未分出胜负就算平局。到这里,一个简易的五子棋就这样做成功了。我们的电脑也不是人工智障了,不思考一下还真的赢不了电脑。好了这次的c语言三子棋就到这里了,如果觉得我写的不错,还请一键三连。我是₯㎕星空&繁华,一名c语言的初学者,我们下期见!
2023-07-31 13:30:18
415
4
原创 五种办法解决vs_2019中scanf报错的问题
在运用vs学习c语言的过程中,我们发现在一些测试平台上运行成功c代码放到vs上无法运行成功。原因有的情况就是scanf的报错,这也是我在新学c语言时遇到过的问题,下面给出几种我的解决办法。这是一段很简单的代码,运行之后我们看看发生了什么。
2023-07-10 11:35:20
2304
4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅