【信息系统项目管理师】第5章:信息系统工程 考点梳理
文章目录
- 5.1 软件工程
- 5.1.1 架构设计
- 1、软件架构风格
- 2、软件架构评估
- 5.1.2 需求分析
- 1、需求的层次
- 2、需求过程(重点)
- 3、UML事务、关系和视图
- 4、面向对象分析
- 5.1.3 软件设计
- 1、结构化设计
- 2、面向对象设计
- 3、设计模式
- 5.1.4 软件实现
- 1、软件配置管理
- 2、软件编码
- 3、软件测试
- 5.1.5 部署交付
- 1、软件部署与交付
- 2、持续交付
- 3、持续部署
- 4、部署与交付的新趋势
- 5.1.6 过程管理
- 1、成熟度模型(CSMM)
- 2、成熟度等级
- 5.2 数据工程
- 5.2.1 数据建模
- 1、数据模型
- 2、数据建模过程
- 5.2.2 数据标准化(重点)
- 1、元数据标准化
- 2、数据元标准化
- 3、数据模式标准化
- 4、数据分类与编码标准化
- 5、数据标准化管理
- 5.2.3 数据运维
- 1、数据存储
- 2、数据备份
- 3、数据容灾
- 4、数据质量评价与控制
- 5.2.4 数据开发利用
- 1、数据集成
- 2、数据挖掘
- 3、数据服务
- 4、数据可视化
- 5、信息检索
- 5.2.5数据库安全
- 1、数据库安全威胁
- 2、数据库安全机制
- 5.3 系统集成
- 5.3.1 集成基础
- 5.3.2 网络集成
- 5.3.3 数据集成
- 5.3.4 软件集成
- 5.3.5 应用集成
- 5.4 安全工程
- 5.4.1工程概述
- 5.4.2 安全系统
- 5.4.3 工程基础
- 5.4.4 工程体系架构
5.1 软件工程
5.1.1 架构设计
软件工程的定义:将 系统的、规范的、可度量 的工程化方法应用于软件开发、运行和维护的全过程及上述方法的研究。软件工程由 方法、工具和过程 三个部分组成。
软件架构为软件系统提供了一个结构、行为和属性的高级抽象,由构件的描述、构件的相互作用(连接件)、指导构件集成的模式以及这些模式的约束组成。软件架构不仅指定了系统的组织结构和拓扑结构,并且显示了系统需求和构件之间的对应关系,提供了一些设计决策的基本原理。
软件架构研究的主要内容涉及 软件架构描述、软件架构风格、软件架构评估和软件架构的形式化方法 等。解决好 软件的复用、质量和维护问题,是研究软件架构的根本目的。
1、软件架构风格
软件架构设计的一个核心问题是能否达到架构级的软件复用,也就是说,能否在不同的系统中使 用同一个软件架构。
软件架构设计的一个核心问题是能否达到架构级的软件复用。 软件架构分为 数据流风格、调用/返回风格、独立构件风格、虚拟机风格和仓库风格。
- (1)
数据流风格
。数据流风格包括批处理序列和管道/过滤器两种风格。 - (2)
调用/返回风格
。主程序/子程序、数据抽象和面向对象,以及层次结构。 - (3)
独立构件风格
。独立构件风格包括进程通信和事件驱动的系统。 - (4)
虚拟机风格
。虚拟机风格包括解释器和基于规则的系统。 - (5)
仓库风格
。仓库风格包括数据库系统、黑板系统和超文本系统。
2、软件架构评估
软件架构评估可以只针对一个架构,也可以针对一组架构。在架构评估过程中,评估人员所关注的是系统的质量属性 。
敏感点和权衡点
:敏感点是一个或多个构件(或之间的关系)的特性,权衡点是影响多个质量属性的特性,是多个质量属性的敏感点。如:改变加密级别可能会对安全性和性能产生影响,则加密级别可能是一个权衡点。
从目前已有的软件架构评估技术来看,可以归纳为三类主要的评估方式,分别是基于 调查问卷(或检查表)的方式、基于场景的方式和基于度量的方式 。这三种评估方式中,基于场景的评估方式最为常用。
基于场景的方式主要包括:架构权衡分析法(ATAM)、软件架构分析法(SAAM)成本效益分析法(CBAM)。 在架构评估中,一般采用刺激、环境和响应三方面来对场景进行描述。
不同的系统对同一质量属性的理解可能不同,因此,基于场景的评估方式是特定于领域的。
5.1.2 需求分析
软件需求是指用户对新系统在功能、行为、性能、设计约束等方面的期望。
1、需求的层次
软件需求包括 业务需求、用户需求和系统需求。
质量功能部署(QFD)
是一种将用户要求转化成软件需求的技术,其目的是最大限度地提升软件工程过程中用户的满意度。QFD将软件需求分为三类,分别是 常规需求、期望需求和意外需求。
2、需求过程(重点)
需求过程主要包括 需求获取、需求分析、需求规格说明书编制、需求验证与确认等。
1)需求获取
:需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。 常见的需求获取方法包括用户访谈、问卷调查、采样、情节串联板、联合需求计划等
2)需求分析
:把杂乱无章的用户要求和期望转化为用户需求。
结构化分析(SA):其建立的模型的核心是数据字典。有三个层次的模型,分别是 数据模型,功能模型和行为模型(也称为状态模型)。面向对象的分析包括用例模型和分析模型。
模型 | 表示图形 | 作用 |
---|---|---|
数据模型 | 实体联系图(E-R图) | 描述实体、属性,以及实体之间的关系 |
功能模型 | 数据流图(DFD) | 从数据传递和加工的角度,利用图形符号通过逐层细分描述系统内各个部件的功能和数据在它们之间传 递的情况,来说明系统所完成的功能 |
行为模型 | 状态转换图(STD) | STD通过描述素统的状态和引起系统状态转换的事 性,来表示系统的行为,指出作为 特定事件的结果将执行哪些动作 |
3)需求规格说明书编制
软件需求规格说明书(SoftwareRequirementSpecification, SRS) :是需求开发活动的产物,SRS应该 包括以下内容。(1)范围。(2)引用文件。(3)需求。(4)合格性规定。(5)需求可追踪性。(6)尚 未解决的问题。(7)注解。(8)附录。
4)需求验证与确认
需求验证也称为需求确认,一般通过需求评审和需求测试工作来对需求进行验证。需求评审就是对SRS进行技术评审。
3、UML事务、关系和视图
统一建模语言(UML) 是一种定义良好、易于表达、功能强大且普遍适用的建模语言。从总体上来看 UML的结构包括 构造块、规则和公共机制 三个部分。
UML有三种基本的构造块,分别是 事物(Thing)、关系(Relationship)和图(Diagram) 。 事物是UML的重要组成部分,关系把事物紧密联系在一起,图是多个相互关联的事物的集合。
1)UML中的事物
UML中的事物也称为建模元素,包括结构事物(Structural Things)、行为事物(Behavioral Things,也称动作事物)、分组事物(Grouping Things)和注释事物 (Annotational Things,也称注解事物)。
2)UML中的关系
(1)依赖(Dependency)。一个事物发生变化会影响另一个事物的语义。
(2)关联(Association)。关联描述组对象之间连接的结构关系。
(3)泛化(Generalization)。泛化是一般化和特殊化的关系,描述特殊元素的对象可替换一般元素的对象。
(4)实现(Realization)。实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。
3)UML2.0 中的图
UML2.0包括14种图:类图、对象图、构件图、组合结构图、用例图、顺序图、通信图、定时图、状态图、活动图、部署图、制品图、包图、交互概览图。
4)UML视图
UML视图 | 释义【熟悉】 |
---|---|
逻辑视图 | 也称为设计视图,表示设计模型中在架构方面具有重要意义的部分,即 类、子系统、包和用例实现的子集。 |
进程视图 | 进程视图是可执行线程和进程作为活动类的建模,它是逻辑视图的一次执 行实例,描述了并发与同步结构。 |
实现视图 | 实现视图对组成基于系统的物理代码的 文件和构件进行建模 |
部署视图 | 部署视图把构件部署到一组物理节点上,表示 软件到硬件的映射和分布结构 |
用例视图 | 用例视图是 最基本的需求分析模型。 |
4、面向对象分析
面向对象分析阶段的核心工作是: 建立系统的用例模型与分析模型
1)用例模型
在 OOA方法中,构建用例模型一般需要经历四个阶段,分别是 识别参与者、合并需求获得用例、细化用例描述和调整用例模型,其中前三个阶段是必须的。
- 识别参与者(与系统交互的所有事务,参与者是系统外的)
- 合并需求获得用例(为每个参与者确定用例)
- 细化用例描述(书写用例规约,不是画图)
- 调整用例模型(利用用例之间的关系来调整用例模型)。
2)分析模型
类之间的主要关系有 关联、依赖、泛化、聚合、组合和实现 等
5.1.3 软件设计
1、结构化设计
结构化设计(SD)是一种面向数据流的方法,它以SRS和SA阶段所产生的DFD和数据字典等文档为基础,是一个自顶向下、逐步求精和模块化的过程。
在SD中,需要遵循一个基本的原则:高内聚,低耦合。内聚表示模块内部各成分之间的联系程度,是从功能角度来度量模块内的联系,耦合表示模块之间联系的程度。
2、面向对象设计
面向对象设计OOD基本思想包括抽象、封装和可扩展性,其中可扩展性主要通过继承和多态来实现。在 OOD中,数据结构和在数据结构上定义的操作算法封装在一个对象之中。 由于现实世界中的事物都可以抽象出对象的集合,所以OOD方法 是一种更接近现实世界、 更自然的软件设计方法。
常用的OOD原则包括:
单职原则
:设计功能单一的类。本原则与结构化方法的高内聚原则是一致的。开闭原则
:对扩 展开放,对修改封闭。李氏替换原则
:子类可以替换父类。(也称里氏替换原则,子类可以扩展父类的功能,但不改变父类原有的功能,子类继承父类时,除添加新方法外,尽量不重写父类的方法)。依赖倒置原则
:要依赖于抽象,而不是具体实现;要针对接口编程,不要针对实现编程。接口隔离原则
:使用多个专门的接口比使用单一的总接口要好。组合重用原则
:要尽量使用组合,而不是继承关系达到重用目的。迪米特原则(最少知识法则)
:一个对象应当对其他对象有尽可能少的了解。本原则与结构化方法的低耦合原则是一致的。
3、设计模式
设计模式是前人经验的总结,它使人们可以方便地复用成功的软件设计。根据处理范围不同,设计模式可分为 类模式和对象模式。类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,属于静态关系。对象模式处理对象之间的关系,这些关系在运行时刻变化,更具动态性。
根据目的和用途不同,设计模式可分为 创建型(Creational)模式、结构型(Structural)模式和行为型(Behavioral)模式 三种。
- ①创建型模式主要用于创建对象
- ②结构型模式主要用于处理类或对象的组合
- ③行为型模式主要用于描述类或对象的交互以及职责的分配
5.1.4 软件实现
1、软件配置管理
软件配置管理活动包括 软件配置管理计划、软件配置标识、软件配置控制、软件配置状态记录、 软件配置审计、软件发布管理与交付 等活动。 软件配置管理计划:制订需要了解组织结构环境和组织单元之间的联系,明确软件配置控制任务。
- 软件配置管理计划:明确软件配置控制任务
- 软件配置标识:识别要控制的配置项,并为这些配置项及其版本建立基线
- 软件配置控制:管理软件生命周期中的变更
- 软件配置状态记录:标识、收集、维护并报告配置管理的配置状态信息
- 软件配置审计:评价软件产品和过程是否遵从已有的规则、标准、指南、计划和 流程而进行的活动
- 软件发布管理和交付:创建特定的交付版本, 完成此任务的关键是软件库
2、软件编码
编码就是把软件设计的结果翻译成计算机可以“理解和识别”的形式— 用某种程序设计语言书写的程序。
程序的质量主要取决于软件设计的质量。
(1)程序设计语言。编码之前的一项重要工作就是选择一种恰当的程序设计语言。
(2)程序设计风格。包括4个方面:源程序文档化、数据说明、语句结构和输入/输出方法。 应尽量从编码原则的角度提高程序的可读性,改善程序的质量。
(3)程序复杂性度量。定量度量的结构可以用于比较两个不同设计或两种不同算法的优劣 程序的定量的复杂程度可以作为模块规模的精确限度。
(4)编码效率。编码效率主要包括:①程序效率;②算法效率;③存储效率;④I/O效率
3、软件测试
软件测试的目的 是验证软件是否满足软件开发合同或项目开发计划、系统/子系统设计文档、SRS、 软件设计说明和软件产品说明等规定的软件质量要求。通过测试发现软件缺陷,为软件产品的质 量测量和评价提供依据。
软件测试方法可分为 静态测试和动态测试。
静态测试
是指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试包括对文档的静态测试和对代码的静态测试。对代码的静态测试一般采用:
- 桌前检查(Desk Checking):对程序执行情况进行人工模拟,用逐步检查源代码中有无逻辑或语法错误的办法来检测故障。
- 代码走查:在代码走查的过程中,开发人员向其他人来阐述他们的代码。
- 代码审查:对计算机源代码系统化地审查,常用软件同行评审的方式进行,找出及修正在软件 开发初期未发现的错误。
动态测试
是指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。白盒测试也称为结构测试,主要用于软件单元测试中。
白盒测试
:方法主要有控制流测试、数据流测试和程序变异测试等。白盒测试方法中,最常用的技术是逻辑覆盖,即使用测试数据运行被测程序,考查对程序逻辑的覆盖程度。使用静态测试的方法也可以实现白盒测试。例如:使用人工检查代码的方法来检查代码的逻辑问题,也属于白盒测试的范畴。
黑盒测试
也称为功能测试,主要用于 集成测试、确认测试和系统测试 中。黑盒测试将程序看作是一个不透明的黑盒,完全不考虑(或不了解)程序的内部结构和处理算法,而只检查程序功能是否能按照SRS的要求正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息(例如,文件和数据库等)的完整性等。黑盒测试根据SRS所规定的功能来设计测试用例,一般包括等价类划分、边界值分析、判定表、因果图、状态图、随机测试、 猜错法和正交试验。
5.1.5 部署交付
需求和市场的不断变化导致软件的部署和交付不再是一个一劳永逸的过程,而是二谓续丕 断的过程, 伴 旗在整个软件的开发过程中。
1、软件部署与交付
软件部署与交付属于软件开发的后期活动, 即通过配置、安装和激活等活 动来保障软件制品的后续运行。
2、持续交付
持续交付是一系列开发实践方法,用来确保让代码能够快速、安全地部署到生产环境中。
持续交付是一个完全自动化的过程,当业务开发完成的时候,可以做到一键部署。国内外的主流互联网组织的部署周期都以分钟为单位,互联网巨头组织单日的部署频率都在8000 次以上,部分组织达20000次以上。高频率的部署代表着能够更快更好地响应客户需求。
3、持续部署
1)持续部署方案 容器技术目前是部署中最流行的技术,常用的持续部署方案有Kubernetes+Docker和 Matrix系统两种。
首先要明确部署的目的并不是部署一个可工作的软件,而是部署一套可正常运行的环境。
2)部署层次。完整的镜像部署包括三个环节:Build — Ship — Run。
- Build:跟传统的编译类似,将软件编译形成RPM包或者Jar包;
- Ship:则是将所需的第三方依赖和第三方插件安装到环境中;
- Run:就是在不同的地方启动整套环境。
制作完成部署包之后,每次需要变更软件或者第二方依赖以及插件升级
3)不可变服务器。指除了更新和安装补丁程序以外,不对服务器进行任何更改。主要通过容器解决原虚拟机第三方依赖库的重构问题。
4)蓝绿部署和金丝雀部署
蓝绿部署
是指在部署的时候准备新旧两个部署版本,通过域名解析切换的方式将用户使用环境切 换到新版本中,当出现问题的时候,可以快速地将用户环境切回旧版本,并对新版本进行修复和 调整。
金丝雀部署
是指当有新版本发布的时候,先让少量用户使用新版本,并且观察新版本是否存在问 题。如果出现问题,就及时处理并重新发布;如果一切正常,就稳步地将新版本适配给所有的用户
4、部署与交付的新趋势
持续集成、持续交付和持续部署的出现及流行反映了新的软件开发模式与付的新趋势发展趋势,主要表现为: 工作职责和人员分工的转变;大数据和云计算基础设施的普及进一步给部署带来新的飞跃;研发运维的融合。
5.1.6 过程管理
常见的软件过程管理方法和实践包括国际常用的能力成熟度模型集成(CMMI详见本书20.5.1节) 和中国电子工业标准化技术协会发布的T/CESA1159《软件过程能力成熟度模型》团体标准,简称 CSMMO
1、成熟度模型(CSMM)
能力域 | 能力子域 |
---|---|
治理 | 战略与治理、目标管理 |
开发与交付 | 需求、设计、开发、测试、部署、服务、开源应用 |
管理与支持 | 目策划、项目监控、项目结项、质量保证、风险管理、配置管理、供应商管理 |
组织管理 | 过程管理、人员能力管理、组织资源管理、过程能力管理 |
2、成熟度等级
等级 | |
---|---|
1级 初始级 | 结果:软件过程和结果具有不确定性。 行为:没有完整管理规范,依赖个人。 |
2级 项目规范级 | 结果:项目基本可按计划实现预期的结果 行为: 有一定的管理规范 |
3级 组织改进级 | 结果:在组织范围内能够稳定地实现预期的项目目标 行为: 能够根据自身特征,持续改进 |
4级 量化提升级 | 结果:能够量化地管理和实现预期的组织和项目目标 行为: 能够建立量化的质量与过程绩效目标,预测结果 |
5级 创新引领级 | 结果:实现组织业改目报的接续提升,引领行业发展 行为: 组织自身软件建设经验作为行业最佳案例进行推广 |
5.2 数据工程
数据工程是信息系统的基础工程。围绕数据的生命周期,规范数据从产生到应用的全过程,目标是为信息系统的运行提供可靠的数据保障和服务,为信息系统之间的数据共享提供安全、高效的支撑环境,为信息系统实现互连、互通、互操作提供有力的数据支撑。它是实现这些目标的一系列技术、方法和工程建设活动的总称。
5.2.1 数据建模
1、数据模型
根据模型应用目的不同,可以将数据模型划分为三类:概念模型、逻辑模型和物理模型。
-
1)
概念模型
。 概念模型也称信息模型,它是按用户的观点来对数据和信息建模,也就是说,把现实世界中的客 观对象抽象为某一种信息结构,这种信息结构不依赖于具体的计算机系统,也不对应某个具体的 DBMS,它是概念级别的模型。P147如实体-学生、老师、院系,属性:学号、姓名,数据及关联 -
2)
逻辑模型
。 逻辑模型是在概念模型的基础上 确定模型的数据结构,目前主要的数据结构有层次模型、网状模型、关系模型、面向对象模型和对象关系模型。其中,关系模型成为目前最重要的一种逻辑数据 模型。如:概念转成关系模型结构中关系模式(数据表) -
3)
物理模型
。 物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构 设计,真正实现数据在数据库中的存放。物理模型的基本元素包括 表、字段、视图、索引、存储过程、 触发器 等,其中表、字段和视图等元素与逻辑模型中基本元素有一定的对应关系。
2、数据建模过程
数据建模过程包括 数据需求分析、概念模型设计、逻辑模型设计和物理模型设计 等过程。
数据需求分析
:数据需求分析是数据建模的起点。数据需求分析采用数据流图作为工具,描述系统中数据的流动和变化,强调数据流和处理过程。概念模型设计
:将需求分析得到结果抽象为概念模型的过程就是概念模型设计,其任务是确定实体和数据及其关联。逻辑模型设计
:逻辑模型设计的任务就是 将概念模型中实体、属性和关联转换为关索模型结构中的关系模式。物理模型设计
:将数据模型转换为真正的数据库结构, 物理模型考虑的主要问题包括命名、确定字段类型和编写必要的存储过程与触发器等。
5.2.2 数据标准化(重点)
数据标准化是实现数据共享的基础, 为信息在异构系统之间实现语义互操作提供基础支撑。 数据标准化的主要内容包括 元数据标准化、数据元标准化、数据模式标准化、数据分类与编 码标准化和数据标准化管理。
1、元数据标准化
元数据最简单的定义是:元数据是关于数据的数据(Data About Data)。实质是用于描述信息资源或数据的内容、覆盖范围、质量、管理方式、数据的所有者、数据的提供方式等有关的信息。例如:数据库表名称、字段类型等。
2、数据元标准化
①开放系统互连环境(OSIE)四要素:硬件、软件、通信和数据。
②数据元:是数据库、文件和数据交换的基本数据单元。数据库或文件由记录或元组等组成,而记录或元组则由数据元组成。数据元是在数据库或文件之间进行数据交换时的基本组成。
③数据元一般来说由三部分组成:对象、特性和表示 。
数据元提取方法有两种:自上而下和自下而上提取法。对于新建系统的数据元提取, 一般适用“自上而下”的提取法。
3、数据模式标准化
① 数据模式是数据的既念、组成、结构和相互关系的总称。从数据的逻辑层面对数据集的内容、组成及其结构信息,进行合理的、规范的、本质上的说明和描述。
②数据模式的描述方式主要有 图描述方法和数据字典方法。图描述方法常用的有 IDEFIX方法和UML图,主要用来描述数据集中的实体和实体之间的相互关系;数据字典形式用来描述模型中的数据集、单个实体、属性的摘要信息。
4、数据分类与编码标准化
①数据分类是根据内容的属性或特征,将数据按一定的原则和方法进行区分和归类 , 并建立起一定的分类体系和排列顺序。
②数据分类有 分类对象和分类依据 两个要素。
③数据编码是将事物或概念(编码对象)赋予具有一定规律和易于计算机、人识别处理的符号,形成代码元素集合。
④ 数据分类与编码标准化是简化信息交换、实现信息处理和信息资源共享的重要前提、是建立各种信息管理系统的重要技术基础和信息保障依据
数据分类与编码标准化是简化信息交换、实现信息处理和信息资源共享的重要前提,是建立各种 信息管理系统的重要技术基础和信息保障依据。数据分类与编码的作用主要包括用于信息系统的 共享和互操作,统一数据的表示法和提高信息处理效率。
5、数据标准化管理
数据标准化阶段的具体过程包括 确定数据需求、制定数据标准、批准数据标准和实施数据标准 四个阶段。
- ①
确定数据需求
:将产生数据需求及相关的元数据、域值等文件。 - ②
制定数据标准
:要处理“确定数据需求”阶段提出的数据需求。如果现有的数据标准不能满足该数据需求,可以建议制定新的数据标准,也可建议修改或者封存已有数据标准。 - ③
批准数据标准
:数据管理机构对提交的数据标准建议、现行数据标准的修改或封存建议进行审查一经批准,该数据标准将扩充或修改数据模型。 - ④
实施数据标准
:在各信息系统中实施和改进已批准的数据标准。
5.2.3 数据运维
1、数据存储
(1)数据存储介质。数据存储首先要解决的是存储介质的问题。存储介质是数据存储的载体,是数据存储的基础。存储介质并不是越贵越好、越先进越好。存储介质的类型主要有磁带、光盘和 磁盘三种。
(2)存储管理。如何提高存储系统的访问性能,如何满足数据量不断增长的需要,如何有效的保护数据、提高数据的可用性,如何满足存储空间的共享等。存储管理的主要内容:资源调度管理、存储资源管理、负载均衡管理、安全管理。
2、数据备份
数据备份是为了防止由于用户操作失误、系统故障等意外原因导致的数据丢失 而将整个应用系统的数据或一部分关键数据复制到其他存储介质上的过程。
当前最常见的数据备份结构可以分为四种:
DAS备份结构
、基于LAN的备份结构
、LAN-FREE备份结构
【针对SAN架构,快速随机存储设备(磁盘阵列)向备份存储设备(磁带库)复制】和SERVER- FREE备份结构
【针对SAN架构,无服务器备份技术,可在两个存储设备之间直接传输】
常见的备份策略主要有三种:完全备份、差分备份【相对上一次全备份之后新增的和修改过的数据】和增量备份【上一次备份(注意不是全备份)后增加的和修改过的数据,恢复时需要全部增 量都恢复】
3、数据容灾
根据容灾系统保护对象的不同,容灾系统分为 应用容灾和数据容灾 两类。数据备份是数据容灾的基础。容灾不是简单备份。
衡量容灾系统有两个主要指标:RPO (Recovery Point Object)和RTO (Recovery TimeObject),其中RPO代表了当灾难发生时允许丢失的数据量;而RTO则代表了系统恢复的时间。
4、数据质量评价与控制
数据质量评价与控制包括:
1)数据质量描述
(分为 数据质量定量元素和非定量元素 )
2)数据质量评价过程
(确定质量元素和质量范围、确定度量方法、选择评价方法、确定质量结果、 决定一致性等步骤)
3)数据质量评价方法
(直接和间接评价法)
4)数据质量控制
(前期控制和后期控制)
5)数据清理
(使数据实现准确性、完整性、一致性、唯一性、适时性、有效性以适应后续操作的过程。主要包括:数据分析、数据检测和数据修正 三个步骤)。
5.2.4 数据开发利用
1、数据集成
数据集成就是将驻留在不同数据源中的数据进行整合,向用户提供统一的数据视图 (一般称为全局模式),使得用户能以透明的方式访问数据。
2、数据挖掘
数据挖掘是指从大量数据中提取或“挖掘”知识。(如个人信用信息的挖掘)它把人们对数据的从低层次的简单查询,提升到从数据库挖掘知识,提供决策支持层面。数据挖掘是一门交叉学科,其过程涉及数据库、人工智能、数理统计、可视化、并行计算等多种技术。
数据挖掘的目标是:发现隐藏于数据之后的规律或数据间的关系,从而服务于决策。
数据挖掘主要任务:数据总结、关联分析、分类和预测、聚类分析和孤立点分析。
数据挖掘流程:确定分析对象、数据准备、数据挖掘、结果评估与结果应用五阶段。
3、数据服务
数据服务主要包括数据 目录服务、数据查询与浏照及下载服务、数据分发服务。
- 1)
数据目录服务
:是用来快捷地发现和定位所需数据资源的一种检索服务,是实现数据共享的重要基础功能服务之一 。 - 2)
数据查询与浏览及下载服务
:是网上数据共享服务的重要方式,用户使用数据的方式有查询数据和下载数据两种 。 - 3)
数据分发服务
:数据的生产者通过各种方式将数据传送到用户的过程。分发服务的核心内容包括数据发布、数据发现、数据评价和数据获取。
4、数据可视化
数据可视化:将抽象的事物或过程变成图形图像的表示方法。
视化的表现方式分为七类:一维数据可视化、二维数据可视化、三维数据可视化、多维数据可视化、时态数据可视化、层次数据可视化和网络数据可视化。
-
1、一维数据可视化
:一维数据就是简单的线性数据,如文本或数字表格、程序源代码都基于 一维数据。一维数据可视化取决于数据大小和用户想用数据来处理什么任务 -
2、二维数据可视化
:在数据可视化中,二维数据是指由两种主要描述属性构成的数据,如一个物体的宽度和高度、一个城市的平面地图、建筑物的楼层平面图等都是二维数据可视化的实例。最常见的二维数据可视化就是地理信息系统(Geographic Information System,GIS)。 -
3、三维数据可视化
:三维数据比二维数据更进了一层,它可以描述立体信息。三维数据可以 三维数据 表示实际的三维物体,因此可视化的许多应用是三维可视化。物体通过三维可视化构成计算机模型,供操作及试验,以此预测真实物体的实际行为。 -
4、多维数据可视化
:在可视化环境中,多维数据所描述事物的属性超过三维,为了实现可视化,往往需要降维 -
5、时态数据可视化
:时态数据实际上是二维数据的一种特例,即二维中有一维是时间轴。它以图形方式显示随着时间变化的数据,是可视化信息最常见、最有用的方式之一。 -
6、层次数据可视化
:层次数据即树形数据,其数据内在结构特征为:每个节点都有一个父节点(根节点除外)。节点分兄弟节点(拥有同一个父节点的节点)和子节点(从属该节点的节点)。拥有这种结构的数据很常见,如商业组织、计算机文件系统和家谱图都是按树形结构排列的层次数据。 -
7、网络数据可视化
:网络数据指与任意数量的其他节点有关系的节点的数据。网络数据中的节点不受与它有关系的其他节点数量的约束(不同于层次节点有且只有一个父节点),网络数据没有固有的层次结构,两个节点之间可以有多条连接路径,也就是说节点间关系的属性和数量是可变的。
5、信息检索
信息检索的方法:全文检索、字段检索、基于内容的多媒体检索、数据挖掘。
信息检索的常用技术:包括 布尔逻辑检索技术、截词检索技术、临近检索技术、 限定字段检索技术、限制检索技术等。
5.2.5数据库安全
1、数据库安全威胁
非授权的信息泄露:未获授权的用户有意或无意得到信息。通过对授权访问的数据进行推导分析获取非授权的信息也属于这一类。
非授权的数据修改:包括所有通过数据处理和修改而违反信息完整性的 行为。非授权修改不一定会涉及非授权信息泄露, 因为即使不读取数据也可以进行破坏。
拒绝服务:包括会影响用户访问数据或使用资源的行为。
自然或意外灾害:如地震、水灾、火灾等。这些事故可能会破坏系统的软硬件,导致完整性破坏和拒绝服务。
系统软硬件中的错误:这会导致应用实施错误的策略,从而导致非授权的信息泄露、数据修改或拒绝服务。
人为错误:导致无意地违反安全策略,导致的后果与软硬件错误类似。
授权用户:他们滥用自己的特权造成威胁。
恶意代理:病毒、特洛伊木马和后门是这类威胁中的典型代表
2、数据库安全机制
数据库安全机制包括 用户的身份认证、存取控制,数据库加密、数据审计、推理控制 等内容
5.3 系统集成
5.3.1 集成基础
系统集成的内容包括 技术环境的集成、数据环境的集成和应用程序的集成。系统集成是开放系统驱动的。在技术上需要遵循的基本原则包括:开放性、结构化、先进性和主流化。
5.3.2 网络集成
(1)传输子系统。传输是网络的核心。目前主要的传输介质分为 无线传输介质和有线传输介质 两大类,
- 常用的无线传输介质主要包括无线电波、微波、红外线 等;
- 常用的有线传输介质主要包括双绞线、同轴电缆、光纤等。
(2)交换子系统。网络按所覆盖的区域可分为 局域网、城域网和广域网, 由此网络交换也可以分为局域网交换技术、城域网交换技术和广域网交换技术。
(3)安全子系统。网络安全主要关注的内容包括:使用防火墙技术,防止外部的侵犯;使用数据加密技术,防止任何人从通信信道窃取信息 ;访问控制,主要是通过设置口令、密码和访问权限保护网络密源。
(4) 网管子系统。对于任何网管子系统来说,关键的任务便是保证网络的良好运行。
(5)服务器子系统。选择网络服务器时要考虑以下因素:①CPU的速度和数量;②内存容量和性能;③总线结构和类型;④磁盘容量和性能;⑤容错性能;⑥网络接口性能;⑦服务器软件等。
(6)网络操作系统。网络操作系统的主要任务是调度和管理网络资源
(7)服务子系统。网络服务是网络应用最核心的问题。网络服务主要包括互联网服务、多媒体信息检索、信息点播、信息广播、远程计算和事务处理以及其他信息服务等。
5.3.3 数据集成
数据集成处理的主要对象是系统中各种异构数据库中的数据。数据仓库技术是数据集成的关键。
数据集成层次:数据集成可以分为 基本数据集成、多级视图集成、模式集成和多粒度数据集成 四个层次。
异构数据集成:数据集成的目的是为应用提供统一的访问支持, 因此集成后的数据必须保证一定的完整性包括 数据完整性和约束完整性。异构数据集成方法归纳起来主要有两种,分别是 过程式方法和声明式方法。
5.3.4 软件集成
.NET 涉及的技术:VB、C++、C#、JScript、ASP.NET、ADO.NET
J2EE 涉及的技术:EJB、Java Servlets API、JSP 和 XML
5.3.5 应用集成
应用集成在最上层,主要解决应用的互操作性的问题。可以帮助协调连接各种应用的组件有:
(1)应用编程接口
:API是定义不同软件交互方式的程序和规则,可以支持应用之间相互通信。
(2)事件驱动操作
:当触发器(即事件)启动一个程序或一组操作时,系统就会执行事件驱动型操作。
(3)数据映射
:将数据从一个系统映射到另一个系统,可以定义数据的交换方式,从而简化后续的数据导出、分组或分析工作。
5.4 安全工程
5.4.1工程概述
信息安全系统服务于业务应用信息系统并与之密不可分,但又不能混为一谈。信息安全系统不能脱离业务应用信息系统而存在。
5.4.2 安全系统
①信息安全系统是客观的、独立于业务应用信息系统而存在的信息系统。
②信息安全系统三维空间包括 安全机制、网络参考模型和安全服务。由 X、Y、Z 三个轴形成的信息安全系统三维空间就是信息系统的“安全空间“。
- (1) x 轴是“安全机制”。
- (2)Y轴是“OSI网络参考模型”。
- (3)Z轴是“安全服务”
安全空间”的五大属性:认证、权限、完整、加密和不可否认。
安全机制包含 基础设施实体安全、 平台安全、数据安全、通信安全、应用安全、运行安全、管理安全、授权和审计安全、安全 防范体系 等。组织从 人员、技术、政策 三大要素来构成信息网络安全保障体系结构的框架
安全服务包括 对等实体认证服务、数据保密服务、数据完整性服务、数据源点认证服务、 禁止否认服务和犯罪证据提供服务 等。
-
(1)
对等实体认证服务
:用于两个开放系统同等层中的实体建立链接或数据传输时,对方实体的合法性、真实性进行确认,以防假冒。 -
(2)
数据保密服务
:包括多种保密服务,为了防止网络中各系统之间的数据被截获或被非法存取而泄密,提供密码加密保护。数据保密服务可提供链接方式和无链接方式两种数据保密, 同时也可对用户可选字段的数据进行保护。 -
(3)
数据完整性服务
:用以防止非法实体对交换数据的修改、插入、删除以及在数据交换过程中的数据丢失。 -
(4)
数据源点认证服务
:用于确保数据发自真正的源点,防止假冒。 -
(5)
禁止否认服务
:用以防止发送方在发送数据后否认自己发送过此数据,接收方在收到数据后否认自己收到过此数据或伪造接收数据,由两种服务组成:不得否认发送和不得否认接 收。 -
(6)
犯罪证据提供服务
:指为违反国内外法律法规的行为或活动,提供各类数字证据、 信息线索等。
5.4.3 工程基础
5.4.4 工程体系架构
1、信息安全系统工程能力成熟度模型:(ISSE-CMM)是一种衡量信息安全系统工程实施能力的方法,是使用面向工程 过程的一种方法。
2、ISSE-CMM是建立在 统计过程控制理论基础 上。
3、ISSE-CMM主要适用于 工程组织、获取组织和评估组织。
4、ISSE将信息安全系统工程实施过程分解为:工程过程、风险过程和保证过程 三部分。
5、公共特性的成熟度等级定义的五个级别:
- Level 1非正规实施级:(基本)
- Level 2一规划和跟踪级:(规范化)
- Level 3一充分定义级:(标准化)
- Level 4一量化控制级:(可测量、量化)
- Level 5—持续改进级: (改进)
相关文章:
【信息系统项目管理师】第5章:信息系统工程 考点梳理
文章目录 5.1 软件工程5.1.1 架构设计1、软件架构风格2、软件架构评估 5.1.2 需求分析1、需求的层次2、需求过程(重点)3、UML事务、关系和视图4、面向对象分析 5.1.3 软件设计1、结构化设计2、面向对象设计3、设计模式 5.1.4 软件实现1、软件配置管理2、…...
kdump调试分析(适用于麒麟,ubuntu等OS)
1. kdump基本原理 1.1 内核崩溃处理机制 当 Linux 系统内核发生崩溃时,通常会触发 panic,系统停止正常运行。Kdump 在这种情况下: 使用一个备用的内核(称为 crash kernel)来启动最小化的环境。从崩溃的主内核中复制内存内容(转储文件)。将转储文件保存到预定义的存储位…...
Ubuntu在NVME硬盘使用Systemback安装记录
问题 使用Systemback重装系统找不到NVME硬盘。 0.使用Systemback制作iso后,制作启动盘 1.插入启动盘进入live mode模式 2.安装gparted sudo apt-get update sudo apt-get install gparted3.使用gparted对待分区硬盘进行分区 gparted按照你希望的分区方式分区即…...
C++多态的实现原理
【欢迎关注编码小哥,学习更多实用的编程方法和技巧】 1、类的继承 子类对象在创建时会首先调用父类的构造函数 父类构造函数执行结束后,执行子类的构造函数 当父类的构造函数有参数时,需要在子类的初始化列表中显式调用 Child(int i) : …...
com.github.gavlyukovskiy依赖是做什么的呢?
p6spy-spring-boot-starter 是一个Spring Boot的starter,用于集成P6Spy库。P6Spy是一个开源的数据库连接池代理工具,它可以拦截和记录所有的SQL语句及其执行时间,从而帮助开发者进行SQL性能分析和调试。 功能概述 SQL日志记录: P…...
QChart数据可视化
目录 一、QChart基本介绍 1.1 QChart基本概念与用途 1.2 主要类的介绍 1.2.1 QChartView类 1.2.2 QChart类 1.2.3QAbstractSeries类 1.2.4 QAbstractAxis类 1.2.5 QLegendMarker 二、与图表交互 1. 动态绘制数据 2. 深入数据 3. 缩放和滚动 4. 鼠标悬停 三、主题 …...
离线安装 Docker-IO:详细步骤指南
离线安装 Docker-IO:详细步骤指南 一、准备工作1.1 下载 Docker 离线安装包1.2 准备安装环境1.3 配置防火墙和 SELinux(可选)二、上传和解压离线安装包2.1 上传安装包2.2 解压安装包三、安装 Docker-IO3.1 移动 Docker 文件到系统目录3.2 配置 Docker 服务3.3 赋予服务文件执…...
梯度爆炸与消失
梯度爆炸和梯度消失 一、概念解析 (一)梯度爆炸 定义 在深度神经网络训练的反向传播过程中,梯度爆炸是指梯度的值过大的现象。这会使模型的参数更新出现异常。 产生原因 深层网络与链式法则:深度神经网络按链式法则计算某层权重…...
动捕 动作捕捉学习笔记
2024.11.28 实时动作捕捉 ThreeDPoseTracker VRMLiveViewer 实现虚拟主播跳舞自由_哔哩哔哩_bilibili blender 手工操作,不能渲染到原视频 【快速有效】三分钟学会,通过blender把网上视频武术动作捕捉绑定到3D角色上,需要使用Auto-rig Pro(ARP…...
spark3.x之后时间格式数据偶发报错org.apache.spark.SparkUpgradeException
3.x之后如果你去处理2.x生成的时间字符串数据,很容易遇到一个问题 Error operating ExecuteStatement: org.apache.spark.SparkUpgradeException: You may get a different result due to the upgrading of Spark 3.0: Fail to parse 20200725__cb90fcc3_8006_46…...
计算机网络(二)
ip地址:11010010:01011110:00100100:00010100 子网掩码:11111111:11111111:11111111:11000000 and :11010010:01011110:00100100:00000000 210.94.36.0的下一站为R1 因为255为11111111 192为ÿ…...
如何在Spark中使用gbdt模型分布式预测
这目录 1 训练gbdt模型2 第三方包python环境打包3 Spark中使用gbdt模型3.1 spark配置文件3.2 主函数main.py 4 spark任务提交 1 训练gbdt模型 我们可以基于lightgbm快速的训练一个gbdt模型,训练相对比较简单,只要把训练样本处理好,几行代码可…...
llamaindex实战-ChatEngine-ReAct Agent模式
概述 ReAct 是一种基于Agent的聊天模式,构建在数据查询引擎之上。对于每次聊天交互,代理都会进入一个 ReAct 循环: 首先决定是否使用查询引擎工具并提出适当的输入 (可选)使用查询引擎工具并观察其输出 决定是否重复…...
关于音频 DSP 的接口种类以及其应用场景介绍
在音频系统中,DSP(数字信号处理器)扮演着重要角色,通常会通过不同的接口与音频系统中的其他组件(如功放、扬声器、音频源等)进行连接。以汽车应用场景为例,以下是一些常见的接口类型分类及其介绍…...
DLL中的inline static成员变量:Windows开发中的常见陷阱
在Windows平台进行C开发时,DLL(动态链接库)是一个非常重要的概念。它让我们能够实现代码的模块化和动态加载,提高了程序的灵活性和维护性。然而,当我们在DLL中使用C17引入的inline static成员变量时,可能会…...
7. 现代卷积神经网络
文章目录 7.1. 深度卷积神经网络(AlexNet)7.2. 使用块的网络(VGG)7.3. 网络中的网络(NiN)7.4. 含并行连结的网络(GoogLeNet)7.5. 批量规范化7.5.1. 训练深层网络7.5.2. 批量规范化层…...
软件测试丨Pytest生命周期与数据驱动
Pytest的生命周期概述 Pytest 是一个强大的测试框架,提供了丰富的特性来简化测试执行。它的生命周期包括多个阶段,涉及从准备测试、执行测试到报告结果的完整流程。因此,理解Pytest的生命周期将帮助我们更好地设计和管理测试用例。 开始阶段…...
Python 网页控制自动化 getEdgeDriver
透过python 使用 edge 执行自动化时,原来的代码 出现报错了 执行报错啦:message info 如下显示 HTTPSConnectionPool(hostmsedgedriver.azureedge.net, port443): Max retries exceeded with url: /130.0.2849/edgedriver_win64.zip (Caused by NewConn…...
白鹿 Hands-on:消除冷启动——基于 Amazon Lambda SnapStart 轻松打造 Serverless Web 应用(二)
文章目录 前言一、前文回顾二、在 Lambda 上运行2.1、查看 Amazon SAM template2.2、编译和部署到 Amazon Lambda2.3、功能测试与验证 三、对比 Snapstart 效果四、资源清理五、实验总结总结 前言 在这个环节中,我们将延续《白鹿 Hands-on:消除冷启动——…...
pandas read_csv读取中文内容文件报错UnicodeDecodeError: ‘utf-8‘ codec can‘t decode byte
先用如下代码检查编码格式 import chardet# 检测文件编码 with open("data.csv", "rb") as f:result chardet.detect(f.read())print(result["encoding"]) # 打印检测到的编码我检查后我的文件编码格式是ISO-8859-1,因此读取文件时…...
LoRA微调原理 代码实践
LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大语言模型)的流行技术,最初由来自微软的研究人员在论文《 LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS 》中提出。不同于其他技术,LoRA 不是调整…...
数据结构--树二叉树顺序结构存储的二叉树(堆)
前言 前面我们学习了顺序表、链表、栈和队列,这些都是线性的数据结构。今天我们要来学习一种非线性的数据结构——树。 树的概念及结构 树的概念 树是一种非线性的数据结构,是由n(n≥0)个有效结点组成的一个具有层次关系的集合…...
mongodb shard 分片集群基础概念
目录 一、shard 集群 二、Config Server 1、config.shards 2、config.database 3、config.collection 4、config.chunks 5、config.settings 6、其他 三、shard机制 1、Primary Shard 2、Shard Key 2.1 范围分片 2.2 哈希分片 2.3 Shard Key重定义 2.4 版本约束…...
Streamlit 应用从本地部署到服务器并进行访问
目录 1 部署 Streamlit 应用到服务器2 配置服务器允许远程访问3 使用反向代理4 使用 HTTPS5 总结 1 部署 Streamlit 应用到服务器 1 选择一个服务器平台 首先,你需要选择一个服务器平台来部署你的 Streamlit 应用。常见的选择包括: 云服务器:…...
大数据新视界 -- 大数据大厂之 Hive 数据压缩:优化存储与传输的关键(上)(19/ 30)
💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…...
Java开发中对List<Map<String, Object>>集合去重并按大小拆分子列表
Java开发中对List< Map< String, Object > >集合去重并按大小拆分子列表 一、使用场景二、实现步骤三、相关知识四、代码示例 一、使用场景 在处理大量List<Map<String, Object>>集合的数据时,为确保数据的唯一性,需要先根据Ma…...
vue3项目搭建-6-axios 基础配置
axios 基础配置 安装 axios npm install axios 创建 axios 实例,配置基地址,配置拦截器,目录:utils/http.js 基地址:在每次访问时,自动作为相对路径的根 // axios 基础封装 import axios from "axios";…...
git 学习笔记
目录 一、git 前期准备 1、托管平台的账号注册(以gitee码云为demo) 2、本地个人电脑配置 (1)配置用户属性 (2)配置SSH密钥 二、git 工作流程图 三、git 提交命令 (1)git ini…...
Y20030019 基于java+jsp+mysql的微信小程序校园二手交易平台的设计与实现 源代码 文档
旅游度假区微信小程序 1.摘要2. 系统开发的目的和意义3.系统功能4.界面展示5.源码获取 1.摘要 随着移动互联网的发展,微信小程序已经成为人们生活中不可或缺的一部分。微信小程序的优点在于其快速、轻量、易用,用户无需下载即可使用,节省了用…...
Cookie跨域
跨域:跨域名(IP) 跨域的目的是共享Cookie。 session操作http协议,每次既要request,也要response,cookie在创建的时候会产生一个字符串然后随着response返回。 全网站的各个页面都会带着登陆的时候的cookie …...
Mybatis:CRUD数据操作之删除一行数据
Mybatis基础环境准备请看:Mybatis基础环境准备 本篇讲解Mybati数据CRUD数据操作之单条删除数据 当用户点击了该按钮,就会将改行数据删除掉。那我们就需要思考,这种删除是根据什么进行删除呢?是通过主键id删除,因为id是…...
【机器学习】CatBoost 模型实践:回归与分类的全流程解析
一. 引言 本篇博客首发于掘金 https://juejin.cn/post/7441027173430018067。 PS:转载自己的文章也算原创吧。 在机器学习领域,CatBoost 是一款强大的梯度提升框架,特别适合处理带有类别特征的数据。本篇博客以脱敏后的保险数据集为例&#x…...
MySQL中如何减少回表
在MySQL中,回表是指在使用非聚集索引进行查询时,如果需要获取的数据不在索引页中,就需要根据索引页中的指针返回到数据表中查找实际数据行的过程。这个过程会增加额外的磁盘I/O操作,降低查询性能,特别是在查询大量数据…...
10. 函数
一、什么是函数 函数也是对象,对象是内存中专门用来存储数据的一块区域。函数可以用来保存一些可执行代码的,并且可以在需要时,对这些语句进行多次调用。 二、创建函数 创建函数也称为定义函数。我们可以使用 def 关键字来定义函数ÿ…...
计算机网络:数据链路层(二)
网课资源: 湖科大教书匠 1、网络适配器和MAC地址 习题1 1 以下哪个地址是广播MAC地址 A. 00-00-00-00-00-00 B. AB-CD-EF-11-22-33 C. FF-FF-FF-FF-FF-FF D. 29-29-29-29-29-29 2 以下哪个地址是多播MAC地址 A. 00-00-00-00-00-00 B. A9-8B-7C-6D-5E-4F C. FF-FF-…...
一万台服务器用saltstack还是ansible?
一万台服务器用saltstack还是ansible? 选择使用 SaltStack 还是 Ansible 来管理一万台服务器,取决于几个关键因素,如性能、扩展性、易用性、配置管理需求和团队的熟悉度。以下是两者的对比分析,帮助你做出决策: SaltStack&…...
设计模式学习之——观察者模式
观察者模式是一种行为型设计模式,它用于在对象之间建立一对多的依赖关系。 一、定义与角色 定义: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察…...
服务器实现ssh证书登录
1.生成公钥和私钥 ssh-keygen -t rsa 提示默认生成位置为/root/.ssh/id_rsa ,直接回车。(也可以自己修改) 提示输入证书的密码,可以留空,建议输入,如果输入了,则需要再次确认,记住这个证书密码(证书再加…...
python基础知识精讲
Python基础知识精讲 Python是一种广泛使用的高级编程语言,以其清晰的语法和代码可读性而闻名。它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。以下是Python基础知识的详细讲解。 1. Python简介 Python由Guido van Rossum创建&#x…...
分页查询日期格式不对
方式一:在属性上加入注解,对日期进行格式化 方式二:在 WebMvcConfiguration 中扩展Spring MVC的消息转换器,统一对日期类型进行格式化处理 /*** 统一转换处理扩展spring mvc* 后端返回前端的进行统一转化处理* param converters*/Overrideprotected voi…...
Windsurf可以上传图片开发UI了
背景 曾经羡慕Cursor的“画图”开发功能,这不Windsurf安排上了。 Upload Images to Cascade Cascade now supports uploading images on premium models Ask Cascade to build or tweak UI from on image upload New keybindings Keybindings to navigate betwe…...
工作坊报名|使用 TEN 与 Azure,探索你的多模态交互新场景
GPT-4o Realtime API 发布,语音 AI 技术正在进入一场新的爆发。语音AI技术的实时语音和视觉互动能力将为我们带来更多全新创意和应用场景。 实时音频交互: 允许应用程序实时接收并响应语音和文本输入。自然语音生成: 减少 AI 技术生成的语音…...
Java 虚拟机:承载 Java 生态的神奇魔盒
在软件开发的世界里,Java 虚拟机(JVM)就像一位智慧的管家,默默守护着 Java 生态系统的运行。它不仅让 Java 实现了"一次编写,到处运行"的梦想,更是成为了多种编程语言的运行平台。让我们一起走进…...
Linux VLAN 实现原理技术笔记
一、引言 VLAN(虚拟局域网)在整车网络架构中起着至关重要的作用,它能够在物理网络基础设施上创建逻辑隔离的网络区域,提高车内网络的安全性、灵活性和性能。Linux 内核通过一系列复杂的机制实现了 VLAN 功能,本技术笔记…...
【Git】:分支管理
目录 理解分支 创建分支 切换分支 合并分支 删除分支 合并冲突 分支管理策略 快进合并 正常合并 bug 分支 总结 理解分支 在版本控制系统中,分支是一条独立的开发线路。它允许开发者从一个主要的代码基线(例如master分支)分离出来…...
Java中的运算符“instanceof“详解
在Java中,instanceof运算符用于检查一个对象是否是某个特定类的实例,或者是否实现了某个特定接口。它返回一个布尔值(true或false),用于在运行时进行类型检查。这在处理多态性时尤其有用,可以帮助我们确定对…...
Profinet转Modbus TCP西门子SINAMICS G120变频器与施耐德M580通讯案例
一. 案例背景 在复杂的工业自动化场景中,企业常常会采用不同品牌的设备来构建生产系统。西门子SINAMICS G120变频器以其高性能、高精度的速度和转矩控制功能,在电机驱动领域应用广泛。施耐德M580可编程逻辑控制器则以强大的逻辑控制和数据处理能力著称&a…...
机器学习实战笔记39-43树模型基础
目前最常用的是CART树: 评价标准:每次划分后子节点的纯度(即是否标签都为0/1),分为信息熵、基尼系数(越小则纯度越高)和分类误差 找划分节点的方法:CART树无需区分连续和离散变量&am…...
`uni.setClipboardData` 是 uni-app 提供的一个 API 设置系统剪贴板的内容
uni.setClipboardData是uni-app提供的一个API,用于设置系统剪贴板的内容。 使用说明: 使用此API可以将指定的文本内容复制到系统剪贴板,使用户能够在其他应用或页面中粘贴这些内容。 uni.setClipboardData({data: , // 需要复制的内容 suc…...
Android opengl 绘制矩形,宽高相同,不能显示为正方形,是怎么回事
在Android上使用OpenGL绘制矩形(或尝试显示为正方形)时,如果结果显示为不是正方形,可能有几个原因。以下是一些常见的因素及解决方法: 视口(Viewport)设置不当: OpenGL的视口定义了…...