rust学习-初识rust
rust学习-初识rust
- 什么是 Rust?
- Rust 的特点
- 什么是 Cargo?
- Cargo 的主要功能
- 使用 Cargo 创建和管理项目
- Cargo.toml 文件详解
- 常用 Cargo 命令
- 什么是 Rustup?
- Rustup 的主要功能
- 安装 Rustup
- 验证安装
- 使用 Rustup 管理工具链
- 使用 Rustup 管理目标平台
- 使用 Rustup 管理组件
- 使用 Rustup 管理配置文件
什么是 Rust?
Rust 是一种系统编程语言,由 Mozilla 研究院开发并于 2012年首次发布。它旨在提供内存安全、并发安全和零成本抽象的特性,同时保持高性能。Rust 的设计目标是替代 C++在系统编程中的地位,特别是在需要高性能和安全性的场景中
Rust 的特点
- 内存安全:Rust 通过其所有权系统(Ownership System)和借用检查器(Borrow Checker)来保证内存安全,避免常见的内存错误如空指针、悬空指针和数据竞争
- 零成本抽象:Rust 可使用高级抽象,而不需要为此付出运行时性能的代价。这使得代码既安全又高效
- 并发安全:Rust 的类型系统和所有权模型确保了并发代码的安全性,避免数据竞争
- 跨平台支持:Rust 可以在多种平台上运行,包括 Linux、Windows、macOS 等
- 社区和生态:Rust 有一个活跃的开源社区,提供了丰富的库和工具,形成了强大的生态系统
什么是 Cargo?
Cargo 是 Rust 的包管理器和构建系统。它负责管理项目的依赖、编译代码、运行测试以及发布包。Cargo 使得 Rust项目的管理变得更加简单和高效
Cargo 的主要功能
- 项目创建:Cargo 可快速创建一个新的 Rust 项目
- 依赖管理:Cargo 可自动下载和管理项目所需的依赖库
- 构建系统:Cargo 负责编译项目,并处理所有的编译选项和优化
- 测试运行:Cargo 可以运行项目的单元测试和集成测试
- 发布管理:Cargo 可以将项目打包并发布到 crates.io(Rust 的官方包仓库)
使用 Cargo 创建和管理项目
- 安装 Rust 和 Cargo
首先需要安装 Rust 和 Cargo。可以通过以下命令安装:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
安装完成后,Rust 和 Cargo 将会自动安装到你的系统中
- 创建新项目
可通过以下命令创建一个新的项目:
cargo new hello_world
这条命令会创建一个名为 hello_world 的目录,并在其中生成一个新的 Rust 项目
生成的项目结构如下:
hello_world/
├── Cargo.toml
└── src└── main.rs
- Cargo.toml 是项目的配置文件,包含了项目的基本信息和依赖
- src/main.rs 是项目的主代码文件,默认包含一个简单的 “Hello, world!” 程序
- 构建和运行项目
在项目目录中,可以使用以下命令来构建和运行项目:
cargo build
这条命令会编译项目,并在 target/debug 目录下生成可执行文件
要运行项目,可以使用:
cargo run
这条命令会先编译项目(如果代码有变化),然后运行生成的可执行文件
- 添加依赖
Rust 项目通常依赖于外部的库,可以在 Cargo.toml 文件中添加依赖项。例如,假设若想要使用 rand 库来生成随机数,可以在 Cargo.toml 中添加以下内容:
[dependencies]
rand = "0.8"
保存文件后,运行 cargo build,Cargo 会自动从 crates.io 下载并编译 rand 库
- 运行测试
Rust 内置了对单元测试的支持,可以在代码中编写测试函数,并使用 Cargo 运行这些测试
例如,在 src/main.rs 中添加一个简单的测试:
#[cfg(test)]
mod tests {#[test]fn it_works() {assert_eq!(2 + 2, 4);}
}
然后运行测试:
cargo test
Cargo 会自动查找并运行所有的测试函数
- 发布项目
当准备好发布项目时,可以使用 cargo build --release 来生成优化的构建版本:
cargo build --release
生成的可执行文件将位于 target/release 目录下,并且经过了充分的优化,适合用于生产环境
Cargo.toml 文件详解
Cargo.toml 是 Cargo 的配置文件,包含了项目的基本信息和依赖项。以下是 Cargo.toml 的一个示例:
[package]
name = "hello_world"
version = "0.1.0"
edition = "2021"[dependencies]
rand = "0.8"[build-dependencies]
cc = "1.0"[dev-dependencies]
tempfile = "3.1"[features]
default = [][profile.dev]
opt-level = 1[profile.release]
opt-level = 3
- [package]:定义了项目的基本信息,如项目名称、版本号和使用的 Rust 版本
- [dependencies]:列出了项目所依赖的外部库及其版本号
- [build-dependencies]:列出了构建项目时所需的依赖库
- [dev-dependencies]:列出了仅在开发环境中使用的依赖库,例如测试工具
- [features]:用于定义项目的功能特性,可以在编译时启用或禁用某些功能
- [profile.dev] 和 [profile.release]:定义了不同构建配置下的编译选项
常用 Cargo 命令
- cargo new :创建一个新项目
- cargo build:编译项目
- cargo run:编译并运行项目
- cargo test:运行项目的测试
- cargo check:检查代码的语法和类型,但不进行编译
- cargo update:更新项目的依赖
- cargo doc:生成项目的文档
- cargo publish:将项目发布到 crates.io
什么是 Rustup?
Rustup 是 Rust 的官方工具链管理工具。可轻松地安装、管理和切换不同版本的 Rust编译器(rustc)和相关的工具链。Rustup 是 Rust 生态系统的重要组成部分,它使得开发者能够在不同的 Rust版本之间无缝切换,并且能够轻松地安装和管理 Rust 的工具链
Rustup 的主要功能
- 安装 Rust:Rustup 是安装 Rust 的推荐方式。它不仅可以安装 Rust 编译器,还可以安装 Cargo、Rust 文档和其他工具
- 管理工具链:Rustup 可安装和管理多个 Rust 工具链。你可以轻松地在稳定版、测试版和 nightly 版之间切换
- 更新 Rust:Rustup 可以自动检查并更新 Rust 工具链到最新版本
- 跨平台支持:Rustup 支持多种操作系统,包括 Linux、Windows 和 macOS
- 自定义工具链:Rustup 可安装自定义的工具链,例如针对特定目标平台的工具链
安装 Rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
这条命令会下载并运行 Rustup 的安装脚本,安装过程中,可选择默认的安装选项,或者根据需要进行自定义配置
安装完成后,Rustup 会自动将 Rust 工具链添加到对应的系统路径中
验证安装
安装完成后,可以通过以下命令验证 Rust 和 Rustup 是否安装成功:
rustc --version
cargo --version
rustup --version
这些命令会分别输出 Rust 编译器、Cargo 和 Rustup 的版本信息
使用 Rustup 管理工具链
- 安装不同的工具链
Rustup 可安装多个 Rust 工具链。可以通过以下命令安装不同的工具链:
- 稳定版(Stable):这是 Rust 的稳定版本,适合大多数生产环境
rustup toolchain install stable
- 测试版(Beta):这是 Rust 的测试版本,包含了即将发布的稳定版功能
rustup toolchain install beta
- Nightly 版:这是 Rust 的每日构建版本,包含了最新的功能和实验性特性
rustup toolchain install nightly
- 切换工具链
可以使用 rustup default 命令来切换默认的工具链。例如,切换到 nightly 版:
rustup default nightly
可以在特定项目中使用不同的工具链,而不影响全局默认设置。例如,在项目目录中运行:
rustup override set nightly
这条命令会为当前项目设置 nightly 工具链
- 列出已安装的工具链
可以使用以下命令列出所有已安装的工具链:
rustup toolchain list
- 更新工具链
Rustup 可以自动检查并更新已安装的工具链。可以通过以下命令更新所有工具链:
rustup update
- 卸载工具链
如果不再需要某个工具链,可以使用以下命令卸载它:
rustup toolchain uninstall nightly
使用 Rustup 管理目标平台
Rustup 可为不同的目标平台安装和配置工具链。例如可为交叉编译安装目标平台的工具链
- 添加目标平台
可以使用以下命令为目标平台添加工具链。例如,为 x86_64-unknown-linux-musl 目标平台添加工具链:
rustup target add x86_64-unknown-linux-musl
- 列出已安装的目标平台
可以使用以下命令列出所有已安装的目标平台:
rustup target list
- 移除目标平台
如果不再需要某个目标平台,可以使用以下命令移除它:
rustup target remove x86_64-unknown-linux-musl
使用 Rustup 管理组件
Rustup 可安装和管理 Rust 的组件,例如 rust-docs、rust-src 和 clippy
- 安装组件
可以使用以下命令安装组件。例如,安装 rust-docs 组件:
rustup component add rust-docs
- 列出已安装的组件
可以使用以下命令列出所有已安装的组件:
rustup component list
- 移除组件
如果不再需要某个组件,可以使用以下命令移除它:
rustup component remove rust-docs
使用 Rustup 管理配置文件
Rustup 可管理不同的配置文件,例如 default、minimal 和 complete。这些配置文件定义了安装 Rust时包含的组件
- 查看当前配置文件
可以用下命令查看当前的配置文件:
rustup show profile
- 切换配置文件
可以使用以下命令切换配置文件。例如,切换到 minimal 配置文件:
rustup set profile minimal
相关文章:
rust学习-初识rust
rust学习-初识rust 什么是 Rust?Rust 的特点什么是 Cargo?Cargo 的主要功能使用 Cargo 创建和管理项目Cargo.toml 文件详解常用 Cargo 命令什么是 Rustup?Rustup 的主要功能安装 Rustup验证安装使用 Rustup 管理工具链使用 Rustup 管理目标平…...
word怎么添加链接,点击直接到参考文献
word怎么添加链接,点击直接到参考文献 有时候并不一定非得latex https://download.csdn.net/download/qq_38998213/90199214 在Word中添加点击可直接跳转到参考文献的链接,主要有以下两种方法: 使用交叉引用和超链接结合的方法 插入参考文献: 首先,在文档中需要插入参考…...
数字赋能:制造企业如何靠“数字能力”实现可持续“超车”?
如今,制造业数字化转型可是个热门话题,全球都在积极推进。我国更是出台了一系列给力的政策来助力制造业数字化转型,像《中国制造 2025》就明确提出要加快制造业数字化、网络化、智能化发展,各省市也纷纷响应,从资金、税…...
C++——deque的了解和使用
目录 引言 标准库中的deque 一、deque的基本概念 二、deque的常用接口 1.deque的迭代器 2.deque的初始化 3.deque的容量操作 3.1 有效长度和容量大小 3.2 有效长度和容量操作 4.deque的访问操作 5.deque的修改操作 三、deque的应用场景 结束语 引言 在C中&#x…...
vue使用el-select下拉框自定义复选框
在 Vue 开发中,高效且美观的组件能极大地提升用户体验和开发效率。在vue中使用elementplus 的 el-select下拉框实现了一个自定义的多选下拉框组件。 一、代码功能概述 这段代码创建了一个可多选的下拉框组件,通过el-select和el-checkbox-group结合的方…...
《探秘开源大模型:AI 世界的“超级引擎”》
《探秘开源大模型:AI 世界的“超级引擎”》 一、开源大模型崛起之路二、开源大模型发展历程回顾(一)早期奠基:理论突破与初步实践(二)快速发展:百花齐放的模型格局(三)当下态势:走向成熟与多元融合三、开源大模型核心技术剖析(一)Transformer 架构:基石之稳(二)…...
浏览器跨域原因及解决方式
一、为什么会有跨域 浏览器的同源策略 用于限制一个源的文档或它所加载的脚本如何能与另一个源交互。 它能帮助阻隔恶意文档,减少可能被攻击的媒介 二、什么是同源 两个url,只要它们的协议、域名、端口有一个不相同,就会导致跨域…...
如何解决Eigen和CUDA版本不匹配引起的错误math_functions.hpp: No such file or directory
Apollo9针对RTX40的docker环境里的Eigen库版本是3.3.4,CUDA是11.8: 编译我们自己封装模型的某些component代码时没问题,编译一个封装occ模型的component代码时始终报错: In file included from /usr/include/eigen3/Eigen/Geometry:11:0, …...
[服务器][教程]Ubuntu24.04 Server开机自动挂载硬盘教程
1. 查看硬盘ID ls -l /dev/disk/by-uuid可以看到对应的UUID所对应的分区 2. 创建挂载文件夹 创建好文件夹即可 3. 修改配置文件 sudo vim /etc/fstab把对应的UUID和创建的挂载目录对应即可 其中# Personal mount points下面的是自己新添加的 :分区定位ÿ…...
idea项目导入gitee 码云
1、安装gitee插件 IDEA 码云插件已由 gitosc 更名为 gitee。 1 在码云平台帮助文档http://git.mydoc.io/?t153739上介绍的很清楚,推荐前两种方法, 搜索码云插件的时候记得名字是gitee,gitosc已经搜不到了。 2、使用码云托管项目 如果之…...
前端页面展示本电脑的摄像头,并使用js获取摄像头列表
可以通过 JavaScript 使用 navigator.mediaDevices.enumerateDevices() 获取电脑上的摄像头列表。以下是一个示例代码,可以展示摄像头列表并选择进行预览。 HTML JavaScript 实现摄像头列表展示和预览 <!DOCTYPE html> <html lang"zh-CN">…...
小米自研vela系统kvdb数据库的使用(一)
KVDB数据库介绍 KVDB 数据库详细介绍KVDB 的基本原理 KVDB 的应用场景1. 缓存系统2. 配置管理3. 会话存储与用户状态管理4. 实时数据处理5. 日志记录与事件存储6. 分布式存储 KVDB 的作用KVDB 数据库的典型实现1. LevelDB2. RocksDB3. LMDB (Lightning Memory-Mapped Database)…...
Python 中的 `iter` 函数
因为在jax的代码接触了这个函数,不是很熟悉,每次看见名字只知道是迭代但是不知道是怎么迭代,因此写下以下笔记提醒自己。 def iter(source, sentinelNone): # known special case of iter"""iter(iterable) -> iteratorit…...
【AIGC】电话录音转文字实践:基于Google Cloud Speech-to-Text-v1的技术方案Python
引言 在当今数字化时代,将语音内容转换为文字已经成为一个非常重要的技术需求。无论是客服通话记录、会议纪要,还是电话采访内容,高效准确的语音转文字服务都能大大提升工作效率。本文将详细介绍如何利用Google Cloud Speech-to-Text服务实现…...
《AI赋能自由职业:开启竞争力提升新征程》
在当今数字化时代,AI技术为自由职业者带来了前所未有的机遇,使其能够在激烈的市场竞争中脱颖而出。以下是自由职业者借助AI提升自身竞争力的几种方法。 利用AI优化工作流程,提高效率 自动化任务处理:自由职业者可以借助自动化工具…...
学习vue3的笔记
一、vue和react的对比 1、基础介绍 vue:https://cn.vuejs.org/ vue3是2020年创建的 react:https://react.dev/ react是一个2013年开源的JavaScript库,严格意义上来说不是一个框架 2、diff算法 两个框架采用的都是同级对比策略 两节点对…...
为什么要用ZGC
一、为什么要用 ZGC 问题 我们有个“智慧园区”的项目,我们的下游系统“交叉带”[硬件系统]要求我们服务 60ms内返回结果,并且可用性要达到 99.99%。当时使用的是 G1垃圾回收器,单次 Young GC 40ms,一分钟10次,接口平均响应时间…...
rm误删掉的文件夹/文件如何恢复
Linux环境rm不小心误删掉文件/文件夹如何安全恢复,推荐tool:ext4magic(ext4 or ext3),大家如果遇到误删的,希望可以帮到你。 误删了,最好要保留现场,如果能umout当前分区最好,不要在当前磁盘分…...
uniapp - 小程序实现摄像头拍照 + 水印绘制 + 反转摄像头 + 拍之前显示时间+地点 + 图片上传到阿里云服务器
前言 uniapp,碰到新需求,反转摄像头,需要在打卡的时候对上传图片加上水印,拍照前就显示当前时间日期地点,拍摄后在呈现刚才拍摄的图加上水印,最好还需要将图片上传到阿里云。 声明 水印部分代码是借鉴的…...
南方电网场景中 Agent 的智慧赋能与创新实践(15/30)
一、南方电网的数字化变革浪潮 在当今时代,能源领域正经历着深刻的变革,南方电网作为我国电力供应的重要支柱,面临着诸多挑战与机遇。随着经济的快速发展,用电需求持续攀升,电力负荷峰谷差日益增大,给电网的…...
rk3399增加新分区和计算规则
如果想要添加一个新的分区,例如添加名为"userdata"的分区,大小为,除了预留6G的system文件系统根目录分区(我这里是rootfs分区),剩下的空间全部给userdata。 需要首先确定这个分区的起始地址。这个…...
风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注
风力涡轮机缺陷检测数据集,86.6%准确识别率,11921张图片,支持yolo,PASICAL VOC XML,COCO JSON格式的标注 数据集下载 yolov11: https://download.csdn.net/download/pbymw8iwm/90206849 yolov…...
计算机网络-L2TP VPN基础实验配置
一、概述 上次大概了解了L2TP的基本原理和使用场景,今天来模拟一个小实验,使用Ensp的网卡桥接到本地电脑试下L2TP拨号,今天主要使用标准的L2TP,其实在这个基础上可以加上IPSec进行加密,提高安全性。 网络拓扑 拓扑说明…...
QT集成IntelRealSense双目摄像头2,集成OpenGL
上一篇文章写了如何把IntelRealSense摄像头的SDK集成到QT项目,并成功采集数据,在没有用OpenCV的情况下完成色彩数据,以及深度数据的显示。 具体地址:https://blog.csdn.net/qujia121qu/article/details/144734163 本次主要写如何…...
MySQL数据库——索引结构之B+树
本文先介绍数据结构中树的演化过程,之后介绍为什么MySQL数据库选择了B树作为索引结构。 文章目录 树的演化为什么其他树结构不行?为什么不使用二叉查找树(BST)?为什么不使用平衡二叉树(AVL树)&a…...
基于SpringBoot+Vue的旅游推荐系统
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...
HTML——20 自定义属性
<!DOCTYPE html> <html><head><meta charset"UTF-8"><title>自定义属性</title></head><body><a href"https://ai.m.taobao.com" 自定义属性"属性值">淘宝网</a><a href"h…...
Java Day1回顾简介-----变量命名规则
Java 简介、开发环境配置 菜鸟教程 编译运行 javac HelloWorld.java java HelloWorld Hello World public class HelloWorld {public static void main(String[] args) {System.out.println("Hello World");} }JAVA基础语法 类、对象、方法、实例、变量 对象&a…...
【Rust自学】8.2. Vector + Enum的应用
8.2.0. 本章内容 第八章主要讲的是Rust中常见的集合。Rust中提供了很多集合类型的数据结构,这些集合可以包含很多值。但是第八章所讲的集合与数组和元组有所不同。 第八章中的集合是存储在堆内存上而非栈内存上的,这也意味着这些集合的数据大小无需在编…...
机器算法之逻辑回归(Logistic Regression)详解
一、什么是逻辑回归? 逻辑回归并不是传统意义上的回归分析,而是一种用于处理二分类问题的线性模型。它通过计算样本属于某一类别的概率来进行分类,尽管名字中有“回归”二字,但它实际上是一种分类算法。简单来说,逻辑…...
UE5材质节点VertexNormalWs/PixelNormalWS
VertexNormalWs顶点法线方向,此节点可以做物体上积雪、青苔等效果 PixelNormalWS像素法线方向...
NPM组件包 vant部分版本内嵌挖矿代码
Vant 是一个轻量、可定制的移动端组件库,于 2017 年开源。 目前 Vant 官方提供了 Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护 React 版本和支付宝小程序版本。 Vant 2 版本:https://vant-ui.github.io/vant/v2/#/zh-CN/home V…...
通过 Ansys Electronics Desktop 中的高级仿真优化 IC 设计
半导体行业继续通过日益复杂的集成电路 (IC) 设计突破技术界限。随着工艺节点缩小和电路密度达到前所未有的水平,电磁效应对设备性能和可靠性变得越来越重要。现代 IC 设计面临着来自复杂的布局相关耦合机制、信号完整性问题和功率分布问题的挑战,这些问…...
【Android】application@label 属性属性冲突报错
错误记录 What went wrong: Execution failed for task :app:processDebugMainManifest. > Manifest merger failed : Attribute applicationlabel value(string/app_name) from AndroidManifest.xml:8:9-41is also present at [:abslibrary] AndroidManifest.xml:25:9-47 v…...
如何恢复永久删除的PPT文件?查看数据恢复教程!
可以恢复永久删除的PPT文件吗? Microsoft PowerPoint应用程序是一种应用广泛的演示程序,在人们的日常生活中经常使用。商人、官员、学生等在学习和工作中会使用PowerPoint做报告和演示。PowerPoint在人们的学习和工作生活中占主导地位,每天都…...
露营小程序搭建有哪些步骤?小程序里面可以找个露营搭子
露营不仅仅是走进大自然的旅程,它也成为了一种社交和体验式的活动。随着小程序的普及,露营活动也越来越多地开始在线上开展。通过搭建一个露营小程序,商家不仅可以为用户提供更多的露营选择,还可以帮助他们找到合适的露营搭子。那…...
python小项目:使用多剪贴板自动回复消息
使用多剪贴板自动回复消息 一、效果展示二、实现步骤2.1 编写python脚本2.2 批处理脚本2.3 运行脚本 三、用到知识3.1 sys.argv3.2 pyperclip3.2.1 主要功能3.2.2 跨平台支持3.2.3 安装方法3.2.4 基本用法3.2.5 高级用法3.2.6 注意事项 一、效果展示 说明:在windows…...
http性能测试命令ab
华子目录 使用方法常用选项示例输出解读注意事项 在 Linux系统中, ab( ApacheBench)是一个用于 测试HTTP服务器性能的 工具。它是 Apache HTTP服务器项目的 一部分,专门设计用来模拟 多个用户对 服务器发起 并发请求&am…...
C 实现植物大战僵尸(四)
C 实现植物大战僵尸(四) C 实现植物大战僵尸,完结撒花(还有个音频稍卡顿的性能问题,待有空优化解决)。目前基本的功能模块已经搭建好了,感兴趣的友友可自行尝试编写后续游戏内容 因为 C 站不能…...
GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程20241231
GitHub Fork 和 Clone 的深度指南:操作解析与 Pull Request 完整流程 快速导航 引言Fork 与 Clone 概念对比完整开发流程Pull Request 最佳实践常见问题与解决方案最佳实践建议实战案例 引言 在开发者的协作世界中,GitHub 就像一座桥梁,连…...
hypothesis testing
p 值、t 值、显著水平值的意义 在统计学中,p 值、t 值和显著水平值 ( α (\alpha (α)是常用的概念,用于判断研究数据是否支持某个假设。以下是它们的定义、意义和相互关系。 1. p 值 定义 p 值是指在假设原假设 ( H 0 H_0 H0) 为真的前提下&#x…...
解決當前IP地址僅適用於本地網路
想要解決“當前IP地址僅適用於本地網路”其實並不困難。本篇文章將介紹其發生的原因以及如何解決。 “僅限本地網路”是什麼意思? 當IP地址為“僅限本地網路”時,意味著設備正在使用私人網路內部IP地址,但無法連接到互聯網。如果將本地IP視…...
一个最简单的ios程序(object_c)的编写
前言 如何在苹果系统MacOS创建一个简单的ios(iphone)程序,貌似非常的简单。但是,作为习惯了Windows开发的程序员来说,有时候还觉得有点麻烦,至少开始有点很不习惯。 本博文试着把这个过程展现一下ÿ…...
HTML5实现好看的新年春节元旦网站源码
HTML5实现好看的新年春节元旦网站源码 前言一、设计来源1.1 主界面1.2 新年由来界面1.3 文章详细界面1.4 登录界面1.5 注册界面1.6 新年图册界面1.7 联系我们界面 二、效果和源码2.1 动态效果2.2 源代码 源码下载结束语 HTML5实现好看的新年春节元旦网站源码,春节新…...
NLP模型工程化部署
文章目录 一、理论-微服务、测试与GPU1)微服务架构2)代码测试3)GPU使用 二、实践-封装微服务,编写测试用例和脚本,并观察GPU1)微服务封装(RestFul和RPC)①RestFul接口②RPC接口 2)测试编写(unit…...
git时常混淆的操作的笔记
git时常混淆的操作的笔记 写在前面git rebase与merge的不同git am 与git apply的不同删除远端分支 写在前面 离开OS公司后,git的使用不再那么频繁。许多指令,时常忘记,这里作一点笔记。 git rebase与merge的不同 首先,这二者的…...
大模型WebUI:Gradio全解系列8——Additional Features:补充特性(上)
大模型WebUI:Gradio全解系列8——Additional Features:补充特性(上) 前言本篇摘要8. Additional Features:补充特性8.1 队列8.1.1 使用方法8.1.2 配置队列演示 8.2 输入输出流8.2.1 输出流1. 生成器yield2. 流媒体 8.2…...
vue3 Suspense组件
当等待数据的时间比开发人员希望的时间要长时在Vue3中无须自定义代码即可实现 只需要通过Suspense组件管理这一过程。 该组件除了可以给定默认加载数据后的渲染视图,还可以设置加载数据时的应急视图。 例如,在数据加载过程中,会先显示fall…...
Linux 内核调试
系列文章目录 Linux内核学习 QEMU 虚拟机 Linux 调试视频 近阶段补充知识 文章目录 系列文章目录一、WSL二、QEMU1、安装2、退出 三、构建根文件系统1、下载 BusyBox2、编译3、构建文件目录:Makefileinit 四、内核编译1、下载2、构建 五、调试1、GDB 命令调试2、VSC…...
【华为OD-E卷 - 机房布局 100分(python、java、c++、js、c)】
【华为OD-E卷 - 机房布局 100分(python、java、c、js、c)】 题目 小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。 为了简化题目,假设这个机房…...