自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 HTTP 请求:GET 与 POST 的核心区别

特征如果你需要...请使用...​获取数据​搜索、查询、导航到新页面​GET​​修改数据​登录、注册、下单、付款、删除​POST​ (或 PUT, DELETE)记住这个最简单的原则:​GET 是“读操作”,POST 是“写操作”​。牢牢抓住它们的语义核心,你就能在开发、测试或调试网络问题时做出正确的判断。希望这篇文章能让你对 GET 和 POST 有一个清晰而深刻的理解!

2025-10-18 13:51:54 728

原创 Schema是什么?

​Schema(模式)​​ 是一种结构化的定义或蓝图,它精确描述了数据的组织方式、格式和约束规则。​数据的契约 (Contract)​​:它规定了数据提供方和消费方都必须遵守的规则。就像两份合同的副本,确保双方对条款的理解是一致的。​数据的说明书 (Specification)​​:它详细说明了数据应该包含哪些部分,每个部分是什么类型,以及需要满足什么条件。​数据的模具 (Mold)​​:就像生产零件需要模具来确保每个零件都符合规格一样,Schema 确保了数据的形态是一致的、可预测的。​。

2025-10-02 22:27:16 1142

原创 JSON 与 Form Data 在接口测试中的技术对比与应用指南

本文系统性地分析了 JSON 与 Form Data 两种数据格式在接口测试中的技术差异,从协议规范、数据类型、数据结构、文件处理等多个维度进行深入对比,为测试工程师提供科学的选择依据和最佳实践指导。

2025-10-02 22:26:23 918

原创 JSON与表单格式:数据传输的双子星,你选对了吗?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于文本、易于阅读,并且完全独立于语言,这意味着几乎所有编程语言都能轻松解析和生成JSON数据。JSON的诞生可以追溯到2001年,由Douglas Crockford提出。它的设计理念是简化数据交换,使机器解析和生成变得容易,同时人类也能直接阅读。表单格式是HTML表单默认使用的数据提交格式。当你在网页上填写表单并点击"提交"按钮时,浏览器就会将数据编码为表单格式发送到服务器。

2025-10-02 22:19:08 711

原创 什么是 JSON?一篇文章讲语法规则、使用场景与实战技巧

JSON 的全称是JavaScript Object Notation(JavaScript 对象表示法),但它可不止是 JavaScript 的 “专属工具”。简单来说,JSON 是一种轻量级的数据交换格式,它用人类易读的文本格式来存储和表示数据,同时又能被几乎所有编程语言轻松解析和生成。举个生活化的例子:如果把数据比作 “快递包裹”,那么 JSON 就是那个 “标准化的快递盒”—— 无论你用什么工具(编程语言)打包或拆包,都能快速识别里面的内容,而且盒子本身轻便不占空间。简洁易读。

2025-07-18 08:42:27 1104

原创 数据库备份、导入、开窗函数及优化方式全解析

在数据库的日常管理和操作中,备份与导入是保障数据安全的重要手段,开窗函数能提升数据处理的灵活性,而合理的优化方式则是保证数据库高效运行的关键。今天,我们就来全面梳理这些知识点,并通过例题加深理解。

2025-07-10 11:07:19 649

原创 SQL 索引与日志知识点详解及练习题​

解析:该查询涉及 department 和 salary 两个字段,创建联合索引后,查询时可利用索引快速定位到部门为 “技术部” 且工资大于 8000 的记录,提高查询效率,符合联合索引在多列查询中的优化作用。解析:redo 日志的作用是事务的持久化操作,崩溃修复,A 选项是 binary log 的作用,C 选项是慢查询日志的作用,所以 B 选项正确。解析:低基数列的索引选择性差,查询时可能还是需要扫描大量数据,所以不适合建立索引。C. 索引的数据结构是 B + 树,数据保存在叶子结点​。

2025-07-10 11:02:37 694

原创 SQL 视图与事务知识点详解及练习题

在数据库操作中,视图和事务是非常重要的概念,它们在数据管理和操作一致性方面发挥着关键作用。下面我们将详细介绍视图和事务的相关知识,并通过练习题来巩固理解。

2025-07-09 21:39:48 828

原创 数据基础练习

(1, '张三', 10000, NULL, 1), -- 张三是研发部经理。(4, '赵六', 7500, NULL, 2), -- 赵六是市场部经理。(2, '李四', 8000, 1, 1), -- 李四向张三汇报。(3, '王五', 9000, 1, 1), -- 王五向张三汇报。(5, '钱七', 6000, 4, 2), -- 钱七向赵六汇报。:查询所有员工和项目的组合,包括未分配项目的员工和无员工参与的项目。:查询每个员工的姓名及其经理的姓名(若存在)。

2025-07-09 21:21:29 959

原创 数据库删除之truncate、 delete和 drop用法和区别

操作适用场景典型案例DELETE部分数据删除、需事务回滚、需触发业务逻辑删除过期订单、软删除数据TRUNCATE全量快速清空、需重置自增序列每日重置计数器、测试环境初始化DROP彻底删除表结构删除不再使用的临时表、重构表结构掌握DELETETRUNCATE和DROP的区别,能让你在数据库操作中更加游刃有余,避免因误用导致的数据丢失或性能问题。

2025-07-08 15:13:06 1164

原创 黑盒测试之判定表法

判定表法是黑盒测试中一种非常重要的逻辑覆盖测试方法,它将输入条件和输出条件之间的逻辑关系整理成表格形式,从而帮助测试人员设计出完整的测试用例集合。这种方法特别适用于有多个输入条件,并且这些输入条件之间存在组合关系,不同组合会导致不同输出结果的场景。判定表法是黑盒测试中一种非常有效的测试用例设计方法,它通过系统化的方式分析输入条件和输出条件之间的逻辑关系,帮助测试人员设计出全面、有效的测试用例。在实际应用中,测试人员可以根据项目的复杂程度和特点,灵活运用判定表法,提高软件测试的质量和效率。

2025-07-07 20:49:05 630

原创 黑盒测试之正交表法

正交表法是一种黑盒测试技术,通过选取具有正交性的代表性样本来覆盖多种输入组合场景。正交表L_n(t^k)中n表示用例数,t为取值个数,k为因素数量。其特点是每列数值分布均衡,任意两列组合完整。使用allpairs工具设计正交表的步骤包括:整理因素水平表、创建输入文件、通过命令行生成正交表文件(无输出即成功)。该方法能高效减少测试用例数量同时保证组合覆盖。

2025-07-07 20:31:00 474

原创 MySQL数据库之分页查询

而分页查询可以让你 “按需获取部分数据”,就像看书翻页一样,每次只取需要的 “那一页”。:偏移量 = (页码 - 1) × 每页行数。排序(必须排序,否则结果顺序随机!在 MySQL 中,分页查询的核心是。

2025-07-07 16:01:07 1510

原创 MySQL数据库之三大范式

是规范数据结构、减少冗余和提升数据完整性的重要原则。:在满足 1NF 的基础上,表中的每个非主键字段。:在满足 2NF 的基础上,表中的每个非主键字段。(若主键为复合主键,需特别注意)。,即不存在 “表中表” 的情况。:数据表中的每个字段(列)都是。(即消除传递依赖)。

2025-07-07 15:00:44 382

原创 MySql数据库之sum()和count()的区别

计数用 `COUNT()`,需根据是否忽略 `NULL` 选择 `COUNT(*)` 或 `COUNT(column)`。- `COUNT(*)` 统计所有行,无论列值是否为 `NULL`。- `COUNT(column)` 只统计该列非 `NULL` 的值。- 非数值列(如 `VARCHAR`)使用 `SUM()` 会报错。-- 统计有邮箱的用户(排除 email 为 NULL 的用户)- 功能:对数值列(如 `INT`、`DECIMAL`)求和。- 若列中全是 `NULL`,则返回 `NULL`。

2025-07-07 09:26:33 875

原创 MySQL之聚合函数的应用

聚合函数是SQL中实现数据统计分析的核心工具,通过`COUNT`、`SUM`、`AVG`、`MAX`、`MIN`的灵活组合,我们可以从海量数据中快速提取关键业务指标。在实际应用中,需注意以下几点:1. 场景匹配:根据业务需求选择合适的聚合函数,如计数用`COUNT`,求和用`SUM`2. 分组逻辑:合理使用`GROUP BY`和`HAVING`,实现精细化分组统计3. 性能优化:利用索引、避免函数计算、分步骤处理大数据量聚合4. NULL处理:显式处理NULL值,确保统计结果符合业务逻辑。

2025-07-07 09:18:13 1084

原创 数据库基础知识练习

1001 | 张三 | 1 | 经理 | 15000.00| 2020-01-15 | NULL | NULL |- 聚合函数(`AVG`, `MAX`, `MIN`, `SUM`, `COUNT`)通常与`GROUP BY`一起使用。- 模糊查询使用`LIKE`和通配符`%`,`%张%`表示包含"张"字的任意位置。- `ORDER BY`子句用于排序,`ASC`升序(默认),`DESC`降序。

2025-07-06 19:00:15 716

原创 MySQL 数据库基础之表操作&范式&设计实例

本文系统介绍了MySQL数据库表操作与设计规范。主要内容包括:1) 表操作基础,涵盖创建表(DDL)、插入数据(DML)和查询数据(DQL)的核心语法与最佳实践;2) 数据库约束机制,重点讲解主键、外键及其他约束(非空、检查、唯一、默认值)的应用;3) 三大关系范式(1NF-3NF)的设计原理与优化方法,通过案例说明如何消除数据冗余;4) 常用数据类型的选择与使用场景,并给出教室管理系统的实战案例。文章强调数据库设计应遵循"适度范式化"原则,兼顾数据完整性与查询性能,指出这是一个需要结合

2025-07-06 16:04:20 1022

原创 黑盒测试之等价类&边界值

在实际测试工作中,可以先使用等价类划分法确定测试的基本范围,再运用边界值分析法对边界情况进行重点测试,同时结合其他测试方法,以实现对软件功能的全面、高效测试。将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选取一个测试用例,如果这个测试用例通过,则认为所代表的等价类通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。例如:输⼊框⻓度为1-11,取边界值为:1、11、12、0 (1和11为边界值,12和0为次边界值)2.边界值包含:边界值+次边界值。

2025-07-05 21:41:36 360

原创 软件测试流程

2025-07-04 20:50:55 134

原创 博客系统测试报告

测试任务包括对博客系统的登录功能、博客列表页、编辑页、详情页以及未登录状态下的访问控制进行功能测试,同时通过自动化测试提高测试效率和准确性,确保系统质量符合预期。尽管测试阶段未发现问题,但为确保系统在生产环境中的稳定性和可靠性,建议项目上线后高优观察线上数据,查看线上用户操作日志,及时跟进用户反馈,以便及时发现并解决潜在问题。经过全面的功能测试和自动化测试,博客系统的核心功能均已通过验证,未发现任何缺陷,系统在当前测试环境下表现稳定。·系统在高并发情况下的性能表现未进行测试,可能存在性能瓶颈。

2025-06-26 16:55:41 369

原创 前台线程和后台线程

前台线程:前台线程如果不运行结束的话,Java进程是一定不会结束的。前台线程有很多个,最后一个线程结束时,进程才会结束。调用setDemo方法并给参数true时,该程序的前台线程有Thread和main两个,程序会在控制台打印五次才退出。不调用时,只有main一个线程执行,打印0次,执行后进程结束;也可能打印一次一次t,因为程序是抢占式执行的。后台线程/守护线程:后台线程即使再继续执行,也不能影响进程结束。程序员手动创建的为前台线程。

2025-03-29 13:48:04 240

原创 Java多线程:(3)通过lambda表达式创建线程

结构:Thread t=new Thread( () -> { 方法体 }lambda表达式是匿名内部类的平替,同表达式来代替重写run()方法;

2025-03-29 10:41:17 387

原创 Java多线程:(3)通过实现匿名内部类创建线程

2.通过匿名内部类,实现Runnable,重写run 方法。1.通过匿名内部类,继承Thread类,重写run 方法。

2025-03-29 10:27:13 259

原创 Java多线程:(2)通过实现Runnable接口创建线程

特性 | 继承Thread方式 | 实现Runnable方式 |1. **实现Runnable接口**:创建`MyRunnable`类并实现`run()`方法。- **单一抽象方法**:Runnable是函数式接口,只包含一个抽象方法`run()`- **更灵活**:可以继承其他类,不像Thread类那样占用继承位置。3. **启动线程**:调用Thread实例的`start()`方法。**Q: 为什么不能直接调用run()方法?**Q: 如何停止Runnable线程?

2025-03-29 09:58:14 452

原创 Java多线程:(1)通过继承Thread类创建线程

(2)start()方法调用操作系统提供的“创建线程”api,在内核中创建对应pcb,把pcb加入到链表中,进一步的系统调度这个线程之后,就会执行上述run方法中的逻辑。(可以理解为start是要让我去做一件事情,但是具体要做什么事,是在run方法中,但是不是start去调用run,我们只是把run创建出来了,真正调用run的是线程)。然后在主线程中创建MyThread实例,调用start()(而非run())启动新线程,此时JVM会创建新线程并异步执行run()方法。2)必须通过start()启动线程;

2025-03-27 09:03:07 182

原创 JAVA中String的应用

字符串不为空时返回false,字符串为空时返回trueTips:空格的值不为空&null的值不为空。

2024-04-10 18:25:06 358 3

原创 数据库的基本操作

后续的表操作都要先选中数据库。create table 表名(列名 类型,create database 数据库名;drop database 数据库名;drop table 表名;下期预告:数据库的增删改查。

2024-03-30 17:01:58 221 1

原创 JAVA第一课!

Java第一课!

2023-10-29 13:34:17 98 2

空空如也

空空如也

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

TA关注的人

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