《知识拓展 · 统一建模语言UML》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗
🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数,欢迎多多交流。👍
文章目录
- 写在前面的话
- UML 简介
- UML 关系
- 1、类图(重要)
- 2、对象图(了解)
- 3、用例图(重要)
- 4、序列图/顺序图(重要)
- 5、通信图/协作图(重要)
- 6、状态图(重要)
- 7、活动图(重要)
- 8、构件图/组件图(一般)
- 9、部署图(一般)
- 10、时序图(一般)
- 所有图知识补充
- 总结陈词
 

写在前面的话
前一篇文章《经验分享 · 软考系统分析师》介绍了博主的软考历程和经验分享,这边顺道把系分和架构里面相当重要的UML统一建模语言的总结分享一下,它是面向对象设计的核心工具。
UML 简介
UML 统一建模语言(记忆)
定义:可视化的建模语言,而非程序设计语言。(考点)
组成:构造块、规则、公共机制,其中构造块有事物、关系、图三种。(考点)
补充:UML的结构包括构造块、规则和公共机制三个部分。在基本构造块中,图能够表示多个相互关联的事物的集合;规则是构造块如何放在一起的规定,包括了命名、范围、可见性、完整性和执行。公共机制中,规格说明是关于事物语义的细节描述。(了解即可)
Tips:下图不用怎么了解,主要考察UML的关系和图。
Tips:事物就是UML各种图里面的单个单个的组成原件,比如类图里面的某个类。


UML 有多少种图(了解)
UML2.0,共14种图,教材介绍了13种,去掉了制品图(描述系统的物理结构),如下图。
其中,静态图8个,动态图6个,4个交互图。
Tips:不用在意数量和类型,不会考察这么肤浅的内容,重点掌握几个重要图的特征。
Tips:特别注意,用例图、类图、活动图、状态图、顺序图几个最为重要,都在下方。

UML 关系
UML 统一建模语言的关系**(重要,4类6种)**
注意:一般类图才用这些关系,用例图有自己的三个关系,泛化、扩展、包含,不能混淆。
注意,几个箭头指向要掌握,特别是泛化、聚合、组合,其他不太好考。


**理解:**一个事物的语义依赖于另一个事物的语义的变化而变化,实心三角形,考的也比较少,如人依赖水。

**理解:**基本有联系都是关联,不会考这个,关联里面有两个特殊的会考,组合和聚合,两者都是部分和整体的关系。

**理解:**雁群和大雁的关系,部分和整体没有共同生命周期,空心菱形,记住空心、聚合、无共同生命。

**理解:**人和头部的关系,部分和整体具有共同的生命周期,整体不存在则部分也不存在,实心菱形,记住实心、组合、有共同生命。
**理解:**组合和聚合要区分开,聚合就理解为大雁聚在一起,变成雁群,组合就是人的头部组成了人。

**理解:**一般和特殊的关系,例如学生和大学生,子类和父类的关系,空心三角形+实线。

**理解:**考的比较少,语言不好描述,不要和泛化弄混了,空心三角形+虚线。

1、类图(重要)
类图是用来描述系统中各个类的静态结构,强调类的属性、方法以及类之间的关系。
静态图,系统的静态设计视图,展现一组类、接口、协作和他们之间的关系。
每个类由类、属性、方法三要素组成。
Tips:类图就是反馈类和类之间的关系,可以看到大量的泛化,1对多等等。
Tips:下图聚合的图标错了,是空心菱形。

2、对象图(了解)
静态图,展现某一时刻一组对象以及他们之间的关系,为类图的一组快照,考的较少。
对象图描述系统中对象的静态结构、属性和操作、以及对象之间的关系。
Tips:如果没类图的话,对象图就是系统的静态设计视图,可以看到类名前面有一个对象名。
Tips:不太重要,一般根据类图建模,很少根据对象图建模。
如下图,很明显,每块上会显示具体的对象,日常开发都在接触对象和类,很好理解。

3、用例图(重要)
用例图是用来描述系统功能和用户之间交互关系的图,强调系统的功能需求。
【用例图基础】
【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。
【目的】用来描述整个系统的功能。
用例图中包含以下三种关系:
- 包含关系使用符号《include》,想要查看订单列表,前提是需要先登录。
- 扩展关系使用符号《extend》,基于查询订单列表的功能,可以增加一个导出数据的功能。
- 泛化关系,子用例继承父用例所有结构、行为和关系。

【用例图补充】
静态图,能完美展现需求,展现了一组用例、参与者以及他们之间的关系。
1、参与者可以是人、硬件或其他系统可以扮演的角色;
Tips:参与者是指在于系统外部并与系统进行交互的任何事物,既可以是使用系统的用户,也可以是其他外部系统和设备等外部实体。SO,应该是外部实体才对。
Tips:真题也有考察,参与者是系统外部和系统进行交互的人或物,不包括内部实体。
2、用例是参与者完成的一系列操作,或理解为功能;
Tips:用例执行有先后顺序,是一种在时间上的依赖关系。
3、用例之间的关系有:扩展、包含、泛化,这是用例图特有的。
Tips:和前面类图的六个关系区分开,没什么关联。
4、A包含B(include),意思是执行A之前必须先做B,B是A的一部分,可以理解为A是主方法,B是子方法;
Tips:更恰当的比喻应该是,做查询动作A如果必须要验证用户权限B,那么A包含B,此时A指向B。
5、A扩展B(extend),意思是B是A的扩展,A完成后,可做可不做B,额外的不是必须的,例如代码在结尾处异步发通知之类的;
Tips:更恰当的比喻应该是,当A满足某条件的时候,触发B,则B是A的扩展,比如付钱的时候余额不足,需要去银行取钱,则取钱是付钱的扩展,B指向A,箭头指向也可以按这个规律记,指向先执行的逻辑。
6、泛化就是父子继承关系,空心三角形。
Tips:用例图上较少呈现,不好举例。


4、序列图/顺序图(重要)
动态图,描述了以时间顺序组织的对象之间的交互。
特征是有对象,对象下面是对象生命线/时间线,有时间顺序关系,生命线上有消息交互。
UML中,序列图的基本元素包括对象、生命线和消息。
三类消息:
1、同步:阻塞调用,调用者中止执行,等待返回消息,实心三角箭头表示;
2、异步:发初消息后,调用者继续执行,不等待返回消息,空心三角箭头表示;
3、返回:由右到左的虚线箭头表示;
Tips:考察的点,也是认图的特征,三种消息,日常开发也用到这三种交互。

【序列图补充】
【概念】序列图根据时间序列展示对象如何进行协作。它展示了在用例的特定场景中,对象如何与其他对象交互。
【目的】通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。
图中展示的是支付宝条码支付场景的序列图。其中,loop是循环,alt是选择,序列图的其他关系这里就不介绍了。

5、通信图/协作图(重要)
动态图,强调参加交互的对象的组织。
注意,也是传递消息,但消息是按序号不是按时间,这是和序列图的区别。
Tips:下图2的方法还拆分为2.1和2.2,应该还是有先后关系。

6、状态图(重要)
状态图,用来描述对象状态和事件之间的关系,强调一个实体基于事件反应的动态行为。
动态图,展现了一个状态机,描述单个对象在多个用例中的行为,包括简单状态和组合状态。
转换可以通过事件触发器触发,事件触发后相应的监护条件会进行检查。
转换和状态是两个独立的概念,如下图,方框代表状态,箭头上的代表触发事件,实心圆点为起点和终点。
Tips:动态图、静态图不用特别去记,会变化的、有交互的,就是动态的。
Tips:事件触发器和监护条件,都满足才会转换,图上没标记就是没条件。

【状态图补充】
【概念】状态机图对一个单独对象的行为建模,指明对象在它的整个生命周期里,响应不同事件时,执行相关事件的顺序。
【目的】用来表示指定对象,在整个生命周期,响应不同事件的不同状态。
图中描述了,门在其生命周期内所经历的状态。

7、活动图(重要)
【活动图】
【概念】描述了具体业务用例的实现流程,展现了系统内一个活动到另一个活动流程。
【目的】用来表示用例实现的工作流程。
图中简单描述了,从开始到登录到查看订单列表,或者登录失败直接结束。

【活动图补充】
下图就是接收订单到结束订单的一个活动图,从一个活动到另外一个活动。
很多元素和状态图很像,所以说活动图是一种特殊的状态图。
并发分岔、并发汇合、监护表达式这几个常考。

8、构件图/组件图(一般)
静态图,为系统的静态实现视图,展现了一组构件之间的组织和依赖关系。
构件可以理解为可以复用的功能模块,由一组类组成,。
关注一下供接口和需接口,前者是提供给外部的,后者是需要外部的。
Tips:图很典型,供接口是一个半个开口的。

9、部署图(一般)
静态图,为系统的静态部署视图,与软件没啥关系,展示物理模块的节点分布。
一个节点包含多个构件,依赖关系类似于包依赖。
Tips:看到硬件,比如数据库等就是部署图,不太重要。

10、时序图(一般)
【时序图】
【概念】时序图被用来显示随时间变化,一个或多个元素的值或状态的更改。也显示时控事件之间的交互和管理它们的时间和期限约束。
【目的】用来表示元素状态或者值随时间的变化而变化的视图。
图中展示了老年痴呆病人随着时间的变化病情的变化。

所有图知识补充
**注意!**下面这张图的关键词再混个眼熟,不然选择题考到还是区分不了。
14种图的介绍(补充,混个眼熟)
(1)类图(class diagram)。类图描述一组类、接口、协作和它们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计视图,活动类的类图给出了系统的静态进程视图。
(2)对象图(object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样,这些图给出系统的静态设计视图或静态进程视图,但它们是从真实案例或原型案例的角度建立的。
(3)构件图(component diagram)。构件图描述一个封装的类和它的接口、端口,以及由内嵌的构件和连接件构成的内部结构。构件图用于表示系统的静态设计实现视图。对于由小的部件构建大的系统来说,构件图是很重要的。构件图是类图的变体。
(4)组合结构图(composite structure diagram)。组合结构图描述结构化类(例如,构件或类)的内部结构,包括结构化类与系统其余部分的交互点。组合结构图用于画出结构化类的内部内容。
(5)用例图(use case diagram)。用例图描述一组用例、参与者及它们之间的关系。用例图给出系统的静态用例视图。这些图在对系统的行为进行组织和建模时是非常重要的。
(6)顺序图(sequence diagram,序列图)。顺序图是一种交互图(interaction diagram),交互图展现了一种交互,它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。
(7)通信图(communication diagram)。通信图也是一种交互图,它强调收发消息的对象或参与者的结构组织。顺序图和通信图表达了类似的基本概念,但它们所强调的概念不同,顺序图强调的是时序,通信图强调的是对象之间的组织结构(关系)。在UML 1.X版本中,通信图称为协作图(collaboration diagram)。
(8)定时图(timing diagram,计时图)。定时图也是一种交互图,它强调消息跨越不同对象或参与者的实际时间,而不仅仅只是关心消息的相对顺序。
(9)状态图(state diagram)。状态图描述一个状态机,它由状态、转移、事件和活动组成。状态图给出了对象的动态视图。它对于接口、类或协作的行为建模尤为重要,而且它强调事件导致的对象行为,这非常有助于对反应式系统建模。
(10)活动图(activity diagram)。活动图将进程或其他计算结构展示为计算内部一步步的控制流和数据流。活动图专注于系统的动态视图。它对系统的功能建模和业务流程建模特别重要,并强调对象间的控制流程。
(11)部署图(deployment diagram)。部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图,通常一个节点包含一个或多个部署图。
(12)制品图(artifact diagram)。制品图描述计算机中一个系统的物理结构。制品包括文件、数据库和类似的物理比特集合。制品图通常与部署图一起使用。制品也给出了它们实现的类和构件。
(13)包图(package diagram)。包图描述由模型本身分解而成的组织单元,以及它们之间的依赖关系。
(14)交互概览图(interaction overview diagram)。交互概览图是活动图和顺序图的混合物。
1. 数据流图 (DFD) - 面向对象分析
描述:通过图形化的方式展示数据在系统中的流动和处理过程,强调数据的输入、输出和存储。
特征:用于表示系统中的数据流动。
包括:过程、数据存储、外部实体和数据流。描述: 描述数据在系统中如何流动和被处理。
特征:层次结构: 可以分解成多个层次,顶层图描述系统整体数据流,下层图逐步细化。抽象性: 关注数据流动和处理过程,不涉及具体实现细节。图形化: 使用标准符号表示数据源、数据存储、数据处理和数据流向。
组成:外部实体: 系统外部与系统交互的人员或系统。数据流: 数据的移动,用箭头表示方向。处理: 对数据的操作或变换,用圆形或矩形表示。数据存储: 数据的静态存储,用平行线表示。[外部实体] --> (过程1) --> [数据存储]
[数据存储] --> (过程2) --> [外部实体]
示例:一个在线购物系统的数据流图,显示用户输入订单信息,系统处理并存储订单。2. 实体关系图 (ER图) - 结构化分析
描述:通过图形化的方式展示系统中的数据结构,帮助理解数据之间的联系和约束。
特征:用于描述数据模型,展示实体及其之间的关系。
包括:实体、属性和关系。描述: 描述系统中数据对象的类型、属性以及它们之间的关系。
特征:数据模型: 描述系统中数据的逻辑结构和关系。概念清晰: 使用实体、属性和关系清晰地表达数据之间的联系。易于理解: 图形化表示易于用户和开发人员理解。
组成:实体: 现实世界中的事物或概念,用矩形表示。属性: 实体的特征或特性,用椭圆形表示。关系: 实体之间的联系,用菱形表示。[客户] --(下单)--> [订单]
[订单] --(包含)--> [产品]
示例:客户与订单之间的关系,订单包含多个产品。3. 状态图 (State Diagram)
描述:通过状态和事件的组合,展示对象如何响应不同的事件并在不同状态之间转换。
特征:描述对象在其生命周期中可能处于的状态及状态之间的转换。
包括:状态、事件和转换。描述:  描述对象对外部事件的响应,以及状态转换的条件和结果。
特征:对象视角: 描述对象在其生命周期内可能处于的状态以及状态之间的转换。事件驱动: 状态转换由事件触发。
组成:状态: 对象生命周期中的一个阶段,用圆角矩形表示。转换: 状态之间的变化,用箭头表示。事件: 触发状态转换的条件,标记在转换箭头上。[初始状态] --> (事件1) --> [状态A]
[状态A] --> (事件2) --> [状态B]
[状态B] --> (事件3) --> [结束状态]
示例:一个订单的状态图,初始状态为“待处理”,经过“处理”后变为“已发货”。4. 活动图 (Activity Diagram)
描述:通过图形化的方式展示活动的顺序和并行执行,强调流程的逻辑和控制流。
特征:描述系统中的工作流或业务过程。
包括:活动、决策节点、开始/结束节点和控制流。描述:  描述系统执行某个用例或操作时的活动流程。
特征:流程建模: 描述系统中活动的顺序流程,可以包含并行活动。行为描述: 可以描述业务流程、算法逻辑等。
组成:活动: 系统执行的任务或操作,用圆角矩形表示。转换: 活动之间的流转,用箭头表示。分支: 根据条件选择不同的活动路径,用菱形表示。并行: 同时执行多个活动,用粗线表示。[开始] --> (活动1) --> (活动2) --> [结束]
(活动2) --> (决策) --> (活动3) --> [结束]
示例:用户注册流程,活动包括填写信息、验证信息和确认注册。5. 用例图 (Use Case Diagram)
描述:通过用例和参与者的关系,展示系统提供的功能及其使用场景,帮助识别系统需求。
特征:描述系统的功能需求及其与外部用户(角色)的交互。
包括:用例、参与者和关系。描述:  描述系统提供的功能以及与用户或其他系统的交互。
特征:用户视角: 描述系统功能,以用户角度出发。交互描述: 展示用户和系统之间的交互。
组成:参与者: 与系统交互的人或系统,用小人表示。用例: 系统提供的功能,用椭圆形表示。关系: 参与者和用例之间的联系,用线段表示。[用户] --(使用)--> (注册用例)
[用户] --(使用)--> (登录用例)
示例:用户可以注册和登录系统。6. 流程图 (Flowchart)
描述:通过图形化的方式展示步骤的顺序和逻辑,适用于简单的流程或算法。
特征:描述过程或算法的步骤和决策。
包括:开始/结束符、过程框、决策框和箭头。描述:  描述算法、业务流程或其他任何需要按步骤执行的任务。
特征:步骤清晰: 使用图形符号清晰地表示算法或流程的每个步骤。 逻辑明确: 使用连接线表示步骤之间的执行顺序。
组成:开始/结束: 流程的起点和终点,用圆形或椭圆形表示。处理步骤: 具体的操作或任务,用矩形表示。判断: 根据条件选择不同的执行路径,用菱形表示。流程线: 连接各个步骤,指示执行顺序,用箭头表示。[开始] --> [步骤1] --> [决策] --> (是) --> [步骤2] --> [结束]|(否)|[步骤3] --> [结束]
示例:一个简单的决策流程,判断用户是否满足条件。7. 顺序图 (Sequence Diagram) 又称时序图 (Timing Diagram)
描述:通过时间轴展示对象之间的消息传递,强调交互的时间顺序。
特征:描述对象之间的交互及其顺序。
包括:对象、消息和时间线。描述:  描述对象之间为了完成某个目标而进行的交互,重点在于消息的时序。
特征:时间顺序: 强调消息传递的时间顺序,描述对象之间如何交互。交互建模: 展示对象之间发送和接收消息的序列。
组成:对象: 参与交互的对象,用矩形表示。
[用户] -> [系统] : 登录()
[系统] -> [数据库] : 验证用户()
[数据库] -> [系统] : 返回结果
[系统] -> [用户] : 登录成功
示例:用户登录过程中的消息传递。
总结陈词
💗 本篇文章介绍了统一建模语言UML的技术分享,希望可以帮助到大家。
💗 后续会逐步分享企业实际开发中的实战经验,有需要交流的可以联系博主。

相关文章:
 
《知识拓展 · 统一建模语言UML》
📢 大家好,我是 【战神刘玉栋】,有10多年的研发经验,致力于前后端技术栈的知识沉淀和传播。 💗 🌻 CSDN入驻不久,希望大家多多支持,后续会继续提升文章质量,绝不滥竽充数…...
 
计算机网络-Wireshark探索ARP
使用工具 Wiresharkarp: To inspect and clear the cache used by the ARP protocol on your computer.curl(MacOS)ifconfig(MacOS or Linux): to inspect the state of your computer’s network interface.route/netstat: To inspect the routes used by your computer.Brows…...
 
减少30%人工处理时间,AI OCR与表格识别助力医疗化验单快速处理
在医疗行业,化验单作为重要的诊断依据和数据来源,涉及大量的文字和表格信息,传统的手工输入和数据处理方式不仅繁琐,而且容易出错,给医院的运营效率和数据准确性带来较大挑战。随着人工智能技术的快速发展,…...
 
1.2.3计算机软件
一个完整的计算机系统由硬件和软件组成,用户使用软件,而软件运行在硬件之上,软件进一步的划分为两类:应用软件和系统软件。普通用户通常只会跟应用软件打交道。应用软件是为了解决用户的某种特定的需求而研发出来的。除了每个人都…...
二、uni-forms
避坑指南:uni-forms表单在uni-app中的实践经验-CSDN博客...
 
Android13开机向导
文章目录 前言需求-场景第三方资料说明需求思路按照平台 思路 从配置上去 feature换个思路,去feature。SimMissingActivity 判断跳过逻辑SetupWizardUtils 判断SIM 、 hasSystemFeature FEATURE_TELEPHONYPackageManager.FEATURE_TELEPHONYApplicationPackageManage…...
软件测试丨Appium 源码分析与定制
在本文中,我们将深入Appium的源码,探索它的底层架构、定制化使用方法和给软件测试带来的优势。我们将详细介绍这些技术如何解决实际问题,并与大家分享一些实用的案例,以帮助读者更好地理解和应用这一技术。 Appium简介 什么是App…...
 
1.网络知识-IP与子网掩码的关系及计算实例
IP与子网掩码 说实话,之前没有注意过,今天我打开自己的办公地电脑,看到我的网络配置如下: 我看到我的子网掩码是255.255.254.0,我就奇怪了,我经常见到的子网掩码都是255.255.255.0啊?难道公司配…...
Android中Gradle常用配置
前言 本文记录了一些常用的gradle配置,基本上都是平时开发中可能会使用到的,如果有新内容会不定时更新,附官网 1.依赖库版本写法 不推荐写法: dependencies {compile com.example.code.abc:def:2. // 不推荐的写法 }这样写虽然可…...
 
Linux操作系统3-文件与IO操作2(文件描述符fd与文件重定向)
上篇文章:Linux操作系统3-文件与IO操作1(从C语言IO操作到系统调用)-CSDN博客 本篇代码Gitee仓库:myLerningCode 橘子真甜/Linux操作系统与网络编程学习 - 码云 - 开源中国 (gitee.com) 本篇重点:文件描述符fd与文件重定向 目录 一. 文件描述…...
k8s调度策略
调度策略 binpack(装箱策略) Binpacking策略(又称装箱问题)是一种优化算法,用于将物品有效地放入容器(或“箱子”)中,使得所使用的容器数量最少,Kubernetes等集群管理系…...
 
uniapp中父组件传参到子组件页面渲染不生效问题处理实战记录
上篇文件介绍了,父组件数据更新正常但是页面渲染不生效的问题,详情可以看下:uniapp中父组件数组更新后与页面渲染数组不一致实战记录 本文在此基础上由于新增需求衍生出新的问题.本文只记录一下解决思路. 下面说下新增需求方便理解场景: 商品信息设置中添加抽奖概率设置…...
 
螺丝螺帽缺陷检测识别数据集,支持yolo,coco,voc三种格式的标记,一共3081张图片
螺丝螺帽缺陷检测识别数据集,支持yolo,coco,voc三种格式的标记,一共3081张图片 3081总图像数 数据集分割 训练组90% 2781图片 有效集7% 220图片 测试集3% 80图片 预处理…...
 
一个简单带颜色的Map
越简单 越实用。越少设计,越易懂。 需求背景: 创建方法,声明一个hashset, 元素为 {“#DE3200”, “#FA8C00”, “#027B00”, “#27B600”, “#5EB600”} 。 对应的key为 key1 、key2、key3、key4、key5。 封装该方法,…...
 
kubeadm安装K8s集群之基础环境配置
系列文章目录 1.kubeadm安装K8s集群之基础环境配置 2.kubeadm安装K8s集群之高可用组件keepalivednginx 3.kubeadm安装K8s集群之master节点加入 4.kubeadm安装K8s集群之worker1节点加入 kubeadm安装K8s集群基础环境配置 1.首先确保所有机器可以通信,然后配置主机host…...
 
前端实现在线预览excel文件
在前端开发中,经常会遇到需要在线预览各种文件的需求。本文将介绍如何使用前端技术实现在线预览 Excel 文件的功能。 一、基于微软office服务的excel预览 获取要预览的 Excel 文件的 URL(例如存储在 OneDrive 或 SharePoint 上的文件)。 使…...
 
关于idea-Java-servlet-Tomcat-Web开发中出现404NOT FOUND问题的解决
在做web项目时,第一次使用servlet开发链接前端和后端的操作,果不其然,遇到了诸多问题,而遇到最多的就是运行项目打开页面时出现404NOT FOUND的情况。因为这个问题我也是鼓捣了好久,上网查了许多资料才最终解决…...
 
SCRM私域流量管理工具助力企业微信电商转型升级
内容概要 在当今数字化时代,SCRM(社交客户关系管理)私域流量管理工具正逐渐成为企业转型的重要助力。尤其是在电商领域,企业微信的兴起为许多公司打开了新的销售渠道,通过SCRM系统的高效整合,企业能够更加…...
三相异步电动机为什么能够旋转?
三相异步电动机,作为一种广泛应用于工业、农业及其他领域的电动机,其工作原理的理解对于工程技术人员以及相关从业者来说至关重要。 一、三相异步电动机的基本结构 三相异步电动机主要由定子、转子和机壳组成。定子是电动机的静止部分,包含…...
 
优化移动端H5:常见问题与解决方案
移动端H5开发中的“坑”与解决方案 本文介绍了开发中遇到的几个关于移动端H5开发中的小问题,以及解决的方法。 一、iOS滑动不流畅问题 在iOS设备上,H5页面的滑动效果有时会出现不流畅的情况,特别是在页面高度超过一屏时。这通常是由于iOS的…...
 
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
 
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
 
渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止
<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet: https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...
 
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
Python 包管理器 uv 介绍
Python 包管理器 uv 全面介绍 uv 是由 Astral(热门工具 Ruff 的开发者)推出的下一代高性能 Python 包管理器和构建工具,用 Rust 编写。它旨在解决传统工具(如 pip、virtualenv、pip-tools)的性能瓶颈,同时…...
 
论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing
Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...
 
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
 
spring Security对RBAC及其ABAC的支持使用
RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型,它将权限分配给角色,再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...
