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

云原生是整个信息化行业的未来,一文彻底搞懂云原生

云原生这个词来自英语的Cloud Native的翻译,云原生是已经存多年在术语,真正开始获得关注的是在2015年到2016年。 这归因于这几年逐渐发布的Docker的兴起。 会有越来越多的企业和组织开始关注到它,并把他们的工作负载运行在云端的益处。无论是否会节省成本或者让开发操作变得更加简单,越来越多的企业开始关注是否应该追随这样一个潮流,把他们的应用部署到云端,而采用云原生技术。 关注这件事情,并且付诸行动的企业逐年增值,势头迅猛。

至此,乃至以后,云原生将会变得越来越流行。 通过通读文本的内容,你将知道理解什么是云原生技术,以及云原生技术的出现意味着什么,企业要不要切换到云原生技术,切换云原生技术所需要的基础和成本,以及获得的好处。

在未来,软件将会完全生长在云上。 这是云原生概念的一个假设。 生长在云端的软件最直接有效,最大的好处就是可以跨地域跨时空的访问云上的资源。最大程度的提升便利性,协作性,而基于云原生技术很容易构建高可用的软件生态。

云原生技术的发展史

简述云原生技术发展的历史

  • 从2004年到2007年,谷歌就已经使用容器技术,例如 control groups(CGroups)这样的技术,贯穿企业。
  • 2008年,谷歌合并了Cgroups这个技术到Linux内核的主干分支。
  • 2013年,Docker项目正式启动, 是一家创业公司发起。
  • 2014年,Kubernetes项目官方启动。 很容易想象其原因。 当容器和Docker快速发展,在生产环境变得可用时。 工程师们需要很优雅的、便捷、快速的管理这些容器。Kubernetes被开发出来就是来精确的满足这类需求。 谷歌和红帽发布了kubernetes之后,该项目得到了魔幻般的增长速度。
  • 2015年, 云原生计算基金会(CNCF)成立。由顶尖的云计算公司主导,例如谷歌、红帽、微软、以及一些开源公司。 CNCF由22个成员创办, Kubernetes是CNCF成立后的第一个开源的发行版本。
  • 2017年,CNCF增长到170个成员,并且扩展到14个基金会项目。
  • 2018年, 在CNCF三周年,CNCF增长到195个成员, 拥有19个基金会项目, 其中11在孵化项目。 这样的增长速度在整个云计算领域是非常罕见的。

云原生技术当前的现状

如果要讨论云原生技术的生态。 那么需要把大量的技术放到台面上讲。 CNCF 云原生所涉及的项目超过200多个,这还仅仅是CNCF为此所作。 基于这样一个景观,当前的云原生技术包含如下方面:

  1. CNCF。
  2. 云原生技术社区。例如,在当今的云计算生态领域, 由超过20个官方项目被CNCF机构所主导。 在这些项目中, Kebernetes成为世界上第四个最具活跃的开源项目。
  3. Kubernetes到目前为止,世界上主要的公共云供应商都支持Kubernetes。此外,100多家科技初创企业正在对Kubernetes进行持续投资。

中国政府层面, 国家不断出台政策,支持推进云原生的发展和普及,云原生基础设施是下一代政务云建设的核心。 国家提出“以数字化转型整体驱动生产方式、生活方式和治理方式变革”。工信部明确:新一代信息技术向制造业各领域加速渗透,实现企业经营管理数字化普及率达80%,数字化研发设计工具普及率达85%,工业互联网平台普及率达45%。这一宏伟的目标,都需要借助于云原生技术来实现。

我们正处于云原生时代的关键时刻

我们都处在云原生技术的关键时刻。 2019年是云原生技术的元年。 为什么这么讲,下来逐渐解释。

在2013年, Docker项目正式发布。Docker项目使得沙箱技术(沙盒技术,可用简单的理解为应用程序自带运行环境,无需关注内部实现细节)得以普及,而这项技术能够让应用程序运行,无需修改,就可以运行在所有的操作系统上。 这项技术允许用户非常便利的,彻底的打包他们开发的应用程序,而无需依靠平台即服务(PaaS)的功能而允许开发者能够很简单的获取应用程序的最小可执行单元。 这实际上对传统的PaaS行业产生了不利的影响。从某种意义上,改变了云计算软件的开发方式和运维方式。 大大降低了开发成本甚至运维成本,增强了应用程序的健壮性等。

在2014年, Kubernetes项目启动, 对于谷歌,基于开源社区"重新构造" 它内部的 Borg和Omega系统和推崇这种”基于容器的设计模式“是有重大的意义的。实际上, 非常容易理解,为什么谷歌会间接的选择让Kubernetes开源而代替直接让Borg 项目开源的举动。 一个系统例如Borg或者 Omega内部非常复杂,在谷歌之外的团队,是很难被人理解和使用的。 但是Borg和Omega的设计思想是通过Kebernetes的开源项目而被开放出来。 这也是开源项目Kubernetes的重要背景。

而从2015到2016年,这又是容器编排技术的三大国王的年代,Docker, Swarm, Mesos, 而Kubernetes在容器编排领域与其他所有的技术相互竞争。 竞争的原因是显而易见的。 尽管Docker或容器本身具有巨大的价值,但它们在商业化或云计算方面缺乏价值。为了克服这一点,它们必须在编排中发挥有利的作用。而这两年,阿里巴巴在这一年,把宝压在Swarm上,而一度的开发了基于Swarm的调度平台。 而现如今这种平台几乎销声匿迹, 几乎被Kubernetes所统一。

Swarm和Mesos 具有强大的生态和技术。 Swarms就生态而言更加的强有力, 然而,Mesos就技术而言,更加的复杂。综合比较,Kubernetes 拥有两者之间的优势。 在2017年最终,在这三大国王的战斗中,Kubernetes 胜出了。 至此以后,Kubernetes 成为容器编排的标准。 一个典型的事件和进程,就是Docker官方宣布把Kubernetes嵌入到他们的核心产品中, Swarm的项目也逐渐的放弃运维。技术的发展和革新以及变化,让这个行业的大公司往往都措手不及,更何况在这个过程中不断学习的工程师

在2018年,云原生技术的概念开始出现, 这是因为Kubernetes 和容器已经成为云供应商的既定标准,“以云为中心”的软件研发理念逐渐形成

在2019年,形势变得越来越明朗。

什么是云原生,以及云原生如何实现?

定义云原生

很多人问:”到底什么是云原生,能否更精确的描述?“

实际上, 云原生就是最佳路径和实践。更详细的说,云原生为用户提供了以用户友好、灵活、可扩展和可复制的方式,利用云的功能和价值的最佳实践。

云原生技术是一种概念, 为软件架构设计,软件设计,软件开发和运维提供了引导和方法论。而基于这样的概念,有以下优势:

  • 首先, 它天然的”出生在云端, 生长在云端“。
  • 其次,与“云”自然融合,充分利用云的能力,充分发挥“云”的作用。

云原生技术最大的价值和视角是未来的软件出生以及生长进化都在云端,并且遵循软件开发、发布和运维的新模型,以确保软件最大限度地利用云功能。现在,让我们想想为什么容器技术是革命性的技术。

实际上,集装箱技术(容器技术)在IT领域的革命性与集装箱技术在运输领域的革命性非常相似。 具体地说,容器技术允许将应用程序定义为“自包含的”。只有这样,应用程序才能以灵活、可扩展和可复制的方式发布到云中,以发挥云功能。这也是容器技术对云的革命性影响。因此,容器技术是云原生技术的基石。

云原生的技术范围

云原生技术包含如下以下方面:

  • 云应用的定义和开发:这个过程包含了应用程序的定义,镜像的创建, 持续集成的配置,以及持续交付(CI/CD), 消息通信,流处理,以及数据库。
  • 云应用的编排和管理:这也是Kubernetes的重点。这个过程包含应用编排,调度,服务发现, 治理方式,远程调用,API网关,以及服务网络。
  • 监测和可观察性:这一部分强调,云应用如何被监控,记录日志, 以及跟踪,以及在云端如何实现破坏性测试。 这也是混沌工程学的概念。
  • 与原生的底层技术:例如容器运行时, 云原生存储技术, 云原生网络技术。
  • 与原生工具包:除了上述核心技术之外,还可以使用许多支持性生态系统或外围工具,例如,该工具包包括流程自动化和配置管理、容器映像存储库、云原生安全技术和基于云的密码管理。
  • 无服务(Serverless)计算: 无服务器是PaaS的一种特殊形式。 它定义了一个更加”极端和抽象“的理论为应用程序编写方法。 结合函数即服务(FaaS)或者”后端即服务BaaS“。 FaaS和BaaS最典型的特征就是“即付即用”按需伸缩。 对于云服务商,无服务器计费也很重要。

云原生两种理论或概念

经过对云原生技术范围的学习, 可以得出,云原生包含很多技术, 本质是相似的。 本质上,云原生技术基于两种理论:

  1. 不可变基础设施。这是目前被容器镜像所实现的。 不可变的基础设施意味着,应用程序的基础设施必须是不可变的, 自我包含的, 自我描述,完全有能力在不同的环境中迁移。这里的不可变。还有一点,确保应用程序水平扩展时,对用户是无感知的,扩展是动态的。
  2. 云应用的编排。 当前, 云原生技术是基于被谷歌所提议的”容器设计模式“而实现。这个概念,在Kubernetes 的文章中会得到讨论。

基础设施向云的演进

“不可变基础设施”的概念反映了运行应用程序的基础设施正在向云发展。这里有一个对比。 在演进之前,传统的应用程序基础设施在大多数情况下是可变的。 例如发布或者更新应用程序, 你也许会经常通过SSH连接服务器来操作应用, 手动的升级,或者降级应用程序包, 在服务端调节配置文件顺序,或直接部署新的代码到存在的服务器上。 因此,在这种情况下,基础设施是不断调整和修改的。

相比之下,“云友好”应用程序基础设施在云中是不可变的。

在云上,应用程序的基础设施在应用程序部署后是稳定的。要更新应用程序,会更改公共映像以构建新服务以直接替换旧服务。 这样直接替换会被容器所支持,因为容器提供了自我包含的环境,而这个环境包含了应用程序运行的所有依赖。 因此应用程序不需要了解容器的变化或更改, 只需要修改容器镜像本身。总之,云友好型基础设施可能随时被替换,因为在云时代,应用程序基础设施的容器确保了敏捷性和一致性。

换句话说, 云时代的基础设施就像一只随时可能被替换的“草稿动物”,而传统的基础设施则是一只永远无法被替换,但需要小心呵护的独特“宠物”。这正是云时代不可变基础设施的优势所在。

基础设施向云演进的好处

基础设施向”不可变“演进过程所带来的好处:

  1. 基础设施是一致和可靠的。这点至关重要。 相同的镜像在不同的国家和地区完全相同,并且对于所有的应用程序都是一样的。 因此,应用程序不需要关注容器在什么地方运行。 这就是基础设施一致性的意义所在。
  2. 镜像在云原生技术中是自我包含, 包含了所有其需要运行的依赖。这也是映像迁移到云上任何位置的原因。

此外,云原生基础设施允许以一种简单且可预测的方式部署和维护应用程序。有了映像和自包含的应用程序,基于映像运行的整个容器实际上可以在Kubernetes中操作,而自我维护。因此,整个应用程序是自包含的,这使得它可以迁移到云上的任何位置。这也有利于整个过程的自动化。

此外,不可变基础设施允许应用程序方便地从1个实例扩展到100个实例,甚至扩展到10,000个实例。这种向外扩展的过程在容器化的应用程序中很常见。最后,不可变的基础设施允许快速复制外围控制系统和支持组件。这归因于这样一个事实,即这些组件也是容器化的,并且符合不可变基础设施的理论。

2019——云原生技术普及年

为什么从2019年开始, 是云原生技术的普及年。

在2019年,云原生技术竞争,”三大国王中",谷歌的Kubernetes胜出。 拥有了统一的标准和规范。 此外,Kubernetes等云原生技术正在成为技术人员的必修课,大量相关工作正在涌现。

在这种情况下,“了解Kubernetes”是远远不够的。“理解Kubernetes”和“理解云原生架构”变得越来越重要。自2019年以来,云原生技术得到了大规模的广泛应用。这也是为什么现在每个人都想学习和投资云原生技术的一个重要原因。

云原生技术,为整个信息化行业带来了新的动力和可能性。 而云原生技术是构建云上应用的技术方法论。 而不添加任何业务相关的元素和概念。 因此自2019年以后,我们开始逐步探索,使用云原生理论,结合人类社会发展的社会形态,构建人与人,人与物,人与组织,组织与应用程序之间的关系,塑造更高维度,更加具象化的云原生形态,为此云晶-基于云原生技术的云上操作系统项目诞生: https://www.yunjingxz.com。

云原生对人类社会带来的价值

云原生的发展对人类信息化带来了许多价值。首先,它提供了更高的灵活性和可扩展性,使得应用程序能够更好地适应不断变化的业务需求。其次,它促进了开发和部署的快速迭代,使得企业能够更迅速地推出新功能和产品。此外,云原生采用了容器化和微服务架构,而微服务架构是软件开发过程中的一种最佳实践,可以提高应用程序的可靠性和可维护性,降低了系统故障的风险,降低了软件的复杂度。

对于企业来说,采用云原生可以带来许多好处。首先,它可以降低运维成本,通过自动化和资源的有效利用,减少了人力和硬件资源的浪费。其次,云原生可以提高开发团队的协作效率,使得不同团队能够独立开发和部署各自的微服务,从而加快了产品的上线速度。此外,采用云原生还能够提供更好的可扩展性和容错性,以应对用户需求的快速增长和系统的故障。

然而,采用云原生也存在一些弊端。首先,它对企业的技术团队和基础设施的要求较高,需要具备一定的技术储备和投入一定的成本。其次,由于采用了分布式架构,系统的复杂性增加,需要更多的监控和管理工作。另外,由于云原生应用的部署方式与传统应用不同,可能需要一些技术和流程的改变,对于一些传统的企业来说可能存在一定的转型难度。

对于技术管理,真正掌握了云原生的方法理论,结合微服务架构,以及理解领域驱动开发与实施(DDD开发模式)和掌握了面向对象程序设计方法。就可以灵活驾驭各种复杂的业务系统,管理和协调团队高效便捷工作。为企业未来带来了无尽价值和可能性。

总的来说,采用云原生可以为企业带来许多好处,提高了灵活性、可扩展性和可维护性,降低了成本和风险。然而,企业在决定是否采用这种技术时,需要综合考虑自身的情况和资源,并进行适当的规划和准备, 总归来说,除非你要开发一个简单的展示网页,并且用户访问量不高,否则任何应用都应该优先考虑使用云原生方法论。

有了云原生这套理论还不够。 总归它太抽象,太偏向于底层。 而不像Windows,MacOS在PC时代那么容易被人理解,以及Android和IOS在移动互联网时代那么直观。 而云原生时代,云原生理论的普及使得基于云端构造云上操作系统变得可能。 而云晶便是基于云原生理论和微服务架构理论,在云端,构建云上操作系统的一个设想和尝试。

很幸庆,经过多年的努力,我们终于开发出了云晶的V1版本,并基于云晶构造了多款云原生SaaS。其中drawon就是我们的一个作品之一, 一个云端可视化创意表达工具与知识共创作协分享平台(drawon.cn)。

相关文章:

云原生是整个信息化行业的未来,一文彻底搞懂云原生

云原生这个词来自英语的Cloud Native的翻译,云原生是已经存多年在术语,真正开始获得关注的是在2015年到2016年。 这归因于这几年逐渐发布的Docker的兴起。 会有越来越多的企业和组织开始关注到它,并把他们的工作负载运行在云端的益处。无论是…...

【Redis】RedisTemplate最全的常用方法

文章目录 前言1.RedisTemplate常用方法2.String类型3.Hash类型4.List类型5.Set类型6.zSet类型 前言 RedisTemplate常用方法String类型Hash类型List类型Set类型zSet类型 Redis常用的数据类型:String、Hash、List、Set、zSet 1.RedisTemplate常用方法 redisTempla…...

图像倾斜角度求取-Radon变换

Radon算法 Radon(拉东)算法是一种通过定方向投影叠加,找到最大投影值时角度,从而确定图像倾斜角度的算法。具体过程如图所示 图1 Radon变换算法 Radon计算示例 对于纹理方向明显的图像,如图2所示,可以通…...

如何在本地搭建Oracle数据库实现公网环境下通过PLSQL工具进行远程访问

文章目录 前言1. 数据库搭建2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射 3. 公网远程访问4. 配置固定TCP端口地址4.1 保留一个固定的公网TCP端口地址4.2 配置固定公网TCP端口地址4.3 测试使用固定TCP端口地址远程Oracle 前言 Oracle,是甲骨文公司的一款关系…...

时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM)

时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM) 目录 时序预测 | Python实现ConvLSTM卷积长短期记忆神经网络股票价格预测(Conv1D-LSTM)预测效果基本介绍程序设计参考资料预测效果 基本介绍 时序预测 | Python实现ConvLSTM卷积长短期记忆神…...

qtpdfium的编译及读取pdf文件和一些简单操作

qtpdfium是谷歌的一款开源项目,它的内核是基于国内的福昕pdf,许可协议为 BSD 3-Clause,允许用于闭源商业行为 下载 我们可以从git上进行下载,github,如果嫌下载速度慢,可以从csdn进行下载csdn 下载完成之…...

ClickHouse查看执行计划

在clickhouse 20.6版本之前要查看SQL语句的执行计划需要设置日志级别为trace才能可以看到,并且只能真正执行sql,在执行日志里面查看。在20.6版本引入了原生的执行计划的语法。在20.6.3版本成为正式版本的功能。 本文档基于目前较新稳定版21.7.3.14。 1.基…...

2023-11-17 VsCode使用makefile进行多文件编译

点击 <C 语言编程核心突破> 快速C语言入门 VsCode使用makefile进行多文件编译 前言一、一个简单的多文件示例二、makefile基本语法三、VsCode使用makefile总结 前言 要解决问题: C或C可以多文件编译, 意味着需要进行代码组织, 为了方便多文件编译, gnu开发了make工具, …...

Network(四)NAT实现方式与VRRP概述

一 NAT 1 NAT概述 &#xff08;1&#xff09;NAT的作用 Network Address Translation&#xff0c;网络地址转换 通过将内部网络的私有IP地址转换成全球唯一的公网IP地址使内部网络可以连接到互联网。 &#xff08;2&#xff09;私有IP地址分类 A类10.0.0.0~10.255.255.…...

C#_键盘钩子

一、class class KeyboardHook{public event KeyEventHandler KeyDownEvent;public event KeyPressEventHandler KeyPressEvent;public event KeyEventHandler KeyUpEvent;public delegate int HookProc(int nCode, Int32 wParam, IntPtr lParam);static int hKeyboardHook 0;…...

YOLO免费数据集网站收集

目录 Roboflow Universe: Open Source Computer Vision Community Find Open Datasets and Machine Learning Projects | Kaggle ​编辑 【火焰和烟雾图像数据集】-计算机视觉数据集-极市开发者平台 (cvmart.net) 开放数据集- 飞桨AI Studio星河社区 - 人工智能学习与实训社…...

拼图小游戏

package li;import ui.tu; //启动类 public class 主 {public static void main(String[] args) {new tu(); //创建登陆界面} }package ui;import javax.swing.*; import javax.swing.border.BevelBorder; import java.awt.event.ActionEvent; import java.awt.event.ActionLi…...

卷积神经网络(CNN)天气识别

文章目录 前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;我的环境&#xff1a; 2. 导入数据3. 查看数据 二、数据预处理1. 加载数据2. 可视化数据3. 再次检查数据4. 配置数据集 三、构建CNN网络四、编译五、训练模型六、模型评估 前期工作 1. 设置GP…...

Linux进程间通信之匿名管道

文章目录 为什么要有进程间通信pipe函数共享管道原理管道特点管道的四种情况 管道的应用场景&#xff08;进程池&#xff09;ProcessPool.ccTask.hpp 为什么要有进程间通信 数据传输&#xff1a;一个进程需要将它的数据发送给另一个进程 资源共享&#xff1a;多个进程之间共享…...

【PTA题目】6-19 使用函数输出指定范围内的Fibonacci数 分数 20

6-19 使用函数输出指定范围内的Fibonacci数 分数 20 全屏浏览题目 切换布局 作者 C课程组 单位 浙江大学 本题要求实现一个计算Fibonacci数的简单函数&#xff0c;并利用其实现另一个函数&#xff0c;输出两正整数m和n&#xff08;0<m≤n≤10000&#xff09;之间的所有F…...

运行ps显示msvcp140.dll丢失怎么恢复?msvcp140.dll快速解决的4个不同方法

msvcp140.dll无法继续执行代码的主要原因有以下几点 系统缺失&#xff1a;msvcp140.dll是Visual Studio 2015编译的程序默认的库文件&#xff0c;如果系统中没有这个库文件&#xff0c;那么在运行相关程序时就会出现找不到msvcp140.dll的错误提示。 文件损坏&#xff1a;如果…...

Java多线程(3)

Java多线程(3) 深入剖析Java线程的生命周期&#xff0c;探秘JVM的线程状态&#xff01; 线程的生命周期 Java 线程的生命周期主要包括五个阶段&#xff1a;新建、就绪、运行、阻塞和销毁。 **新建&#xff08;New&#xff09;&#xff1a;**线程对象通过 new 关键字创建&…...

Java线程周期

Java线程的生命周期包含以下状态&#xff1a; 新建&#xff08;New&#xff09;&#xff1a;当一个线程被创建但还没有被启动时&#xff0c;它的状态是新建。就绪&#xff08;Runnable&#xff09;&#xff1a;当线程已经被启动并且没有任何阻止它立即运行的条件时&#xff0c;…...

map与set的封装

目录 红黑树的结点 与 红黑树的迭代器 红黑树的实现&#xff1a; 迭代器&#xff1a; ​编辑 红黑树的查找&#xff1a; 红黑树的插入&#xff1a; ​编辑 检查红色结点&#xff1a;​编辑红黑树的左旋 ​编辑红黑树的右旋 ​编辑红黑树的双旋 Map的封装 ​编辑set的…...

mac无法向移动硬盘拷贝文件怎么解决?不能读取移动硬盘文件怎么解决

有时候我们在使用mac的时候&#xff0c;会遇到一些问题&#xff0c;比如无法向移动硬盘拷贝文件或者不能读取移动硬盘文件。这些问题会给我们的工作和生活带来不便&#xff0c;所以我们需要找到原因和解决办法。本文将为你介绍mac无法向移动硬盘拷贝文件怎么回事&#xff0c;以…...

基于Netty实现的简单聊天服务组件

目录 基于Netty实现的简单聊天服务组件效果展示技术选型&#xff1a;功能分析聊天服务基础设施配置&#xff08;基于Netty&#xff09;定义组件基础的配置&#xff08;ChatProperties&#xff09;定义聊天服务类&#xff08;ChatServer&#xff09;定义聊天服务配置初始化类&am…...

视频封面:从视频中提取封面,轻松制作吸引人的视频

在当今的数字时代&#xff0c;视频已成为人们获取信息、娱乐和交流的重要方式。一个吸引人的视频封面往往能抓住眼球&#xff0c;提高点击率和观看率。今天将介绍如何从视频中提取封面&#xff0c;轻松制作吸引人的视频封面。 一、准备素材选择合适的视频片段 首先&#xff0…...

CICD 持续集成与持续交付——gitlab

部署 虚拟机最小需求&#xff1a;4G内存 4核cpu 下载&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 安装依赖性 [rootcicd1 ~]# yum install -y curl policycoreutils-python openssh-server perl[rootcicd1 ~]# yum install -y gitlab-ce-15.9.3-ce.0…...

Linux - 驱动开发 - RNG框架

说明 公司SOC上有一个新思的真随机数&#xff08;TRNG&#xff09;模块&#xff0c;Linux平台上需要提供接口给外部使用。早期方式是提供一个独立的TRNG驱动&#xff0c;实现比较简单的&#xff0c;但是使用方式不open&#xff0c;为了加入Linux生态环境&#xff0c;对接linux…...

qsort使用举例和qsort函数的模拟实现

qsort使用举例 qsort是C语言中的一个标准库函数&#xff0c;用于对数组或者其他数据结构中的元素进行排序。它的原型如下&#xff1a; void qsort(void *base, size_t nmemb, size_t size, int (*compar)(const void *, const void *)); 我们可以去官网搜来看一看&#xff1a;…...

AttributeError: module ‘gradio‘ has no attribute ‘ClearButton‘解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…...

Kafka 集群如何实现数据同步?

哈喽大家好&#xff0c;我是咸鱼 最近这段时间比较忙&#xff0c;将近一周没更新文章&#xff0c;再不更新我那为数不多的粉丝量就要库库往下掉了 T﹏T 刚好最近在学 Kafka&#xff0c;于是决定写篇跟 Kafka 相关的文章&#xff08;文中有不对的地方欢迎大家指出&#xff09;…...

一本了解生成式人工智能

上周&#xff0c;发了一篇关于大语言模型图数据库技术相结合的文章&#xff0c;引起了很多朋友的兴趣。当然了&#xff0c;这项技术本身就让俺们很兴奋&#xff0c;比如我就是从事图研发的&#xff0c;当然会非常关注它在图领域的应用与相互促就啦。 纵观人类文明历史&#xff…...

git 相关指令总结(持续更新中......)

文章目录 一、git clone 相关指令1.1 clone 指定分支的代码 一、git clone 相关指令 1.1 clone 指定分支的代码 git clone -b 分支名 仓库地址...

windows 安装 Oracle Database 19c

目录 什么是 Oracle 数据库 下载 Oracle 数据库 解压文件 运行安装程序 测试连接 什么是 Oracle 数据库 Oracle数据库是由美国Oracle Corporation&#xff08;甲骨文公司&#xff09;开发和提供的一种关系型数据库管理系统&#xff0c;它是一种强大的关系型数据库管理系统…...