入门级容器技术解析:Docker和K8s的区别与关系
目录
🎯学习小目标:
关于容器
传统物理机🖥️
虚拟机💻
为什么使用容器技术呢?🤔
容器技术🥃
Docker—容器化平台
K8s(Kubernetes)—容器编排系统
Docker和K8s有什么关系和区别?🤔
Docker 的使用场景
Kubernetes 的使用场景
🎯学习小目标
1.了解容器的由来,以及容器的概念。
2.了解Docker是什么及其作用。
3.了解K8s是什么及其作用。
关于容器
我们先来看看很久很久以前,服务器是怎么部署应用的!
-
传统物理机🖥️
纯物理服务器是指不依赖于虚拟化技术的物理服务器。在这种设置中,服务器的硬件资源(如CPU、内存、存储等)完全用于运行一个单一的操作系统和应用程序。
纯物理服务器的优点包括:
性能:由于不需要虚拟化开销,纯物理服务器通常提供更高的性能,其是在要求高性能计算或IO密集型应用中。
管理:管理和配置相对简单,因为只有一个操作系统和应用程序。
资源利用率:相较于虚拟化环境,资源利用率可能较低,因为无法根据不同的负载动态分配资源。
稳定性:在某些情况下,物理服务器可以提供更高的稳定性和可靠性,特别是当应用程序对硬件有特定要求时。
纯物理服务器包括以下在实际生活中的应用:
数据中心和云计算:许多公司使用纯物理服务器构建数据中心,提供云计算服务。这些服务器存储和处理大量数据,保证了高性能和可靠性。
企业内部应用:许多企业依赖于纯物理服务器来运行关键的内部应用,如财务系统、客户关系管理(CRM)系统和人力资源管理系统(HRMS),以保证数据安全和稳定性。
高性能计算:在科学研究、工程设计和天气模拟等领域,纯物理服务器常用于高性能计算(HPC),进行复杂的模拟和数据分析。
为了应对传统物理机的缺点,虚拟化技术就诞生了!
-
虚拟机💻
↑ 这张图就展示了你目前使用电脑的方式
尽管你在日常使用中不是直接使用虚拟机,但在一定程度上,你的操作系统利用了类似的虚拟化原则来管理资源,以便让你高效地运行多个应用程序。虚拟机技术主要应用在更复杂的场景,如服务器管理、软件开发和测试等。
虚拟化技术包括以下在实际生活中的应用:
游戏和娱乐:许多在线游戏平台利用虚拟化技术来分配服务器资源,确保游戏流畅运行。
移动设备:智能手机和平板电脑中的多任务处理功能也依赖于虚拟化技术。
个人电脑:通过虚拟机(VM)技术,用户可以在同一台物理电脑上运行多个操作系统。
相较于从前,部署成本降低,可充分利用服务器资源,利用虚拟机的模板功能(vmware模板克隆)便利了迁移与拓展。但是虚拟化也具有一定的局限性,每个虚拟机都是一个完整的操作系统,需要分配系统资源,虚拟机多到一定程度时,操作系统本身的资源也就消耗殆尽,必须扩容。
拓展:如果你想更加快捷稳定地使用Linux系统,也可以选择使用Xshell从本地计算机远程连接到远程的VPS进行操作。
为什么使用容器技术呢?🤔
[小情景]:超哥公司的产品运行在内部的虚拟化平台中,如VMware。但是随着不断增加的云端应用公司已经在云平台上运行了多台云主机,增加了对硬件资源的消耗,不断创建的虚拟机也为公司带来了难题。
此时,容器技术就排上用场了!
容器技术🥃
容器技术是一种高效的应用程序部署方法,允许开发人员在隔离环境中打包和运行应用程序,这一过程被称为容器化。容器技术的出现解决了传统部署方法中存在的一系列问题,使得软件开发和部署更加一致、高效。
常见的容器技术包括Docker、Kubernetes、LXC(Linux容器)等,它们提供了一套工具和平台,用于创建、管理和编排容器。容器技术已经在软件开发、云计算和大规模部署等领域广泛应用,为应用程序的开发、测试、交付和运维带来了许多便利和优势。
其中, Docker是一个容器化平台,它可以打包应用及其依赖项,使其成为容器。 K8s则用于管理这些容器的部署和编排。
Docker—容器化平台 
Docker最初是DotCloud公司在法国期间发起的一个公司内部项目,后来以Apache2.0授权协议开源,代码在Github上维护。
Docker是基于Google公司推出的Golang语言开发而来,基于Linux内核的&groups、NameSpace,以及Union FS等技术对进程进行封装隔离,属于操作系统层面的虚拟化技术。(Docker的底层原理与作用)
由于隔离的进程独立于宿主机和其他隔离的进程,也被称之为容器。
最初的Docker是基于LXC的,后来去除LXC转而使用自行开发的Libcontainer。
Docker被定义为开源的容器引擎,可以方便的对容器进行管理。例如对镜像打包封装,引入Docker Registry对镜像统一管理。
利用Docker可以实现开发,测试,生产环境的部署一致性,极大的减少运维成本。
对于上述的小情景:
容器化(Containerization)是一种将应用程序及其所有依赖项(如库、配置文件和其他服务)打包在一个标准化的单元中(即“容器”)的技术。容器化的目标是实现软件的简单、一致和可移植的部署。
这样做的好处是什么?
虚拟出一台计算机的成本高还是只虚拟出一个隔离的程序运行环境的成本高? 答案很明显是前者。 一台物理机可能同时虚拟出10台虚拟机就已经开始感到乏力了,但同时虚拟出100个虚拟的执行环境却还是能够从容应对,这对于资源的充分利用可是有巨大的好处。
以下是容器化的一些核心概念和益处:
轻量级和高效:容器共享宿主操作系统的内核,相比传统的虚拟机更轻量,占用资源更少,启动速度更快。
一致性:容器在开发、测试和生产环境中具有相同的运行时,这减少了“在我电脑上可以运行”的问题。开发人员可以在本地环境中构建容器,并确保它在其他环境中也能正常工作。
依赖项管理:容器将应用程序及其所有所需的依赖项捆绑在一起,这样可以避免版本冲突和依赖缺失的问题。
可移植性:容器可以在不同的计算环境中运行,例如个人电脑、数据中心或云平台,使得应用程序可以更加灵活地部署。
快速部署与扩展:由于容器的轻量特性,应用程序可以快速启动和停止。这使得动态扩展和缩减资源变得更加容易。
隔离性:每个容器在独立的环境中运行,避免了不同应用程序间的相互影响。
近几年大火的容器技术正是在这样的指导思想下诞生的!
程序开发情形
没有使用Docker时:
使用了Docker之后:
K8s(Kubernetes)—容器编排系统
Kubernetes,从官方网站上可以看到,它是一个工业级的容器编排平台。Kubernetes 这个单词是希腊语,它的中文翻译是“舵手”或者“飞行员”。在一些常见的资料中也会看到“ks”这个词,也就是“K8s”,它是通过将 8 个字母“ubernete ”替换为“8”而导致的一个缩写。
Kubernetes 为什么要用“舵手”来命名呢?大家可以看一下这张图:
这是一艘载着一堆集装箱的轮船,轮船在大海上运着集装箱奔波,把集装箱送到它们该去的地方。我们之前其实介绍过一个概念叫做 container,container 这个英文单词也有另外的一个意思就是“集装箱”。Kubernetes 也就借着这个寓意,希望成为运送集装箱的一个轮船,来帮助我们管理这些集装箱,也就是管理这些容器。
这个就是为什么会选用 Kubernetes 这个词来代表这个项目的原因。更具体一点地来说:Kubernetes 是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。
整体结构图:
Docker和K8s有什么关系和区别?🤔
区别:Kubernetes(K8s)是一个容器编排系统,而Docker是一个用于构建、分发和运行容器的平台。
关系:它们可以协同工作,以实现更高效的应用程序部署和管理。在实际应用中,开发人员可以使用Docker来构建和打包应用程序容器,然后将其部署到Kubernetes集群中。Kubernetes和Docker之间的关系可以理解为一种互补关系,Docker位于Kubernetes的下层,为应用程序提供运行环境,而Kubernetes则位于上层,为容器化应用程序提供编排和管理功能。
Docker 的使用场景
Docker 的使用场景主要包括以下几个方面:
应用程序的打包和交付:Docker 可以将应用程序和所有依赖项打包到一个容器中,从而实现应用程序的打包和交付。
应用程序的部署和维护:Docker 可以在不同的环境中提供一致的应用程序运行环境,从而简化了应用程序的部署和维护。
应用程序的可移植性:Docker 可以在不同的平台上运行,提供了应用程序的可移植性。
应用程序的隔离和安全性:Docker 可以提供应用程序的隔离和安全性,防止应用程序之间相互干扰。
Kubernetes 的使用场景
Kubernetes 的使用场景主要包括以下几个方面:
容器化应用程序的部署和管理:Kubernetes 可以用于管理和部署容器化应用程序,提供高可用性、可伸缩性和自我修复能力。
容器化应用程序的负载均衡:Kubernetes 可以通过集群自动化来实现容器化应用程序的负载均衡。
容器化应用程序的高可用性:Kubernetes 可以通过集群自动化来实现容器化应用程序的高可用性。
混合云和多云部署:Kubernetes 支持多云、混合云和混合部署等场景,因此可以应用于云原生应用程序的开发和部署。
>>看个视频,巩固一下😎
相关文章:
入门级容器技术解析:Docker和K8s的区别与关系
目录 🎯学习小目标: 关于容器 传统物理机🖥️ 虚拟机💻 为什么使用容器技术呢?🤔 容器技术🥃 Docker—容器化平台 K8s(Kubernetes)—容器编排系统 Docker和K8s有什么关系和区别&#…...
《Rust权威指南》学习笔记(五)
高级特性 1.在Rust中,unsafe是一种允许绕过Rust的安全性保证的机制,用于执行一些Rust默认情况下不允许的操作。unsafe存在的原因是:unsafe 允许执行某些可能被 Rust 的安全性检查阻止的操作,从而可以进行性能优化,如手…...
数据库软考历年上午真题与答案解析(2018-2024)
本题考查计算机总线相关知识。 总线(Bus)是计算机各种功能部件之间传送信息的公共通信干线,它是由导线组成的传输线束。 根据总线连接设备范围的不同, 分为:1.片内总线:芯片内部的总线; 2.系统…...
HTML5 文件上传(File Upload)详解
HTML5 文件上传(File Upload)详解 HTML5 提供了强大的文件上传功能,允许用户通过网页选择文件并上传到服务器。以下是关于文件上传控件的详细说明。 1. 基本的文件上传控件 使用 <input> 标签的 type"file" 属性可以创建一…...
构建属于你的七牛云文件上传工具:Qiniu Uploader 详解(从 0 到 1 实现)
GitHub 仓库地址:https://github.com/hahala2333/qiniu-upload 📚 简介 在现代 Web 开发中,静态资源的上传和管理是不可避免的需求。为了简化将本地资源上传到七牛云存储的过程,我们构建了 Qiniu Uploader 工具。它具备灵活的配置…...
Spring Boot 项目中集成 Kafka-03
在 Spring Boot 项目中集成 Kafka 有多种方式,适应不同的应用场景和需求。以下将详细介绍几种常用的集成方法,包括: 使用 Spring Kafka (KafkaTemplate 和 KafkaListener)使用 Spring Cloud Stream 与 Kafka Binder使用 Spring for Apache K…...
如何在2025年创建一个网站:使用US Domain Center和WordPress的终极指南
在本指南中,我们将向你展示如何正确地使用US Domain Center和WordPress创建一个网站。无论你是要启动一个个人博客,还是一个在线商店,我们都会提供简单易懂的步骤指导。无需技术技能 — — 只需按照我们的简单步骤操作,你就能在今…...
LLM 训练中存储哪些矩阵:权重矩阵,梯度矩阵,优化器状态
LLM 训练中存储哪些矩阵 目录 LLM 训练中存储哪些矩阵深度学习中梯度和优化器是什么在 LLM 训练中通常会存储以下矩阵: 权重矩阵:这是模型的核心组成部分。例如在基于 Transformer 架构的 LLM 中,每一层的多头注意力机制和前馈神经网络都会有相应的权重矩阵。以 BERT 模型为…...
【JVM】总结篇之对象内存布局 执行引擎
文章目录 对象内存布局对象的实例化对象的内存布局对象的方问定位 执行引擎 对象内存布局 对象的实例化 new对象流程?(龙湖地产) 对象创建方法,对象的内存分配。(360安全) 1.判断对象对应的类是否加载、链…...
机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型
机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型 目录 机器学习之正则化惩罚和K折交叉验证调整逻辑回归模型1 过拟合和欠拟合1.1 过拟合1.2 欠拟合 2 正则化惩罚2.1 概念2.2 函数2.3 正则化种类 3 K折交叉验证3.1 概念3.2 图片理解3.3 函数导入3.4 参数理解 4 训练模型K折交…...
【图像处理】OpenCv + Python 实现 Photoshop 中的色彩平衡功能
前言 这是使用 python 和 OpenCv 实现的 Photoshop 中色彩平衡功能的代码,可以设置阴影,高光和中间调的色调参数来调整图片的色彩平衡。 参考文章二也有 python 版本的代码实现,虽然中间调的部分貌似没有实现,但是理论部分讲解还…...
基于vue框架的的校园快递管理系统x0xm0(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
系统程序文件列表 项目功能:学生,校园跑腿,快递代取,代取进度,评价信息 开题报告内容 基于Vue框架的校园快递管理系统开题报告 一、研究背景与意义 随着电子商务的蓬勃发展,校园快递业务急剧增长,成为校园生活中不可或缺的一部分。然而&a…...
【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
文章目录 Section 4:The Vim Help System(Vim 帮助系统)S04L14 Getting Help1 打开帮助系统2 退出帮助系统3 查看具体命令的帮助文档4 查看帮助文档中的主题5 帮助文档间的上翻、下翻6 关于 linewise7 查看光标所在术语名词的帮助文档8 关于退…...
智能体(Agent)如何具备自我决策能力的机理与实现方法
一、智能体自我决策能力的机理 从人工智能和控制理论的角度看,智能体能够“自我决策”的核心在于其 “感知–认知–行动” 的循环过程,以及在此过程中引入自主学习与自主优化的机制。经过优化与补充,智能体具备自我决策能力的机理可以分解为…...
Redis 数据库源码分析
Redis 数据库源码分析 我们都知道Redis是一个 <key,value> 的键值数据库,其实也就是一个 Map。如果让我来实现这样一个 Map,我肯定是用数组,当一个 key 来的时候,首先进行 hash 运算,接着对数据的 length 取余&…...
vue3 css实现文字输出带光标显示,文字输出完毕,光标消失的效果
Vue实现过程如下: <template><div ><p ref"dom_element" class"typing" :class"{over_fill: record_input_over}"></p></div> </template> <script setup> import {onMounted, ref} from…...
【Leetcode】731. 我的日程安排表 II
文章目录 题目思路代码复杂度分析时间复杂度空间复杂度 结果总结 题目 题目链接🔗 实现一个程序来存放你的日程安排。如果要添加的时间内不会导致三重预订时,则可以存储这个新的日程安排。 当三个日程安排有一些时间上的交叉时(例如三个日程…...
浅谈棋牌游戏开发流程四:核心业务逻辑(二)——房间匹配与对局流程
一、前言:让玩家轻松坐上“牌桌” 在上一篇文章中,我们深入探讨了用户系统与登录流程,了解了如何让“陌生人”转变为游戏中的“正式玩家”。接下来,我们将迈向游戏的核心环节——房间匹配与对局流程。这是玩家实际参与游戏、互动…...
大学生HTML5期末作业 Web前端网页制作 html5+css3+js html+css网页设计 美食 美食模版2个页面
大学生HTML5期末作业 Web前端网页制作 html5css3js htmlcss网页设计 美食 美食模版2个页面 网页作品代码简单,可使用任意HTML辑软件(如:Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修…...
Java100道面试题
1.JVM内存结构 1. 方法区(Method Area) 方法区是JVM内存结构的一部分,用于存放类的相关信息,包括: 类的结构(字段、方法、常量池等)。字段和方法的描述,如名称、类型、访问修饰符…...
MySQL 日志简介
总览 MySQL Server 有以下⼏种⽇志,可以记录服务器正在发⽣的活动。 ⽇志类型⽇志信息 ⼀般查询⽇志 (General query log) 已建⽴的客⼾端连接和从客⼾端接收到的语句 错误⽇志 (Error log) mysqld在启动、运⾏或停⽌时遇到的问题 慢查询⽇志 (Slow query log) 执⾏…...
ubuntu清理磁盘
ubuntu清理磁盘脚本: #!/bin/bash#shell脚本用#作注释行,但是第一行的#!/bin/bash例外sudo apt-get clean sudo rm -rf /tmp/* sudo rm -rf /var/cache/*cd /var/log/ sudo du -h -d 1 rm -rf ./*cd ~/.cache sudo du -h -d 1 rm -rf ./*apt…...
鸿蒙APP之从开发到发布的一点心得
引言: 做鸿蒙开发大概有1年左右时间了,从最开始的看官方文档、看B站视频,到后来成功发布两款个人APP(房贷计算极简版、时简时钟 轻喷,谢谢)。简单描述一下里边遇到的坑以及一些经历吧。 学习鸿蒙开发 个…...
C++二十三种设计模式之享元模式
C二十三种设计模式之享元模式 一、组成二、特点三、目的四、缺点五、示例代码 一、组成 抽象享元类:声明操作方法。 具体享元类:使用内部数据和外部数据来实现操作方法。 享元管理者类:创建和管理具体享元对象。 二、特点 1、创建享元对象…...
基于Python的音乐播放器 毕业设计-附源码73733
摘 要 本项目基于Python开发了一款简单而功能强大的音乐播放器。通过该音乐播放器,用户可以轻松管理自己的音乐库,播放喜爱的音乐,并享受音乐带来的愉悦体验。 首先,我们使用Python语言结合相关库开发了这款音乐播放器。利用Tkin…...
基于32单片机的智能语音家居
一、主要功能介绍 以STM32F103C8T6单片机为控制核心,设计一款智能远程家电控制系统,该系统能实现如下功能: 1、可通过语音命令控制照明灯、空调、加热器、窗户及窗帘的开关; 2、可通过手机显示和控制照明灯、空调、窗户及窗帘的开…...
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
目录😋 ⚙️C语言环境配置:Windows配置C语言环境(超级详细) <第1关:程序改错> 任务描述 相关知识 1. 头文件的引用 2. 基本语法规则 编程要求 测试说明 通关代码 测试结果 <第2关:scanf 函数>…...
基于Springboot的知名作家交流系统
博主介绍:java高级开发,从事互联网行业多年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实…...
服务器数据恢复—离线盘数超过热备盘数导致raidz阵列崩溃的数据恢复
服务器数据恢复环境&故障: 一台配有32块硬盘的服务器在运行过程中突然崩溃不可用。经过初步检测,基本上确定服务器硬件不存在物理故障。管理员重启服务器后问题依旧。需要恢复该服务器中的数据。 服务器数据恢复环境: 1、将服务器中硬盘…...
conda安装及demo:SadTalker实现图片+音频生成高质量视频
1.安装conda 下载各个版本地址:https://repo.anaconda.com/archive/ win10版本: Anaconda3-2023.03-1-Windows-x86_64 linux版本: Anaconda3-2023.03-1-Linux-x86_64 Windows安装 环境变量 conda -V2.配置conda镜像源 安装pip conda…...
内蒙古水系详细很全shp格式arcgis软件无偏移坐标下载后内容测评
标题中的“内蒙古水系详细很全shp格式arcgis软件无偏移坐标”指的是一个地理信息系统(GIS)数据集,该数据集详细记录了内蒙古地区的水系信息,并以ESRI公司的标准矢量数据格式——Shapefile(.shp)进行存储。S…...
RK3588平台开发系列讲解(系统篇)Linux Kconfig的语法
文章目录 一、什么是Kconfig二、config模块三、menuconfig四、menu 和 endmenu五、choice 和 endchoice六、source七、depends on八、default九、help十、逻辑表达式沉淀、分享、成长,让自己和他人都能有所收获!😄 一、什么是Kconfig Kconfig的语法及代码结构非常简单。本博…...
c#使用SevenZipSharp实现压缩文件和目录
封装了一个类,方便使用SevenZipSharp,支持加入进度显示事件。 双重加密压缩工具范例: using SevenZip; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.…...
【C++数据结构——查找】二叉排序树(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 1. 二叉排序树的基本概念 2. 二叉排序树节点结构体定义 3. 创建二叉排序树 4. 判断是否为二叉排序树 5. 递归查找关键字为 6 的结点并输出查找路径 6. 删除二叉排序树中的节点 测试说明 通关代码 测试结果 任务描述 本关任务&a…...
C# 服务生命周期:Singleton、Scoped、Transient
文章目录 1、概念:服务生命周期单例 (Singleton) :作用域 (Scoped) :瞬态 (Transient) : 2、对 Scoped 和 Transient 进一步辨析Scoped 生命周期Transient 生命周期选择哪种生命周期 1、概念:服务生命周期 单例 (Singleton) : 整个应用程序生命周期中只有一个实例被创建并共享…...
如何让用户在网页中填写PDF表格?
在网页中让用户直接填写PDF表格,可以大大简化填写、打印、扫描和提交表单的流程。通过使用复选框、按钮和列表等交互元素,PDF表格不仅让填写过程更高效,还能方便地在电脑或移动设备上访问和提交数据。 以下是在浏览器中显示可填写PDF表单的四…...
w140体育馆使用预约平台的设计与实现
🙊作者简介:多年一线开发工作经验,原创团队,分享技术代码帮助学生学习,独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取,记得注明来意哦~🌹赠送计算机毕业设计600个选题excel文…...
Linux(Ubuntu)下ESP-IDF下载与安装完整流程(4)
接前一篇文章:Linux(Ubuntu)下ESP-IDF下载与安装完整流程(3) 本文主要看参考官网说明,如下: 快速入门 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 Linux 和 macOS 平台工具链的标准设置 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 前边几回讲解了第一步 —— …...
PDF预览插件
PDF预览插件 可用于当前页面弹窗形式查看,可增加一些自定义功能 pdf预览插件 代码块: pdfobject.js <div class="pdfwrap"><div class="item"><h3>笑场</h3><div class="tags"><p>李诞</p><i&…...
【微服务】2、网关
Spring Cloud微服务网关技术介绍 单体项目拆分微服务后的问题 服务地址问题:单体项目端口固定(如黑马商城为8080),拆分微服务后端口各异(如购物车808、商品8081、支付8086等)且可能变化,前端难…...
计算机网络--路由表的更新
一、方法 【计算机网络习题-RIP路由表更新-哔哩哔哩】 二、举个例子 例1 例2...
网络安全抓包
#知识点: 1、抓包技术应用意义 //有些应用或者目标是看不到的,这时候就要进行抓包 2、抓包技术应用对象 //app,小程序 3、抓包技术应用协议 //http,socket 4、抓包技术应用支持 5、封包技术应用意义 总结点:学会不同对象采用…...
字玩FontPlayer开发笔记8 Tauri2文件系统
字玩FontPlayer开发笔记8 Tauri2文件系统 字玩FontPlayer是笔者开源的一款字体设计工具,使用Vue3 ElementUI开发,源代码: github: https://github.com/HiToysMaker/fontplayer gitee: https://gitee.com/toysmaker/fontplayer 笔记 字玩目…...
http源码分析
一、HttpURLConnection http连接池源码分析 二、HttpClient 连接池,每个路由最大连接数 三、OkHttp okhttp的连接池与socket连接...
【vim】vim常用操作总结
vim常用操作总结 一,简介二,操作介绍2.1 命令模式2.1.1 删除(剪切)光标所在行2.1.2 复制2.1.3 粘贴2.1.4 跳到行末2.1.5 跳到行首2.1.6 撤销操作 2.2 视图模式2.3 命令模式2.4 编辑模式 三,总结 一,简介 在…...
【学Rust开发CAD】1 环境搭建
文章目录 一、搭建C/C编译环境二、安装Rust三、配置 PATH 环境变量四、验证安装结果五、安装编辑工具 一、搭建C/C编译环境 Rust 的编译工具依赖 C 语言的编译工具,这意味着你的电脑上至少已经存在一个 C 语言的编译环境。如果你使用的是 Linux 系统,往…...
RK3588开发笔记-spi接口调试
目录 前言 一、SPI接口简介 二、原理图连接 三、设备树配置 四、spi调试 五、spi应用软件接口 总结 前言 在嵌入式系统开发中,SPI(Serial Peripheral Interface)接口作为一种同步、全双工、多设备、多主机的通信协议,广泛应用于连接各种外围设备,如ADC、DAC、数据存…...
AlphaPi相关硬件驱动提取
初涉硬件编程,在咸鱼上搞了几块AlphaPi和microbit的板鼓捣了一下,alphapi生态不完善,网上又无任何文档,搞封闭,可玩性实在有限,但貌似相关扩展板是可以插microbit的,于是想把这些扩展版用microb…...
【Unity3D】Text文本文字掉落效果
相关技术:Text、TextMesh、Rigidbody(刚体)、BoxCollider(碰撞体)、TextGenerator、文本网格、文字网格 原理:使用UGUI Text获取其文字的每个字符网格坐标,转世界坐标生成对应的3D文本(TextMesh…...
MySQL内置函数详解
MySQL内置函数详解 1. 字符串函数 1.1 基本字符串处理 -- 字符串长度 SELECT LENGTH(Hello MySQL); -- 返回11-- 字符串大小写转换 SELECT LOWER(HELLO), UPPER(hello); -- 返回 hello, HELLO-- 字符串截取 SELECT SUBSTRING(MySQL Database, 1, 5); -- 返回 MySQL SELEC…...