 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建, 使⽤新代码更新正在运⾏的容器, 只需⼏秒钟⽽不是⼏分钟。 本地开发实时部署到远程集群 如何⼯作的? Kubernetes 集群 更改 资源定义 ⻆⾊定义 执⾏资源 资源定义 资源定义 更改 ⽂件 更改 ⽤户 触发 ⽂件 更改 frontend 12h shopping-cart ⽬录时,Amphitheatre 终端软 件会识别 .devcontainer 规范,借助内置的 Syncthing 将变化的代码增量同步到 Amphitheatre 集群内,让你 可实时构建并预览到效果。 为了加速构建,集群内将直接编译并替换掉当前可执 ⾏的进程,⽽⾮全量构建镜像再发到到镜像仓库,然 后再拉取镜像替代旧的 Pod 等⼀系统慢⻓的流程。 Buildpacks How Buildpacks to 20x faster ✨ ⽆需配置环境,⽀持多种编程语⾔和框架 ? 轻松创建⽆限量的隔离集成测试环境 ☁ ⽀持微服务架构体系和多⼈协作联调测试 ⚡ 本地开发实时部署到运程集群 ? 交互式运⾏实例快照,可⼀键分享! ? 可插拔的⽣态应⽤市场,全⽅位提升效率 ? Amphitheatre Cloud 按需付费,开箱即⽤ Amphitheatre https://amphitheatre0 码力 | 34 页 | 10.81 MB | 1 年前3 王宜国 - 基于 Rust 编程语⾔构建 Amphitheatre CLI  Desktop  Server 的全平台实践经验Activity Tariq Share Redis ETCD 可让您完全跳过镜像构建, 使⽤新代码更新正在运⾏的容器, 只需⼏秒钟⽽不是⼏分钟。 本地开发实时部署到远程集群 如何⼯作的? Kubernetes 集群 更改 资源定义 ⻆⾊定义 执⾏资源 资源定义 资源定义 更改 ⽂件 更改 ⽤户 触发 ⽂件 更改 frontend 12h shopping-cart ⽬录时,Amphitheatre 终端软 件会识别 .devcontainer 规范,借助内置的 Syncthing 将变化的代码增量同步到 Amphitheatre 集群内,让你 可实时构建并预览到效果。 为了加速构建,集群内将直接编译并替换掉当前可执 ⾏的进程,⽽⾮全量构建镜像再发到到镜像仓库,然 后再拉取镜像替代旧的 Pod 等⼀系统慢⻓的流程。 Buildpacks How Buildpacks to 20x faster ✨ ⽆需配置环境,⽀持多种编程语⾔和框架 ? 轻松创建⽆限量的隔离集成测试环境 ☁ ⽀持微服务架构体系和多⼈协作联调测试 ⚡ 本地开发实时部署到运程集群 ? 交互式运⾏实例快照,可⼀键分享! ? 可插拔的⽣态应⽤市场,全⽅位提升效率 ? Amphitheatre Cloud 按需付费,开箱即⽤ Amphitheatre https://amphitheatre0 码力 | 34 页 | 10.81 MB | 1 年前3
 基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺Visualization Tool Grafana Web Based Management Tool 21,400+ 4,600+ 18,500+ 社区版开源 2019.07.12 集群版开源 2020.08.03 云原生版开源 2022.08.13 注 : GitHub 为截止 2023 年 5 月数据 TDengine 的 核 心 代 码 全 部 开 源 www.github `location` VARCHAR(24)) TDengine - 业务模式 开源版 企业版 云服务版 核心功能开源 • SQL 支持 • 无模式写入 • 缓存 • 流计算 • 数据订阅 • 集群、高可用 高可靠、线性扩展 + 专业技术服务 • 边云数据复制 • 跨云 / 异地数据复制 • 增量备份 • 多级存储 • 工业数据接入 全托管时序数据 管理云服务平台 • 全托管服务 差 • 大量设备大量数据归集存储,存储压力大 • 数据总线 / 消息队列消息接入,定制化程度要求高 • 数据业务逻辑自定义需求强 • 一定的实时数据分析能力 taosX - 功能路线图 集群运维 数据接入 流式处理 流式处理 数据分享 开放平台 • Backup/Restore • Replication • Migration • Data Sources • IoT Protocols0 码力 | 29 页 | 2.26 MB | 1 年前3 基于 Rust Arrow Flight 的物联网和时序数据传输及转换工具 霍琳贺Visualization Tool Grafana Web Based Management Tool 21,400+ 4,600+ 18,500+ 社区版开源 2019.07.12 集群版开源 2020.08.03 云原生版开源 2022.08.13 注 : GitHub 为截止 2023 年 5 月数据 TDengine 的 核 心 代 码 全 部 开 源 www.github `location` VARCHAR(24)) TDengine - 业务模式 开源版 企业版 云服务版 核心功能开源 • SQL 支持 • 无模式写入 • 缓存 • 流计算 • 数据订阅 • 集群、高可用 高可靠、线性扩展 + 专业技术服务 • 边云数据复制 • 跨云 / 异地数据复制 • 增量备份 • 多级存储 • 工业数据接入 全托管时序数据 管理云服务平台 • 全托管服务 差 • 大量设备大量数据归集存储,存储压力大 • 数据总线 / 消息队列消息接入,定制化程度要求高 • 数据业务逻辑自定义需求强 • 一定的实时数据分析能力 taosX - 功能路线图 集群运维 数据接入 流式处理 流式处理 数据分享 开放平台 • Backup/Restore • Replication • Migration • Data Sources • IoT Protocols0 码力 | 29 页 | 2.26 MB | 1 年前3
 Rust在物理引擎研发中的应用 崔汉青全部用户之间、用户与道具 和场景间均可实时物理交互 横向扩展能力 单个节点的计算复杂度和 网络通信复杂度,不会随 集群总规模的上升而上 升,集群可线性扩容 单机架构 同屏大规模物理量模拟 单机渲染帧率3fps VS Motphys 分布式架构 10倍于上述场景中的物理量 单机渲染帧率 25fps 物理集群帧率 50fps 此时物理模拟已不是算力瓶颈 Unity 测试案例 Thank you! Motphys0 码力 | 22 页 | 1.18 MB | 1 年前3 Rust在物理引擎研发中的应用 崔汉青全部用户之间、用户与道具 和场景间均可实时物理交互 横向扩展能力 单个节点的计算复杂度和 网络通信复杂度,不会随 集群总规模的上升而上 升,集群可线性扩容 单机架构 同屏大规模物理量模拟 单机渲染帧率3fps VS Motphys 分布式架构 10倍于上述场景中的物理量 单机渲染帧率 25fps 物理集群帧率 50fps 此时物理模拟已不是算力瓶颈 Unity 测试案例 Thank you! Motphys0 码力 | 22 页 | 1.18 MB | 1 年前3
 Hello 算法 1.1.0 Rust版初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。 Q:基于数组实现的数据结构也称“静态数据结构”是否有歧义?栈也可以进行出栈和入栈等操作,这些操 作都是“动态”的。 栈确实可以实现动态的数据操作,但数据结构仍然是“静态”(长度不可变)的。尽管基于数组的数据结构可 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建0 码力 | 388 页 | 18.50 MB | 1 年前3 Hello 算法 1.1.0 Rust版初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。 Q:基于数组实现的数据结构也称“静态数据结构”是否有歧义?栈也可以进行出栈和入栈等操作,这些操 作都是“动态”的。 栈确实可以实现动态的数据操作,但数据结构仍然是“静态”(长度不可变)的。尽管基于数组的数据结构可 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建0 码力 | 388 页 | 18.50 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Rust 版14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。 Q:基于数组实现的数据结构也称“静态数据结构”是否有歧义?栈也可以进行出栈和入栈等操作,这些操 作都是“动态”的。 栈确实可以实现动态的数据操作,但数据结构仍然是“静态”(长度不可变)的。尽管基于数组的数据结构可 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 www.hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q0 码力 | 387 页 | 18.51 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Rust 版14 ‧ 空间占用尽量少,以节省计算机内存。 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。 Q:基于数组实现的数据结构也称“静态数据结构”是否有歧义?栈也可以进行出栈和入栈等操作,这些操 作都是“动态”的。 栈确实可以实现动态的数据操作,但数据结构仍然是“静态”(长度不可变)的。尽管基于数组的数据结构可 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 www.hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q0 码力 | 387 页 | 18.51 MB | 10 月前3
 Hello 算法 1.0.0 Rust版初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。 Q:基于数组实现的数据结构也称“静态数据结构”是否有歧义?栈也可以进行出栈和入栈等操作,这些操 作都是“动态”的。 栈确实可以实现动态的数据操作,但数据结构仍然是“静态”(长度不可变)的。尽管基于数组的数据结构可 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建0 码力 | 383 页 | 17.61 MB | 1 年前3 Hello 算法 1.0.0 Rust版初识算法 hello‑algo.com 14 ‧ 数据操作尽可能快速,涵盖数据访问、添加、删除、更新等。 ‧ 提供简洁的数据表示和逻辑信息,以便算法高效运行。 数据结构设计是一个充满权衡的过程。如果想在某方面取得提升,往往需要在另一方面作出妥协。下面举两 个例子。 ‧ 链表相较于数组,在数据添加和删除操作上更加便捷,但牺牲了数据访问速度。 ‧ 图相较于链表,提供了更丰富的逻辑信息,但需要占用更大的内存空间。 UTF‑16 编码的字符串的长度也是 ?(1) 的操作。但是,计算 UTF‑8 编码的字符串的长度需要遍历整个字符串。 ‧ 字符串操作:在 UTF‑16 编码的字符串上,很多字符串操作(如分割、连接、插入、删除等)更容易进行。 在 UTF‑8 编码的字符串上,进行这些操作通常需要额外的计算,以确保不会产生无效的 UTF‑8 编码。 实际上,编程语言的字符编码方案设计是一个很有趣的话题,涉及许多因素。 Q:基于数组实现的数据结构也称“静态数据结构”是否有歧义?栈也可以进行出栈和入栈等操作,这些操 作都是“动态”的。 栈确实可以实现动态的数据操作,但数据结构仍然是“静态”(长度不可变)的。尽管基于数组的数据结构可 以动态地添加或删除元素,但它们的容量是固定的。如果数据量超出了预分配的大小,就需要创建一个新的 第 3 章 数据结构 hello‑algo.com 65 更大的数组,并将旧数组的内容复制到新数组中。 Q:在构建0 码力 | 383 页 | 17.61 MB | 1 年前3
 新一代分布式高性能图数据库的构建 - 沈游人Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支 持存储计算分离 高性能 基于 Rust 开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 Cypher AST 优化器 图计算 内存加速引 擎 服务接口 HTTP/RPC Spark 连接器 Python UDF 执行器 索引管理 一致性存储 RAFT 分片管理 元数据 集群管理 用户权限 GNN 应用层 Atlas 图平台 Atlas Studio Atlas Client 基础 设施 Docker/K8S/VM X86/ARM0 码力 | 38 页 | 24.68 MB | 1 年前3 新一代分布式高性能图数据库的构建 - 沈游人Processing ,高性能图计算引 擎,预置 20 余种图计算算法 ,可扩展的分析引擎支持更复 杂的数据挖掘和机器学习场景 MPP Massively Parallel Processing 架构,大规模集群 分布式存储及并行计 算, Shared Nothing 模式支 持存储计算分离 高性能 基于 Rust 开发的分布式存储引 擎及图计算引擎,精细的内存 管理设计,内置索引系统,支 持毫秒级的并发查询响应速度 Cypher AST 优化器 图计算 内存加速引 擎 服务接口 HTTP/RPC Spark 连接器 Python UDF 执行器 索引管理 一致性存储 RAFT 分片管理 元数据 集群管理 用户权限 GNN 应用层 Atlas 图平台 Atlas Studio Atlas Client 基础 设施 Docker/K8S/VM X86/ARM0 码力 | 38 页 | 24.68 MB | 1 年前3
 刘用涛 CnosDB时序数据库的Rust实践DN2 DN3 DN4 vnode vnode vnode vnode vnode vnode vnode vnode vnode... ...... ...... Time Line Meta集群:schema,tenant信息,分片信息 数据节点:存储 vnode数据 Raft write point replica set ...... bucket bucket replica0 码力 | 26 页 | 3.28 MB | 1 年前3 刘用涛 CnosDB时序数据库的Rust实践DN2 DN3 DN4 vnode vnode vnode vnode vnode vnode vnode vnode vnode... ...... ...... Time Line Meta集群:schema,tenant信息,分片信息 数据节点:存储 vnode数据 Raft write point replica set ...... bucket bucket replica0 码力 | 26 页 | 3.28 MB | 1 年前3
 Rust分布式账务系统 - 胡宇审计监管:交易日志不可篡改,交易历史可回溯 条件事务:根据一定的条件决定事务执行与否 高可用:在部分节点失效的情况下,依旧可以提供正确的 服务 超低延迟:实时交易,超低响应延迟 水平扩展性:利用分布式事务实现钱包集群的的水平扩 展,应对高达 100 万 TPS 的流量 可演化性:业务逻辑与底层 API 解耦,当业务发生改变 时,底层 API 不用改变 分布式账务系统 设计理念 - Rust 是我们可靠的基石0 码力 | 27 页 | 12.60 MB | 1 年前3 Rust分布式账务系统 - 胡宇审计监管:交易日志不可篡改,交易历史可回溯 条件事务:根据一定的条件决定事务执行与否 高可用:在部分节点失效的情况下,依旧可以提供正确的 服务 超低延迟:实时交易,超低响应延迟 水平扩展性:利用分布式事务实现钱包集群的的水平扩 展,应对高达 100 万 TPS 的流量 可演化性:业务逻辑与底层 API 解耦,当业务发生改变 时,底层 API 不用改变 分布式账务系统 设计理念 - Rust 是我们可靠的基石0 码力 | 27 页 | 12.60 MB | 1 年前3
 Rust 程序设计语言简体中文版的定义说明它要返回一个 i32 类型的值,不过语句并不会返回值,使用单位类型 () 表示不返回值。因为不返回值与函数定义相矛盾,从而出现一个错误。在输出中,Rust 提 供了一条信息,可能有助于纠正这个错误:它建议删除分号,这会修复这个错误。 60/600 Rust 程序设计语言 简体中文版 3 . 4 . 注 释 注释 ch03-04-comments.md commit d0acb 绝对路径和相对路径都后跟一个或多个由双冒号(:: )分割的标识符。 回到示例 7-1,假设我们希望调用 add_to_waitlist 函数。还是同样的问题, add_to_waitlist 函数的路径是什么?在示例 7-3 中删除了一些模块和函数。 我们在 crate 根定义了一个新函数 eat_at_restaurant ,并在其中展示调用 add_to_waitlist 函数的两种方法。eat_at_restaurant 根文件中。在这里,crate 根文件是 src/lib.rs,不过这个过 程也适用于 crate 根文件是 src/main.rs 的二进制 crate。 首先将 front_of_house 模块提取到其自己的文件中。删除 front_of_house 模块的大括号中 的代码,只留下 mod front_of_house; 声明,这样 src/lib.rs 会包含如示例 7-21 所示的代码。 注意直到创建示例 7-220 码力 | 600 页 | 12.99 MB | 1 年前3 Rust 程序设计语言简体中文版的定义说明它要返回一个 i32 类型的值,不过语句并不会返回值,使用单位类型 () 表示不返回值。因为不返回值与函数定义相矛盾,从而出现一个错误。在输出中,Rust 提 供了一条信息,可能有助于纠正这个错误:它建议删除分号,这会修复这个错误。 60/600 Rust 程序设计语言 简体中文版 3 . 4 . 注 释 注释 ch03-04-comments.md commit d0acb 绝对路径和相对路径都后跟一个或多个由双冒号(:: )分割的标识符。 回到示例 7-1,假设我们希望调用 add_to_waitlist 函数。还是同样的问题, add_to_waitlist 函数的路径是什么?在示例 7-3 中删除了一些模块和函数。 我们在 crate 根定义了一个新函数 eat_at_restaurant ,并在其中展示调用 add_to_waitlist 函数的两种方法。eat_at_restaurant 根文件中。在这里,crate 根文件是 src/lib.rs,不过这个过 程也适用于 crate 根文件是 src/main.rs 的二进制 crate。 首先将 front_of_house 模块提取到其自己的文件中。删除 front_of_house 模块的大括号中 的代码,只留下 mod front_of_house; 声明,这样 src/lib.rs 会包含如示例 7-21 所示的代码。 注意直到创建示例 7-220 码力 | 600 页 | 12.99 MB | 1 年前3
共 15 条
- 1
- 2













