2020年下半年试题三:论云原生架构及其应用
论文库链接:系统架构设计师论文
论文题目
近年来,随着数字化转型不断深入,科技创新与业务发展不断融合,各行各业正在从大工业时代的固化范式进化成面向创新型组织与灵活型业务的崭新模式。在这一背景下,以容器盒微服务架构为代表的云原生技术作为云计算服务的新模式,已经逐渐成为企业持续发展的主流选择。云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。云原生架构有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用,其代表技术包括容器、服务网络、微服务、不可变基础设施和声明API等。
请围绕“论云原生架构及其应用”论题,依次从以下三个方面进行论述.
1.概要叙述你参与管理和开发的软件项目以及承担的主要工作。
2.服务化、弹性、可观测性和自动化是云原生架构的四类设计原则,请简要对这四类设计原则的内涵进行阐述。
3.具体阐述你参与管理和开发的项目是如何采用云原生架构的,并且围绕上述四类设计原则,详细论述在项目设计与实现过程中遇到了哪些实际问题,是如何解决的。
写作要点
一、简要叙述所参与管理和开发的软件项目,并明确指出在其中承担的主要任务和开展
的主要工作。二、云原生架构的四类设计原则
1、服务化原则:
当代码规模超出小团队的合作范围时,就有必要进行服务化拆分了,包括拆分为微服务架构、小服务(MiniService)架构,通过服务化架构把不同生命周期的模块分离出来,分别进行业务选代,避免迭代频繁模块被慢速模块拖慢,从而加快整体的进度和稳定性。同时服务化架构以面向接口编程,服务内部的功能高度内聚,模块间通过公共功能模块的提取增加软件的复用程度。分布式环境下的限流降级、熔断隔仓、灰度、反压、零信任安全等,本质上都是基于服务流量(而非网络流量)的控制策略,所以云原生架构强调使用服务化的目的还在于从架构层面抽象化业务模块之间的关系,标准化服务流量的传输,从而帮助业务模块进行基于服务流量的策略控制和治理,不管这些服务是基于什么语言开发的。
2、弹性原则:
大部分系统部署上线需要根据业务量的估算,准备一定规模的机器,从提出采购申请、到供应商治谈、机器部署上电、软件部署、性能压测,往往需要好几个月甚至一年的周期,而这期间如果业务发生变化了,重新调整也非常困难。弹性原则是指系统的部署规模可以随着业务量的变化自动伸缩,无须根据事先的容量规划准备固定的硬件和软件资源。好的弹性能力不仅缩短了从采购到上线的时间,让企业不用操心额外软硬件资源的成本支出(闲置成本),降低了企业的 IT 成本,更关键的是当业务规模面临海量突发性扩张的时候,不再因为平时软硬件资源储备不足而“说不”, 保障了企业收益。
3、可观测原则:
今天大部分企业的软件规模都在不断增长,原来单机可以对应用做完所有调试,但在分布式环境下需要对多个主机上的信息做关联,才可能回答清楚服务为什么宕机、哪些服务违反了其定义的 SLO、目前的故障影响哪些用户、最近这次变更对哪些服务指标带来了影响等等,这些都要求系统具备更强的可观测能力。可观测性与监控、业务探活、APM 等系统提供的能力不同,前者是在云计算这样的分布式系统中,主动通过日志、链路跟踪和度量等手段,让一次 APP 点击背后的多次服务调用的耗时、返回值和参数都清晰可见,甚至可以下钻到每次三方软件调用、SQL请求、节点拓扑、网络响应等,这样的能力可以使运维、开发和业务人员实时掌握软件运行情况,并结合多个维度的数据指标,获得前所未有的关联分析能力,不断对业务健康度和用户体验进行数字化衡量和持续优化。4、自动化原则:
技术往往是把“双刃剑”,容器、微服务、DevOps、大量第三方组件的使用,在降低分布式复杂性和提升迭代速度的同时,因为整体增大了软件技术栈的复杂度和组件规模,所以不可避免地带来了软件交付的复杂性,如果这里控制不当,应用就无法体会到云原生技术的优势。通过laC(Infrastructure asCode)、GitOps、OAM(OpenApplication Model)、Kubemnetes operator和大量自动化交付工具在 CICD 流水线中的实践,一方面标准化企业内部的软件交付过程,另一方面在标准化的基础上进行自动化,通过配置数据自描述和面向终态的交付过程,让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化。三、第三个问题要根据项目的实际情况来写自己是怎么做的,遇到什么样的问题,如何解决的。
论文参考
论云原生架构及其应用
摘要
为了响应国家政府新型无纸化办公的强烈要求,2023年6月我参与了单位OA系统的云原生架构开发与设计,包含的功能有公文签批流转、电子公文传输、工资查询等。我主要担任系统架构设计师,负责系统的需求分析、技术选型、质量属性效用树、概念架构、细化架构等具体业务。经过小组讨论后我们决定采用云原生架构技术,围绕服务化、弹性、可观察性和自动化等设计原则,利用容器、服务网络、微服务等技术将OA系统中的非业务代码部分进行最大化剥离,让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度)等。提高了系统的轻量度、敏捷度以及自动化程度等。经过大家半年的不懈努力,我们终于在2023年底顺利上线该产品,最终得到了领导和用户的一致好评。
正文
为了响应国家政府新型无纸化办公的强烈要求,2023年6月我参与了单位OA系统的云原生架构开发与设计,包含的功能有公文签批流转、电子公文传输、工资查询、物品申购、公车派送等。我主要担任系统架构设计师,负责系统的需求分析、技术选型、质量属性效用树、概念架构、细化架构等具体业务。经过小组讨论后我们决定采用云原生架构技术,围绕服务化、弹性、可观察性和自动化等设计原则,利用容器、服务网络、微服务等技术将OA系统中的非业务代码部分进行最大化剥离,让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度)等。提高了系统的轻量度、敏捷度以及自动化程度等。经过大家半年的不懈努力,我们终于在2023年底顺利上线该产品,最终得到了领导和用户的一致好评。
服务化、弹性、可观测性和自动化是云原生架构的四类设计原则。其中服务化指系统的设计要围绕服务展开,不可偏离这一主旨。比如在用户、管理员使用和开发人员对系统进行修改的时候,是否可以便捷高效地解决问题,让用户切身地感受到系统给大家带来的方便。弹性指在系统用户激增或因用户操作不当时是否仍能保持正常运行,而不至于因此宕机,造成数据丢失的情况,提高系统的鲁棒性。可观测性指系统的软硬件设备状态数据均可实时获取,比如正在使用系统的用户数量,CPU、服务器的负载率等数据,方便及时发现问题并予以解决。自动化指系统可以在无人操作的情况下24小时正常运转,出现一些小问题时也可以利用恢复操作将系统复原,继续正常运转,保证业务的持续可用性。
云原生架构是基于云原生技术的一组架构原则和设计模式的集合,可以将云应用中的非业务代码部分进行最大化剥离,使业务不再有非功能性业务中断困扰,具备轻量、敏捷、高度自动化的特点。下文将围绕服务化、弹性、可观测性和自动化四类设计原则具体阐述OA系统是如何采用云原生架构进行开发的。
(一)围绕服务化设计原则进行云原生架构的开发。利用微服务架构将OA系统拆分为多个小的、自治的服务。每个服务都独立运行、独立部署和独立扩展,降低了系统的耦合度,提高了系统的灵活性和可维护性。为了提高用户和开发人员的工作效率,我们在概念架构设计阶段就采用需求矩阵从功能、质量、约束的角度对其进行全方面的分析,考虑用户使用环境、开发工作环境和上线时用户可能遇到的问题。比如:采用Spring Cloud微服务框架实现功能解耦,将公文流转、电子签批等核心业务封装为独立服务,通过API网关统一暴露接口;单位领导之前一直使用windows系统操作界面,那么我们在设计时就要考虑到这一约束,咨询领导是否可以换成其他界面,还是继续使用;由于单位资金有限,技术公司派出的开发人员技术参差不齐,前期的开发和后期的维护均需要他们牵头,所以后台管理界面也要尽可能方便操作,提高系统的可扩展性。利用鲁棒图找到系统对应的边界对象、控制对象、实体对象,有效地降低系统的复杂性,方便进一步开发。
(二)围绕弹性设计原则进行云原生架构的开发。利用弹性原则确保OA系统能够自动适应负载变化,根据负载情况动态地调整服务实例的数量和资源配置,实现了系统的高性能和可用性,利用自动扩展和负载均衡技术进一步优化系统的弹性。通过Hystrix实现服务熔断,当依赖服务响应超时自动降级返回缓存数据。为了提高其弹性程度,我们全面地梳理了涉及到系统应用的软硬件设备,排查单点故障,对某些关键基础设施还仍在串联的设备及时进行备份处理,一旦发生紧急情况就可以无缝切换热备/冷备,避免发生数据丢失的情况。我们将所有硬件设备均接入到堡垒机上,在堡垒机上即可对设备配置参数进行修改,减少进出机房的频率,避免造成不必要的麻烦。为了避免系统数据被一些不熟悉操作的开发人员误删,我们将root权限账号集中移交至管理人员;开发人员要对系统进行操作时需向管理人员申请使用账号,有效地降低了系统在开发过程中发生故障的可能性。
(三)围绕可观测性和自动化设计原则进行云原生架构的开发。自动化与可观测性通常紧密耦合,可观测性为自动化提供决策依据,自动化是可观测性的落地手段。在可观测性方面,在开发前期将涉及到系统的软硬件设备均接入到可观测系统中,方便实时地了解OA系统地开发情况,发现某些设计不合理的地方可以及时地进行调整,避免造成大面积地返工。我们实现了全面的监控和日志收集机制。通过分布式追踪和指标收集,我们可以实时地了解系统的运行状态、性能和潜在问题。同时,我们还利用日志分析技术来挖掘系统的运行规律和潜在优化点。在自动化方面,我们实现了持续集成/持续部署(CI/CD)流程,使得代码可以自动构建、测试和部署到生产环境。通过自动化测试和自动化监控技术,我们可以确保每次代码更改都经过充分的测试,并及时发现和解决潜在问题。同时,我们还利用自动化故障恢复技术来减少系统的停机时间和手动干预的需求。利用动态环境监测系统对机房的温度、湿度以及电路可承受的负载率进行实时监控,一旦发生紧急情况及时通过电话和短信的方式提醒工作人员。
经过大家半年的不懈努力,我们终于在2023年底顺利上线该产品,让云设施接管应用中原有的大量非功能特性(如弹性、韧性等),使业务不再有非功能性业务中断困扰,具备轻量、敏捷、高度自动化的特点,最终得到了领导和用户的一致好评。但是在运行过程中也暴露出了一些问题,比如:一些用户在OA系统经常使用的电子邮件传输功能因用户使用频率激增导致原有的存储已经不能满足用户的需要,所以要对系统的数据存储服务器进行扩容,避免因存储容量不足,造成系统崩溃。通过采用云原生架构对OA系统进行开发,使我们团队的系统架构设计能力也得到了充分地锻炼,非常感谢领导地栽培与信任,希望能够继续承接系统架构相关任务,继续为单位的信息化建设添砖加瓦。
相关文章:
2020年下半年试题三:论云原生架构及其应用
论文库链接:系统架构设计师论文 论文题目 近年来,随着数字化转型不断深入,科技创新与业务发展不断融合,各行各业正在从大工业时代的固化范式进化成面向创新型组织与灵活型业务的崭新模式。在这一背景下,以容器盒微服务…...
Flutter到HarmonyOS Next 的跨越:memory_info库的鸿蒙适配之旅
Flutter到鸿蒙的跨越:memory_info库的鸿蒙适配之旅 本项目作者:kirk/坚果 您可以使用这个Flutter插件来更改应用程序图标上的角标 作者仓库:https://github.com/MrOlolo/memory_info/tree/master/memory_info 在数字化浪潮的推动下&#…...
昆士兰科技大学无人机自主导航探索新框架!UAVNav:GNSS拒止与视觉受限环境中的无人机导航与目标检测
作者: Sebastien Boiteau, Fernando Vanegas, Felipe Gonzalez 单位:昆士兰科技大学电气工程与机器人学院,昆士兰科技大学机器人中心 论文标题:Framework for Autonomous UAV Navigation and Target Detection in Global-Naviga…...
uniapp设置 overflow:auto;右边不显示滚动条的问题
设置了overflow:auto;或者其它overflow的属性不显示滚动条是因为在uniapp中默认隐藏了滚动条 解决方法: //强制显示滚动条 ::-webkit-scrollbar {width: 8px !important;background: #ccc !important;display: block !important;}//设置滚动条颜色.cu-…...
基于SIP协议的VOIP话机认证注册流程分析与抓包验证
话机的认证注册报文怎么看? 在SIP协议中,当VOIP话机首次启动的时候,他会向SIP服务器发送一个Register请求来注册自己的信息地址,,告诉服务器 话机当前在线话机的IP地址和端口是什么话机希望接收通话的联系方式 认证注…...
JS,ES,TS三者什么区别
Java Script(JS)、ECMAScript(ES)、TypeScript(TS) 的核心区别与关联的详细解析,结合技术背景、设计目标及应用场景展开说明: 一、核心定义与关系 JavaScript(JS) 定义:一种动态类型、基于原型的脚本语言,由 Netscape 公司于 1995 年首次开发,用于网页交互功能。角…...
深度理解指针(2)
🎁个人主页:工藤新一 🔍系列专栏:C面向对象(类和对象篇) 🌟心中的天空之城,终会照亮我前方的路 🎉欢迎大家点赞👍评论📝收藏⭐文章 深入理解指…...
笔记本/台式机加装PCIe 5.0固态硬盘兼容性与安装方法详解 —— 金士顿Kingston FURY Renegade G5装机指南
在2025年,存储设备市场迎来了革命性的升级浪潮。作为最高性能PCIe 5.0固态硬盘的代表,Kingston FURY Renegade G5 PCIe 5.0 NVMe M.2 固态硬盘不仅刷新了读写速度新高,更以优异的能耗和温控表现成为高端PC、游戏本和工作站升级的“定心丸”。…...
使用libUSB-win32的简单读写例程参考
USB上位机程序的编写,函数的调用过程. 调用 void usb_init(void); 进行初始化 调用usb_find_busses、usb_find_devices和usb_get_busses这三个函数,获得已找到的USB总线序列;然后通过链表遍历所有的USB设备,根据已知的要打开USB设…...
Tailwind CSS 实战教程:从入门到精通
Tailwind CSS 实战教程:从入门到精通 前言 在Web开发的世界里,CSS框架层出不穷。从早期的Bootstrap到现在的Tailwind CSS,前端开发者们总是在寻找更高效、更灵活的样式解决方案。今天,我们就来深入探讨这个被称为"实用优先…...
【IC】如何获取良好的翻转数据来改进dynamic IR drop分析?
动态电压降分析是一个复杂的过程。为了成功执行适当的分析,需要组合多个输入文件和不同的配置设置。 切换场景是任何动态压降分析的关键。设计中的所有门电路和实例不会同时处于活动状态。此外,对于更复杂的单元,可能的切换模式会非常多。这…...
WebGL知识框架
一、WebGL 基础概念 1. WebGL 简介 是什么? 基于 OpenGL ES 的浏览器 3D 图形 API,直接操作 GPU 渲染。 核心特点 底层、高性能、需手动控制渲染管线。 依赖 JavaScript 和 GLSL(着色器语言)。 与 Three.js 的关系 Three.js…...
集成 ONLYOFFICE 与 AI 插件,为您的服务带来智能文档编辑器
在数字化办公浪潮中,文档处理效率对企业发展具有关键意义。但许多办公平台仅支持基础流程,查阅、批注和修改需借助外部工具,增加了操作复杂性和沟通成本。本文将为开发者介绍如何集成 ONLYOFFICE 文档并利用其中的 AI 插件,智能处…...
Simulink模型回调
Simulink 模型回调函数是一种特殊的 MATLAB 函数,可在模型生命周期的特定阶段自动执行。它们允许用户自定义模型行为、执行初始化任务、验证参数或记录数据。以下是各回调函数的详细说明: 1. PreLoadFcn 触发时机:Simulink 模型加载到内存之…...
网络协议分析 实验五 UDP-IPv6-DNS
文章目录 实验5.1 UDP(User Datagram Protocol)练习二 UDP单播通信练习三 利用仿真编辑器编辑UDP数据包,利用工具接收练习四 UDP受限广播通信练习六 利用仿真编辑器编辑IPV6的UDP数据包并发送实验5.2 DNS(Domain Name System)练习二 仿真编辑DNS查询报文(…...
共享代理IP vs 动态IP:企业级业务场景的选型深度解析
在数字化转型加速的今天,IP地址管理已成为企业网络架构中的核心命题。无论是跨境电商的多账号运营、大数据采集的精准度保障,还是网络安全的纵深防御,IP解决方案的选择直接关系到业务效能与合规风险。本文将从技术底层逻辑出发,结…...
鸿蒙OSUniApp制作一个小巧的图片浏览器#三方框架 #Uniapp
利用UniApp制作一个小巧的图片浏览器 最近接了个需求,要求做一个轻量级的图片浏览工具,考虑到多端适配的问题,果断选择了UniApp作为开发框架。本文记录了我从0到1的开发过程,希望能给有类似需求的小伙伴一些参考。 前言 移动互联…...
Java并发编程面试题:并发工具类(10题)
🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…...
【Oracle专栏】扩容导致数据文件 dbf 丢失,实操
Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 同事检查扩容情况,发现客户扩容后数据盘后,盘中原有文件丢失,再检查发现数据库没有启动。通过检查发现数据盘中丢失的是oracle的 dbf 表空间文件。数据库无法启动。 检查情况:1)没有rman备份 …...
【Linux】Linux 的管道与重定向的理解
目录 一、了解Linux目录配置标准FHS 二、Linux数据重定向的理解与操作 2.1基本背景 2.2重定向的理解 2.3Linux管道命令的理解与操作 三、Linux 环境变量与PATH 3.1环境变量PATH 一、了解Linux目录配置标准FHS FHS本质:是一套规定Linux目录结构,软…...
【交互 / 差分约束】
题目 代码 #include <bits/stdc.h> using namespace std; using ll long long;const int N 10510; const int M 200 * 500 10; int h[N], ne[M], e[M], w[M], idx; ll d[N]; int n, m; bool st[N]; int cnt[N];void add(int a, int b, int c) {w[idx] c, e[idx] b…...
1. Go 语言环境安装
👑 博主简介:高级开发工程师 👣 出没地点:北京 💊 人生目标:自由 ——————————————————————————————————————————— 版权声明:本文为原创文章…...
灰度图像和RGB图像在数据大小和编码处理方式差别
技术背景 好多开发者对灰度图像和RGB图像有些认知差异,今天我们大概介绍下二者差别。灰度图像(Grayscale Image)和RGB图像在编码处理时,数据大小和处理方式的差别主要体现在以下几个方面: 1. 通道数差异 图像类型通道…...
Lord Of The Root: 1.0.1通关
Lord Of The Root: 1.0.1 来自 <Lord Of The Root: 1.0.1 ~ VulnHub> 1,将两台虚拟机网络连接都改为NAT模式 2,攻击机上做namp局域网扫描发现靶机 nmap -sn 192.168.23.0/24 那么攻击机IP为192.168.23.182,靶场IP192.168.23.247 3&…...
虚拟机安装CentOS7网络问题
虚拟机安装CentOS7网络问题 1. 存在的问题1.1 CentOS7详细信息 2. 解决问题3.Windows下配置桥接模式 1. 存在的问题 虽然已经成功在虚拟机上安装了CentOS7,但是依旧不能上网。 1.1 CentOS7详细信息 [fanzhencentos01 ~]$ hostnamectlStatic hostname: centos01Ic…...
AI-02a5a6.神经网络-与学习相关的技巧-批量归一化
批量归一化 Batch Normalization 设置合适的权重初始值,则各层的激活值分布会有适当的广度,从而可以顺利的进行学习。那么,更进一步,强制性的调整激活值的分布,是的各层拥有适当的广度呢?批量归一化&#…...
matlab实现蚁群算法解决公交车路径规划问题
使用蚁群算法解决公交车路径规划问题的MATLAB代码实现,包含详细注释和仿真流程。该算法以站点间行驶时间或距离为优化目标,寻找最优公交路线。 1. 问题建模与参数设置 1.1 输入数据 站点坐标:假设有20个公交站点,随机生成位置。…...
Agent Builder API - Agent Smith 扩展的后端服务(开源代码)
一、软件介绍 文末提供程序和源码下载 Agent Builder API - Agent Smith 扩展的后端服务(开源代码)手动设置:在本地计算机中克隆此存储库并启动 python FAST API 服务器。(可选)安装并设置 Mongo DB。Dev Container…...
C++类和对象之相关特性
C 一.类型转换隐式类型转换 二.static成员一、static成员变量二、static成员函数三、static成员的存储位置四、总结 三.友元一、友元函数二、友元类三、友元成员函数四、总结 四.内部类五.匿名对象六.new 一.类型转换 在C中,类类型转换是指将一个类的对象转换为另一…...
容器编排的革命:Kubernetes如何引领IT的云原生时代
文章目录 Kubernetes的本质:容器世界的智能指挥家Kubernetes的核心功能包括: Kubernetes的演进:从谷歌的实验到全球标准核心技术:Kubernetes的基石与生态1. Pod与容器:最小调度单位2. Deployment:无状态应用…...
2025视频协作工具全景解析:技术跃迁与场景重构
一、技术演进:从功能工具到智能生态 2025年视频协作软件的核心竞争力已从基础功能升级为技术生态的构建。以分秒帧为例,其音视频生产协作系统,可帮助创作者在云端构建工作流,让跨地域、跨终端、跨团队的协作组可以在统一的安全平台上管理所有媒体资源、任务、反馈信息,从而更高…...
保持视频二维码不变,更新视频的内容
视频替换功能允许用户在保持视频二维码、观看地址和调用代码不变的情况下更新视频内容,从而节省重新印刷物料的成本。这一功能适用于多种场景,如营销宣传、产品操作手册、设备说明书等,当视频内容需要修改或更新时,用户只需上传新…...
Linux常用命令40——alias设置命令别名
在使用Linux或macOS日常开发中,熟悉一些基本的命令有助于提高工作效率,alias命令来自英文单词alias,中文译为“别名”,其功能是设置命令别名信息。我们可以使用alias将一些较长的命令进行简写,往往几十个字符的命令会变…...
Java大师成长计划之第22天:Spring Cloud微服务架构
📢 友情提示: 本文由银河易创AI(https://ai.eaigx.com)平台gpt-4o-mini模型辅助创作完成,旨在提供灵感参考与技术分享,文中关键数据、代码与结论建议通过官方渠道验证。 随着企业应用的不断扩展,…...
为什么go语言中返回的指针类型,不需要用*取值(解引用),就可以直接赋值呢?
Go 中返回的是指针,但你却能直接用“.”访问字段,看起来像是“没有解引用”,其实是 Go 帮你自动处理了“指针解引用”的语法糖。 在 Go 中,如果你有一个结构体指针(例如 *FileMeta),你可以直接…...
Java生成可控的Word表格功能开发
在日常办公自动化与系统集成场景中,生成结构化的Word文档已成为一种刚性需求,尤其是带有格式规范、内容动态填充的Word表格(Table)。本文将围绕如何利用Java开发一个可控的Word表格生成功能模块展开,涵盖技术选型、代码实现、边界控制与常见问题处理等方面,帮助开发者快速…...
OpenCV CUDA 模块中用于在 GPU 上计算矩阵中每个元素的绝对值或复数的模函数abs()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 void cv::cuda::abs(InputArray src, OutputArray dst, Stream &stream Stream::Null()) 是 OpenCV 的 CUDA 模块中的一个函数,…...
hadoop知识点
(一)复制和移动 1.复制文件 格式:cp源文件 目标文件 示例:把filel.txt复制一份得到file2.txt 2.复制目录 格式:cp-r源文件夹 目标文件夹 示例:把目标dir1复制一份得到dir2 3.重命名和移动 格式:…...
最短路与拓扑(2)
1、信使 #include<bits/stdc.h> using namespace std; const int N105; int n,m; int g[N][N]; int dist[N]; bool st[N]; const int INF0x3f3f3f3f;int dij(){memset(dist,0x3f,sizeof dist);dist[1]0;for(int i1;i<n;i){int t0;for(int j1;j<n;j){if(!st[j]&…...
LLaMA-Factory 微调 Qwen2-7B-Instruct
一、系统环境 使用的 autoDL 算力平台 1、下载基座模型 pip install -U huggingface_hub export HF_ENDPOINThttps://hf-mirror.com # (可选)配置 hf 国内镜像站huggingface-cli download --resume-download shenzhi-wang/Llama3-8B-Chinese-Chat -…...
濒危仙草的重生叙事:九仙尊米斛花节如何以雅集重构中医药文化IP
五月的霍山深处,层峦叠翠之间,中华仙草霍山米斛迎来一年一度的花期。九仙尊以“斛韵雅集,春野茶会”为主题,举办为期半月的米斛花文化节,融合中医药文化、东方美学与自然体验,打造一场跨越古今的沉浸式文化盛宴。活动涵盖古琴雅集、书法创作、茶道冥想、诗歌吟诵、民族歌舞等多…...
Pomelo知识框架
一、Pomelo 基础概念 Pomelo 简介 定位:分布式游戏服务器框架(网易开源)。 特点:高并发、可扩展、多进程架构、支持多种通信协议(WebSocket、TCP等)。 适用场景:MMO RPG、实时对战、社交游戏等…...
歌词滚动效果
<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><!-- 设置标签页图标 --><link rel"shortcut icon&…...
python如何合并excel单元格
在Python中合并Excel单元格,常用openpyxl库实现。以下是详细步骤和示例代码: 方法一:使用 openpyxl 库 步骤说明: 安装库: pip install openpyxl导入库并加载文件: from openpyxl import load_workbook# …...
嵌入式学习笔记 D20 :单向链表的基本操作
单向链表的创建单向链表的插入单向链表的删除及清空单向链表的修改单向链表的查找单向链表的逆序 一、单向链表的创建 LinkList *CreateLinkList() {LinkList *ll malloc(sizeof(LinkList));if (NULL ll) {fprintf(stderr, "CreateLink malloc");return NULL;}ll…...
瀑布模型VS敏捷模型VS喷泉模型
目录 1. 瀑布模型(Waterfall Model) 2. 敏捷模型(Agile Model) 3. 喷泉模型(Fountain Model)...
Android usb网络共享详解
Android usb网络共享详解 文章目录 Android usb网络共享详解一、前言二、USB网络共享使用的前提1、Android设备支持adb 并且打开usb开关2、原生Settings能看到USB网络共享开关3、代码中检测USB网络共享是否支持 三、Settings 中USB网络共享代码的部分代码1、Settings\res\xml\t…...
在线黑白图像转换:简单却强大的视觉表达工具
为什么选择黑白图像? 在这个色彩缤纷的数字世界中,黑白摄影却始终保持着其独特的魅力。黑白图像消除了色彩的干扰,让我们更专注于构图、纹理和形式的表达。这种经典的转换技术能够创造出富有情感和强烈对比的视觉作品,呈现出彩色…...
python 异步执行测试
1. 并行执行机制 子进程级并行:通过 asyncio.create_subprocess_exec 启动的每个外部命令(如 python run_spider.py)会创建一个独立的系统进程,由操作系统直接调度,实现真正的并行执行。 协程级并发:主程序…...
《Python星球日记》 第69天:生成式模型(GPT 系列)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、GPT简介:从架构到原理1. GPT的架构与工作原理2. Decoder-only结…...