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

UML 活动图深度解析:以在线购物系统为例

目录

一、UML 活动图的基本构成要素

二、题目原型

三、在线购物系统用户购物活动图详细剖析

(一)概述

(二)节点分析

三、注意事项

四、活动图绘画

五、UML 活动图在软件开发中的关键价值

六、总结

        在软件开发与系统设计领域,UML(统一建模语言)活动图是可视化业务流程和工作流的强有力量具。它能清晰地展示系统中的一系列活动以及它们之间的流转关系,帮助开发团队、业务人员等各方人员更好地理解系统的运作机制。今天探讨 UML 活动图的构建、要素以及其在实际应用场景中的价值,并结合在线购物系统用户购物流程这一典型场景进行剖析。

一、UML 活动图的基本构成要素

  1. 活动(Activity)与动作状态(Action State) 活动代表系统中的操作或过程,如 “搜索商品”“生成购物订单” 等。它可以用圆角矩形表示,矩形内写上活动名称。动作状态则是活动执行的具体时刻和状况,表示某个动作正在进行或已完成,通常用小矩形框呈现动作名称。

  2. 迁移(Transition) 迁移是连接活动图元素的箭头,表示活动的流向。箭头上可添加条件或说明,限定活动流转的条件。例如,在用户购物过程中,从 “搜索商品” 到 “进入商品详情页” 的迁移,就明确了用户在完成搜索后下一步的操作方向。

  3. 判断节点(Decision Node) 判断节点用于条件判断,根据判断结果,活动沿不同迁移路径执行。它用菱形表示,内部写判断条件。在在线购物场景中,判断用户是 “继续购物” 还是 “结算”,就依赖判断节点来实现不同流程分支。

  4. 初始节点(Initial Node)与活动终点(Activity Final Node) 初始节点是活动图起点,用实心圆点表示,没有输入迁移,只有输出迁移,标志着流程启动。活动终点代表整个活动结束,用带有实心圆点的圆圈表示,一旦执行到该终点,流程完成。在用户购物活动图中,初始节点表示用户开始购物,活动终点表示整个购物流程结束。

二、题目原型

        在某在线购物系统中,用户首先搜索商品,进入商品详情页,可以将商品加入购物车。用户可以多次重复这一步骤直至购物结束。购物结束后进入购物车页面,用户付款后,生成购物订单。对于订单中的每个商品,购物系统应当通知对应的商家进行发货。
请根据以上描述绘制用户购物的活动图。

三、在线购物系统用户购物活动图详细剖析

(一)概述

活动图用于描述在线购物系统中用户购物的过程,涵盖搜索商品、查看商品详情、加入购物车、结算、付款、生成订单以及通知商家发货等环节。通过活动图,能清晰呈现用户购物的完整流程及各环节之间的流转关系。

(二)节点分析

  1. 初始节点 :表示用户购物过程的起点,从这里开始执行购物活动。

  2. 活动节点

    • 搜索商品 :用户在搜索框输入关键词,系统检索并展示商品列表。

    • 进入商品详情页 :用户点击商品,进入详情页查看商品信息。从 “搜索商品” 迁移到 “进入商品详情页”,用户查看商品的详细信息,包括图片、描述、价格、评价等。

    • 将商品加入购物车 :用户可将商品加入购物车,购物车作为对象节点,用于存储用户选择的商品。基于商品详情,用户做出决策,将商品加入购物车。这里有一个循环,用户可多次重复 “搜索商品 - 进入详情页 - 加入购物车” 这一过程,直至购物结束。在活动图中,通过从 “将商品加入购物车” 到 “搜索商品” 的迁移,并标注 “继续购物” 条件来体现循环结构。

    • 进入购物车结算页面 :当用户完成购物,从 “将商品加入购物车” 迁移到 “进入购物车结算页面”。在结算页面,用户确认购物车中的商品信息、收货地址、支付方式等。

    • 用户支付 :用户选择支付方式并完成付款操作。进入 “用户支付” 活动,这里又包含分支判断。若支付失败,流程返回到 “进入购物车结算页面”,用户可修改支付信息重新支付;支付成功则流向 “生成购物订单” 活动。

    • 生成购物订单 :生成购物订单后,针对订单中的每个商品项,系统需要通知对应商家发货。这里引入迭代结构,用 “iterative” 关键字表示对每个商品项的循环处理。系统依次向各商品的商家发送发货通知,直至处理完所有商品项,整个购物流程才抵达活动终点,完成购物任务。

    • 通知商家发货 :针对订单中的每个商品项,系统通知对应商家发货,此部分作为扩展区域,用迭代结构处理订单中的多个商品项,确保每个商品都能及时发货。

  3. 判断节点

    • 在加入购物车后,判断用户是否继续购物。若是,返回搜索商品环节;若否,进入购物车结算页面。

    • 在用户支付后,判断支付是否成功。若成功,生成购物订单;若失败,返回购物车结算页面重新支付。

  4. 活动终点 :表示用户购物过程的结束,当所有商品项都通知商家发货后,整个购物活动结束。

三、注意事项

  1. 购物车对象节点的使用 :购物车作为对象节点,在用户购物过程中起到关键作用。它可以动态添加商品,存储用户的选择,为结算和生成订单提供数据支持。在活动图中,购物车对象节点清晰地展示了商品的存储和流转过程。

  2. 扩展区域的体现 :对于订单中每个商品通知商家发货的部分,将其作为扩展区域,用迭代结构进行处理。在活动图中,通过循环箭头和条件判断,明确展示了对每个商品项的处理过程,确保系统能够准确地将发货通知发送给对应商家。

四、活动图绘画

五、UML 活动图在软件开发中的关键价值

  1. 业务流程梳理与沟通协作 在开发初期,活动图能将复杂的业务流程以直观易懂的方式呈现出来。对于开发团队内部,不同成员(如开发人员、测试人员、产品经理等)能基于活动图快速达成对业务逻辑的共识,避免因理解不一致导致的开发问题。同时,向业务人员展示活动图,可让他们直观地确认需求是否被准确捕获和实现,便于及时调整业务策略。

  2. 系统设计与开发指导 在系统设计阶段,活动图能帮助架构师和开发人员明确系统的功能模块和交互流程。根据活动图中的活动和迁移关系,可合理划分系统模块,设计类和接口,确定模块间的调用顺序和数据传递方式。在开发过程中,开发人员可依据活动图逐步实现每个活动对应的功能代码,确保开发进度和质量。

  3. 测试用例设计与系统验证 测试团队可基于活动图设计测试用例,覆盖不同的活动路径和分支条件。通过模拟各种可能的用户操作路径,验证系统是否按照预期的流程执行,是否正确处理了各种正常和异常情况。这有助于发现系统中的功能缺陷、逻辑漏洞等问题,提高系统的稳定性和可靠性。

六、总结

        在软件开发领域,UML 活动图是可视化业务流程的强有力量具。本文探讨了 UML 活动图的构建、要素及其在实际场景中的价值,并结合在线购物系统用户购物流程进行剖析。在线购物系统活动图涵盖搜索商品、查看商品详情、加入购物车、结算、付款、生成订单及通知商家发货等环节,清晰呈现购物流程及流转关系。通过节点分析,明确初始节点、活动节点、判断节点和活动终点的作用与流转逻辑,强调购物车对象节点的使用及扩展区域的处理,确保活动图的完整性和准确性。活动图在软件开发中具有梳理业务流程、指导系统设计与开发、辅助测试用例设计等关键价值,是团队协作与系统理解的重要工具。

相关文章:

UML 活动图深度解析:以在线购物系统为例

目录 一、UML 活动图的基本构成要素 二、题目原型 三、在线购物系统用户购物活动图详细剖析 (一)概述 (二)节点分析 三、注意事项 四、活动图绘画 五、UML 活动图在软件开发中的关键价值 六、总结 在软件开发与系统设计领…...

Redis--预备知识以及String类型

目录 一、预备知识 1.1 基本全局命令 1.1.1 KEYS 1.1.2 EXISTS 1.1.3 DEL 1.1.4 EXPIRE 1.1.5 TTL 1.1.6 TYPE 1.2 数据结构以及内部编码 1.3 单线程架构 二、String字符串 2.1 常见命令 2.1.1 SET 2.1.2 GET 2.1.3 MGET 2.1.4 MSET 2.1.5 SETNX 2.2 计数命令 2.2.1 INCR 2.2.2…...

电子削铅笔刀顺序图详解:从UML设计到PlantUML实现

题目:为电子削铅笔刀建立一个顺序图和一个通信图。图中的对象包括操作者、铅笔、插入点(也就是铅笔插入铅笔刀的位置)、马达和其他元素。包括哪些交互消息?有那些激活?如何在图中表示出自身调用。 一、顺序图概述 顺序图(Sequence Diagram&#xff09…...

负环-P3385-P2136

通过选择标签&#xff0c;洛谷刷一个类型的题目还是很方便的 模版题P3385 P3385 【模板】负环 - 洛谷 Tint(input())def bellman(n,edges,sta):INFfloat(inf)d[INF]*(n1)d[sta]0for i in range(n-1):for u,v,w in edges:ncostd[u]wif ncost<d[v]:d[v]ncostfor u,v,w in e…...

《数据结构之美--栈和队列》

一&#xff1a;引言&#xff1a; 上次我们学习了双向链表的实现&#xff0c;这次我们来学习两个新的数据结构&#xff0c;因为比较简单&#xff0c;就放在一块学习。 二&#xff1a;栈的实现 1. 栈的结构与性质 只凭文字来描述的话不够生动&#xff0c;下面我们就以图画的形…...

如何彻底卸载Android Studio?

要彻底卸载 Android Studio&#xff0c;需要分别在不同操作系统上进行不同的操作&#xff0c;以下为你详细介绍&#xff1a; Windows 系统 卸载主程序 通过 “开始” 菜单&#xff0c;打开 “设置”&#xff0c;选择 “应用”。在应用列表中找到 “Android Studio”&#xff…...

乐聚机器人与地瓜机器人达成战略合作,联合发布Aelos Embodied具身智能

要闻 4月19日&#xff0c;在CCF人形机器人与人工智能技术巡回研讨会&#xff08;武汉站&#xff09;上&#xff0c;乐聚机器人与地瓜机器人达成战略合作&#xff0c;双方将基于RDK X5、RDK S100以及更高性能的国产大算力平台&#xff0c;就夸父&#xff08;KUAVO&#xff09;、…...

[MERN 项目实战] MERN Multi-Vendor 电商平台开发笔记(v2.0 从 bug 到结构优化的工程记录)

[MERN 项目实战] MERN Multi-Vendor 电商平台开发笔记&#xff08;v2.0 从 bug 到结构优化的工程记录&#xff09; 其实之前没想着这么快就能把 2.0 的笔记写出来的&#xff0c;之前的预期是&#xff0c;下一个阶段会一直维持到将 MERN 项目写完&#xff0c;毕竟后期很多东西都…...

KS卡片铃铛知多少,春花秋月何时了

废话不多说&#xff0c;直接上干活 卡片随意跳转技术 可以私信卡片&#xff0c;也可以群发卡片&#xff0c;丝毫不影响使用 铃铛跳转实例 需要一定要找我哦&#xff1a;qmfy01...

SQL 语法

好的&#xff0c;下面是对 SQL 语法的简洁总结&#xff0c;涵盖了常见的 SQL 操作和基本语法结构。 创建一个表 (CREATE TABLE) 首先&#xff0c;我们需要创建一个表 users&#xff0c;如果还没有的话&#xff1a; CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(100)…...

《ATPL地面培训教材13:飞行原理》——第1章:概述与定义

翻译&#xff1a;刘远贺&#xff1b;辅助工具&#xff1a;Cluade 3.7 第1章&#xff1a;概述与定义 目录 概述一般定义术语表符号列表希腊符号其他自我评估问题答案 概述 飞机的基本要求如下&#xff1a; 机翼产生升力&#xff1b; 机身容纳载荷&#xff1b; 尾部表面增加…...

https nginx 负载均衡配置

我的系统是OpenEuler。 安装nginx yum install -y nginx 启动&开机启动 systemctl start nginx systemctl enable nginx 自定义conf配置文件 cat <<EOF >> /etc/nginx/conf.d/load_balancer.conf upstream backend {ip_hash; # 防止验证码验证失败server…...

初始https附带c/c++源码使用curl库调用

使用C与CURL开发HTTPS客户端的深度指南 目录 准备工作基础HTTPS请求实现核心功能扩展进阶配置与优化安全注意事项调试与问题排查跨平台适配要点 一、准备工作 1.1 cURL库简介 cURL&#xff08;Client URL Request Library&#xff09;是一个支持多种网络协议的开源库&…...

NI Multisim官网下载: 电路设计自动化EDA仿真软件

NI Multisim是一款由美国国家仪器公司&#xff08;National Instruments&#xff0c;简称 NI&#xff09;推出的电路设计与仿真软件&#xff0c;广泛应用于工程教育、电子电路开发和科研领域。它结合了图形化的电路绘图界面与强大的 SPICE 仿真引擎&#xff0c;让用户可以在虚拟…...

通过阿里云Milvus与通义千问VL大模型,快速实现多模态搜索

本文主要演示了如何使用阿里云向量检索服务Milvus版与通义千问VL大模型&#xff0c;提取图片特征&#xff0c;并使用多模态Embedding模型&#xff0c;快速实现多模态搜索。 基于灵积&#xff08;Dashscope&#xff09;模型服务上的通义千问 API以及Embedding API来接入图片、文…...

React 与 Vue:两大前端框架的深度对比

在前端开发领域&#xff0c;React 和 Vue 无疑是当下最受欢迎的两大框架。它们各自拥有独特的优势和特点&#xff0c;吸引了大量开发者。无论是初学者还是经验丰富的工程师&#xff0c;选择 React 还是 Vue 都是一个常见的问题。本文将从多个角度对 React 和 Vue 进行对比&…...

OpenFeign和Gateway

OpenFeign和Gateway 一.OpenFeign介绍二.快速上手1.引入依赖2.开启openfeign的功能3.编写客户端4.修改远程调用代码5.测试 三.OpenFeign参数传递1.传递单个参数2.多个参数、传递对象和传递JSON字符串3.最佳方式写代码继承的方式抽取的方式 四.部署OpenFeign五.统一服务入口-Gat…...

openwrt作旁路由时的几个常见问题 openwrt作为旁路由配置zerotier 图文讲解

1 先看openwrt时间&#xff0c;一定要保证时间和浏览器和服务器是一致的&#xff0c;不然无法更新 2 openwrt设置旁路由前先测试下&#xff0c;路由器能否ping通主路由&#xff0c;是否能够连接外网&#xff0c;好多旁路由设置完了&#xff0c;发现还不能远程好多就是旁路由本…...

ai如何赋能艺术教育

在数字化浪潮席卷全球的今天,人工智能(AI)作为第四次工业革命的核心驱动力,正以前所未有的速度重塑教育生态。艺术教育领域作为培养创造力、批判性思维与跨文化理解力的关键阵地,正经历着AI技术带来的深刻变革。本文将从技术赋能、教育范式革新、全球化协作三个维度,探讨…...

NocoBase 本周更新汇总:联动规则条件左侧支持变量

原文链接&#xff1a;https://www.nocobase.com/cn/blog/weekly-updates-20250424。 汇总一周产品更新日志&#xff0c;最新发布可以前往我们的博客查看。 NocoBase 目前更新包括的版本更新包括三个分支&#xff1a;main &#xff0c;next和 develop。 main &#xff1a;截止…...

协作开发攻略:Git全面使用指南 — 第二部分 高级技巧与最佳实践

协作开发攻略&#xff1a;Git全面使用指南 — 第二部分 高级技巧与最佳实践 Git 是一种分布式版本控制系统&#xff0c;用于跟踪文件和目录的变更。它能帮助开发者有效管理代码版本&#xff0c;支持多人协作开发&#xff0c;方便代码合并与冲突解决&#xff0c;广泛应用于软件开…...

sass 变量

基本使用 如果分配给变量的值后面添加了 !default 标志 &#xff0c;这意味着该变量如果已经赋值&#xff0c;那么它不会被重新赋值&#xff0c;但是&#xff0c;如果它尚未赋值&#xff0c;那么它会被赋予新的给定值。 如果在此之前变量已经赋值&#xff0c;那就不使用默认值…...

多级缓存架构深度解析:从设计原理到生产实践

多级缓存架构深度解析&#xff1a;从设计原理到生产实践 一、多级缓存架构核心定位与设计原则 1. 架构分层与角色定位 多级缓存通过分层存储、流量削峰、数据分级实现性能与成本的平衡&#xff0c;典型三层架构如下&#xff1a; 层级代表组件存储介质数据特征命中目标成本级…...

(51单片机)LCD展示动画(延时函数)(LLCD1602教程)

前言&#xff1a; 前面我们说过&#xff0c;之前LCD1602模块有点难&#xff0c;但是现在&#xff0c;我们通过几遍博客的学习&#xff0c;今天来讲一下LCD1602的原理 演示视频&#xff1a; LCD1602流动 源代码&#xff1a; main.c #include <STC89C5xRC.H> #include &q…...

12N60-ASEMI无人机专用功率器件12N60

编辑&#xff1a;LL 12N60-ASEMI无人机专用功率器件12N60 型号&#xff1a;12N60 品牌&#xff1a;ASEMI 封装&#xff1a;TO-220F 最大漏源电流&#xff1a;12A 漏源击穿电压&#xff1a;600V 批号&#xff1a;最新 RDS&#xff08;ON&#xff09;Max&#xff1a;0.68…...

[Redis] Redis最佳实践

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…...

arm64适配系列文章-第九章-arm64环境上sentinel的部署

ARM64适配系列文章 第一章 arm64环境上kubesphere和k8s的部署 第二章 arm64环境上nfs-subdir-external-provisioner的部署 第三章 arm64环境上mariadb的部署 第四章 arm64环境上nacos的部署 第五章 arm64环境上redis的部署 第六章 arm64环境上rabbitmq-management的部署 第七章…...

3dmax模型怎么处理3dtiles,制作制作B3DM格式文件

1咱们先打3dmax&#xff0c;或su或者其他软件建模型 2记住面一定一定要少&#xff0c;面一定不能多&#xff0c;也不要是VR材质&#xff0c;可以用插件一键处理 3导出fbx 4使用cesium把fbx转换 5这里可以坐标&#xff0c;因为要对地图位置 6转换出来了&#xff0c;3dtiles格式…...

雪花算法生成int64,在前端js的精度问题

1.问题背景 后端对视频生成唯一性id&#xff0c;在发送评论阶段&#xff0c;由于后端接收的json数据格式&#xff0c;设置videoId为int64。前端于是使用js的Number函数&#xff0c;进行字符串转换为数字&#xff0c;由于不清楚js的精度范围&#xff0c;产生了携带的videoId变化…...

软件测试报告包括哪些内容?可出专业软件测试方案的测评机构推荐

随着信息技术的快速发展&#xff0c;软件质量已经成为决定企业竞争力的重要因素之一。软件测试作为保障软件质量的关键环节&#xff0c;其成果汇总形成的“软件测试报告”在项目生命周期中扮演着重要角色。 软件测试报告就是用来反映测试工作全貌的报告。从测试准备、过程、结…...

dockercompose文件仓库

mysql version: 3 # 使用docker-compose的版本&#xff0c;根据需要可以调整# 创建数据目录 # mkdir -p /home/docker/mysql/mysql_data # mkdir -p /home/docker/mysql/mysql_logs # 给予适当的权限&#xff08;确保MySQL容器可以读写这些目录&#xff09; # chmod 777 /ho…...

Docker 的基本概念和优势以及在应用程序开发中的实际应用

Docker 是一种开源的容器化平台,可以让开发者将应用程序及其所有依赖项打包成一个独立的容器,从而实现应用程序的快速部署和运行。下面是 Docker 的基本概念和优势: 基本概念: 容器:一个轻量级、独立的运行环境,包含应用程序及其所有依赖项。镜像:一个只读的模板,用于创…...

JavaWeb:HtmlCss

快速入门 <html><head><title>HTML快速入门</title><head><body><h1>Hello HTML</h1><img src"1.png"></img></body> </html>开发工具vscode 常见便签&样式&#xff08;新闻&#xff0…...

linux centOS7.9 No package docker-ce available

docker pull apache/apisix:3.2.2-centos Error response from daemon: missing signature key 处理方式如下&#xff1a; 问题&#xff1a;在纯净机里安装docker时报错No package docker-ce available。 解决办法&#xff1a; 1、更新yum&#xff0c;使用yum -y upgrade&#…...

机器学习(8)——主成分分析

文章目录 1. 主成分分析介绍2. 核心思想3. 数学基础4. 算法步骤4.1. 数据标准化&#xff1a;4.2. 计算协方差矩阵&#xff1a;4.3. 特征分解&#xff1a;4.4. 选择主成分&#xff1a;4.5 降维&#xff1a; 5. 关键参数6. 优缺点7. 改进变种8. 应用场景9. Python示例10. 数学推导…...

使用深度 Q 学习解决Lunar lander问题

使用深度 Q 学习解决Lunar lander问题 0. 前言1. 使用深度 Q 网络解决 Atari 游戏2. 定义环境3. 解决 Lunar lander 问题相关链接 0. 前言 深度 Q 学习模型只需观察状态作为输入就能够解决经典 Atari 游戏&#xff0c;这是一个重大突破&#xff0c;从那时起&#xff0c;深度强…...

centos7使用yum快速安装最新版本Jenkins-2.462.3

Jenkins支持多种安装方式&#xff1a;yum安装、war包安装、Docker安装等。 官方下载地址&#xff1a;https://www.jenkins.io/zh/download 本次实验使用yum方式安装Jenkins LTS长期支持版&#xff0c;版本为 2.462.3。 一、Jenkins基础环境的安装与配置 1.1&#xff1a;基本…...

Bean的生命周期

1.实例化Bean&#xff08;通过BeanDefinition反射调用无参构造创建对象&#xff0c;如果没有无参构造&#xff0c;需要指定唯一构造方法&#xff09; 2.给Bean的属性set()赋值 3.检查Bean是否实现了Aware相关接口&#xff0c;实现的话则执行方法 Aware接口&#xff1a;空接口&…...

【缓存与数据库结合方案】伪从技术 vs 直接同步/MQ方案的深度对比

伪从技术 vs 直接同步/MQ方案的深度对比 直接同步修改或通过MQ消息队列也能实现类似同步功能&#xff0c;但伪从技术&#xff08;通过消费binlog实现数据同步&#xff09;在某些场景下具有独特优势。下面我将从多个维度进行详细对比分析&#xff1a; 一、核心差异对比表 方案…...

【前端】【业务场景】【面试】在前端开发中,如何实现文件的上传与下载功能,并且处理可能出现的错误情况?

前端文件上传与下载攻略 本文目标&#xff1a;帮你快速掌握文件上传 & 下载的核心实现方式&#xff0c;并在常见出错场景下保持“优雅不崩溃”。 一、文件上传 1. 基础结构 <input type"file" id"fileInput" /> <button id"uploadBtn&…...

【axios取消请求】如何在token过期后取消未响应的请求

功能背景&#xff1a; 我们在实际项目中通常会遇到登录过期后会跳登录页的情况&#xff0c;回跳过程会根据接口请求的状态码判断是否登陆状态过期&#xff0c;并给出用户提示&#xff0c;如果此时存在多个请求接口同时调用&#xff0c;就会同时报出多个登录过期的提示&#xf…...

【高频考点精讲】JavaScript中的组合模式:从树形结构到组件嵌套实战

📚 目录 📦 什么是组合模式?🌲 基础版:用组合模式构建一个简单的树形结构💡 举个更真实的场景:菜单组件🧠 为什么组合模式在前端特别重要?🔨 实战案例:组件嵌套组合 + 权限控制🧩 组合模式的延伸用法:搭建 UI DSL 引擎🧪 面试题时间(欢迎评论区作答)组…...

《仙剑奇侠传二》游戏秘籍

无限冥纸&#xff1a;在丰都城&#xff0c;点击特定的小猫&#xff0c;它会给你五张冥纸&#xff0c;再次点击还会再给五张&#xff0c;可循环获取。无限使用虎煞技能&#xff1a;学会 “虎啸风声” 技能后&#xff0c;将虎煞之力值设置为 16&#xff0c;在战斗中持续使用该技能…...

AWS 中国区 CloudFront SSL 证书到期更换实战指南

适用场景: AWS 中国区(宁夏区域 cn-northwest-1 或北京区域 cn-north-1)CloudFront 分配的 SSL 证书到期后无缝替换,域名主体为 domain.cn。 背景与痛点 当 CloudFront 使用的 SSL 证书即将到期时,需手动替换新证书以避免服务中断。由于 AWS 中国区 不支持 ACM 证书,必须…...

【2025A卷】华为OD机试九日集训第3期 - 按算法分类,由易到难,提升编程能力和解题技巧,从而提高机试通过率(Python/JS/C/C++)

目录 一、适合人群二、本期训练时间三、如何参加四、数据结构与算法大纲五、华为OD九日集训第3期第1天、逻辑分析第2天、逻辑分析第3天、双指针第4天、双指针第5天、数据结构map第6天、栈第7天、二叉树第8天、贪心算法第9天、二分查找 六、集训总结国内直接使用最新o3、o4-mini…...

MacOS上如何运行内网穿透详细教程

本文以市面常见、好用的内网穿透为例&#xff0c;一款为开源内网穿透工具Frp;另一款为国产新锐软件ZeroNews。 一、Frp&#xff08;开源工作、使用自由&#xff09; 1. 下载 FRP 访问 FRP 的 GitHub 发布页&#xff1a; https://github.com/fatedier/frp/releases 选择适合 …...

第55讲:农业人工智能的跨学科融合与社会影响——构建更加可持续、包容的农业社会

目录 一、农业人工智能的多维融合:科技与社会的桥梁 1. 技术与社会:解决现代农业中的不平等 2. AI与伦理:塑造道德规范与社会责任 3. AI与政策:推动农业政策的科学决策与智能执行 二、AI与农业未来社会的构建:更绿色、更智能、更包容 1. 推动农业可持续发展:绿色农…...

JVM性能优化之老年代参数设置

一、引言 咱们书接上回&#xff0c;上篇文章主要讲解了年轻代参数设置&#xff0c;如果对这一部分还不清楚的建议先去看一下&#xff08;年轻代参数设置&#xff09;&#xff0c;本文主要为大家介绍老年代参数的设置&#xff0c;掌握好jvm参数的设置是一个高级开发人人员必备的…...

在 Ubuntu 环境为 Elasticsearch 引入 `icu_tokenizer

1. 为什么需要 ICU 分析插件 Elasticsearch 默认的 standard tokenizer 遵循 UAX #29 规则&#xff0c;但在 CJK&#xff08;中、日、韩&#xff09;等亚洲语言上仅能按字符切分&#xff0c;无法识别词边界&#xff1b;对包含重音符号、大小写或多脚本混排的文本也缺乏统一归一…...

JMeter 安装及使用 [软件测试工具]

目录 JMeter 1. JMeter 安装 1.1 点击官网下载: JMeter官网下载 1.2 下载后解压即可 1.3 打开 JMeter 1.3.1 方式一: 点击对应程序打开 1.3.2 方式二: 命令行启动 1.4 关闭 JMeter 2. JMeter 基础配置 2.1 修改字体为简体中文 2.2 添加拓展插件 2.2.1 下载其他监听器…...