当前位置: 首页 > news >正文

整合分块请求大模型返回的测试用例及小工具显示bug修复

在之前的分块发送需求数据给大模型进行测试用例生成时,由于数据结构的改变,需要对分块的回复进行整合,正确的整合是保障系统稳定性和功能正确性的核心。随着测试需求的复杂化,这对测试工程师提出了更高的整合和管理要求。本文将为初学者详细介绍如何利用 Python 整合分块请求大模型返回的测试用例数据,并通过逻辑清晰的代码实现高效汇总,帮助你快速上手大模型生成的测试用例处理。


背景问题:分块测试用例数据的整合难点

在实际工作中,大型测试用例数据可能由于接口限制、网络传输或系统设计的原因以分块形式返回。例如:

  1. 每次请求返回部分测试用例数据。
  2. 数据块之间可能存在重复或不连续的序号。
  3. 测试用例需要按照特定逻辑(如序号顺序)重新排列。

如何正确地提取、整合并排序这些分块数据是一项挑战。特别是对于大模型生成的测试用例,结构化数据的处理显得尤为重要。


解决方案:Python 整合测试用例数据

下面是一段 Python 代码,它能够高效提取多个分块中的测试用例数据,并按照序号顺序整合成一个完整的 JSON 数据结构。实际分块后的返回数据如下所示,一般可能是json数据结构之后又会夹杂一些思考过程的数据,通过re进行正则匹配可能是一个比较好的解决办法,具体实现代码如下所示:

代码实现
import json
import restr1 = """
多次请求后的汇总数据: #```json
[{"case_id": "TC_001","case_name": "验证有效用户ID获取用户信息功能","priority": "High","pre_condition": "用户ID 123存在于系统中","steps": ["发送GET请求到/users/123","检查响应状态码是否为200","验证响应体包含id=123和name=John"],"expected_result": "返回正确的用户信息且数据结构完整","test_data": {"user_id": 123},"test_type": "Functional"}]
# ```
该测试套件设计包含以下特点:
1. **多维覆盖**:涵盖功能、数据验证、安全、错误处理等多个测试类型
2. **边界处理**:包含参数类型校验、字符串长度边界等场景
3. **安全防护**:验证身份认证机制的有效性
4. **异常处理**:覆盖必填参数缺失、非法参数类型等异常场景
5. **数据驱动**:使用具体参数值验证业务规则
6. **可扩展性**:每个用例独立可执行,支持后续添加更多测试场景
7. **结果可验证**:每个步骤都包含明确的验证点
建议执行顺序按照优先级排序,先验证核心功能(High优先级),再覆盖其他场景。性能测试用例需要单独设计压测方案,建议使用工具进行并发测试。 # ```json
[{"case_id": "TC_001","case_name": "验证使用有效商品ID删除商品时返回204并确认删除成功","priority": "High","pre_condition": "商品ID 789存在且用户已获得授权","steps": ["发送DELETE请求到/products/789","检查响应状态码是否为204","发送GET请求到/products/789","检查GET请求响应状态码是否为404"],"expected_result": "DELETE请求返回204且后续GET请求确认商品不存在","test_data": {"id": 789},"test_type": "Functional"}
]
# ```
"""def extract_json_objects(text):"""获取回复中的json字符串并进行整合"""json_objects = []matches = re.findall(r'```json\s*([\s\S]*?)```', text, re.DOTALL)for match in matches:try:json_objects.append(json.loads(match))except json.JSONDecodeError as e:print(f"Error decoding JSON: {e}")print(match)continuejson_objects = json.dumps(json_objects, ensure_ascii=False)return json_objects# 转换为 JSON 格式输出
# final_json = json.dumps(final_cases, indent=4, ensure_ascii=False)
#
# 打印整合后的结果
print("整合后的测试用例:")
final_test_cases = extract_json_objects(str1)
final_test_cases = json.dumps(final_test_cases, ensure_ascii=False)
print(final_test_cases)
代码逻辑解析
  1. 提取数据:

    • 使用 re` 将每个数据块中的json字符串数据提取出来。
    • 如果存在解析错误,捕获 JSONDecodeError 并跳过该块。
  2. 输出结果:

    • 使用 json.dumps 将整合后的数据转换为漂亮的 JSON 字符串。

整合后的测试用例数据

运行以上代码后,整合后的数据如下:

[[{"case_id": "TC_001","case_name": "验证有效用户ID获取用户信息功能","priority": "High","pre_condition": "用户ID 123存在于系统中","steps": ["发送GET请求到/users/123","检查响应状态码是否为200","验证响应体包含id=123和name=John"],"expected_result": "返回正确的用户信息且数据结构完整","test_data": {"user_id": 123},"test_type": "Functional"}],[{"case_id": "TC_001","case_name": "验证使用有效商品ID删除商品时返回204并确认删除成功","priority": "High","pre_condition": "商品ID 789存在且用户已获得授权","steps": ["发送DELETE请求到/products/789","检查响应状态码是否为204","发送GET请求到/products/789","检查GET请求响应状态码是否为404"],"expected_result": "DELETE请求返回204且后续GET请求确认商品不存在","test_data": {"id": 789},"test_type": "Functional"}]
]

在这里插入图片描述

对于测试工程师来说,通过本文介绍的 Python 整合方法,你可以轻松处理分块请求大模型返回的数据并生成结构化的测试用例集合。如果你是初学者,不妨尝试在自己的项目中实践这一方法,并探索如何结合大模型生成测试用例的更多可能性!在处理包含错误格式 JSON 数据块的情况下,我们需要对解析过程进行异常处理,确保程序不会因单个数据块的错误而中断。通过以上处理逻辑后,数据展示在GUI界面的生成结果会失败,因为当前仍是列表二元列表形式,需进一步处理。


测试用例 ID 重新编排

由于将数据分块后传递给大模型进行用例生成,返回的用例会出现用例ID重复的情况。通过下面代码,实现部分场景的用例ID重排并适配用例结果在Deepseek API+Python 测试用例一键生成与导出 V1.0.5小工具显示的问题。

1. 功能概述

该工具的核心功能是:

  • 合并测试用例列表: 将多个测试用例列表(列表的列表)合并成一个单一的列表。
  • 灵活 ID 字段名识别: 能够识别并处理具有不同 ID 字段名的测试用例,通过用户自定义的字段名列表,适配各种测试用例格式。
  • 重新生成统一的 ID: 根据用户提供的字段名列表,为每个测试用例生成唯一的、连续的 ID,并格式化为指定形式。
  • JSON 输出: 将重新编排后的测试用例数据以 JSON 字符串的形式输出,方便数据的存储、传输和进一步处理。
2. 代码结构与分析

以下是 Python 代码:

import jsondef reformat_test_cases(data, id_fields=["case_id", "用例编号", "test_id"]):"""合并测试用例列表,并重新编号用例 ID,支持自定义 ID 字段名列表。Args:data: 一个列表的列表,每个子列表包含测试用例字典。id_fields: (可选) 一个包含可能 ID 字段名的列表,默认为 ["case_id", "用例编号", "test_id"]。Returns:包含合并和重新编号的测试用例的 JSON 字符串。"""combined_list = []for sublist in data:combined_list.extend(sublist)# 重新编号用例 IDfor i, case in enumerate(combined_list):for id_field in id_fields:if id_field in case.keys():case[id_field] = f"TC_{i+1:03}"  # 格式化为 TC_001, TC_002 等break  # 找到一个 ID 字段后,跳出内层循环return json.dumps(combined_list, indent=2, ensure_ascii=False)

2.1 import json:

  • 导入 json 模块,用于将 Python 对象序列化为 JSON 字符串,以及将 JSON 字符串反序列化为 Python 对象。

2.2 reformat_test_cases(data, id_fields) 函数:

  • 函数定义: 定义了一个名为 reformat_test_cases 的函数,它接受两个参数:

    • data: 包含测试用例列表的列表。这是函数的主要输入数据。
    • id_fields: 一个可选的列表,包含所有可能作为 ID 字段名的字符串。 默认值为 ["case_id", "用例编号", "test_id"]。 这个参数赋予了函数极高的灵活性,使得它可以适应不同格式的测试用例数据。
  • 初始化 combined_list: 创建一个空列表 combined_list,用于存储合并后的测试用例。

  • 合并测试用例列表:

    for sublist in data:combined_list.extend(sublist)
    
    • 使用 for 循环遍历 data 中的每个子列表。
    • 使用 extend() 方法将每个子列表中的所有元素(测试用例字典)添加到 combined_list 中。extend() 方法与 append() 方法的区别在于,append() 方法会将整个子列表作为一个元素添加到 combined_list 中,而 extend() 方法会将子列表中的每个元素分别添加到 combined_list 中。
  • 重新编号用例 ID:

    for i, case in enumerate(combined_list):for id_field in id_fields:if id_field in case.keys():case[id_field] = f"TC_{i+1:03}"  # 格式化为 TC_
    

在这里插入图片描述

相关文章:

整合分块请求大模型返回的测试用例及小工具显示bug修复

在之前的分块发送需求数据给大模型进行测试用例生成时,由于数据结构的改变,需要对分块的回复进行整合,正确的整合是保障系统稳定性和功能正确性的核心。随着测试需求的复杂化,这对测试工程师提出了更高的整合和管理要求。本文将为…...

记一道CTF题—PHP双MD5加密+”SALT“弱碰撞绕过

通过分析源代码并找到绕过限制的方法&#xff0c;从而获取到flag&#xff01; 部分源码&#xff1a; <?php $name_POST[username]; $passencode(_POST[password]); $admin_user "admin"; $admin_pw get_hash("0e260265122865008095838959784793");…...

stm32F103RCT6 FLASH模拟EEPROM 读写32位数据

#include “stm32flash.h” #ifndef __STMFLASH_H__ #define __STMFLASH_H__ #include "main.h" #define</...

Spring Data审计利器:@LastModifiedDate详解!!!

&#x1f552; Spring Data审计利器&#xff1a;LastModifiedDate详解&#x1f525; &#x1f31f; 简介 在数据驱动的应用中&#xff0c;记录数据的最后修改时间是常见需求。Spring Data的LastModifiedDate注解让这一过程自动化成为可能&#xff01;本篇带你掌握它的核心用法…...

【SLURM】介绍

SLURM Slurm&#xff08;Simple Linux Utility for Resource Management&#xff09; 是一个用于管理和调度计算集群任务的开源作业调度系统。它主要用于高性能计算&#xff08;HPC&#xff09;环境&#xff0c;比如超算中心、大学的计算集群或企业的数据中心。 本文主要针对使…...

算法-贪心算法

圣诞老人的礼物-Santa Clau’s Gifts 现在有多箱不同的糖果&#xff0c;每箱糖果有自己的价值和重量&#xff0c;每箱糖果都可以拆分成任意散装组合带走。圣 诞老人的驯鹿雪橇最多只能装下重量W的糖果&#xff0c;请 问圣诞老人最多能带走多大价值的糖果。 输入 第一行由两个…...

Nginx — Nginx处理Web请求机制解析

一、Nginx请求默认页面资源 1、配置文件详解 修改端口号为8080并重启服务&#xff1a; 二、Nginx进程模型 1、nginx常用命令解析 master进程&#xff1a;主进程&#xff08;只有一个&#xff09; worker进程&#xff1a;工作进程&#xff08;可以有多个&#xff0c;默认只有一…...

GAN随手笔记

文章目录 1. description2. code 1. description 后续整理 GAN是生成对抗网络&#xff0c;主要由G生成器&#xff0c;D判别器组成&#xff0c;具体形式如下 D 判别器&#xff1a; G生成器&#xff1a; 2. code 部分源码&#xff0c;暂定&#xff0c;后续修改 import nump…...

Java 8 时区与历法处理指南:跨越全球的时间管理

Java 8 的 java.time API 不仅修复了旧版日期时间 API 的设计缺陷&#xff0c;还提供了对时区和多历法的全面支持。无论是处理全球化应用的时区转换&#xff0c;还是适配不同文化的日历系统&#xff0c;Java 8 都能轻松应对。本文将深入解析其核心功能&#xff0c;并提供实用代…...

【STM32】对stm32F103VET6指南者原理图详解(超详细)

目录 一、原理图基本概念二、STM32F103VET6 的主要特性二、MCU模块三、电源模块四、时钟模块五、复位模块NRST 六、GPIO模块LED 七、调试模块JTAG 八、外设模块UARTSPII2CADC 九、其它模块BOOT 一、原理图基本概念 原理图/电路图通常由硬件工程师使用Altium Designer/ KiCad / …...

瑞芯微RKRGA(librga)Buffer API 分析

一、Buffer API 简介 在瑞芯微官方的 librga 库的手册中&#xff0c;有两组配置 buffer 的API&#xff1a; importbuffer 方式&#xff1a; importbuffer_virtualaddr importbuffer_physicaladdr importbuffer_fd wrapbuffer 方式&#xff1a; wrapbuffer_virtualaddr wrapb…...

移动端六大语言速记:第1部分 - 基础语法与控制结构

移动端六大语言速记&#xff1a;第1部分 - 基础语法与控制结构 本文将对比Java、Kotlin、Flutter(Dart)、Python、ArkTS和Swift这六种移动端开发语言的基础语法与控制结构&#xff0c;帮助开发者快速理解各语言间的差异与共性。 1. 基础语法 1.1 数据类型 各语言的基本数据…...

Java 大视界 -- Java 大数据在智能金融区块链跨境支付与结算中的应用(154)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…...

Python Playwright库全面详解

Playwright 是 Microsoft 开发的一个现代化的端到端测试和浏览器自动化库&#xff0c;支持 Chromium、WebKit 和 Firefox 浏览器。它提供了跨浏览器、跨平台的自动化能力&#xff0c;且具有高性能和可靠性。 一、核心特性 多浏览器支持&#xff1a; Chromium (Chrome, Edge)We…...

脑疾病分类的疑惑【6】:脑疾病分类比较适合使用具有哪些特点的模型?

脑疾病分类是一个复杂的任务&#xff0c;涉及医学影像、神经电生理信号、基因数据等多种信息类型。为了有效地进行脑疾病分类&#xff0c;选择合适的模型是至关重要的。以下是一些适合脑疾病分类的模型特点&#xff0c;您可以参考这些特点来选择合适的模型&#xff1a; 1. 深度…...

24_原型和原型链_this

目录 一、this关键字 修改this的指向 二、原型和原型链 三、创建对象 通过构造函数创建 &#xff08;es5&#xff09; 通过类创建 &#xff08;es6&#xff09; 四、浅拷贝和深拷贝 ctrlc 浅拷贝&#xff1a; 只拷贝一层 深拷贝: 可以拷贝多层 一、this关键字 每个函…...

自定义类型:结构体(1)

1.结构体回顾 结构是一些值的集合&#xff0c;这些值被称为成员变量。结构的每个成员可以是不同类型的变量。 1.1结构的声明 struct tag {member-list; }variable-list;例如描述一个学生&#xff1a; struct Stu {char name[20];int age;char sex[5]; }; 1.2结构体变量的创…...

Java进阶——Lombok的使用

Lombok可以通过注解的方式&#xff0c;在编译时自动生成 getter、setter、构造函数、toString 等样板代码&#xff0c;从而减少代码的冗余&#xff0c;提高开发效率。本文深入讲解Lombok在实际开发中的使用。 本文目录 1. Lombok 依赖添加2. 常用Lombok注解及使用场景2.1 Gette…...

饿了么 bx-et 分析

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 逆向分析 import requests bx_et re…...

python黑科技:无痛修改第三方库源码

需求不符合 很多时候&#xff0c;我们下载的 第三方库 是不会有需求不满足的情况&#xff0c;但也有极少的情况&#xff0c;第三方库 没有兼顾到需求&#xff0c;导致开发者无法实现相关功能。 如何通过一些操作将 第三方库 源码进行修改&#xff0c;是我们将要遇到的一个难点…...

PGD对抗样本生成算法实现(pytorch版)

PGD对抗样本生成算法 一、理论部分1.1 PGD 原理(1) 数学形式(2) 核心改进1.2 PGD 与其他攻击对比1.3 注意事项二、代码实现2.1 导包2.2 数据加载和处理2.3 网络构建2.4 模型加载2.5 生成对抗样本2.6 对抗测试2.7 启动攻击2.8 效果展示一、理论部分 1.1 PGD 原理 PGD 是 BIM/I-…...

小智机器人相关函数解析,BackgroundTask::Schedule (***)将一个回调函数添加到后台任务队列中等待执行

以下是对 BackgroundTask::Schedule 函数代码的详细解释&#xff1a; void BackgroundTask::Schedule(std::function<void()> callback) {std::lock_guard<std::mutex> lock(mutex_);if (active_tasks_ > 30) {int free_sram heap_caps_get_free_size(MALLOC_…...

C++学习之路:深入理解变量

目录 编程的本质变量的本质内存模型、变量名与值以及地址的关系数据类型C数据类型数据类型别名数据类型转换 变量作用域总结 编程的本质 编程的本质是什么&#xff1f;虽然程序里能实现很多复杂的逻辑&#xff0c;但是从底层的硬件上来看&#xff0c;编程的本质就是数据的搬移。…...

前端基础知识汇总

目录 HTML5详解&#xff08;结构层&#xff09; 什么是HTML HTML基本结构 网页基本信息 图像标签 链接标签 超链接 行内元素与块元素 列表标签 表格标签 页面结构分析 iframe内联框架 表单语法 表单元素格式 表单的简单应用 表单初级验证 CSS详解&#xff08;…...

2024蓝桥杯省赛C/C++大学B组 题解

文章目录 2024蓝桥杯省赛C/C大学B组A 握手问题&#xff08;5分&#xff09;B 小球反弹&#xff08;5分&#xff09;C 好数&#xff08;10分&#xff09;D R 格式&#xff08;10分&#xff09;E 宝石组合&#xff08;15分&#xff09;F 数字接龙&#xff08;15分&#xff09;G 爬…...

BIM/I-FGSM对抗样本生成算法实现(pytorch版)

BIM/I-FGSM对抗样本生成算法 一、理论部分1.1 核心思想1.2 数学形式1.3 BIM 的优缺点1.4 BIM 与 FGSM、PGD 的关系1.5 实际应用建议二、代码实现2.1 导包2.2 数据加载和处理2.3 网络构建2.4 模型加载2.5 生成对抗样本2.6 攻击测试2.7 启动攻击2.8 效果展示一、理论部分 1.1 核心…...

前沿科技:从Gen2到Gen3—Kinova轻型机械臂的技术升级路径

Kinova品牌在轻型机械臂行业中以其轻量化、灵活性和高精度的技术特点而知名。其产品线广泛适用于医疗、科研和工业等多个领域&#xff0c;对机器人技术的进步起到了积极的推动作用。Kinova轻型机械臂凭借其精良的设计和稳定的性能&#xff0c;为用户提供了高效且可靠的解决方案…...

智研咨询:2025DeepSeek技术全景解析重塑全球AI生态的中国力量|附下载方法

导 读INTRODUCTION 随着人工智能技术的飞速发展&#xff0c;AI大模型已成为推动行业进步的重要力量。智研咨询最新发布的《DeepSeek技术全景解析重塑全球AI生态的中国力量》报告&#xff0c;深入探讨了DeepSeek公司在AI领域的突破性成就及其对全球AI生态的深远影响。 如果感兴…...

超导量子计算机编程实战:IBM Qiskit 2025新API详解

一、量子计算平台演进与Qiskit 2025定位 1.1 IBM量子硬件发展路线 2025年IBM将实现三大技术突破&#xff1a; 量子体积&#xff1a;新一代"Goldeneye"处理器达到QV 8192相干时间&#xff1a;超导量子比特寿命突破500μs互联规模&#xff1a;模块化架构支持万级量子…...

斐波那契数列----C语言

关于斐波那契 已知&#xff1a; 问题背景&#xff1a;一对兔子从第3个月开始每月生一对新兔子&#xff0c;新兔子同样在第3个月开始繁殖。 关键观察&#xff1a; 第1个月&#xff1a;1对&#xff08;初始兔子&#xff09;。 第2个月&#xff1a;1对&#xff08;未成熟&#…...

打开pycharm显示编制索引后卡死

若项目中包含过多文件&#xff0c;PyCharm 启动后会进行自动索引&#xff0c;电脑性能不高时往往会导致崩溃&#xff08;主要是内存问题&#xff09;。以下为解决措施。 ✅ 1. 仅索引代码&#xff0c;排除文件 设置PyCharm 主要索引代码文件&#xff08;.py、.ipynb&#xff…...

AWS云安全全面详解:从基础防护到高级威胁应对

随着企业加速向云端迁移,AWS作为全球最大的云服务提供商之一,其安全性成为用户首要关注的问题。本文将深入剖析AWS云安全架构,从基础防护到高级威胁应对,帮助您构建全方位的云安全防线。 一、AWS安全责任共担模型 在深入探讨AWS具体安全措施前,首先需要理解AWS的安全责任…...

【C++重点】虚函数与多态

在 C 中&#xff0c;虚函数是实现多态的基础。多态是面向对象编程的重要特性之一&#xff0c;允许程序在运行时决定调用哪一个函数版本。通过虚函数&#xff0c;我们能够实现动态绑定&#xff0c;使得不同类型的对象可以通过相同的接口进行操作。 1 静态绑定与动态绑定 静态绑…...

算法学习之BFS

关于BFS我的理解是根据离我们当前这个点的权重来移动&#xff0c;这里权重也可以理解为离这个点的距离&#xff0c; 从起点开始&#xff0c;往前走一步&#xff0c;记录下所有第一步能走到的点开始&#xff0c;然后从所有第一部能走到的点开始向前走第二步&#xff0c;重复下去…...

每日小积累day1

网络&#xff1a; g是用来检测网络联通性的的诊断工具&#xff0c;使用的协议是ICMP 显示数据包括 ICMP数据&#xff1a;序列号&#xff0c;存活时间&#xff08;TTL&#xff09; 目标主机域名IP 往返时间&#xff08;RTT&#xff09; 统计数据&#xff08;平均RTT等等&a…...

【NLP】13. NLP推理方法详解 --- 穷举和贪心搜索

NLP推理方法详解 — 穷举和贪心搜索 在自然语言处理&#xff08;NLP&#xff09;任务中&#xff0c;推理&#xff08;Inference&#xff09;是指在给定模型的情况下&#xff0c;找到最可能的输出序列。由于模型通常是神经网络&#xff0c;它会为每个可能的输出分配一个概率&am…...

基于 Python 深度学习 lstm 算法的电影评论情感分析可视化系统(2.0 系统全新升级,已获高分通过)

大家好&#xff0c;欢迎来到我的技术专栏&#xff01;今天我将和大家聊聊如何利用 Python 的深度学习技术&#xff0c;打造一个集电影评论情感分析与可视化展示于一体的系统。这个系统不仅能自动采集和解析海量影评&#xff0c;还能实时生成直观的情感趋势图表&#xff0c;对于…...

妙用《甄嬛传》中的选妃来记忆概率论中的乘法公式

强烈推荐最近在看的不错的B站概率论课程 《概率统计》正课&#xff0c;零废话&#xff0c;超精讲&#xff01;【孔祥仁】 《概率统计》正课&#xff0c;零废话&#xff0c;超精讲&#xff01;【孔祥仁】_哔哩哔哩_bilibili 其中概率论中的乘法公式&#xff0c;老师用了《甄嬛传…...

linux--------------进程控制

1.进程创建 1.1fork函数初识 在linux中fork函数是⾮常重要的函数&#xff0c;它从已存在进程中创建⼀个新进程。新进程为⼦进程&#xff0c;⽽原进 程为⽗进程。 #include <unistd.h> pid_t fork(void); 返回值&#xff1a;⾃进程中返回0&#xff0c;⽗进程返回⼦进程id…...

Video Transformer Network

目录 摘要 Abstract VTN 背景 模型框架 视频特征提取 时空位置编码 Transformer编码器 任务特定头 关键创新 实验 代码 总结 摘要 Video Transformer Network 是基于Transformer架构改进的视频理解模型&#xff0c;旨在解决传统3D卷积神经网络在长距离依赖建模和…...

Java网络编程演进:从NIO到Netty的UDP实践全解析

前言 在当前高并发、大数据量的互联网环境下&#xff0c;高性能的网络通信框架变得越来越重要。本文将深入探讨Java网络编程的演进&#xff0c;从NIO到Netty&#xff0c;并通过实际案例分析Netty的优势和应用。&#xff08;本次主要以UDP请求为例&#xff09; Java网络编程演…...

Linux系统中快速安装docker

1 查看是否安装docker 要检查Ubuntu是否安装了Docker&#xff0c;可以使用以下几种方法&#xff1a; 方法1&#xff1a;使用 docker --version 命令 docker --version如果Docker已安装&#xff0c;输出会显示Docker的版本信息&#xff0c;例如&#xff1a; Docker version …...

人工智能之数学基础:幂法和反幂法求特征值和特征向量

本文重点 特征值和特征向量是矩阵的重要性质,我们前面学习了矩阵的正交分解,要想完成正交分解需要求出一个矩阵的特征值和特征向量。有的时候,我们只需要求出一个矩阵的最大的特征值以及矩阵的最小特征值,它们以及它们对应的特征向量具有特殊的含义,下面我们介绍两种方法…...

数据结构 -- 树的应用(哈夫曼树和并查集)

树的应用 哈夫曼树 带权路径长度 结点的权&#xff1a;有某种现实含义的数值&#xff08;如&#xff1a;表示结点的重要性等&#xff09; 结点的带权路径长度&#xff1a;从树的根到该结点的路径长度&#xff08;经过的边数&#xff09;与该结点上权值的乘积 树的带权路径…...

游戏引擎学习第193天

仓库:https://gitee.com/mrxiao_com/2d_game_4 回顾 我们昨天做了一些非常有趣的实验。在实验中&#xff0c;我们的目标是实现一个能够在运行时改变的编译时常量的概念。最开始&#xff0c;这个想法纯粹是出于一时的兴趣&#xff0c;觉得这应该是个很有意思的尝试。于是我们进…...

数据结构每日一题day7(顺序表)★★★★★

题目描述&#xff1a;从顺序表中删除其值在给定值s与t之间(包含s和 t&#xff0c;要求 s<t)的所有元素&#xff0c;若s或t不合理或顺序表为空&#xff0c;则返回 false&#xff0c;若执行成功则返回 true。 算法思想&#xff1a; 输入检查&#xff1a;若顺序表为空、指针为…...

ACM模式常用方法总结(Java篇)

文章目录 一、ACM输入输出模式二、重要语法2.1、导包2.2、读取数据2.3、判断是否有下一个数据2.4、输出2.5、关闭scanner2.6、易踩坑点 一、ACM输入输出模式 在力扣上编写代码时使用的是核心代码模式&#xff0c;如果在面试中遇到ACM模式就会比较迷茫&#xff1f;ACM模式要求你…...

SpringCould微服务架构之Docker(6)

容器的基本命令&#xff1a; 1. docker exec &#xff1a;进入容器执行命令 2. docker logs: -f 持续查看容器的运行日志 3. docker ps&#xff1a;查看所有运行的容器和状态 案例&#xff1a;创建运行一个容Nginx容器 docker run--name myNginx -p 80:80 -d nginx 命…...

脑疾病分类的疑惑【7】一般FMRI数据都存储为什么格式?能不能给我用数据简单的描述一下FMRI是如何存储的?

fMRI 数据通常以 NIfTI&#xff08;Neuroimaging Informatics Technology Initiative&#xff09; 格式存储&#xff0c;这是一种专为神经影像设计的开放标准格式。以下是简化说明和示例&#xff1a; 1. 常见fMRI数据格式 格式扩展名特点NIfTI.nii 或 .nii.gz最常用&#xff0…...

DOM 加载函数

DOM 加载函数 在Web开发中,DOM(文档对象模型)加载函数是一个核心概念。它指的是在页面加载过程中,浏览器如何处理和解析HTML文档,并创建相应的DOM树。本文将深入探讨DOM加载函数的作用、原理及其在Web开发中的应用。 引言 随着互联网的飞速发展,Web技术日新月异。DOM作…...