DevOps的原理及应用详解(二)

2024-06-06 18:28
文章标签 应用 详解 原理 devops

本文主要是介绍DevOps的原理及应用详解(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本系列文章简介:

        在当今快速变化的商业环境中,企业对于软件交付的速度、质量和安全性要求日益提高。传统的软件开发和运维模式已经难以满足这些需求,因此,DevOps(Development和Operations的组合)应运而生,成为了解决这些问题的有效方法。

        DevOps是一种强调软件开发人员(Development)和运维人员(Operations)之间紧密协作与沟通的文化、方法和工具集。它打破了传统软件开发和运维之间的壁垒,通过自动化、持续集成、持续交付、监控与反馈等手段,实现了软件交付的高效率、高质量和高可靠性。

        DevOps的原理在于将开发、测试、部署和运维等各个环节紧密连接起来,形成一个闭环的反馈系统。通过自动化的工具和流程,减少人工干预,提高软件交付的效率和质量。同时,DevOps强调共享责任、持续改进和自我反馈的文化,使得整个团队能够更好地协同工作,共同追求业务目标。

        在实践中,DevOps已经得到了广泛的应用,并取得了显著的成效。越来越多的企业开始采用DevOps来加速软件交付、提高系统稳定性、优化资源利用和增强安全性。通过引入DevOps,企业可以更加快速地响应市场变化、满足客户需求,提升自身的竞争力。

        然而,DevOps的实施也面临着一些挑战,如文化变革、技术集成、安全问题和人员培养等。为了克服这些挑战,企业需要制定合适的策略、选择合适的工具链、建立有效的沟通机制和培训机制。

        本系列文章旨在详细阐述DevOps的原理、应用及面临的挑战,并提供相应的解决方案。希望通过本系列文章的介绍,大家能够更加深入地了解DevOps的概念和实践方法,为企业实现快速、可靠和安全的软件交付提供参考。

        欢迎大家订阅《Java技术栈高级攻略》专栏(PS:近期会涨价),一起学习,一起涨分!

目录

一、引言

二、DevOps的原理

2.1 文化变革

2.2 自动化

2.2.1 持续集成/持续部署(CI/CD)

2.2.2 基础设施即代码(IaC)

2.2.3 自动化测试

2.2.4 自动化监控与告警

2.3 测量与反馈

2.3.1 关键性能指标(KPIs)

2.3.2 监控与日志分析

2.3.3 反馈循环

2.4 安全性

2.5 共享与标准化

三、DevOps的应用

3.1 提高开发效率

3.2 增强系统稳定性

3.3 优化资源利用

3.4 增强安全性

3.5 提高客户满意度

四、DevOps的实践案例

五、DevOps面临的挑战与解决方案

六、总结与展望

七、结语


一、引言

        DevOps,是Development(开发)和Operations(运维)两个词的结合,是一种重视软件开发人员(Dev)和信息技术运维人员(Ops)之间沟通、合作与整合的文化、方法和实践。DevOps旨在打破传统的“开发”与“运维”之间的壁垒,通过自动化、持续集成、持续交付、监控与反馈等手段,实现软件产品从开发到部署、从运行到维护的全流程高效协同。

        本文将跟随《DevOps的原理及应用详解(一)》的进度,继续介绍DevOps。希望通过本系列文章的学习,您将能够更好地理解DevOps的内部工作原理,掌握DevOps的使用技巧,以及通过合理的设计完成最佳实践,充分发挥优化DevOps的潜力,为系统的高效运行提供有力保障。

二、DevOps的原理

2.1 文化变革

        详见 《DevOps的原理及应用详解(一)

2.2 自动化

2.2.1 持续集成/持续部署(CI/CD)

DevOps的原理之自动化中,持续集成/持续部署(CI/CD)是一个核心实践,它通过自动化的流程来频繁地集成和部署代码变更,从而提高软件交付的速度和质量。以下是关于CI/CD的详细解释:

持续集成(Continuous Integration, CI)

  1. 定义
    • 持续集成是指在软件开发过程中,开发人员将代码频繁地集成到共享的代码仓库中,并进行自动化的构建、测试和代码静态分析等过程。
  2. 关键实践
    • 自动化构建:代码提交后自动触发构建过程,将源代码转换为可执行软件。
    • 自动化测试:构建完成后自动执行单元测试、集成测试等,确保代码质量。
    • 代码审查:通过代码审查工具来管理代码质量,确保代码符合规范。
    • 即时反馈:开发者可以迅速获得代码合并的反馈,包括构建和测试结果。
  3. 优势
    • 及时发现和解决代码集成引起的问题,减少冲突和错误。
    • 提高开发团队的协作效率和代码质量。

持续部署(Continuous Deployment, CD)

  1. 定义
    • 持续部署是在持续集成的基础上,将通过测试的代码自动部署到生产环境的实践。
  2. 关键实践
    • 自动化部署:代码通过所有测试后自动部署到生产环境。
    • 配置管理:自动化地管理应用的配置,适应不同环境。
    • 回滚策略:快速回滚到上一个稳定版本,以应对部署失败。
    • 监控和日志:部署后持续监控应用性能,并收集日志。
  3. 优势
    • 缩短了软件交付到生产环境的时间。
    • 减少了人工干预的需要,提高了交付的速度和可靠性。

归纳

CI/CD通过自动化的流程,使得开发人员能够更频繁、更快速地集成和部署代码变更。这不仅提高了软件交付的速度,还通过自动化的测试和反馈机制,确保了代码的质量。CI/CD是DevOps实践中不可或缺的一部分,它促进了开发团队和运维团队之间的紧密合作,共同追求软件交付的高效和质量。通过利用自动化工具和流程,CI/CD使得软件交付过程更加可靠、可预测和可控。

2.2.2 基础设施即代码(IaC)

DevOps的原理中,自动化是一个关键要素,而基础设施即代码(IaC)则是实现自动化的重要手段之一。以下是关于DevOps原理中自动化之基础设施即代码(IaC)的详细解释:

定义

基础设施即代码(IaC)是一种以代码形式对计算基础设施进行描述、部署和维护的技术。它允许开发人员通过编写可执行的代码来定义和自动化基础设施的创建、配置和更新,实现基础设施的可持续交付和可重复性。

特点

  1. 自动化:IaC通过自动化方式一致地供应和配置基础设施,避免人工操作引入的变化,提高基础设施管理的效率和准确性。
  2. 一致性和可重复性:由于基础设施的配置和部署是通过代码实现的,因此可以在任何环境中实现相同的基础设施配置,确保一致性和可重复性。
  3. 模块化和可复用:IaC将基础设施划分为易于重用和组合的模块,使得基础设施的配置和管理更加灵活和高效。

实践

  1. 编码化基础设施:使用编程语言或配置管理工具(如Terraform、AWS CloudFormation等)编写基础设施的配置代码,定义所需的计算资源、网络、存储等基础设施组件。
  2. 版本控制:将基础设施的配置代码存储在版本控制系统中(如Git),以便进行版本管理和协同开发。通过版本控制,可以跟踪基础设施的变更历史、进行代码审查,并确保团队成员之间的协作和一致性。
  3. 自动化测试和部署:使用自动化测试和部署工具(如Jenkins、Travis CI等)对基础设施的配置代码进行验证和部署。通过自动化测试和部署,可以确保基础设施的配置代码符合预期要求,并在生产环境中稳定运行。

优势

  1. 提高效率:IaC通过自动化和代码化的方式,减少了手动操作和人为错误,提高了基础设施管理的效率。
  2. 降低风险:由于基础设施的配置和部署是通过代码实现的,因此可以更容易地识别和修复潜在的问题和错误,降低风险。
  3. 灵活性:IaC允许开发人员根据业务需求快速调整基础设施的配置和部署,提高了基础设施的灵活性和适应性。

综上所述,基础设施即代码(IaC)是DevOps原理中自动化的重要手段之一。通过编码化基础设施、版本控制和自动化测试和部署等实践,IaC可以提高基础设施管理的效率、降低风险、提高灵活性和适应性,从而支持DevOps实现更快速、更可靠、更高效的软件交付。

2.2.3 自动化测试

DevOps原理中的自动化测试是确保软件质量、提高开发效率的关键环节。自动化测试通过自动化执行测试用例,减少人工干预,实现测试的快速、准确和可靠。以下是关于自动化测试的详细解释:

自动化测试的定义

自动化测试指的是将以人为驱动的测试行为转化为由机器自动执行的一种过程,包括自动执行由开发人员或测试人员编写的测试代码,如单元测试、组件测试、集成测试和验收测试等。同时,也包含一些非功能性测试,如安全测试和性能测试。

自动化测试的优势

  1. 节约时间和降低执行成本:在软件开发全生命周期中,测试是一个非常频繁且重复的活动。自动化测试可以无人值守运行,甚至可以在多台机器上并行执行,大大缩短了测试时间。
  2. 减少出错概率,提高准确性:自动化测试每次执行时都会执行相同的步骤,并且每次都会生成详细的测试报告,这些报告不受人为因素影响,因此可以减少出错率,提高准确性。
  3. 提升测试覆盖度:自动化测试可以增加测试的深度和范围,例如,在很短的时间里执行数千个测试用例,从而提高软件质量。
  4. 加快反馈效率:自动化测试在每次提交代码之后自动触发,并将测试结果通知到团队中的开发人员,大大缩短了开发人员获得反馈的时间。
  5. 模拟手工无法测试的场景:自动化测试可以模拟成千上万用户并发访问的场景,这样的测试场景是手工测试无法模拟的。

自动化测试的实践

  1. 确定自动化测试的范围和目标:在开始实施自动化测试之前,需要明确测试的范围和目标,例如测试网站功能或移动应用程序的UI。同时,确定自动化测试的优先级,以确保测试最关键的功能和场景。
  2. 选择正确的测试工具:选择适合项目需求的测试工具是自动化测试成功的关键。评估各种测试工具的优缺点,选择最适合的工具。
  3. 编写可重复的测试用例:自动化测试的测试用例需要编写成可重复的,并且应该检查相同的功能和场景。这可以确保测试结果是可重复的,并且有助于快速识别问题。
  4. 使用版本控制:使用版本控制可以跟踪测试代码的变化,以及测试用例和测试结果。这有助于快速回溯到先前的测试结果,确保问题得到解决。
  5. 设计稳健的测试环境:为自动化测试创建一个稳定的测试环境,确保测试环境一致并且每次测试都是相同的。可以使用虚拟机或Docker容器等工具。
  6. 执行可靠的错误处理和日志记录:在执行自动化测试时,需要捕捉和记录所有出现的错误,并确保能够查看日志记录以帮助调试问题。

归纳

自动化测试是DevOps中自动化原理的重要部分,它通过自动化执行测试用例,实现了测试的快速、准确和可靠。通过遵循上述最佳实践,可以确保自动化测试的有效性和可维护性,从而大大提高软件的质量和可靠性。

2.2.4 自动化监控与告警

DevOps原理中的自动化之自动化监控与告警是确保系统稳定性、可靠性和性能的重要组成部分。以下是对自动化监控与告警的详细解释和归纳:

自动化监控

1. 定义与目的

自动化监控是指通过工具和技术手段,实时收集、分析并展示系统运行状态、性能指标和潜在问题的过程。其目的在于及时发现和解决系统异常,提高系统的稳定性和可靠性。

2. 监控范围

在DevOps流程中,自动化监控需要覆盖代码开发、测试、部署和运维等各个阶段。监控对象包括客户端、服务器、数据库、网络等,以及这些组件的性能、容量、可用性、安全性等方面的指标。

3. 关键要素

  • 确定监控范围:明确需要监控的组件和指标,例如CPU使用率、内存占用、网络流量等。
  • 定义监控规则:基于监控范围,设置合适的监控规则,如系统负载、故障检测、性能度量等。
  • 建立数据源:收集来自各个阶段的监控数据,并进行整合处理。
  • 确定监控方式:根据监控对象类型,选择合适的监控方式,如日志记录、网络追踪、传感器等。

4. 监控工具

常见的自动化监控工具有Prometheus、Zabbix、Nagios等。这些工具提供了丰富的监控指标和灵活的配置选项,可以根据需求进行定制化配置。

自动化告警

1. 定义与目的

自动化告警是指当监控指标超过预设阈值时,系统自动触发告警通知,以便相关人员及时响应和处理。其目的在于快速发现系统异常,减少故障对业务的影响。

2. 告警触发机制

  • 设置监控阈值:根据业务需求和系统特点,设置合理的监控阈值,如CPU使用率超过80%、请求响应时间超过500毫秒等。
  • 配置报警规则:定义当某个指标超过阈值时触发的报警方式和级别。报警方式可以包括邮件、短信、Slack等即时通讯工具。

3. 告警优化

为了避免频繁或无效的告警,需要对告警进行优化。这包括调整监控项和监控阈值、设置告警抑制和静默期等。

自动化监控与告警的价值

  • 提高系统稳定性:通过实时监控和告警,可以及时发现并解决系统异常,提高系统的稳定性和可靠性。
  • 降低故障影响:自动化告警可以确保相关人员及时响应和处理故障,减少故障对业务的影响。
  • 优化资源配置:通过监控数据的分析,可以了解系统的资源使用情况,为资源优化和扩容提供依据。

总之,自动化监控与告警是DevOps原理中自动化的重要组成部分。通过合理配置和使用相关工具和技术手段,可以实现对系统的全面监控和及时告警,提高系统的稳定性和可靠性。

2.3 测量与反馈

2.3.1 关键性能指标(KPIs)

DevOps的原理中,测量与反馈是确保软件开发流程高效、持续改进的关键环节。关键性能指标(Key Performance Indicators, KPIs)作为测量与反馈机制的重要组成部分,为DevOps团队提供了定量的数据支持,帮助团队了解当前软件开发的效率、质量和性能,从而做出有针对性的改进。

以下是关于DevOps中关键性能指标(KPIs)的详细解释:

1. 确定关键性能指标(KPIs)

在DevOps实践中,关键性能指标的选择应该与团队的具体目标、业务需求以及软件开发流程紧密相关。常见的DevOps KPIs包括但不限于以下几种:

  • 部署频率:衡量团队成功将变更发布到生产环境的频率,表明团队交付软件的速度。例如,每天、每周或每月的部署次数。
  • 变更提前期:从开始处理变更请求到将其投入生产并最终提供给客户的时间。这个指标反映了开发过程的效率。
  • 变更失败率:衡量产品变更在发布后导致失败的比率,是团队编写的代码质量的指标。
  • 平均恢复时间:衡量通过生产变更解决事件或故障所需的时间,反映了团队的故障恢复能力。

2. 收集和分析KPIs数据

  • 建立数据收集机制:确保能够系统地收集与KPIs相关的数据。这可以通过集成各种监控工具、日志分析工具、自动化测试工具等来实现。
  • 数据分析:对收集到的数据进行分析,了解当前软件开发的效率、质量和性能状况。可以使用统计方法、图表分析等方法来帮助理解数据。

3. 利用KPIs进行决策和改进

  • 识别问题:通过KPIs数据,团队可以识别出软件开发过程中存在的问题,如部署频率下降、变更失败率上升等。
  • 制定改进计划:根据数据分析的结果,确定改进的重点和方向,制定具体的改进计划,包括改进目标、时间表、责任人等。
  • 实施改进措施:按照改进计划的安排,逐步实施改进措施。这可能包括优化开发流程、提高自动化水平、加强代码审查等。
  • 监控效果:在改进措施实施后,持续监控KPIs的变化,评估改进效果,并根据需要进行调整和改进。

4. 归纳

关键性能指标(KPIs)在DevOps实践中起着至关重要的作用。它们为团队提供了定量的数据支持,帮助团队了解当前软件开发的效率、质量和性能状况,从而做出有针对性的改进。通过精心选择、收集、分析和利用KPIs数据,DevOps团队可以持续提高软件开发的效率和质量,满足业务需求,提升客户满意度。

2.3.2 监控与日志分析

DevOps的原理之测量与反馈中的监控与日志分析是确保软件开发和运维流程顺畅、高效的关键环节。以下是对监控与日志分析的详细解释和归纳:

监控

1. 定义与目的

  • 监控是指对系统、应用、网络、数据库等IT基础设施进行实时、持续的性能和状态观测,以确保它们的健康运行。
  • 监控的目的是为了及时发现潜在问题、预测系统瓶颈、优化资源配置,并快速响应故障,保证服务的连续性和稳定性。

2. 监控的核心功能

  • 性能监控:关注应用和基础设施的性能指标,如响应时间、吞吐量和资源使用率,揭示系统瓶颈和性能退化。
  • 健康检查:定期验证系统组件是否运作正常,确保服务的可用性。
  • 警报系统:在问题发生时及时通知相关人员,最小化故障影响。
  • 仪表板:提供一个可视化界面,将关键指标汇总显示,方便团队成员快速把握系统状态。

3. 监控工具

  • 常用的监控工具有Prometheus、Nagios、Datadog等,它们可以监测关键性能指标,如CPU使用率、内存使用、响应时间等。

日志分析

1. 定义与目的

  • 日志是系统或应用运行时产生的详细记录,包含大量有关系统行为、事件和错误的信息。
  • 日志分析是指对这些日志数据进行收集、存储、搜索、分析和可视化,以提取有价值的信息,帮助定位问题和优化系统。

2. 日志分析的重要性

  • 为团队提供实时反馈和历史数据的参考:通过日志分析,可以实时了解系统状态,并基于历史数据做出决策。
  • 帮助定位问题和故障的原因:通过日志的详细记录,可以快速定位问题发生的上下文环境和可能的根源。
  • 支持持续改进和优化:日志分析为未来的系统优化提供数据支持。
  • 确保合规性和审计要求得到满足:符合法律法规要求的日志管理对于保障企业合规性至关重要。

3. 日志管理的要义

  • 日志收集:确定日志如何从各个源收集起来。
  • 高效的日志存储:确保数据的安全和可检索性。
  • 搜索和分析功能:支持快速定位特定事件或模式,对于故障恢复和系统优化具有决定性意义。
  • 可视化:帮助团队成员理解日志数据,加速决策过程。

4. 日志分析工具

  • 常用的日志分析工具包括Elasticsearch、Logstash、Kibana(ELK)堆栈和Splunk等,它们可以有效地进行日志的集中管理、搜索、分析和可视化。

总结

监控与日志分析在DevOps实践中扮演着至关重要的角色。通过实时监控和日志分析,可以及时发现潜在问题、预测系统瓶颈、优化资源配置,并快速响应故障,确保服务的连续性和稳定性。同时,它们也为持续改进和优化提供了有力的数据支持。

2.3.3 反馈循环

DevOps原理中的测量与反馈循环是确保软件开发流程持续改进和优化的关键机制。反馈循环通过收集和分析数据,识别问题,并推动相应的改进措施,形成了一个闭环的、持续优化的过程。以下是关于DevOps中反馈循环的详细解释:

1. 反馈循环的定义

反馈循环是一个循环的过程,它通过收集软件开发过程中的数据,识别问题,提出改进措施,并监控改进措施的效果,从而不断优化软件开发流程。反馈循环是DevOps中持续改进和优化的核心机制。

2. 反馈循环的步骤

2.1 数据收集

  • 监控数据:收集与软件开发过程相关的监控数据,如系统性能、故障率、用户反馈等。
  • 测试数据:自动化测试的结果数据,包括测试用例的通过率、缺陷发现率等。
  • 其他数据源:如业务数据分析、用户行为分析等,提供全面的视角来评估软件的质量。

2.2 数据分析

  • 问题识别:通过对收集到的数据进行分析,识别出软件开发过程中存在的问题和瓶颈。
  • 趋势预测:基于历史数据,预测未来可能出现的问题或挑战。

2.3 问题解决与改进

  • 制定改进措施:针对识别出的问题,制定具体的改进措施,如优化代码、改进测试策略、调整开发流程等。
  • 优先级排序:根据问题的严重性和影响范围,对改进措施进行优先级排序。
  • 实施改进措施:按照计划,逐步实施改进措施。

2.4 监控与评估

  • 监控效果:持续监控改进措施的实施效果,收集新的数据以评估改进效果。
  • 迭代优化:根据监控结果,对改进措施进行迭代优化,确保持续改进的效果。

3. 反馈循环的特点

  • 闭环性:反馈循环是一个闭环的过程,从数据收集到改进措施的实施再到效果的评估,形成了一个完整的循环。
  • 持续性:反馈循环是一个持续的过程,它不断收集数据、分析问题、提出改进措施,并监控效果,以实现持续改进。
  • 数据驱动:反馈循环是基于数据的,它通过收集和分析数据来识别问题和推动改进。

4. 反馈循环的重要性

  • 提高软件质量:通过反馈循环,团队可以及时发现并修复软件中的问题,提高软件的质量和稳定性。
  • 加速交付速度:反馈循环可以优化软件开发流程,减少不必要的延迟和瓶颈,加速软件的交付速度。
  • 满足客户需求:通过收集和分析用户反馈,团队可以更好地理解客户需求,从而开发出更符合客户期望的软件产品。

5. 总结

反馈循环是DevOps原理中测量与反馈机制的重要组成部分。它通过收集和分析数据、识别问题、推动改进措施并监控效果,形成了一个闭环的、持续优化的过程。反馈循环对于提高软件质量、加速交付速度以及满足客户需求等方面都具有重要意义。

2.4 安全性

          详见 《DevOps的原理及应用详解(三)

2.5 共享与标准化

          详见 《DevOps的原理及应用详解(四)

三、DevOps的应用

3.1 提高开发效率

         详见 《DevOps的原理及应用详解(五)

3.2 增强系统稳定性

         详见 《DevOps的原理及应用详解(五)

3.3 优化资源利用

         详见 《DevOps的原理及应用详解(六)

3.4 增强安全性

         详见 《DevOps的原理及应用详解(六)

3.5 提高客户满意度

         详见 《DevOps的原理及应用详解(六)

四、DevOps的实践案例

         详见 《DevOps的原理及应用详解(七)

五、DevOps面临的挑战与解决方案

         详见 《DevOps的原理及应用详解(八)

六、总结与展望

         详见 《DevOps的原理及应用详解(八)

七、结语

        文章至此,已接近尾声!希望此文能够对大家有所启发和帮助。同时,感谢大家的耐心阅读和对本文档的信任。在未来的技术学习和工作中,期待与各位大佬共同进步,共同探索新的技术前沿。最后,再次感谢各位的支持和关注。您的支持是作者创作的最大动力,如果您觉得这篇文章对您有所帮助,请分享给身边的朋友和同事!

这篇关于DevOps的原理及应用详解(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1036885

相关文章

十四、观察者模式与访问者模式详解

21.观察者模式 21.1.课程目标 1、 掌握观察者模式和访问者模式的应用场景。 2、 掌握观察者模式在具体业务场景中的应用。 3、 了解访问者模式的双分派。 4、 观察者模式和访问者模式的优、缺点。 21.2.内容定位 1、 有 Swing开发经验的人群更容易理解观察者模式。 2、 访问者模式被称为最复杂的设计模式。 21.3.观察者模式 观 察 者 模 式 ( Obser

【操作系统】信号Signal超详解|捕捉函数

🔥博客主页: 我要成为C++领域大神🎥系列专栏:【C++核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 如何触发信号 信号是Linux下的经典技术,一般操作系统利用信号杀死违规进程,典型进程干预手段,信号除了杀死进程外也可以挂起进程 kill -l 查看系统支持的信号

亮相WOT全球技术创新大会,揭秘火山引擎边缘容器技术在泛CDN场景的应用与实践

2024年6月21日-22日,51CTO“WOT全球技术创新大会2024”在北京举办。火山引擎边缘计算架构师李志明受邀参与,以“边缘容器技术在泛CDN场景的应用和实践”为主题,与多位行业资深专家,共同探讨泛CDN行业技术架构以及云原生与边缘计算的发展和展望。 火山引擎边缘计算架构师李志明表示:为更好地解决传统泛CDN类业务运行中的问题,火山引擎边缘容器团队参考行业做法,结合实践经验,打造火山

Jitter Injection详解

一、定义与作用 Jitter Injection,即抖动注入,是一种在通信系统中人为地添加抖动的技术。该技术通过在发送端对数据包进行延迟和抖动调整,以实现对整个通信系统的时延和抖动的控制。其主要作用包括: 改善传输质量:通过调整数据包的时延和抖动,可以有效地降低误码率,提高数据传输的可靠性。均衡网络负载:通过对不同的数据流进行不同程度的抖动注入,可以实现网络资源的合理分配,提高整体传输效率。增

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用

自制的浏览器主页,可以是最简单的桌面应用,可以把它当成备忘录桌面应用。如果你看不懂,请留言。 完整代码: <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><ti

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa

Steam邮件推送内容有哪些?配置教程详解!

Steam邮件推送功能是否安全?如何个性化邮件推送内容? Steam作为全球最大的数字游戏分发平台之一,不仅提供了海量的游戏资源,还通过邮件推送为用户提供最新的游戏信息、促销活动和个性化推荐。AokSend将详细介绍Steam邮件推送的主要内容。 Steam邮件推送:促销优惠 每当平台举办大型促销活动,如夏季促销、冬季促销、黑色星期五等,用户都会收到邮件通知。这些邮件详细列出了打折游戏、

探索Elastic Search:强大的开源搜索引擎,详解及使用

🎬 鸽芷咕:个人主页  🔥 个人专栏: 《C++干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 引入 全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选,相信大家多多少少的都听说过它。它可以快速地储存、搜索和分析海量数据。就连维基百科、Stack Overflow、

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述

气象站的种类和应用范围可以根据不同的分类标准进行详细的划分和描述。以下是从不同角度对气象站的种类和应用范围的介绍: 一、气象站的种类 根据用途和安装环境分类: 农业气象站:专为农业生产服务,监测土壤温度、湿度等参数,为农业生产提供科学依据。交通气象站:用于公路、铁路、机场等交通场所的气象监测,提供实时气象数据以支持交通运营和调度。林业气象站:监测林区风速、湿度、温度等气象要素,为林区保护和

数据库原理与安全复习笔记(未完待续)

1 概念 产生与发展:人工管理阶段 → \to → 文件系统阶段 → \to → 数据库系统阶段。 数据库系统特点:数据的管理者(DBMS);数据结构化;数据共享性高,冗余度低,易于扩充;数据独立性高。DBMS 对数据的控制功能:数据的安全性保护;数据的完整性检查;并发控制;数据库恢复。 数据库技术研究领域:数据库管理系统软件的研发;数据库设计;数据库理论。数据模型要素 数据结构:描述数据库