基于 Rust 语言编写的可编程的全球分布式 MQTT 服务器 王文庭0 码力 | 31 页 | 3.95 MB | 1 年前3
Rust HTTP 协议栈在终端通信场景的实践 - 胡凯China HTTP 协议介绍 HTTP 协议主要具有以下特点: ✓ 支持客户/服务器模式。 ✓ 简单快速:客户向服务器请求服务时,只需传送 请求方法、路径和请求头。HTTP 协议简单、HTTP 服务器的程序规模小,因而通信速度很快。 ✓ 灵活:HTTP 支持传输任意类型的数据对象。 ✓ 无连接:HTTP 限制每次连接只处理一个请求,节 省传输时间。(在 HTTP/1.1 之后变更) ✓ 无状态:HTTP Status HTTP/1.1 • 连接可以复用 • 管线化技术 • 支持响应分块 • 引入额外的缓存 控制机制 • 引入内容协商机 制 • 报文基本格式不 再变化 HTTP/2 • 二进制协议 • 支持多路复用 • 支持响应分块 • 支持标头压缩 • 支持服务端推送 • 报文基本格式不 再变化 HTTP/3 • 基于 UDP 连接 • 报文基本格式不 再变化 Rust Conf 2022 – 2023, Shanghai, China Rust 与 HTTP 协议 Rust 对于 HTTP 协议有良好支持: HTTP 协议是以 TCP\TLS\UDP 等各种连接为基础的,非常依赖于高性能的 IO 操作。 利用 Rust 异步实现 HTTP 协议和各种应用程序能得到十分可观的性能提升,并且能降低用户编码的难度。 Rust China Conf 2022 –0 码力 | 26 页 | 1.25 MB | 1 年前3
Comprehensive Rust(简体中文) 20241234.1.3 服务实现 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 34.1.4 AIDL 服务器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 34.1.5 部署 . . . . . . . . . . x86、ARM、WebAssembly...... – Linux、Mac、Windows...... • Rust 被广泛用于各种设备中: – 固件和引导程序, – 智能显示器, – 手机, – 桌面, – 服务器。 Rust 和 C++ 适用于类似的场景: • 极高的灵活性。 • 高度的控制能力。 • 能够在资源匮乏的设备(如手机)上运行。 • 没有运行时和垃圾收集。 • 关注程序可靠性和安全性,而不会牺牲任何性能。 duplicate(foo); println!("{pair:?}"); } • 请尝试创建一个 NonClonable 对象,并将其传递给 duplicate 函数。 • 当需要多个 trait 时,请使用 + 将它们连接起来。 • 显示 where 子句,学员在阅读代码时会看到它。 fn duplicate(a: T) -> (T, T) where T: Clone, { 76 (a.clone() 0 码力 | 359 页 | 1.33 MB | 11 月前3
2021信创“大比武”鲲鹏基础软件开发赛道
基于Rust语言的openGauss驱动sha256 的鉴权方式连接 openGuass 数据库 × 使用 rust 语言已有的 sha256 方式 × 使用 rust 语言已有的 RFC5802 三方包 √ 参考已有的基于 JAVA 语言实现的 openGauss sha256 鉴权代码,使用 rust 语言重新实现 5 方案介绍 - 认证流程 startup 会首先建立连接,同时会发送认证协议的版本; 服务器会响应具体的认证方式以及该认证方式所需的信息; 服务器会响应具体的认证方式以及该认证方式所需的信息; 客户端根据要求的认证方式通过认证后,就可以向服务器端发送各种数据库命令 6 方案介绍 - 认证流程 7 方案介绍 - SHA256认证 SHA256 认证是 openGuass 在 postgres 支持的认证方法之上,额外提供的一种更安全的认证方式。 其认证流程遵循 RFC5802 标准 8 方案介绍 - 代码 postgres-protocol/src/message/backend client.simple_query("INSERT INTO foo(id) values(1)").unwrap(); 12 遇到的问题 • 版本问题 • 鉴权方式始终是MD5的问题 • 测试服务器 13 团队简介 纪凤楠 十一年研发工作经验。工作中主要是使用 JAVA 语言。 目前就职于中软国际,任职架构师。虽然是从事技术工作,但个人认为技术要为业务服务,因此也非常重视对业务的理 解,力图为业务量身打造最合适的技术实现。0 码力 | 14 页 | 566.24 KB | 1 年前3
Rust 程序设计语言 简体中文版 1.85.0对低风险的操作,因为编译器会替你找到经典的错误。同时你可以自信地采取更加激进的优 化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。它表达力强、写起来舒适,让人能够轻松地编写出命令行 应用、网络服务器等各种类型的代码——在本书中就有这两者的简单示例。使用 Rust 能让你 把在一个领域中学习的技能延伸到另一个领域:你可以通过编写网页应用来学习 Rust,接着 将同样的技能应用到你的 Raspberry Rust 支持。你总是可以在 Rust 官网的工具页面 找到很多相对流行的编辑器和 IDE 列表。 离线使用本书 在一些示例中,我们将会使用标准库之外的 Rust 包。要运行这些示例,你需要保持网络连接, 或者事先下载好这些依赖。要提前下载依赖,可以运行以下命令。(我们稍后会详细解释 cargo 是什么,以及这些命令分别的作用。) $ cargo new get-dependencies $ cd eat_at_restaurant() { hosting::add_to_waitlist(); } 示例 7-11: 使用 use 将模块引入作用域 在作用域中增加 use 和路径类似于在文件系统中创建软连接(符号连接,symbolic link)。通 过在 crate 根增加 use crate::front_of_house::hosting,现在 hosting 在作用域中就是有效 的名称了,如同 hosting0 码力 | 562 页 | 3.23 MB | 1 月前3
运⾏在浏览器中的 P2P ⽹络 - 李敏成运⾏在浏览器中的 P2P ⽹络 李敏成 from RingsNetwork Montivation 连接所有钱包持有者 去中⼼化的 Pure P2P ⽹络 The Idea 最好的节点载体是浏览器 ⽤户群体 钱包插件 运⾏环境 How to P2P Did: Wallet Address E2E secure(sign/encryption): Wallet Discovery Connect through WebRTC Route by Chord DHT Rings-node browser extension Rings-node daemon 浏览器节点 服务器节点 Node communication Node A Node B Create Offer ConnectNodeSend ConnectNodeReport Pending Transport0 码力 | 23 页 | 1.74 MB | 1 年前3
Rust 程序设计语言简体中文版Rust。过程中可能会提 示你输入密码。如果安装成功,将会出现如下内容: Rust is installed now. Great! 另外,你还需要一个 链接器(linker),这是 Rust 用来将其编译的输出连接到一个文件中的 程序。很可能你已经有一个了。如果你遇到了链接器错误,请尝试安装一个 C 编译器,它通常 包括一个链接器。C 编译器也很有用,因为一些常见的 Rust 包依赖于 C 代码,因此需要安装 eat_at_restaurant() { hosting::add_to_waitlist(); } 示例 7-11: 使用 use 将模块引入作用域 在作用域中增加 use 和路径类似于在文件系统中创建软连接(符号连接,symbolic link)。通 过在 crate 根增加 use crate::front_of_house::hosting ,现在 hosting 在作用域中就是有 效的名称了,如同 hosting 对于智能指针模式来说第二个重要的 trait 是 Drop ,其允许我们在值要离开作用域时执行一些 代码。可以为任何类型提供 Drop trait 的实现,同时所指定的代码被用于释放类似于文件或网 络连接的资源。 我们在智能指针上下文中讨论 Drop 是因为其功能几乎总是用于实现智能指针。例如,当 Box被丢弃时会释放 box 指向的堆空间。 在其他一些语言中的某些类型,我们不得不 0 码力 | 600 页 | 12.99 MB | 1 年前3
⽤ egg 孵化你的 SQL 优化器 - 王润基Filter Join A Join B C Join C Join A B Join Hash Join Sort-merge Join Nested Loop Join 连接重排序 连接算法选择 TopN A Order TopN A Limit 查询优化 定义计划节点 定义重写规则 ⽤纯 Rust 编写的第⼀代优化器 Visitor 模式 ⽤纯 Rust Reordering Equal Join Equal Join ① + pushdown ① ② ② ③ ③ cost=N^3 cost=N^2+N^2 定义规则:连接重排序 / 等值连接 Row Analysis 估计⾏数 • Expr:Selectivity 0-1 • Plan:Rows CostFunction 估计代价 • Expr:每⾏计算开销0 码力 | 39 页 | 6.48 MB | 1 年前3
Rust 在算法交易中的实际应用与积极效应行情服务 总控模块 预测模型 策略模块 数据总线 智 能 特 征 工 程 去量纲:标准化、归一化 缺失值处理:样条插值 降维:PCA A I 信 号 生 成 LSTM 神经网络 BP 全连接网络 XGBoost 集成学习模型 定制早停函数 原 始 高 频 数 据 实时超高频数据 结构化多档行情 全行业指数 概念指数 龙头 lead 股票 互联网新闻 外 部 交 互 交易所引擎 行情服务 总控模块 预测模型 策略模块 数据总线 智 能 特 征 工 程 去量纲:标准化、归一化 缺失值处理:样条插值 降维:PCA A I 信 号 生 成 LSTM 神经网络 BP 全连接网络 XGBoost 集成学习模型 定制早停函数 原 始 高 频 数 据 实时超高频数据 结构化多档行情 全行业指数 概念指数 龙头 lead 股票 互联网新闻 外 部 交 互 交易所引擎 行情服务 总控模块 预测模型 策略模块 数据总线 智 能 特 征 工 程 去量纲:标准化、归一化 缺失值处理:样条插值 降维:PCA A I 信 号 生 成 LSTM 神经网络 BP 全连接网络 XGBoost 集成学习模型 定制早停函数 原 始 高 频 数 据 实时超高频数据 结构化多档行情 全行业指数 概念指数 龙头 lead 股票 互联网新闻 外 部 交 互 交易所引擎0 码力 | 18 页 | 3.49 MB | 1 年前3
Hello 算法 1.1.0 Rust版1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际 构是计算机中组织和存储数据的 方式。 ‧ 数据结构与算法紧密相连。数据结构是算法的基石,而算法是数据结构发挥作用的舞台。 ‧ 我们可以将数据结构与算法类比为拼装积木,积木代表数据,积木的形状和连接方式等代表数据结构, 拼装积木的步骤则对应算法。 17 第 2 章 复杂度分析 Abstract 复杂度分析犹如浩瀚的算法宇宙中的时空向导。 它带领我们在时间与空间这两个维度上深入探索,寻找更优雅的解决方案。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。0 码力 | 388 页 | 18.50 MB | 1 年前3
共 19 条
- 1
- 2













