Comprehensive Rust(简体中文) 202412之后,你应当配置你的编辑器或 IDE 以开始使用 Rust。大多数编辑器使用了 rust-analyzer。 它为 VS Code、Emacs、Vim/Neovim 及其他许多编辑器提供了自动补全及定义跳转的功能。同样也可 以使用 RustRover IDE。 • 在 Debian/Ubuntu 上,你也可以通过 apt 安装 Cargo、Rust 源代码和 Rust 格式化工具。但是, 这样会得到一个过时的 本的 Rust,rustup 会根 据需要让你在这些版本之间切换。 关键点: • Rust 有一个快速发布时间表,每六周就会发布一次新版本。新版本保持与旧版本的向后兼容性,并 添加新功能。 17 • 共有三个发布阶段:“稳定版(stable)”、 “测试版(beta)”和“夜间版(nightly)”。 • 新功能会先在“夜间版”上测试, “测试版”会每六周转为“稳定版”。 • 依赖关系也可以通过其他 直接使用编译器的情况相当少见(大多数用户从不这样做)。 – 值得一提的是,Cargo 本身就是一个功能强大且全面的工具。它能够实现许多高级功能,包括 但不限于: * 项目/软件包结构 * 工作区 * 开发依赖和运行时依赖管理/缓存 * 构建脚本 * 全局安装 * 它还可以使用子命令插件(例如 cargo clippy)进行扩展。 – 详情请参阅 官方 Cargo Book 2.2 本培训中的代码示例 在本培训中,我们将主要通过示例探索0 码力 | 359 页 | 1.33 MB | 11 月前3
Rust 程序设计语言 简体中文版 1.85.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 12.4. 采用测试驱动开发完善库的功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 14.5. Cargo 自定义扩展命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 16.4. 使用 Sync 与 Send Traits 的可扩展并发 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373 17. Async0 码力 | 562 页 | 3.23 MB | 1 月前3
Rust 程序设计语言简体中文版............................................................................ 278 12.4. 采用测试驱动开发完善库的功能 ................................................................................ 293 12.5. 处理环境变量 将错误信息输出到标准错误而不是标准输出 ............................................................. 316 13. Rust 中的函数式语言功能:迭代器与闭包 ...................................................................... 318 13.1. 闭包:可以捕获其环境的匿名函数 安装二进制文件 ........................................................................... 368 14.5. Cargo 自定义扩展命令 .............................................................................................. 3690 码力 | 600 页 | 12.99 MB | 1 年前3
Hello 算法 1.1.0 Rust版二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10.3 二分查找边界 . . . . . 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支持与鼓励,让我有机会做这件富有趣味的事。 0.2 如何使用本书 Tip 为了 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长 在阅读本书时,请不要轻易跳过那些没学明白的知识点。欢迎在评论区提出你的问题,我和小伙伴们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇0 码力 | 388 页 | 18.50 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Rust 版二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10.3 二分查找边界 . . . . . 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支持与鼓励,让我有机会做这件富有趣味的事。 0.2 如何使用本书 Tip 为了 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 www.hello‑algo.com 8 0.2.4 在提问讨论中共同成长 在阅读本书时,请不要轻易跳过那些没学明白的知识点。欢迎在评论区提出你的问题,我和小伙伴们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇0 码力 | 387 页 | 18.51 MB | 10 月前3
Hello 算法 1.0.0 Rust版二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218 10.3 二分查找边界 . . . . . 在写作过程中,我阅读了许多关于数据结构与算法的教材和文章。这些作品为本书提供了优秀的范本,确保 了本书内容的准确性与品质。在此感谢所有老师和前辈的杰出贡献! 本书倡导手脑并用的学习方式,在这一点上我深受《动手学深度学习》的启发。在此向各位读者强烈推荐这 本优秀的著作。 衷心感谢我的父母,正是你们一直以来的支持与鼓励,让我有机会做这件富有趣味的事。 0.2 如何使用本书 � 为了获得最佳的阅读体验,建议你通读本节内容。 获得更好的阅览体验。 图 0‑6 Python 代码的可视化运行 第 0 章 前言 hello‑algo.com 8 0.2.4 在提问讨论中共同成长 在阅读本书时,请不要轻易跳过那些没学明白的知识点。欢迎在评论区提出你的问题,我和小伙伴们将竭诚 为你解答,一般情况下可在两天内回复。 如图 0‑7 所示,网页版每个章节的底部都配有评论区。希望你能多关注评论区的内容。一方面,你可以了解 大家遇0 码力 | 383 页 | 17.61 MB | 1 年前3
Rust在物理引擎研发中的应用 崔汉青AI生成 数据驱动 AI加速 云原生架构和 AI 能力 架构特点 性能特点 功能特点 云原生架构 单机架构 动作物理分离 跨平台确定性 动作物理统一 算力动态调配 分布式计算 物理材质统一解算 算法优化 物理材质单独解算 工程优化 性能待优化 AI仿真加速 前沿动作功能 缺乏动作功能 AI动作生成 优秀的易用性和适配性 缺乏AI能力 保证每个目标平台的极致性能 果完全一致 具备分布式能力 – 通过横向扩展突破单 机物理算力的上限 Motphys 物理引擎的设计目标 Rust 的性能和 C/C++ 比肩,支持 SIMD 优 化,满足苛求性能的引擎研发需求; Rust 的零开销抽象甩掉了复杂设计的性能包袱 # 高性能 Rust 在不损耗性能的情况下,其优秀的语 法设计保证了语言的强大表达力:用更少 的代码写更多的功能 # 高表达力 # 安全 Rust 代码质量高,使用简单,但是没有 AoSoA类型,跨端确定性难以保证 nalgebra 过于复杂,大量的泛型导致使用 不便,代码质量一般 其余开源 crates 完成度不高 Rust 开源数学库的痛点 写好数学库并不容易 • 充分利用目标平台指令集 – 大量的针对目标平台的SIMD优化 • 数学计算本质上是类似的 – 大量的相似代码 • Portable SIMD unstable •0 码力 | 22 页 | 1.18 MB | 1 年前3
新一代分布式高性能图数据库的构建 - 沈游人生活中无处不在的图 图分析技术分类 图查询 • 使用图数据库的查询语言进行点边搜索 图算法 • 中心性算法 • 社区算法 • 路径算法 • … 图深度学习 • 图嵌入 • 图卷积 • 图注意力网络 • 图自编码器 图查询及其应用场景 图查询 • 使用图数据库的查询语言进行点边的关联查询,可以快速完成传统数据库难以完成的 多度点边关 联 当前图的典型应用场景 路径识别 群体挖掘 节点识别 业务对大图分析的诉求(千亿点、万亿边) • 实时风控对图库的性能挑战( OLTP 毫秒级响应) • 海致图平台产品服务于金融、政府行业有大量业务经验积累(接近客户需求) • 现有开源产品无法满足要求(受限于基础架构设计,优化性能有限) 新一代分布式图数据库需具备的特性 特性 信 雅 达 • 高可用 • 一致性(事 务) • 高性能 • 低资源消耗 • 易用 • 功能丰富 AtlasGraph 效利用硬件资源,高可用,高 可靠,故障自愈,低成本运维 HTAP Hybrid Transactional/Analytical Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支0 码力 | 38 页 | 24.68 MB | 1 年前3
简谈 Rust 与国密 TLS - 王江桐com/article/95.html 国密套件总览 List of Shangmi Cryptography Rust China Conf 2022 – 2023, Shanghai, China 算法 算法标准 功能 类型 安全位数 (bit) 对应算法 是否公开 应用 Sm1 / 分组加解密 对称加 密 128 AES128 否,仅以 IP 核的形 式存在于芯片中 智能 IC 卡、智能密码钥匙、加 SM2 Rust China Conf 2022 – 2023, Shanghai, China • SM2 为椭圆曲线(ECC)公钥加密算法,非对称加密,提 供加解密、数字签名、证书生成、密钥交换功能。由于以上 用例,也常用于区块链或网络安全密码协议,如SSL/TLS、 VPN。 • 保证数据机密性、真实性和完整性。 • SM2 算法和 RSA 算法都是公钥加密算法,SM2 算法是一 种更先 MD5/SHA-1/SHA-2 等国际 算法,是在 SHA-256 基础上改进实现的一种算法,消息分组长度为 512 位,摘要值长度为 256 位,其中使用了异或、模、模加、移位、与、或、非运算,由填充、迭代过程、消息扩展和压缩 函数所构成。 • 保证信息的完整性。 • 在商用密码体系中,SM3 主要用于数字签名及验证、消息认证码生成及验证、随机数生成、密钥 扩充等。据国家密码管理局表示,其安全性及效率要高于 MD50 码力 | 44 页 | 3.70 MB | 1 年前3
Rust 语言学习笔记的模块支持层级结构,但这种层级结构本身与文件系统目录的层级结构 是解耦的。 因为 Rust 本身可用于操作系统的开发。 开发者需要自己去定义路径,定义 mod 的层级关系,配合 rust 的默认约定。这 点和 java,go 开发完全不同,在面向 vm 的语言中这些都不需要考虑。 2.Rust 的包管理系统中使用了大量的默认约定,很容易使人头昏脑乱。 而在开发中我们又必须建立模块层级系统,rust 对于 go 而言,不需要对这些东西进行了解,只需要下载包安装到环境变量中即 可。 而 rust 的开发中经常会遇到配置不同的 toolchain 等需求,因此官方开发了 rustup。rustup 功能如下: 1.管理安装多个官方版本的 Rust 二进制程序。 2.配置基于目录的 Rust 工具链。 3.安装和更新来自 Rust 的发布通道: nightly, beta 和 stable。 中条件判断必须是 bool 类型,不能写出 if 5 这种判断条件。 2.2.2 match 语句 Rust 中没有类似于 C 的 switch 关键字,但它有用于模式匹配的 match, 能实现同样的功能,并且强大太多。 match 的使用非常简单,举例如下: let x = 5; match x { 1 => { println!("one") }0 码力 | 117 页 | 2.24 MB | 1 年前3
共 36 条
- 1
- 2
- 3
- 4













