【Web功能测试】Web商城搜索模块测试用例设计深度解析
Web商城的搜索模块功能测试用例设计
1.搜索功能设计
1.1 搜索框设计
-
位置显眼:通常置于页面顶部中央,符合用户习惯。
-
智能提示(Autocomplete):输入时实时推荐关键词、商品或分类(如“手机 苹果”)。
-
支持多分类输入:商品类型、店铺(下拉框)
1.2 搜索算法
1.2.1 分词与语义理解
- 中文需分词,示例:“红色连衣裙” 拆分为**”红色/连衣裙“**
- 支持同义词扩展,示例:”手机壳→手机套“
- 拼写纠错,示例:“iphnoe→iphone”
1.2.2 相关性排序
综合关键词匹配度(标题>描述)、商品销量、评分、价格、库存等因素,可通过BM25算法或**机器学习模型(如Learning to Rank)**实现
1.3 过滤与排序
- 多维度过滤:分类、品牌、价格区间、评分、属性(如“屏幕尺寸”)。
- 动态排序:默认按相关性,支持手动按价格、销量、新品排序。
1.4 搜索结果展示
-
分页与懒加载:每页展示20-50条,支持无限滚动。
-
高亮关键词:标题和描述中突出显示搜索词。
-
相关推荐:无结果时推荐相似商品(如“找不到‘耐克’?试试这些运动鞋”)。
1.5 性能优化
- 缓存高频查询:如“手机”“笔记本”等热门关键词的结果。
- 异步加载:先展示核心结果,再逐步加载图片、评论等次要内容。
2.搜索功能技术原理
2.1 数据采集与预处理
- 数据源:商品数据库(MySQL)、日志( 用户搜索词、点击行为)
- 清洗与标准化:去除无效字符、同一单位(如”500g→0.5kg“)、提取属性(颜色、尺寸)
2.2 倒排索引
- 核心数据结构:将文档(商品)映射到关键词
- 实现工具:Elasticsearch等搜索引擎内置倒排索引
2.3 查询处理流程
- 分词与解析:使用分词器拆分查询词
- 纠错与扩展:基于字典或同统计模型修正拼写错误
- 检索与打分:
- TF-IDF:衡量词频(TF)和逆文档频率(IDF)。
- BM25:改进版TF-IDF,考虑文档长度对相关性的影响。
- 向量检索:将文本转换为向量(如BERT模型),计算余弦相似度。
- 个性化搜索:
- 用户画像:结合历史搜索、点击、购买行为,动态调整排序权重。
- 实时反馈:A/B测试不同排序策略,持续优化模型。
3.测试用例设计
测试范围
测试维度 | 具体内容 |
---|---|
核心功能 | 基础搜索、智能提示、过滤排序、结果展示、分页/懒加载、高亮显示 |
业务规则 | 库存商品优先、促销置顶、敏感词过滤、搜索词黑名单、权重策略 |
边界场景 | 超长词(1000字符)、特殊符号(#@!)、空搜索、全角/半角混合输入、多语言 |
3.1 基础功能流程测试验证
3.1.1正向流程
- 选好查询类型(商品/店铺)→输入关键字→点击查询/回车→跳转/显示搜索的商品(店铺)信息列表
3.1.2 异常分支流程
-
表单输入异常
-
功能异常的的情况
- 查询类型无法是否可以切换
- 查询按钮/键盘是否回车异常
- 显示结果未高亮显示
- 显示结果是否正常
- 搜索没有商品的信息,是否显示无相关内容和相关产品的推荐显示
- 显示结果是否是懒加载
-
网络异常的情况
- 断网
- 弱网
3.1.3 搜索输入测试验证
设计方法:等价划分法,边界值法,错误推测法
-
等价划分法(含商品信息、含空格、含中英文混合)
- 有效用例:正常关键字,带有空格关键字,中英混合关键字
- 无效用例:不含有商品信息的输入,空,特殊符号
-
边界值法:
- 大于输入框最大输入量
- 空
-
错误推测法:
-
含有商品信息,含有其他与商品无法的关键字。
-
多组商品关键字
-
3.2 智能提示功能
3.2.1正向流程测试
- 输入短缺的提示词→显示相关联想的提示项→点击的提示项→直接暂时“提示项”商品的信息。
3.2.2 异常分支测试
- 输入异常的提示词
- 多语言混合→验证:联想词是否支持多语言
- 特殊字符攻击
- 超长字符串→预期:截断处理+【请输入有效的关键词】
- 功能异常的情况
- 无输入的情况→验证:是否存在热搜或历史记录
- 联想词冲突→验证:联想词分类标签(苹果/指向的是水果还是品牌)
- 网络异常的情况
- 弱网环境→是否出现“加载”界面
- 断网状态→是否提示离线或本地缓存联想提示词
3.2.3 提示词输入测试验证
设计方法:错误推测法
- 测试不同的词长→验证:输入多少字可以出现提示词(2/4/6/8)
- 测试不同的语言→验证:是否支持多语言类型。
- 测试含有特殊字符的→验证:输入特殊字符是否出现提示词或热搜词
3.3 结果赛选功能
3.3.1 筛选规则
- 基础赛选规则:
- 分类
- 层级结构:支持多级分类(如“手机 → 智能手机 → 5G手机”)
- 动态联动:选择父分类后,子分类选项动态更新(如选择“手机”后显示“品牌”筛选)。
- 技术实现:通过Elasticsearch的
terms aggregation
或数据库JOIN
查询实现。
- 价格区间:
- 自动分段:根据商品价格分布动态生成区间(如“0-100元,100-500元”)。
- 自定义输入:允许用户手动输入最小/最大值(需验证输入合法性,如负数或非数字字符)。
- 技术优化:使用预计算的价格区间索引加速查询。
- 品牌
- 热门置顶:按品牌商品数量或用户点击量排序(如“Apple、华为、小米”优先显示)
- 字母索引:数据量大时提供A-Z快速导航(常见于海外电商)。
- 去重逻辑:避免同品牌不同拼写(如“华为”和“HUAWEI”)导致重复选项。
- 分类
- 商品属性筛选:
- 规格参数:
- 动态属性:根据分类动态加载属性(如“手机”分类显示“屏幕尺寸”“内存”,服装显示“颜色”“尺码”)。
- 多选逻辑:
- AND模式:选择“颜色:红色”+“尺码:M” → 仅显示同时满足的商品。
- OR模式:部分平台支持“颜色:红色或蓝色”(需明确提示用户逻辑)
- 技术实现:使用Elasticsearch的
nested object
或数据库的JSON字段
存储属性。
- 服务与标签:
- 服务承诺:如“次日达”“免运费”“7天无理由退货”。
- 活动标签:如“限时折扣”“买一送一”“新品首发”。
- 优先级规则:多个标签共存时按业务权重排序(如“促销标签”>“服务标签”)。
- 规格参数:
- 业务逻辑筛选:
- 库存状态:
- 有货优先:默认过滤无货商品,或标记“无货”但仍展示(如Amazon)。
- 区域库存:根据用户地理位置筛选可配送的商品(依赖地理位置API)。
- 促销与优先级:
- 促销置顶:参与活动的商品固定在前几位。
- 人工加权:运营可手动提升特定商品排名(如主推新品)
- 商家相关:
- 店铺筛选:按店铺名称或信誉等级过滤。
- 库存状态:
3.3.2正向流程测试
搜索结果→选择排序规则/过滤规则→显示处理后的结果
3.3.3 异常分支测试
-
输入异常
- 价格区间手动输入范围
-
功能异常
- 单条件筛选异常
- 多条件筛选异常
-
网络异常
3.3.4 价格区间测试
- 价格区间条件选择测试
- 价格区间范围输入测试
3.3.5 条件筛选测试(单条件、多条件)验证
-
单条件赛选测试
筛选类型 测试用例示例 预期结果 分类筛选 选择「手机 → 智能手机」 仅显示该分类下的商品,且子分类选项动态更新(如品牌、价格区间) 价格区间 输入自定义价格范围(如500-2000元) 显示价格在此区间内的商品,超出范围的商品被过滤 品牌筛选 选择「Apple」和「华为」 显示同时属于这两个品牌的商品(AND逻辑)或任一品牌(OR逻辑,需明确规则) 库存状态 勾选「仅显示有货」 无库存商品被隐藏,且结果中所有商品库存>0 -
多条件赛选测试
-
设计方法:正交表法,(决策表)
- 优点:高效较少测试量,适合独立条件组合,对于这些可以单条件测试的一般都是可以单独的条件。
- 缺点:无法覆盖所有边界,需补充测试。
- 与决策或因果之间的区别
- 决策和因果,是逻辑上覆盖全面,适合处理条件间依赖关系,如果条件组合过多的时候会导致用例指数级的增长
-
注意:无货赛选是业务逻辑筛选,因为关联到平台的库存管理,而非商品本身的静态属性
-
策略:
- 强依赖条件:
- 示例:选择“仅显示有货”时,无货商品必须被过滤,无论其他条件如何。
- 处理方式:决策表强制覆盖(如“有货=是/否”与其他条件组合)。
- 独立条件:
- 示例:品牌、颜色、价格区间之间无逻辑冲突。
- 处理方式:正交表覆盖。
- 核心逻辑用决策表覆盖,长尾条件用正交表抽样,兼顾严谨又存在效率
- 强依赖条件:
-
设计正交实验表
场景:筛选条件为品牌(A/B/C)、颜色(红/蓝)、价格区间(0-100/100-500)。
-
正交表选择:L9(3^4)表:实际上是3因素
测试编号 品牌 颜色 价格区间 1 A 红 0-100 2 A 蓝 100-500 3 B 红 100-500 4 B 蓝 0-100 5 C 红 0-100 6 C 蓝 100-500
-
-
决策表验证依赖关系(补充)
场景:当用户选择“仅显示有货”时,需确保无货商品被过滤。
条件组合 有货=是 有货=否 品牌=A, 价格=0-100 显示 不显示 品牌=B, 价格=100-500 显示 不显示
-
3.4 结果排序功能(不涉及推广模块)
3.4.1排序规则
- 销量(默认降序)
- 价格(可选降序或升序)
- 两者之间无法同时选中
3.4.2正向流程测试
搜索结果→选择【销量】排序/【价格】排序→显示处理后的结果
3.4.3 异常分支测试
-
无输入异常
-
功能异常
- 价格排序升序或降序无法切换
- 销量是否默认降序
- 排斥互斥测试
- 数据边界(价格相同、销售为0的情况)
-
网络异常
3.4.4 数据边界测试
-
价格相同商品的排序稳定性→相同价格商品按指定次规则排序(如销量、上架时间、ID),且顺序不随机跳动
-
销量为零的商品排序→销量为0的商品按默认规则(如价格、上架时间)排在末尾
相关文章:
【Web功能测试】Web商城搜索模块测试用例设计深度解析
Web商城的搜索模块功能测试用例设计 1.搜索功能设计 1.1 搜索框设计 位置显眼:通常置于页面顶部中央,符合用户习惯。 智能提示(Autocomplete):输入时实时推荐关键词、商品或分类(如“手机 苹果”&#x…...
ubuntu 18.04安装tomcat,zookeeper,kafka,hadoop,MySQL,maxwell
事情是这样的,因为昨天发现我用的ubuntu16.04官方不维护了,以及之前就觉得不是很好用,于是升级到了18.04。如图: 但是!由于为备份升级前忘记关闭服务,上面装好的东西所剩无几。 于是我重装了。。。 如何启…...
设计模式(结构型)-享元模式
摘要 在软件开发的广阔领域中,随着系统规模的不断膨胀,资源的有效利用逐渐成为了一个至关重要的议题。当一个系统中存在大量相似的对象时,如何优化这些对象的管理,减少内存的占用,提升系统的整体性能,成为了…...
1.1显存
显存是显卡(GPU)专用的高性能内存,负责存储渲染所需的纹理、帧缓冲、几何数据等。其设计直接影响图形性能、分辨率和复杂场景处理能力 苹果统一内存(Unified Memory)、集成显卡共享内存(Integrated Graphi…...
C# 选择文件的路径、导出文件储存路径
1、选择导入文件,获取其路径 C#通过这段代码将弹出一个文件选择对话框,允许用户选择一个文件,并返回所选文件的完整路径。如果用户取消了选择,则直接返回结束函数。 string OpenFilePath;//存储选择到的文件的完整路径OpenFileDia…...
【最后203篇系列】027 基于消息队列的处理架构
起因 之所以写这篇文章,主要是梳理一下进展。因为同时研究好几块内容,切换起来要点时间。这次也是因为协作的同事们把各自的分工都搞定了,瓶颈反而在我自己这里,哈哈。 除了帮自己思路恢复过来,我觉得这方法可能也有…...
多线程与Tkinter界面交互
在现代图形用户界面(GUI)应用程序中,可能会遇到需要长时间运行的任务,例如网络请求、数据处理或文件读取等。如果这些任务直接在主线程中运行,会导致GUI界面“卡顿”或“不响应”。为了保持界面流畅和响应用户操作,我们可以通过使用多线程来将这些任务移到后台运行。然而…...
【工程开发】LLMC准确高效的LLM压缩工具(一)
【文献阅读】LLMC: Benchmarking Large Language Model Quantization with a Versatile Compression Toolkit 北航 2024年10月 摘要 大语言模型(LLMs)的最新进展凭借其卓越的涌现能力和推理能力,正推动我们迈向通用人工智能。然而&#…...
回顾CSA,CSA复习
RHCSA redhat certificate system Administrator RHCE redhat certificate engineer 回顾CSA 文件管理 创建文件:touch 、重定向、vim 阅读文件:cat看短小的文件、vim、head看文件前面部分、tail看文件的尾部内容、more、less看文档使用more和less…...
基于电子等排体的3D分子生成模型 ShEPhERD - 评测
一、背景介绍 ShEPhERD 是一个由 MIT 开发的一个 3D 相互作用感知的 ligand-based的分子生成模型,以 arXiv 预印本的形式发表于 2024 年,被ICLR2025 会议接收。文章链接:https://openreview.net/pdf?idKSLkFYHlYg ShEPhERD 是一种基于去噪扩…...
平凡日子里的挣扎
2025年4月13日,9~23℃,好 待办: 融智云考平台《物理》《物理2》~~《地理》《地理1》~~重修试卷 卫健委统考监考(2025年4月12日早上7点半) 冶金《物理》课程标准 冶金《物理》教案 期中教学检查——自查表材料ÿ…...
智能制造方案精读:117页MES制造执行系统解决方案【附全文阅读】
本方案围绕制造执行系统(MES)展开,阐述了智能制造相关概念及发展趋势,指出 MES 是连接 ERP 与生产现场的关键系统。介绍其在加工、装配及其他场景的应用,通过实例展示各场景下的功能、特点和实施效果,如实现生产信息可视化、产品追溯、设备监控等。还提及实施 MES 面临的…...
[推荐]AI驱动的知识图谱生成器(AI Powered Knowledge Graph Generator)
网址:https://github.com/robert-mcdermott/ai-knowledge-graph# 一、介绍 简介:以非结构化文本文档为输入,使用您选择的LLM以主语-谓语-宾语 (SPO) 三元组的形式提取知识,并将这些关系可视化为交互式知识图谱 特点:…...
波束形成(BF)从算法仿真到工程源码实现-第七节-关于波束10个基本概念
一、波束10个基本概念 1.作用: 对多路麦克风信号进行合并处理,抑制非目标方向的干扰信号,增强目标方向的声音信号。 2.原理: 调整相位阵列的基本单元参数,使得某些角度的信号获得相长干涉,而另一些角度的…...
深度学习(第一集)
123 import torch# 创建一个需要计算梯度的张量 x1 torch.tensor([2.0], requires_gradTrue)# 定义一个简单的函数 y x^2 y x1 ** 4# 计算梯度 y.backward()print("x1.grad 的值:", ) # 打印 x1.grad print("x1.grad 的值:", x1…...
Spring 事务传播行为
在Spring框架中,事务传播行为(Transaction Propagation)定义了事务在多个方法调用之间的行为方式。理解这些传播行为对于设计可靠的事务管理策略至关重要。以下是Spring支持的七种事务传播行为及其应用场景的详细说明: 1. REQUIRED(默认) 行为:如果当前存在事务,则加入…...
搬运机器人的基本工作场景及原理
搬运机器人广泛应用于工业生产中,主要用于搬运、堆放、装配等工作。它通过机械手臂的运动,结合机器视觉技术完成各种自动化作业。 一、搬运机器人的设计原理 搬运机器人通常采用可移动门架式结构,手臂承载机构安装在导轨上,可以沿…...
Ubuntu终端中常用的快捷键整理
1. 导航与编辑 光标移动: Ctrl A:跳转到行首。 Ctrl E:跳转到行尾。 Alt B:向左移动一个单词(或 Ctrl ←)。 Alt F:向右移动一个单词(或 Ctrl →)。 删除操作…...
mysql安装-MySQL MGR(Group Replication)+ ProxySQL 架构
文章目录 前言一、环境规划二、安装 MySQL 8.0.36(主库,CentOS 9)2.1 添加 Yum 源2.2 安装 MySQL 8.0.362.3 初始化 三、配置主库 my.cnf(192.168.1.101)四、(可选)创建远程可访问的用户&#x…...
Opencv使用cuda实现图像处理
main.py import os import cv2 print(fOpenCV: {cv2.__version__} for python installed and working) image cv2.imread(bus.jpg) if image is None:print("无法加载图像1") print(cv2.cuda.getCudaEnabledDeviceCount()) cv2.cuda.setDevice(0) cv2.cuda.printCu…...
ubuntu 安装samba
ubuntu 版本:Ubuntu 24.04.2 LTS 1. 保证连网 2. 安装samba sudo apt install samba 在安装结束以后,我们可以使用下面的命令来查看安装: apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…...
山东大学软件学院创新项目实训开发日志(12)之将对话记录保存到数据库中
在之前的功能开发中,已经成功将deepseekAPI接口接入到springbootvue项目中,所以下一步的操作是将对话和消息记录保存到数据库中 在之前的开发日志中提到数据库建表,所以在此刻需要用到两个表,conversation表和message表ÿ…...
欢乐力扣:反转链表二
文章目录 1、题目描述2、思路 1、题目描述 反转链表二。 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 2、思路 参考官方题解,基本思路…...
【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件
现象:每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了,导致IDM提示版本不匹配。经过摸索后,得到了可行的方案。 第一步,打开Chrome,把IDM插件卸载掉,然后重新安装I…...
Linux:DNS服务配置(课堂实验总结)
遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。 操作系统:rocky Linux 9.5 一、配置DNS服务器的核心步骤 步骤 1:安装 BIND 软件 检查是否安装: rpm -qa | grep "^bind"…...
啥是Spring,有什么用,既然收费,如何免费创建SpringBoot项目,依赖下载不下来的解决方法,解决99%问题!
一、啥是Spring,为啥选择它 我们平常说的Spring指的是Spring全家桶,我们为什么要选择Spring,看看官方的话: 意思就是:用这个东西,又快又好又安全,反正就是好处全占了,所以我们选择它…...
【LeetCode】算法详解#4 ---合并区间
1.题目介绍 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 1 < intervals.length < 104interval…...
安装树莓派3B+环境
目录 一、安装树莓派3B环境 1.1 格式化SD卡 1.2 环境安装与配置 1.2.1 安装Raspberry Pi 1.2.2 SSH访问树莓派 1.3 创建用户账号 二、在树莓派上用C和Python编程运行一个简单的程序 2.1 C语言程序 2.2 Python程序 三、总结 树莓派是一款功能强大的微型计算机…...
STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据,居然能正常通信
核心结论 如果 STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据,3.3V 的 TX 高电平可能无法被 ATmega328P 可靠识别为逻辑“1”!以下是详细分析: 1.…...
Java 8中的Lambda 和 Stream (from Effective Java 第三版)
42.Lambda 优先于匿名类 在之前的做法中(Historically),使用单个抽象方法的接口(或很少的抽象类【只有一个抽象方法的抽象类数量比较少】)被用作函数类型。它们的实例称为函数对象,代表一个函数或一种行为。…...
MIPI协议介绍
MIPI协议介绍 mipi 协议分为 CSI 和DSI,两者的区别在于 CSI用于接收sensor数据流 DSI用于连接显示屏 csi分类 csi 分为 csi2 和 csi3 csi2根据物理层分为 c-phy 和 d-phy, csi-3采用的是m-phy 一般采用csi2 c-phy 和 d-phy的区别 d-phy的时钟线和数据线是分开的,2根线一对…...
深入解析 HTML 中 `<script>` 标签的 async 和 defer 属性
一、背景与问题 在网页性能优化中,脚本的加载和执行方式直接影响页面渲染速度和用户体验。传统 <script> 标签的阻塞行为可能导致页面“白屏”,而 async 和 defer 属性提供了非阻塞的解决方案。本周重点研究二者的差异、适用场景及实际应用。 二、…...
【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)
黑马商城作为一个电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 首先,查询效率较低。 由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差…...
2.0 全栈运维管理:Linux网络基础核心概念解析、Proxmox网络组件详解、虚拟化网络模型分类
本文是Proxmox VE 全栈管理体系的系列文章之一,如果对 Proxmox VE 全栈管理感兴趣,可以关注“Proxmox VE 全栈管理”专栏,后续文章将围绕该体系,从多个维度深入展开。 摘要:Linux 网络基础借助桥接、VLAN 和 Bonding 实…...
案例驱动的 IT 团队管理:创新与突破之路: 第四章 危机应对:从风险预见到创新破局-4.1.3重构过程中的团队士气管理
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 案例驱动的 IT 团队管理:创新与突破之路 - 第四章 危机应对:从风险预见到创新破局4.1.3 重构过程中的团队士气管理1. 技术债务重构与团队士气的矛盾2…...
洛谷刷题小结
#include <iostream> using namespace std; int n, m,ans0; char s[105][105]; //深搜 void dfs(int x, int y) {//将搜索到的水坑看为干地s[x][y] .;//确定八个方向int next[8][2] {{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1},};//朝八个方向搜索for (in…...
Android Compose 权限申请完整指南
Android Compose 权限申请完整指南 在 Jetpack Compose 中处理运行时权限申请需要结合传统的权限 API 和 Compose 的状态管理。以下是完整的实现方案: 1. 基本权限申请流程 添加依赖 implementation "com.google.accompanist:accompanist-permissions:0.34…...
VirtualBox虚拟机转换到VMware
VirtualBox虚拟机转换到VMware **参考文章:**https://blog.csdn.net/qq_30054403/article/details/123451969 一.找到对应文件位置 Windows11系统,VirtualBox版本为6.1.50,VMware版本为17.5.2 1.首先找到自己需要转换的vdi文件位置 D:\v…...
Spring Boot(二十二):RedisTemplate的List类型操作
RedisTemplate和StringRedisTemplate的系列文章详见: Spring Boot(十七):集成和使用Redis Spring Boot(十八):RedisTemplate和StringRedisTemplate Spring Boot(十九)…...
【MySQL】关于何时使用start slave和start slave user=‘’ password=‘’
这个问题是我在配置三个服务器的复制拓扑时,一开始没有给复制用户 repl 创建密码,搭建好循环拓扑后,给server1的复制用户通过 ALTER USER USER() IDENTIFIED BY oracle 设置了密码,然后同步给了server2和server3。 这时server2突…...
(个人题解)第十六届蓝桥杯大赛软件赛省赛C/C++ 研究生组
宇宙超级无敌声明:个人题解(好久不训练,赛中就是一个憨憨) 先放代码吧,回头写思路。 文章目录 A. 数位倍数B. IPv6C. 变换数组D. 最大数字E. 冷热数据队列F. 01串G. 甘蔗H. 原料采购 A. 数位倍数 问: 在1至…...
GitLab + Jenkins + .Net8 实现CICD部署
前提条件:需要安装好 Jenkins 和 GitLab 。 1. Jenkins配置 登录 Jenkins 找到自己的一个任务,点击配置(没有任务就新建)。 按图操作 点击高级展开后截图,点击生成Token 配置好自己的作业(我的是一个 .Ne…...
AI工具导航 快速找到喜欢的AI工具 功能使用介绍
此篇文章内容来源CTO Plus技术服务栈官网:http://www.mdrsec.com/ 在人工智能技术迅猛发展的2025年,AI工具的数量和种类呈爆炸式增长,涵盖文本生成、图像创作、视频编辑、编程辅助等多个领域。面对琳琅满目的AI工具,如何高效筛选和…...
[题解] Educational Codeforces Round 168 (Rated for Div. 2) E - level up
链接 思路 1 注意到在 k ∈ [ 1 , n ] k \in [1,n] k∈[1,n] 可以得到的最高等级分别为: n , n 2 , n 3 . . . . . n n n,\frac{n}{2},\frac{n}{3}.....\frac{n}{n} n,2n,3n.....nn, 总的个数是一个调和级数, s u m n ∗ ln n sumn*\ln n sumn∗lnn, 完全可以处…...
达梦数据库-学习-19-兼容ORACLE相关参数介绍
目录 一、环境信息 二、介绍 三、参数 一、环境信息 名称值CPU12th Gen Intel(R) Core(TM) i7-12700H操作系统CentOS Linux release 7.9.2009 (Core)内存4G逻辑核数2DM版本1 DM Database Server 64 V8 2 DB Version: 0x7000c 3 03134284194-202…...
如何通过 Spring 层面进行事务回滚?
Spring 中事务可以分为声明式事务和编程式事务,那么解下来就从这两方面说一说在 Spring 层面个怎么进行回滚 声明式事务回滚: 1. 基础注解配置 通过Transactional注解实现自动回滚,默认对RuntimeException和Error生效 Transactional publ…...
学Qt笔记
使用的是Qt SDK5.14.0 根据比特汤众老师的课程学习 先叠个甲:本人正在学qt,视角还不完备,如有错误请多多包含 选了widget开始学习 1.qt creator设计提供了拖拽式的编辑ui的控件,和代码直接编辑构建的方式 2.浅浅的认识了qt的对…...
【HarmonyOS 5】鸿蒙实现手写板
【HarmonyOS 5】鸿蒙实现手写板 一、前言 实现一个手写板功能,基本思路如下: 创建一个可交互的组件,用户在屏幕上触摸并移动手指时,会根据触摸的位置动态生成路径,并使用黑色描边绘制在屏幕上。当用户按下屏幕时…...
JavaWeb 课堂笔记 —— 09 MySQL 概述 + DDL
本系列为笔者学习JavaWeb的课堂笔记,视频资源为B站黑马程序员出品的《黑马程序员JavaWeb开发教程,实现javaweb企业开发全流程(涵盖SpringMyBatisSpringMVCSpringBoot等)》,章节分布参考视频教程,为同样学习…...
设计模式 --- 访问者模式
访问者模式是一种行为设计模式,它允许在不改变对象结构的前提下,定义作用于这些对象元素的新操作。 优点: 1.符合开闭原则:新增操作只需添加新的访问者类,无需修改现有对象结构。 2.操作逻辑集中管理&am…...