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

14-32 剑和诗人6 - GenAI 重塑 SRE 和云工程实践

在不断发展的软件开发和运营领域,各种学科的融合催生了新的范式和实践,旨在简化流程、加强协作和推动创新。DevSecOps、站点可靠性工程 (SRE)、平台工程和云工程已成为支持现代软件系统的重要支柱,每个支柱都解决了独特的挑战和要求。

然而,随着这些系统的复杂性不断增加,传统方法往往已达到极限,迫使组织寻求创新解决方案。生成人工智能 (Gen AI) 的出现,是一项技术突破,有望彻底改变我们处理这些学科的方式,开启一个效率、自动化和智能决策的新时代。

让我们探索 Gen AI 如何重塑 DevSecOps、SRE、平台工程和云工程实践,深入研究这些学科面临的挑战以及 Gen AI 如何帮助克服这些挑战。准备好踏上一段旅程,揭开 Gen AI 改变游戏规则的潜力及其对软件开发和运营未来的影响。

1:利用 Gen AI 彻底改变 DevSecOps

DevSecOps 是开发、安全和运营的混合词,是一种文化转变,强调在整个软件开发生命周期中整合安全实践。通过打破孤岛并促进团队之间的协作,DevSecOps 旨在以更快的速度提供安全、高质量的软件。然而,实施 DevSecOps 实践可能是一项艰巨的任务,充满了 Gen AI 可以帮助解决的挑战。

1.1 自动化安全测试和漏洞管理

DevSecOps 的核心原则之一是将安全测试和漏洞管理集成到软件交付流程中。这涉及一系列活动,从代码分析和渗透测试到持续监控和补救。Gen AI 可以通过自动化和增强安全测试和漏洞管理的各个方面来彻底改变这一过程。

a. 智能代码分析和漏洞检测:可以训练像 Llama-3/Claude-3 这样的 Gen AI 模型来分析源代码、识别潜在的安全漏洞并提供可行的补救建议。通过利用自然语言处理 (NLP) 和机器学习技术,这些模型可以理解代码的上下文和语义,从而使它们能够检测到传统静态分析工具可能遗漏的复杂漏洞。

b. 自动渗透测试和道德黑客攻击:渗透测试和道德黑客攻击对于识别和缓解 Web 应用程序、API 和网络基础设施中的安全漏洞至关重要。Gen AI 可以通过生成智能测试用例、设计复杂的攻击场景和模拟现实世界的威胁行为者来帮助实现这些过程的自动化。这可以帮助更有效地发现漏洞,并为加强安全态势提供有价值的见解。

c. 持续监控和自适应安全:Gen AI 模型可以集成到持续监控和可观察性管道中,从而实现对系统日志、网络流量和其他遥测数据的实时分析。通过识别异常和潜在威胁,这些模型可以生成智能警报并触发自动补救措施,从而提供主动和自适应的安全方法。

1.2 加强 DevSecOps 协作和知识共享

有效的协作和知识共享对于 DevSecOps 计划的成功至关重要。Gen AI 可以促进开发、安全和运营团队之间的无缝沟通和知识转移,弥合这些传统上孤立的学科之间的差距。

a. 智能文档和知识管理:Gen AI 可以帮助生成全面且最新的安全政策、程序和最佳实践文档。通过利用其自然语言生成功能,Gen AI 可以创建易于理解和维护的人类可读文档,确保知识的连续性并促进新团队成员的无缝入职。

b. 用于 DevSecOps 协作的对话式 AI:由 Gen AI 提供支持的对​​话式 AI 助手可以通过提供用于访问和共享信息的自然语言界面来增强 DevSecOps 团队之间的协作。团队成员可以使用自然语言提出问题、请求帮助或寻求指导,AI 助手可以提供相关信息、建议,甚至可以动态生成代码片段或配置文件。

c. DevSecOps 培训和技能提升:Gen AI 可以彻底改变 DevSecOps 培训和技能提升的交付方式。通过分析现有的培训材料、最佳实践和现实场景,Gen AI 模型可以根据团队成员的特定需求和技能水平生成个性化、交互式的培训内容。这可以加速 DevSecOps 实践的采用,并培养持续学习和改进的文化。

2:利用 Gen AI 赋能 SRE

站点可靠性工程 (SRE) 是一门专注于确保大型软件系统的可靠性、可扩展性和效率的学科。SRE 负责各种任务,从事件响应和故障排除到性能优化和容量规划。Gen AI 可以通过提供智能协助、自动执行重复任务和增强决策过程来增强 SRE 的能力。

2.1 智能事件响应和故障排除

事件响应和故障排除是 SRE 的关键职责,需要深入了解复杂系统并具备快速识别和解决问题的能力。Gen AI 可以通过提供智能分析、建议和自动补救措施来协助 SRE 完成这些任务。

a. 根本原因分析和事件总结:Gen AI 模型可以分析系统日志、指标和其他遥测数据,以确定事件的潜在根本原因。然后,这些模型可以生成人类可读的事件总结,突出显示根本原因、影响和建议的缓解步骤。这可以显著加快事件响应速度并促进 SRE 团队之间的有效沟通。

b. 智能协助和推荐:通过利用其对系统架构、配置和最佳实践的了解,Gen AI 可以为故障排除步骤、配置更改或潜在解决方案提供智能建议。这可以指导 SRE 应对复杂的场景,减少事件解决所需的时间和精力。

c. 自动补救和自我修复系统:在某些情况下,Gen AI 模型可以与自动化框架集成,以实现自动补救和自我修复功能。通过分析事件数据并生成适当的补救脚本或配置更改,Gen AI 可以帮助缓解问题并在无需人工干预的情况下恢复系统稳定性,从而提高整体系统可靠性并减少停机时间。

2.2 性能优化与容量规划

SRE 负责优化系统性能并确保有足够的容量来满足不断变化的需求。Gen AI 可以提供有价值的见解和建议来支持这些活动,从而实现数据驱动的决策和主动规划。

a. 资源使用分析与优化:Gen AI 模型可以分析资源使用模式、应用程序性能指标和成本数据,以确定优化机会。通过利用机器学习技术,这些模型可以生成有关调整实例大小、动态扩展资源或实施成本节约措施(例如现货实例或预留实例)的建议。

b. 智能自动扩展和负载平衡:Gen AI 可以分析实时应用程序性能指标、用户行为模式和历史数据,以动态调整资源分配和负载平衡策略。通过生成智能自动扩展策略和负载平衡配置,Gen AI 可以帮助确保最佳资源利用率并最大限度地减少过度配置或配置不足。

c. 容量预测和基础设施规划:通过了解历史使用模式、工作负载预测和系统依赖关系,Gen AI 模型可以预测未来的容量需求并协助基础设施规划。这些模型可以为基础设施配置生成建议,同时考虑到可扩展性、高可用性和成本优化等因素。

3:利用 Gen AI 简化平台工程

平台工程是一门专注于构建和维护可扩展、可靠和安全的平台以支持应用程序开发和部署的学科。平台工程师负责创建自助服务基础设施、自动化部署流程以及确保跨多个团队和项目的一致环境。Gen AI 可以通过自动执行重复任务、增强协作和实现智能决策来彻底改变平台工程。

3.1 自动化基础设施配置和配置管理

基础设施调配和配置管理是平台工程的重要组成部分,可确保在各种环境中实现一致且可重复的部署。Gen AI 可以通过生成基础设施即代码 (IaC) 模板、验证配置和自动执行部署任务来简化这些流程。

a. IaC 模板生成和重构:可以训练 Gen AI 模型来理解各种 IaC 语言(例如 Terraform、CloudFormation、Ansible)的语法和语义。然后,这些模型可以根据用户提供的规范生成或重构 IaC 模板,从而降低错误风险并提高代码质量。

b. 配置验证和合规性检查:Gen AI 可以分析 IaC 模板、配置和安全策略,以识别潜在问题、错误配置或不符合最佳实践的情况。这些模型可以生成人性化的报告,突出显示需要注意或补救的领域,确保安全且合规的基础设施部署。

c. 智能部署自动化:Gen AI 可以根据用户需求生成部署脚本或管道,从而协助实现部署流程自动化。这些模型可以分析应用程序依赖关系、基础架构配置和部署策略,以生成优化的部署工作流程,减少人工工作量并最大限度地减少潜在错误。

3.2 自助服务基础设施和平台定制

平台工程师致力于为开发团队提供自助服务基础设施和平台定制功能,使他们能够根据自己的特定需求调配资源和配置环境。Gen AI 可以通过提供智能帮助和个性化建议来促进这一过程。

a. 智能平台配置助手:Gen AI 驱动的对话助手可以指导开发团队完成配置和定制平台资源的过程。通过理解自然语言查询并利用平台功能、配置和最佳实践的知识,这些助手可以提供个性化建议并动态生成配置片段或脚本。

b. 自动化平台文档和知识管理:Gen AI 可协助生成平台组件、配置和使用指南的全面且最新的文档。这些文档可针对不同级别的受众进行量身定制,从平台工程师的详细技术规范到开发团队的用户友好指南,确保有效的知识共享并实现自助服务平台的采用。

c. 智能资源优化和成本管理:Gen AI 模型可以分析资源使用模式、应用程序性能指标和成本数据,以确定平台内的优化机会。这些模型可以生成有关实例大小调整、实施成本节约措施或建议平衡性能和成本效率的替代资源配置的建议。

3.3 平台安全与合规

确保平台安全并符合行业标准和监管要求是平台工程师的重要职责。Gen AI 可以帮助实现安全流程自动化、持续监控和合规性报告。

a. 自动化安全测试和漏洞扫描:Gen AI 模型可以集成到平台安全测试流程中,实现自动化漏洞扫描和渗透测试。这些模型可以生成智能测试用例,模拟真实世界的攻击场景,并提供可行的补救建议,从而增强平台的整体安全态势。

b. 持续安全监控和威胁检测:通过分析系统日志、网络流量和其他遥测数据,可以利用 Gen AI 进行持续安全监控。这些模型可以识别异常、潜在威胁和安全事件,生成智能警报并触发自动补救措施以维护平台安全。

c. 合规报告和审计跟踪生成:Gen AI 可协助生成平台资源、配置和安全控制的合规报告和审计跟踪。通过分析平台配置、安全策略和行业标准,Gen AI 模型可以生成人性化的报告,证明合规性并为审计或监管要求提供证据。

4:利用 Gen AI 革新云工程

云工程是一门专注于设计、构建和管理云原生应用程序和基础设施的学科。云工程师负责构建可扩展且有弹性的解决方案、优化资源利用率并确保成本效益。Gen AI 可以通过提供智能协助、自动执行重复任务和实现数据驱动的决策来彻底改变云工程。

4.1 智能云架构设计与优化

设计和优化云架构是一项复杂的任务,需要考虑各种因素,例如可扩展性、可用性、安全性和成本效益。Gen AI 可以通过提供智能建议并生成架构图或文档来协助云工程师完成此过程。

a. 智能架构设计助手:Gen AI 驱动的对话助手可以指导云工程师完成云架构设计过程。通过理解自然语言查询并利用云服务、最佳实践和设计模式的知识,这些助手可以提供个性化建议并动态生成架构图或文档。

b. 架构优化和成本分析:Gen AI 模型可以分析现有的云架构、资源使用模式和成本数据,以确定优化机会。这些模型可以生成优化资源分配、实施成本节约措施(例如预留实例、现货实例)的建议,或建议平衡性能、可扩展性和成本效益的替代架构模式。

c. 自动化架构文档和知识管理:Gen AI 可以帮助生成全面且最新的云架构文档,包括图表、组件描述和部署说明。该文档可以针对不同的受众级别进行量身定制,从云工程师的详细技术规范到利益相关者的高级概述,确保有效的知识共享并实现跨职能团队之间的协作。

4.2 智能云资源管理与优化

有效的云资源管理和优化对于确保可扩展性、性能和成本效益至关重要。Gen AI 可以在此领域提供智能辅助和自动化,实现数据驱动的决策和主动的资源管理。

a. 智能自动扩展和负载平衡:Gen AI 模型可以分析实时应用程序性能指标、用户行为模式和历史数据,以动态调整资源分配和负载平衡策略。通过生成智能自动扩展策略和负载平衡配置,Gen AI 可以帮助确保最佳资源利用率并最大限度地减少过度配置或配置不足。

b. 容量预测和基础设施规划:通过了解历史使用模式、工作负载预测和应用程序依赖关系,Gen AI 模型可以预测未来的容量需求并协助基础设施规划。这些模型可以为基础设施配置生成建议,同时考虑到可扩展性、高可用性和成本优化等因素。

c. 智能资源优化和规模调整:Gen AI 模型可以持续分析资源使用模式、应用程序性能指标和成本数据,以识别优化机会。这些模型可以生成实例规模调整建议、实施成本节约措施(例如预留实例、现货实例)或建议平衡性能和成本效益的替代资源配置。

4.3 云安全与合规性

确保云安全并符合行业标准和监管要求是云工程师的重要职责。Gen AI 可以帮助实现安全流程自动化、持续监控和合规性报告。

a. 自动安全测试和漏洞扫描:Gen AI 模型可以集成到云安全测试管道中,实现自动漏洞扫描和渗透测试。这些模型可以生成智能测试用例,模拟现实世界的攻击场景,并提供可行的补救建议,从而增强云环境的整体安全态势。

b. 持续安全监控和威胁检测:通过分析云日志、网络流量和其他遥测数据,可以利用 Gen AI 进行持续安全监控。这些模型可以识别异常、潜在威胁和安全事件,生成智能警报并触发自动补救措施以维护云安全。

c. 合规性报告和审计跟踪生成:Gen AI 可协助生成云资源、配置和安全控制的合规性报告和审计跟踪。通过分析云配置、安全策略和行业标准,Gen AI 模型可以生成人性化可读的报告,以证明合规性并为审计或监管要求提供证据。

5:挑战和未来方向

虽然 Gen AI 具有彻底改变 DevSecOps、SRE、平台工程和云工程实践的巨大潜力,但必须解决一些挑战和考虑才能确保成功采用和实施它。

5.1 解决偏见和伦理问题

与任何 AI 系统一样,Gen AI 模型容易受到训练数据或算法本身中存在的偏见的影响。这些偏见可以以各种形式表现出来,例如生成歧视性或冒犯性内容、延续刻板印象或做出不公平的建议。解决这些偏见并确保 Gen AI 的道德使用对于建立信任和促进负责任的采用至关重要。

a. 去偏见技术和道德 AI 框架:研究人员和组织必须优先开发和实施去偏见技术和道德 AI 框架。这些框架应提供指导方针,以确保在开发和部署 Gen AI 模型时公平、负责和透明,减轻潜在危害并促进负责任的创新。

b. 持续监控和审计:持续监控和审计通用人工智能模型对于识别和解决任何新出现的偏见或道德问题至关重要。这可能涉及对抗性测试、人工评估和真实世界性能监控等技术,从而实现及时干预和模型更新,以保持合乎道德和公正的行为。

c. 利益相关方参与和治理:让利益相关方参与进来,包括领域专家、最终用户和相关社区,对于了解潜在偏见和伦理影响至关重要。建立涉及不同观点并确保问责制的治理框架可以促进对 Gen AI 技术的信任和负责任的采用。

5.2 确保模型稳健性和安全性

随着新一代人工智能模型在关键系统和流程中越来越普遍,确保其稳健性和安全性变得至关重要。对抗性攻击、数据中毒和模型漏洞可能会损害这些模型的完整性和可靠性,给与其集成的系统带来重大风险。

a. 稳健的模型训练和测试:开发稳健的训练流程和严格的测试方法对于识别和缓解 Gen AI 模型中的漏洞至关重要。这可能涉及对抗性训练、数据清理和广泛的压力测试等技术,以确保模型能够抵御各种攻击媒介和极端情况。

b. 模型监控和持续验证:持续监控和验证已部署的 Gen AI 模型对于检测和缓解潜在的安全威胁或模型漂移至关重要。这可能涉及在线学习、增量更新和实时性能监控等技术,从而实现及时干预和模型更新,以保持安全性和可靠性。

c. 安全模型部署和访问控制:实施强大的模型部署和访问控制安全措施对于防止未经授权的访问或篡改至关重要。这可能涉及安全模型托管、访问控制机制和审计协议等技术,以确保只有授权用户和系统才能与 Gen AI 模型交互。

5.3 可扩展性和性能优化

随着 Gen AI 的采用率不断提高,确保可扩展性和性能优化成为一项关键挑战。大规模部署、实时推理要求以及高效资源利用的需求需要创新的解决方案和优化技术。

a. 分布式和并行计算:利用分布式和并行计算架构可以实现 Gen AI 模型的高效扩展和高性能推理。这可能涉及模型并行化、数据并行化等技术,以及使用专用硬件加速器(例如 GPU、TPU)来最大限度地提高计算效率和吞吐量。

b. 模型压缩和量化:减少 Gen AI 模型的内存和计算占用空间对于实现高效部署和推理至关重要,尤其是在资源受限的环境中。模型压缩、量化和修剪等技术可以在不牺牲性能的情况下显著减少模型大小和计算要求。

c. 高效的模型服务和推理优化:优化模型服务和推理管道对于实现低延迟和高吞吐量性能至关重要。这可能涉及批处理、缓存和优化数据加载等技术,以及利用专门的模型服务框架和硬件加速器。

5.4 持续学习和模型自适应

在动态且快速发展的环境中,确保 Gen AI 模型的持续学习和适应对于保持其相关性和有效性至关重要。随着新数据、需求和模式的出现,这些模型必须能够相应地学习和适应。

a. 在线学习和增量模型更新:开发在线学习和增量模型更新技术可以使 Gen AI 模型不断学习并适应新数据和新场景。这可能涉及迁移学习、小样本学习和持续学习算法等技术,使模型能够逐步吸收新知识而不会忘记以前学到的信息。

b. 人机协同学习:将人类反馈和领域专业知识纳入学习过程可以提高 Gen AI 模型的准确性和相关性。人机协同学习技术(例如交互式模型细化和人工引导的数据注释)可以实现一种协作方法,让人类专家和 AI 系统共同努力,提高模型性能和决策能力。

c. 自动化模型再训练和部署:自动化模型再训练和部署过程可以将持续学习和适应无缝集成到生产环境中。这可能涉及自动化数据管道、模型监控和触发机制以及简化的部署流程等技术,以确保更新后的模型能够快速安全地部署到实时系统中。

结论

Gen AI 的出现有望彻底改变 DevSecOps、站点可靠性工程 (SRE)、平台工程和云工程实践。通过利用自然语言处理、机器学习和智能决策的力量,Gen AI 为这些学科面临的挑战提供了改变游戏规则的解决方案。

从自动执行重复任务和增强事件响应到简化基础设施配置和优化资源利用率,Gen AI 有可能改变我们处理软件开发、运营和云计算的方式。

然而,与任何颠覆性技术一样,为了确保负责任且合乎道德地采用 Gen AI,必须解决一些挑战和考虑。解决偏见、确保模型稳健性和安全性、优化可扩展性和性能以及实现持续学习和适应是需要利益相关者持续研究和合作的关键领域。

在我们拥抱 Gen AI 革命时,培养负责任的创新、道德治理和持续学习的文化至关重要。通过合作并利用 Gen AI 的变革力量,我们可以在 DevSecOps、SRE、平台工程和云工程领域开辟效率、可扩展性和创新的新领域,最终推动现代软件系统的发展并塑造技术的未来。

相关文章:

14-32 剑和诗人6 - GenAI 重塑 SRE 和云工程实践

在不断发展的软件开发和运营领域,各种学科的融合催生了新的范式和实践,旨在简化流程、加强协作和推动创新。DevSecOps、站点可靠性工程 (SRE)、平台工程和云工程已成为支持现代软件系统的重要支柱,每个支柱都解决了独特的挑战和要求。 然而&…...

Towards Deep Learning Models Resistant to Adversarial Attacks

这篇论文的主要内容是关于开发对抗攻击具有抗性的深度学习模型。对抗攻击是通过对输入数据进行微小且精心设计的扰动,诱使深度学习模型做出错误的预测。这种攻击在图像识别、语音识别和自然语言处理等任务中尤为突出。 这篇论文的主要内容是关于开发对抗攻击具有抗…...

2、Key的层级结构

Key的层级结构 Redis的key允许有多个单词形成层级结构,多个单词之间用’:隔开。 举个例子: 我们有一个项目project,有user和product俩种不同的数据类型,那么我们可以这么定义key: user相关的key:project:user:1 pr…...

如何在Qt使用uchardet库

如何在 Qt 中使用 uchardet 库 文章目录 如何在 Qt 中使用 uchardet 库一、简介二、uchardet库的下载三、在Qt中直接调用四、编译成库文件后调用4.1 编译工具下载4.2 uchardet源码编译4.3 测试编译文件4.4 Qt中使用 五、一些小问题5.1 测试文件存在的问题5.2 uchardet库相关 六…...

G9 - ACGAN理论与实战

🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 目录 环境步骤环境设置数据准备工具方法模型设计模型训练模型效果展示 总结与心得体会 上周已经简单的了解了ACGAN的原理,并且不经实践的编写了部分…...

合合信息大模型“加速器”亮相2024世界人工智能大会,助力大模型学好“专业课”

7月4日至7日,2024世界人工智能大会在上海拉开帷幕。现阶段,“百模大战”现象背后的中国大模型发展前景与堵点仍然是各界关注的焦点。如何帮助大模型在信息的海洋中快速找准航向,在数据的荒漠中找到高质量的“水源”?合合信息在本次…...

bond网络配置文件中 interface-name 与 id 的区别

在bond网络配置文件中,interface-name和id是两个不同的参数,它们有如下区别: interface-name:该参数用于指定bond设备所使用的物理网卡接口的名称。可以设置一个或多个接口名称,多个接口名称之间使用逗号分隔。例如&am…...

Linux权限概述

一、权限概述 1.权限的基本概念 2.为什么要设置权限 3.linux用户的身份类别 4.user文件的拥有者 5.group文件所属组内用户 6.other其他用户 7.特殊用户root 二、普通权限管理 1.ls -l查看文件权限 2.文件类型以及权限解析 3.文件或文件夹的权限设置 4.通过数字给文件…...

谷粒商城学习-09-配置Docker阿里云镜像加速及各种docker问题记录

文章目录 一,配置Docker阿里云镜像加速二,Docker安装过程中的几个问题1,安装报错:Could not resolve host: mirrorlist.centos.org; Unknown error1.1 检测虚拟机网络1.2 重设yum源 2,报错:Could not fetch…...

基于GWO灰狼优化的多目标优化算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1灰狼优化算法原理 4.2 多目标优化问题(MOP)的帕累托最优解 4.3 基于GWO的多目标优化算法 5.完整程序 1.程序功能描述 基于GWO灰狼优化的多目标优化算法matlab仿真,目标函数…...

排序算法-java版本

冒泡排序 原理&#xff1a;相邻的数据两两比较&#xff0c;小的放前面&#xff0c;大的放后面 int[] arr{3,5,2,1,4} for(int i0;i<arr.length-1;i){for(int j0;j<arr.length-1-i;j){if(arr[j]>arr[j1]){int temparr[j];arr[j]arr[j1];arr[j1]temp;}}}选择排序 升序…...

Java+前后端分离架构+ MySQL8.0.36产科信息管理系统 产科电子病历系统源码

Java前后端分离架构 MySQL8.0.36产科信息管理系统 产科电子病历系统源码 产科信息管理系统—住院管理 数字化产科住院管理是现代医院管理中的重要组成部分&#xff0c;它利用数字化技术优化住院流程&#xff0c;提升医疗服务质量和效率。以下是对数字化产科住院管理的详细阐述…...

js使用websocket,vue使用websocket,copy即用

新建一个文件 websocket.js // 定义websocket 地址 let socketurlDev "ws://192.000.0.0:8085/websocket/admin/"; //开发环境 let socketurlProd "wss://123456789.cn/prod-api/websocket/admin/"; //正式环境// 重连锁, 防止过多重连 let reconnectLo…...

【鸿蒙学习笔记】Stage模型工程目录

官方文档&#xff1a;应用配置文件概述&#xff08;Stage模型&#xff09; 目录标题 FA模型和Stage模型工程级目录模块级目录app.json5module.json5程序执行流程程序基本结构开发调试与发布流程 FA模型和Stage模型 工程级目录 模块级目录 app.json5 官方文档&#xff1a;app.j…...

算法基础-----【动态规划】

动态规划(待完善) 动规五部曲分别为&#xff1a; 确定dp数组&#xff08;dp table&#xff09;以及下标的含义确定递推公式&#xff08;状态转移公式&#xff09;dp数组如何初始化确定遍历顺序举例推导dp数组、 动态规划的核心就是递归剪枝&#xff08;存储键值&#xff0c;…...

Java中的响应式编程与Reactor框架

Java中的响应式编程与Reactor框架 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 响应式编程&#xff08;Reactive Programming&#xff09;是一种面向数据流…...

政安晨【零基础玩转各类开源AI项目】基于Ubuntu系统部署ComfyUI:功能最强大、模块化程度最高的Stable Diffusion图形用户界面和后台

目录 ComfyUI的特性介绍 开始安装 做点准备工作 在Conda虚拟环境中进行 依赖项的安装 运行 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&…...

匿名内部类

下面代码中&#xff0c;Person24 是一个抽象类&#xff0c;这意味着它不能被直接实例化&#xff0c;只能通过继承它的子类来实现其抽象方法。代码片段中展示了如何使用匿名内部类来实现一个抽象类的实例。 package chapter04;public class Java24_Object_匿名内部类 {public s…...

react_web自定义组件_多类型Modal_搜索栏Search

目录 一、带输入框的Modal 二、提示框Modal 三、搜索栏Search 在做项目时引入一些现成的UI组件&#xff0c;但是如果和设计图冲突太大&#xff0c;更改时很麻烦&#xff0c;如果自己写一个通用组件其实也就几十分钟或者几个小时&#xff0c;而且更具UI设计更改也比较好更改&…...

Apache Flink架构介绍

目录 一、Apache Flink架构组件栈 1.1 概述 1.2 架构图 1.3 架构分层组件说明 1.3.1 物理部署层 1.3.2 Runtime 核心层 1.3.3 API & Libraries层 二、Flink运行时架构 2.1 概述 2.2 架构图 2.3 架构角色和组件 2.3.1 Flink Clients客户端 2.3.2 JobManager 2.…...

华为HCIP Datacom H12-821 卷28

1.单选题 下面是一台路由器的部分配置,关于该部分配置描述正确的是,[HUAWEI]ip ip-prefx pl permit 10.0.192.0 8greater-equal17 less-equal 18 A、10.0.192.0/8网段内,掩码长度为18的路由会匹配到该前缀列表,匹配规则为允许 B、10.0.192.0/8网段内掩码长度为21的路…...

安装Nginx以及简单使用 —— windows系统

一、背景 Nginx是一个很强大的高性能Web和反向代理服务&#xff0c;也是一种轻量级的Web服务器&#xff0c;可以作为独立的服务器部署网站&#xff0c;应用非常广泛&#xff0c;特别是现在前后端分离的情况下。而在开发过程中&#xff0c;我们常常需要在window系统下使用Nginx作…...

【UE5.3】笔记8 添加碰撞,检测碰撞

添加碰撞 打开BP_Food,添加Box Collision组件&#xff0c;与unity类似&#xff1a; 调整Box Collision的大小到刚好包裹物体&#xff0c;通过调整缩放和盒体范围来控制大小&#xff0c;一般先调整缩放找个大概大小&#xff0c;然后调整盒体范围进行微调。 碰撞检测 添加好碰撞…...

丝滑流畅!使用kimi快速完成论文仿写

学境思源&#xff0c;一键生成论文初稿&#xff1a; AcademicIdeas - 学境思源AI论文写作 今天的分享&#xff0c;我们将带大家探索一种新的学术写作技巧——使用Kimi进行论文仿写。本文将深入解析如何利用Kimi的智能辅助功能&#xff0c;提高论文写作的效率和质量&#xff0c…...

【C++】认识使用string类

【C】STL中的string类 C语言中的字符串标准库中的string类string类成员变量string类的常用接口说明成员函数string(constructor构造函数)~string(destructor析构函数)默认赋值运算符重载函数 遍历string下标[ ]迭代器范围for反向迭代器 capacitysizelengthmax_sizeresizecapaci…...

如何在 Odoo 16 中对 Many2Many 字段使用 Group by

Many2many 字段与 Many2one 字段类似,因为它们在模型之间建立了新的关系。在Odoo 16中,您无法按 many2many 字段分组,因为可以使用 many2many 记录选择任何记录。当您使用 many2many 字段给出 group by 过滤器时,您将遇到断言错误。 介绍如何在 Odoo 16 中使用 Many2Many…...

PCL从理解到应用【03】KDTree 原理分析 | 案例分析 | 代码实现

前言 本文分析KDTree的原理&#xff0c;集合案例深入理解&#xff0c;同时提供源代码。 三个案例&#xff1a;K近邻搜索、半径内近邻搜索、近似最近邻搜索。方法对比&#xff0c;如下表所示&#xff1a; 特性K近邻搜索半径内近邻搜索近似最近邻搜索描述查找K个最近邻点查找指…...

Windows 11内置一键系统备份与还原 轻松替代Ghost

面对系统崩溃、恶意软件侵袭或其他不可预见因素导致的启动失败&#xff0c;Windows 7~Windows 11内置的系统映像功能能够迅速将您的系统恢复至健康状态&#xff0c;确保工作的连续性和数据的完整性。 Windows内置3种备份策略 U盘备份&#xff1a;便携且安全 打开“创建一个恢…...

leetCode-hot100-动态规划专题

动态规划 动态规划定义动态规划的核心思想动态规划的基本特征动态规划的基本思路例题322.零钱兑换53.最大子数组和72.编辑距离139.单词拆分62.不同路径63.不同路径Ⅱ64.最小路径和70.爬楼梯121.买卖股票的最佳时机152.乘积最大子数组 动态规划定义 动态规划&#xff08;Dynami…...

【算法笔记自学】入门篇(2)——算法初步

4.1排序 自己写的题解 #include <stdio.h> #include <stdlib.h>void selectSort(int A[], int n) {for(int i 0; i < n - 1; i) { // 修正索引范围int k i;for(int j i 1; j < n; j) { // 修正索引范围if(A[j] < A[k]) {k j;}}if (k ! i) { // 仅在…...

Redis基础教程(六):redis 哈希(Hash)

&#x1f49d;&#x1f49d;&#x1f49d;首先&#xff0c;欢迎各位来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里不仅可以有所收获&#xff0c;同时也能感受到一份轻松欢乐的氛围&#xff0c;祝你生活愉快&#xff01; &#x1f49d;&#x1f49…...

鸿蒙开发设备管理:【@ohos.account.appAccount (应用帐号管理)】

应用帐号管理 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。开发前请熟悉鸿蒙开发指导文档&#xff1a;gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。 导入模…...

java项目自定义打印日志,打印请求方式,参数用时等

1.相关依赖 <!-- 私人工具包 --><dependency><groupId>cn.changeforyou</groupId><artifactId>location</artifactId><version>1.13-SNAPSHOT</version></dependency><!-- hutool工具依赖 --><dependency>…...

03:EDA的进阶使用

使用EDA设计一个38译码器电路和245放大电路 1、38译码器1.1、查看74HC138芯片数据1.2、电路设计 2、245放大电路2.1、查看数据手册2.2、设计电路 3、绘制PCB3.1、导入3.2、放置3.3、飞线3.4、特殊方式连接GND3.5、泪滴3.6、配置丝印和划分区域3.7、添加typc接口供电 1、38译码器…...

Linux/Unix系统指令:(tar压缩和解压)

tar 是一个在Linux和Unix系统中用于创建和处理归档文件的命令。 下面是tar命令的详细用法&#xff0c;包括它的所有常用选项和一些示例。 基本语法 tar [选项] [归档文件] [文件或目录]常用选项 基本操作 -c&#xff1a;创建一个新的归档文件&#xff08;create&#xff09…...

MySQL 日期和时间函数知识点总结

引言 在数据库管理和开发中&#xff0c;日期查询是一项基础且频繁使用的功能。MySQL提供了丰富的日期和时间处理函数&#xff0c;使得我们能够灵活地进行日期查询和数据处理。本文将详细介绍MySQL中关于日期查询的几个重要知识点&#xff0c;并附上具体的案例。 1. MySQL的日…...

鸿蒙登录页面及页面跳转的设计

目录 任务目标任务分析任务实施1.新建工程项目HMLogin2.设计登录页面Index.visual3.设计第二个页面SecondPage4.修改Index.ets代码5.修改SecondPage.ets代码6.运行工程 任务目标 设计一个简单的登录页面&#xff0c;要求可以将第一页的登录信息&#xff0c;传递到第二个页面&a…...

【居家养老实训室】:看中医保健在养老中的应用

本文以居家养老实训室为视角&#xff0c;深入探讨了中医保健在养老中的应用。通过对中医保健理念、常用方法以及在居家养老中的具体实践进行分析&#xff0c;阐述了其在改善老年人健康状况、提高生活质量方面的重要作用。同时&#xff0c;也指出了目前应用中存在的问题&#xf…...

【区块链+基础设施】区块链服务网络 BSN | FISCO BCOS应用案例

BSN&#xff08;Blockchain-based Service Network&#xff0c;区块链服务网络&#xff09;是一个跨云服务、跨门户、跨底层框架&#xff0c;用于部 署和运行各类区块链应用的全球性基础设施网络&#xff0c;旨在为开发者提供低成本和技术互通的区块链一站式服务。 2019 年 12…...

六、快速启动框架:SpringBoot3实战-个人版

六、快速启动框架&#xff1a;SpringBoot3实战 文章目录 六、快速启动框架&#xff1a;SpringBoot3实战一、SpringBoot3介绍1.1 SpringBoot3简介1.2 系统要求1.3 快速入门1.4 入门总结回顾复习 二、SpringBoot3配置文件2.1 统一配置管理概述2.2 属性配置文件使用2.3 YAML配置文…...

SA 注册流程

目录 1. UE开机后按照3GPP TS 38.104定义的Synchronization Raster搜索特定频点 2.UE尝试检测PSS/SSS&#xff0c;取得下行时钟同步&#xff0c;并获取小区的PCI&#xff1b;如果失败则转步骤1搜索下一个频点&#xff1b;否则继续后续步骤&#xff1b; 3.解析Mib&#xff0c;…...

图像的灰度直方图

先来认识一下灰度直方图&#xff0c;灰度直方图是图像灰度级的函数&#xff0c;用来描述每个灰度级在图像矩阵中的像素个数或者占有率。接下来使用程序实现直方图&#xff1a; 首先导入所需的程序包&#xff1a; In [ ]: import cv2 import numpy as np import matplotlib…...

软件测试面试题:Redis的五种数据结构,以及使用的场景是什么?

字符串&#xff08;Strings&#xff09;&#xff1a;简单直接&#xff0c;就像记事本一样&#xff0c;用来存储和快速访问简单的数据&#xff0c;比如缓存网页或者保存用户会话信息。 列表&#xff08;Lists&#xff09;&#xff1a;有序的数据集合&#xff0c;适合用来存储按…...

Java后端每日面试题(day1)

目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别&#xff1f;Spring Boot的优点Spring IoC是什么&#xff1f;说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值&#xff1f;如何理解Spring的SPI机制&#xff1f;Spr…...

AI与测试相辅相成

AI助力软件测试 1.AI赋能软件测试 使用AI工具来帮助测试人员提高测试效率&#xff0c;提供缺陷分析和缺陷预测。 语法格式 设定角色 具体指示 上下文格式 例: 角色&#xff1a;你是一个测试人员 内容&#xff1a;请帮我生成登录案例的测试用例 ​ 1.只有输入正确账号和密码才…...

搜索+动态规划

刷题刷题刷题刷题 ​​​​​​​​​​​​​​Forgery - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff1a; 需要两个数组&#xff0c;一个数组全部初始化为".",另一个数组输入数据&#xff0c;每碰到一个“.”就进行染色操作&#xff0c;将其周围的…...

strcpy,srtcmp,strlen函数漏洞利用

strcpy,srtcmp,strlen函数漏洞利用 strcpy strcpy函数用于将字符串复制到另一个指针指向的空间中&#xff0c;遇到空字符 **b’x\00’**时停止&#xff0c;&#xff1a; 所以可以利用 strcpy不检查缓冲区 的漏洞&#xff08;构造的字符串要以\0结尾&#xff09;&#xff0c;…...

SketchUp + Enscape+ HTC Focus3 VR

1. 硬件: 设备连接 2. 软件: 安装steam steamVR Vive Business streaming 3. 操作: 双方登录steam 账号,然后带上头盔,用手柄在HTC Focus3 安装 串流软件,选择串流软件,在Enscape中选择 VR 模式即可 4.最终效果: SketchUp Enscape HTC Focus 3 VR 实时预览_哔哩哔哩_bi…...

推荐3款Windows系统的神级软件,免费、轻量、绝对好用!

DiskView DiskView是一款用于管理和查看磁盘空间的工具&#xff0c;它集成了于微软的Windows操作系统资源管理器中&#xff0c;以显示直观的磁盘空间使用情况。该软件通过生成图形化地图&#xff0c;帮助用户组织和管理大量文件和文件夹&#xff0c;从而高效地管理磁盘空间。用…...

-bash: /snap/bin/docker: 没有那个文件或目录

-bash: /snap/bin/docker: 没有那个文件或目录 解决办法 export PATH$PATH:/usr/bin/docker然后&#xff0c;重新加载配置文件 source ~/.bashrc...