【软考知识】敏捷开发与统一建模过程(RUP)
敏捷开发模式
- 概述
- 敏捷开发的主要特点包括:
- 敏捷开发的常见实践包括:
- 敏捷开发的优势:
- 敏捷开发的挑战:
- 敏捷开发的方法论:
- Scrum
- Scrum 的核心概念
- Scrum 的执行过程
- Scrum 的适用场景
- 极限编程(XP)
- 核心价值观
- 主要实践
- 执行过程
- 适用场景
- 优点
- 缺点
- 水晶方法(Crystal Methods)
- 水晶方法的特点
- 水晶方法的家族
- 水晶方法的执行过程
- 适用场景
- 优点和缺点
- 特性驱动开发(FDD)详细介绍
- 统一建模过程RUP
- RUP的核心概念包括:
- RUP的开发流程:
- RUP的特点:
- RUP的裁剪:
- RUP的适用场景:
- RUP和敏捷方法比有什么不同
概述
敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的软件开发方法。它强调团队合作、客户反馈以及对变化的快速响应。敏捷开发模式与传统的瀑布式开发模式不同,后者是一种线性、顺序的软件开发方法,而敏捷开发则更加灵活和适应性强。
敏捷开发的主要特点包括:
- 迭代开发:项目被分解为多个小的迭代周期,每个周期都包括规划、执行、回顾和发布。
- 跨功能团队:团队成员具备多种技能,能够独立完成工作,不需要依赖其他团队或部门。
- 客户合作:客户或用户代表参与开发过程,提供反馈和需求。
- 适应性规划:计划是灵活的,可以根据项目进展和反馈进行调整。
- 持续改进:通过定期的回顾会议,团队可以学习并改进工作流程。
敏捷开发的常见实践包括:
- 用户故事:需求以用户故事的形式表达,描述用户的需求和期望。
- 冲刺(Sprint):一个固定时间的迭代周期,通常为2到4周。
- 每日站立会议:团队成员每天进行简短的会议,更新工作进度和计划。
- 产品待办事项列表:列出所有需求和任务的优先级列表。
- 持续集成和持续部署:频繁地集成和部署代码,以减少集成问题。
敏捷开发的优势:
- 快速响应变化:能够快速适应需求的变化。
- 提高质量:通过频繁的测试和集成,提高软件质量。
- 客户满意度:通过持续的客户反馈,确保产品符合用户需求。
- 团队动力:鼓励团队合作和自我组织,提高团队动力和创造力。
敏捷开发的挑战:
- 需要高度自律的团队:团队成员需要自我管理,这对一些团队来说可能是挑战。
- 难以量化进度:由于迭代和适应性规划,进度可能不像瀑布式开发那样容易量化。
- 需要持续的客户参与:客户或用户代表需要在整个开发过程中提供反馈。
敏捷开发的方法论:
敏捷开发包括多种方法论,如极限编程(XP)、Scrum、看板(Kanban)、测试驱动开发(TDD)等。每种方法论都有其特定的实践和流程,但它们共享敏捷开发的基本原则。
敏捷开发模式适用于快速变化的环境和需求不完全明确或可能变化的项目。它已经被广泛应用于各种规模的项目和组织中,特别是在软件开发领域。
Scrum
Scrum 是一种敏捷开发框架,用于开发、交付和持续支持复杂产品。它是一种迭代和增量的方法,允许团队在短周期内交付产品,并根据反馈进行调整。Scrum 强调团队合作、透明度和自组织。
Scrum 的核心概念
-
角色
- 产品负责人(Product Owner):负责定义产品愿景、管理产品待办列表(Product Backlog)和确保团队理解待办列表项的需求。
- Scrum Master:负责确保团队遵循 Scrum 流程和原则,帮助团队解决阻碍进度的问题,并促进团队内外的有效沟通。
- 开发团队(Development Team):通常是跨功能的,负责交付产品待办列表中的项。
-
工件
- 产品待办列表(Product Backlog):一个按优先级排序的需求列表,包括功能、修复、改进等。
- Sprint 待办列表(Sprint Backlog):在每个 Sprint 开始时,从产品待办列表中选择的项,团队承诺在当前 Sprint 中完成。
- 增量(Increment):在每个 Sprint 结束时,团队交付的可工作的软件部分。
-
仪式(Ceremonies)
- Sprint 计划会议(Sprint Planning):在每个 Sprint 开始时举行,团队决定他们将在 Sprint 中完成哪些待办列表项。
- 每日站立会议(Daily Scrum):每天举行,团队成员分享他们昨天做了什么,今天计划做什么,以及是否有任何阻碍。
- Sprint 评审会议(Sprint Review):在每个 Sprint 结束时举行,团队展示他们完成的工作,并收集反馈。
- Sprint 回顾会议(Sprint Retrospective):在每个 Sprint 结束时举行,团队讨论他们的过程,找出改进的地方。
Scrum 的执行过程
-
产品待办列表的创建和维护:产品负责人创建和维护产品待办列表,确保它反映了所有必要的需求。
-
Sprint 计划会议:在每个 Sprint 开始时,团队选择他们认为可以在 Sprint 中完成的待办列表项,形成 Sprint 待办列表。
-
Sprint 执行:团队成员在 Sprint 期间工作,完成 Sprint 待办列表中的项。Scrum Master 帮助团队解决任何阻碍。
-
每日站立会议:团队每天举行简短会议,更新进度和计划。
-
Sprint 评审会议:在 Sprint 结束时,团队展示他们的工作成果,并收集反馈。
-
Sprint 回顾会议:团队讨论他们在 Sprint 中的工作方式,找出改进的地方,并计划如何实施这些改进。
-
增量交付:每个 Sprint 结束时,团队交付一个可工作的软件增量。
Scrum 的适用场景
Scrum 适用于需要快速响应变化、跨功能团队协作、持续交付与改进的项目。它特别适用于软件开发项目,但也可以在其他类型的项目中使用,如市场营销、产品管理等。
Scrum 的灵活性和对团队自组织的支持使其成为许多团队的首选方法,尤其是在面对不确定性和复杂性时。通过 Scrum,团队可以更有效地协作,更快地交付价值,并持续改进他们的工作方式。
极限编程(XP)
极限编程(Extreme Programming,简称XP)是一种敏捷软件开发方法,由Kent Beck在1996年提出。XP的核心在于通过一系列具体的实践来提高软件开发的效率和质量,同时强调团队合作和客户反馈。以下是XP的详细介绍:
核心价值观
XP基于五个核心价值观:沟通、简单、反馈、勇气和尊重。这些价值观指导着XP的实践和团队的行为。
主要实践
- 结对编程:两名开发者在同一台计算机上共同编写代码,以提高代码质量和知识共享。
- 测试驱动开发(TDD):先编写测试用例,然后编写能够通过这些测试的代码,确保代码的正确性和可维护性。
- 持续集成:频繁地将代码集成到共享的代码库中,并运行自动化测试以确保新代码不会破坏现有功能。
- 小版本发布:经常发布软件的可工作版本,以便尽早并获得客户反馈。
- 重构:不断改进代码结构,以保持代码的简洁和高效,同时不改变其外部行为。
- 集体代码所有权:团队中的任何成员都可以改进任何代码,以促进代码质量和团队合作。
- 编码标准:团队遵循统一的编码标准,使代码风格一致,易于理解和维护。
执行过程
- 规划游戏:与客户合作确定项目愿景和发布计划。
- 用户故事:客户以用户故事的形式定义需求,团队则负责细化这些故事并估算工作量。
- 迭代计划:团队在每个迭代开始时选择一组用户故事,并计划如何在迭代中实现它们。
- 迭代开发:团队在迭代周期内集中精力实现选定的用户故事,并进行测试和集成。
- 迭代评审:在迭代结束时,团队展示完成的工作并收集客户反馈。
- 迭代回顾:团队回顾迭代过程,讨论改进的地方,并计划如何在未来迭代中实施这些改进。
适用场景
XP适用于需求变化频繁、项目规模较小、团队合作紧密且需要快速响应市场变化的项目。它特别适用于那些需要高度灵活性和客户紧密参与的软件开发环境。
优点
- 提高代码质量:通过测试驱动开发和持续集成,XP有助于提高代码的可靠性和可维护性。
- 增强团队合作:结对编程和集体代码所有权鼓励团队成员之间的协作和知识共享。
- 快速响应变化:迭代开发和频繁发布使团队能够快速适应需求变化。
- 持续改进:迭代回顾促进了持续的过程改进和团队学习。
缺点
- 可能需要文化变革:XP的一些实践,如结对编程和没有单独的设计师或架构师,可能需要团队文化的显著变化。
- 对纪律要求高:XP的成功实施需要团队成员的高度自律和遵循既定的实践。
- 规模限制:虽然XP可以用于大型项目,但它在小型团队中更为有效。
极限编程是一种灵活、以人为中心的软件开发方法,它通过一系列的实践和价值观来提高软件质量和开发效率。然而,它也需要团队成员之间的紧密合作和对敏捷原则的坚定承诺。
水晶方法(Crystal Methods)
水晶方法(Crystal Methods)是一系列敏捷软件开发方法,由 Alistair Cockburn 和 Jim Highsmith 在20世纪90年代末提出。这些方法强调人和交互、适应性规划和频繁交付,而不是过程和工具。水晶方法的核心在于根据项目的规模、复杂性和团队的偏好来选择合适的实践和流程。
水晶方法的特点
- 以人为本:水晶方法强调团队成员之间的沟通和协作,以及团队与客户之间的互动。
- 适应性:方法可以根据项目的特定需求和团队的偏好进行调整。
- 极简:水晶方法倾向于减少不必要的文档和流程,专注于最重要的实践。
水晶方法的家族
水晶方法家族包括多种不同的方法,每种方法都适用于不同规模和类型的项目:
- Crystal Clear:适用于小型团队(1-6人),项目周期短,团队成员紧密合作,通常在同一地点工作。
- Crystal Yellow:适用于中等规模的团队(7-20人),引入了更多的实践,如自动化测试和更频繁的交付。
- Crystal Orange:适用于较大规模的团队(21-40人),可能需要更复杂的协调和项目管理。
- Crystal Red:适用于非常大的团队(40人以上),通常用于关键任务项目。
水晶方法的执行过程
水晶方法的执行过程通常包括以下几个阶段:
- 项目启动:确定项目目标、团队成员和初步计划。
- 迭代开发:通过一系列迭代来开发软件,每个迭代都包括规划、开发、测试和集成。
- 频繁交付:在每个迭代结束时交付可工作的软件。
- 反思和改进:团队定期回顾过程和产品,识别改进点,并在下一个迭代中实施。
适用场景
水晶方法适用于各种规模的项目,从小型到大型,从低风险到关键任务。它们特别适合那些需要高度灵活性和团队协作的项目。
优点和缺点
优点:
- 提供了一种灵活的方法来适应不同项目的需求。
- 强调团队合作和沟通,有助于提高团队士气和生产力。
- 通过频繁交付和反思,可以快速响应变化和改进产品。
缺点:
- 对于大型和复杂项目,可能需要更多的结构和流程来确保成功。
- 缺乏明确的指导和规则可能导致一些团队难以遵循。
- 对于习惯于传统开发方法的团队来说,可能需要时间来适应敏捷实践。
水晶方法是一种以人为本的敏捷开发方法,它提供了一系列的实践和流程,可以根据项目的具体情况进行调整和选择。通过强调团队合作、适应性和频繁交付,水晶方法旨在提高软件开发的效率和质量。
特性驱动开发(FDD)详细介绍
特性驱动开发(Feature Driven Development,FDD)是一种敏捷软件开发方法,由Jeff De Luca、Eric Lefebvre和Peter Coad共同开发。FDD强调特性驱动,快速迭代,即能保证快速开发,又能保证适当文档和质量,非常适合中小型团队开发管理。它提出的每个功能开发时间不超过两周,为每个用例user case限定了粒度,具有良好可执行性,也可以对项目的开发进程进行精确及时地监控。它抓住了软件开发的核心问题领域,即正确和及时地构造软件。FDD还打破了传统的将领域和业务专家/分析师与设计者和实现者隔离开来的壁垒。分析师被从抽象的工作中解脱出来,直接参与到开发人员和用户所从事的系统构造工作中。
FDD过程包括五个主要活动:
- 开发一个全局的模型:创建项目的总体架构和领域模型。
- 建立特征列表:基于客户价值,定义一系列小的、可交付的特性。
- 依据特征规划:为每个特性制定详细的计划和时间表。
- 依据特征设计:对每个特性进行详细设计。
- 依据特征构建:实现特性,包括编码和单元测试。
FDD中的角色包括:
- 领域专家(Domain expert):提供业务知识和需求。
- 首席架构师(Chief Architect):负责系统架构的设计和维护。
- 主程序员(Chief Programmer):负责协调特征团队的工作,确保代码质量和一致性。
- 类所有者(Class Owners):负责特定类或模块的设计和实现。
FDD的最佳实践包括持续集成、领域对象建模、按特性开发、类的所有者、按特性组织团队、源代码控制和汇报/结果可见性。
FDD适用于需求变化频繁、项目规模较小、团队合作紧密且需要快速响应市场变化的项目。它特别适用于那些需要高度灵活性和客户紧密参与的软件开发环境。FDD的优点包括提高代码质量、增强团队合作、快速响应变化和持续改进。缺点可能包括需要文化变革、对纪律要求高和规模限制。
统一建模过程RUP
统一建模过程(Rational Unified Process,简称RUP)是一种面向对象的软件开发过程框架,由Rational Software公司(现为IBM的一部分)开发。RUP是一种迭代和增量的开发方法,通过在多个迭代中逐步构建软件系统,降低风险并提高质量。它强调用例驱动、以架构为中心的开发方法,以及对软件质量的持续验证和控制软件变更。
RUP的核心概念包括:
- 角色:RUP预先定义了许多角色,如开发人员、测试人员、项目经理等,每个角色都有其特定的职责和活动。
- 活动:RUP将开发过程分解为一系列有明确目的的独立工作单元,如需求收集、系统设计、编码、测试等。
- 工件:在活动进行过程中产生、创建或修改的信息,如文档、模型、代码等,是项目开发的文档资料。
RUP的开发流程:
RUP的软件开发生命周期是一个二维的模型,横轴通过时间组织,包括周期、阶段、迭代和里程碑;纵轴以内容来组织,包括活动、产物、工作者和工作流。RUP的开发过程通常分为四个阶段:
- 初始阶段(Inception):定义项目目标和范围,确定关键需求和项目可行性。
- 细化阶段(Elaboration):详细分析需求,制定系统架构,计划项目。
- 构建阶段(Construction):进行系统设计和实现,完成大部分的代码开发和测试。
- 交付阶段(Transition):完成系统的部署和维护,确保系统的正常运行。
RUP的特点:
- 迭代式开发:通过多次迭代,逐步细化和完善软件系统。
- 需求管理:强调需求的持续管理和跟踪,确保需求的可跟踪性。
- 便于复用的软件体系结构:鼓励设计灵活、可重用的软件体系结构。
- 有利于可视化建模:通常与统一建模语言(UML)结合使用,以建立软件系统的可视化模型。
- 验证软件质量:将软件质量评估内建于开发过程中,及早发现和修复缺陷。
- 控制软件变更:通过严格的控制和协调,管理迭代式开发中的变更。
RUP的裁剪:
RUP是一个通用的过程模板,可以根据具体的开发机构和项目进行裁剪,以适应不同的需求和环境。裁剪步骤包括确定所需的工作流、制品、阶段演进和迭代计划。
RUP的适用场景:
RUP特别适用于大型、复杂的项目,尤其是那些需要严格监管和文档要求的项目。它也适用于需要高度复杂和精确设计的系统,如航空航天、国防和医疗等领域。此外,一些团队选择将RUP的迭代和增量开发模型与敏捷方法结合,以利用RUP的结构化框架和敏捷的灵活性。
尽管RUP提供了一个系统化的方法,但它也面临一些挑战,如可能需要大量的培训和工具支持,导致成本较高。此外,RUP的文档和建模工作量巨大,要求团队具备高水平的技能和大量的时间投入。在实际项目中,团队可能会简化或跳过一些RUP的步骤,特别是在文档和建模方面,这可能会影响项目质量和成功率。随着敏捷开发方法的兴起,RUP在某些场景中逐渐被更灵活、适应性更强的方法所取代,但在大型和复杂项目中仍然具有不可替代的价值。
RUP和敏捷方法比有什么不同
RUP(Rational Unified Process)和敏捷方法都是软件开发的方法论,但它们在理念、实践和工具使用上有着显著的差异。
RUP是一种基于迭代的软件开发过程框架,它强调在整个开发过程中使用统一的建模语言(UML)来进行系统的视觉化设计。RUP将开发过程分为四个阶段:启动、细化、构建和过渡,每个阶段都有明确的目标和任务。RUP倾向于定义更多的角色和职责,例如分析师、设计师、测试员等,并强调丰富的文档和UML作为主要建模工具。RUP更适合大型、复杂的项目,特别是在需求相对稳定的环境中。
相比之下,敏捷开发是一种更灵活、更快速的软件开发方法。它强调个体和互动胜于过程和工具,响应变化胜于遵循计划。敏捷开发通过短周期的迭代来逐步完成软件开发,鼓励团队成员多才多艺,团队角色更加流动和灵活。敏捷方法能够快速适应需求和环境的变化,适用于需求快速变化和项目规模较小的环境。
在实际应用中,RUP可能需要更多的结构化和文档支持,而敏捷方法则更强调团队合作和快速响应。选择RUP还是敏捷开发,取决于项目的具体需求、团队的工作方式以及组织的文化。对于追求稳定性和详细规划的大型项目,RUP可能是更好的选择。而对于需要快速响应市场变化的项目,敏捷开发则能提供更大的灵活性和效率。
在实践中,许多组织采用这两种方法的混合模式,以适应不断变化的项目需求和市场环境。作为软件开发的专业人士,理解这两种方法的优缺点,并能够根据实际情况灵活运用它们是一个重要的职业技能。
相关文章:
【软考知识】敏捷开发与统一建模过程(RUP)
敏捷开发模式 概述敏捷开发的主要特点包括:敏捷开发的常见实践包括:敏捷开发的优势:敏捷开发的挑战:敏捷开发的方法论: ScrumScrum 的核心概念Scrum 的执行过程Scrum 的适用场景 极限编程(XP)核…...

Redis常见面试题(二)
Redis性能优化 Redis性能测试 阿里Redis性能优化 使用批量操作减少网络传输 Redis命令执行步骤:1、发送命令;2、命令排队;3、命令执行;4、返回结果。其中 1 与 4 消耗时间 --> Round Trip Time(RTT,…...

业务模块部署
一、部署前端 1.1 window部署 下载业务模块前端包。 (此包为耐威迪公司发布,请联系耐威迪客服或售后获得) 包名为:业务-xxxx-business (注:xxxx为发布版本号) 此文件部署位置为:……...

【LeetCode】【算法】48. 旋转图像
LeetCode 48. 旋转图像 题目描述 给定一个 n n 的二维矩阵 matrix 表示一个图像。请你将图像顺时针旋转 90 度。 你必须在 原地 旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要 使用另一个矩阵来旋转图像。 思路 思路:再次拜见K神…...

【STM32F1】——9轴姿态模块JY901与串口通信(上)
【STM32F1】——9轴姿态模块JY901与串口通信(上) 一、简介 本篇主要对调试JY901模块的过程进行总结,实现了以下功能。 串口普通收发:使用STM32F103C8T6的USART2实现9轴姿态模块JY901串口数据的读取,并利用USART1发送到串口助手。 串口DMA收发:使用STM32F103C8T6的USART…...

Docker网络概述
1. Docker 网络概述 1.1 网络组件 Docker网络的核心组件包括网络驱动程序、网络、容器以及IP地址管理(IPAM)。这些组件共同工作,为容器提供网络连接和通信能力。 网络驱动程序:Docker支持多种网络驱动程序,每种驱动程…...
Vite与Vue Cli的区别与详解
它们的功能非常相似,都是提供基本项目脚手架和开发服务器的构建工具。 主要区别 Vite在开发环境下基于浏览器原生ES6 Modules提供功能支持,在生产环境下基于Rollup打包; Vue Cli不区分环境,都是基于Webpack。 在生产环境下&…...

深究JS底层原理
一、JS中八种数据类型判断方法 在JavaScript中,数据类型分为两大类:基本(原始)数据类型和引用(对象)数据类型。 基本数据类型(Primitive Data Types) 基本数据类型是表示简单的数…...
数据分析-41-时间序列预测之机器学习方法XGBoost
文章目录 1 时间序列1.1 时间序列特点1.1.1 原始信号1.1.2 趋势1.1.3 季节性和周期性1.1.4 噪声1.2 时间序列预测方法1.2.1 统计方法1.2.2 机器学习方法1.2.3 深度学习方法2 XGBoost2.1 模拟数据2.2 生成滞后特征2.3 切分训练集和测试集2.4 封装专用格式2.5 模型训练和预测3 参…...
json转java对象 1.文件读取为String 2.String转为JSONObject 3.JSONObject转为Class
一.参考王广帅的 服务器起服时的加载 private void readConfigFile(String configDir, Class<?> clazz) throws Exception {String fileName getConfigFileName(clazz);File configFile new File(configDir, fileName);// 读取所有的行,因此,应…...

基于卷积神经网络的农作物病虫害识别系统(pytorch框架,python源码)
更多图像分类、图像识别、目标检测等项目可从主页查看 功能演示: 基于卷积神经网络的农作物病虫害检测(pytorch框架)_哔哩哔哩_bilibili (一)简介 基于卷积神经网络的农作物病虫害识别系统是在pytorch框架下实现的…...

ETLCloud异常问题分析ai功能
在数据处理和集成的过程中,异常问题的发生往往会对业务运营造成显著影响。为了提高ETL(提取、转换、加载)流程的稳定性与效率,ETLCloud推出了智能异常问题分析AI功能。这一创新工具旨在实时监测数据流动中的潜在异常,自…...
【1】 Kafka快速入门-从原理到实践
文章目录 🔍 一、引言📜 二、Kafka 的历史🏗️ 三、Kafka 的核心结构🖥️ (一)Broker📋 (二)Topic📄 (三)Partition📤 (四)Producer📥 (五)Consumer🐒 (六)Zookeeper💡 四、Kafka 的重点概念📨 (一)消息📏 (二)偏移量(Offset)🔄 (…...
go语言中的map类型详解
在Go语言中,map是一种内建的数据结构,提供了键值对(key-value)的存储方式。map通常用于实现快速的查找和关联数组,适合在需要根据键来高效查找值的场景下使用。 基本概念 map是一个无序的集合,它存储了键…...
GBase 8a MPP Cluster V9安装部署
GBase 8a MPP Cluster V9安装部署 安装环境准备 节点角色操作系统地址配置GBASE版本gbase01.gbase.cnGCWARE,COOR,DATACentOS 7.9192.168.20.1422C4GGBase 8a MPP Cluster V9 9.5.3.28.12gbase02.gbase.cnGCWARE,COOR,DATACentOS 7.9192.168.20.1432C4GGBase 8a MPP Cluster …...

静态库、动态库、framework、xcframework、use_frameworks!的作用、关联核心SDK工程和测试(主)工程、设备CPU架构
1.1库的概念 库:程序代码的集合,编译好的二进制文件加上头文件供使用,共享程序代码的一种方式。 1.2库的分类 根据开源情况分为:开源库(能看到具体实现)、闭源库(只公开调用的的接口…...

C++ | Leetcode C++题解之第552题学生出勤记录II
题目: 题解: class Solution { public:static constexpr int MOD 1000000007;vector<vector<long>> pow(vector<vector<long>> mat, int n) {vector<vector<long>> ret {{1, 0, 0, 0, 0, 0}};while (n > 0) {…...

网站架构知识之Ansible(day020)
1.Ansible架构 Inventory 主机清单:被管理主机的ip列表,分类 ad-hoc模式: 命令行批量管理(使用ans模块),临时任务 playbook 剧本模式: 类似于把操作写出脚本,可以重复运行这个脚本 2.修改配置 配置文件:/etc/ansible/ansible.cfg 修改配置文件关闭主机Host_key…...
K8s使用nfs
改动点 ip和路径改为自己的 --- apiVersion: v1 kind: ServiceAccount metadata:name: nfs-client-provisioner# replace with namespace where provisioner is deployednamespace: nfs-client --- kind: ClusterRole apiVersion: rbac.authorization.k8s.io/v1 metadata:nam…...

【大数据学习 | kafka高级部分】kafka的kraft集群
首先我们分析一下zookeeper在kafka中的作用 zookeeper可以实现controller的选举,并且记录topic和partition的元数据信息,帮助多个broker同步数据信息。 在新版本中的kraft模式中可以这个管理和选举可以用kafka自己完成,而不再依赖zookeeper。…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...
k8s从入门到放弃之Ingress七层负载
k8s从入门到放弃之Ingress七层负载 在Kubernetes(简称K8s)中,Ingress是一个API对象,它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress,你可…...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)
Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败,具体原因是客户端发送了密码认证请求,但Redis服务器未设置密码 1.为Redis设置密码(匹配客户端配置) 步骤: 1).修…...

七、数据库的完整性
七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
pycharm 设置环境出错
pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

【UE5 C++】通过文件对话框获取选择文件的路径
目录 效果 步骤 源码 效果 步骤 1. 在“xxx.Build.cs”中添加需要使用的模块 ,这里主要使用“DesktopPlatform”模块 2. 添加后闭UE编辑器,右键点击 .uproject 文件,选择 "Generate Visual Studio project files",重…...

基于小程序老人监护管理系统源码数据库文档
摘 要 近年来,随着我国人口老龄化问题日益严重,独居和居住养老机构的的老年人数量越来越多。而随着老年人数量的逐步增长,随之而来的是日益突出的老年人问题,尤其是老年人的健康问题,尤其是老年人产生健康问题后&…...

react-pdf(pdfjs-dist)如何兼容老浏览器(chrome 49)
之前都是使用react-pdf来渲染pdf文件,这次有个需求是要兼容xp环境,xp上chrome最高支持到49,虽然说iframe或者embed都可以实现预览pdf,但为了后续的定制化需求,还是需要使用js库来渲染。 chrome 49测试环境 能用的测试…...
从0开始一篇文章学习Nginx
Nginx服务 HTTP介绍 ## HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 ## HTTP工作在 TCP/IP协议体系中的TCP协议上&#…...