Rust 程序设计语言 简体中文版 1.85.0
. . . . . . . . . . 170 9.1. 用 panic! 处理不可恢复的错误 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 9.2. 用 Result 处理可恢复的错误 . . . . . . . . 表达式和 if let 控 制流结构。在 Rust 中,创建自定义类型需要用到结构体和枚举。 第七章介绍 Rust 的模块(module)系统,其中的私有性规则用来组织代码和公开的 API(应 用程序接口)。第八章讨论标准库提供的常见集合数据结构,例如 Vector(向量)、字符串和 Hash Map(散列表)。第九章探索 Rust 的错误处理的理念与技术。 第十章深入介绍泛型(generic)、Trait 输入到终端的行都以 $ 开头。你不需要输入 $ 字符;这里显示的 $ 字符表示命令行提示符,仅用于提示每 行命令的起点。不以 $ 起始的行通常展示前一个命令的输出。另外,PowerShell 专 用的示例会采用 > 而不是 $。 在 Linux 或 macOS 上安装 rustup 如果你使用 Linux 或 macOS,打开终端并输入如下命令: $ curl --proto '=https'0 码力 | 562 页 | 3.23 MB | 9 天前3CurveFS rename 接口实现方案
自带的分布式事务 Q&A 1. 是否需要实现跨文件系统的 rename 操作? 2. 在多客户端情况下,是否需要加锁来保证其原子性? 3. rename 流程举例说明? 例 1:rename A→B (A 存在,而 B 不存在) 例 2:rename A→C (A 存在,而 C 存在) 4. 当 2 个操作的 dentry 属于同一个 copyset 有什么不一样? 背景 当前 curvefs 接口的实现,主要调研了 chubaofs 和 juicefs,而 rename 的实现难点主要在于其原子性的保证。 方案调研 Chubaofs chubaofs 中的 rename 实现不是原子性的,它是通 用创建源文件的硬连接,然后删除源文件的方式来实现的,主要有以下 4 步 : 将源文件的 nlink 加一 创建目标文件的 dentry 删除源文件的 dentry 将源文件的 nlink 减一 而每一步骤都有可能出错,chubaofs 层已经给我们保障了,不需其他开发, 而如果我们挂载多客户端的话,需要一个分布式锁,可以利用块设备中 open() 的 session 机制来实现文件锁,加锁的粒度可以参考 VFS 3. rename 流程举例说明? 例 1:rename A→B (A 存在,而 B 不存在) 一些假设: 将文件 A 对应的 dentry 称为 dentryA,并假设 dentryA 属于 copyset1 将文件 B 将要创建的0 码力 | 15 页 | 555.93 KB | 5 月前3【周鸿祎清华演讲】DeepSeek给我们带来的创业机会-360周鸿祎-202502
政企、创业者必读 国内DeepSeek最前沿资料 政企、创业者必读 《DeepSeek给我们带来的创业机会》 360集团创始人 周鸿祎 3 政企、创业者必读政企、创业者必读 一张图读懂一堂DeepSeek课政企、创业者必读 AI给了一个比互联网更大的机会 互联网是连接平台,人工智能是生产力 互联网是赋能性技术,生产力属性较弱 人工智能既能单兵作战,也能外部赋能 互联网 AGI是全球少数玩家的游戏,政府、企业、创业者更多创新的机会在应用之路 11政企、创业者必读 把大模型拉下神坛! 走入千家万户、百行千业,才能掀起新工业革命 • 当年IBM做出超级电脑,并没有带来工业 革命,因为只有少数人用 • IBM甚至声称,全世界只用5台电脑就够了 • 真正带来信息革命的是个人电脑走入千家 万户、百行千业 当年的电脑 当今的大模型 • 如果需要十万或百万张卡起玩,就无法 产生工业革命 • 只有把大模型拉下神坛,让大模型走进 速度快、准确性低 GPT、DeepSeek-V3擅长的 思考方式 推理能力获得突破的关键是学会了「慢思考」 例:课堂提问 快问快答 长思维链强大的推理能力是真正人类智力的体现 预训练大模型是人记忆和学习的能力,推理模型是对复杂问题 进行规划、分解、预测的能力,实现了真正的慢思考 28 例:课后作业 仔细思考政企、创业者必读 DeepSeek-R1是AI发展史上的重要里程碑 R1形成了新的AGI定律,加速了AGI发展0 码力 | 76 页 | 5.02 MB | 5 月前3TiDB中文技术文档
聚合函数 其他函数 精度数学 SQL 语句语法 数据定义语句 (DDL) 数据操作语句 (DML) 事务语句 数据库管理语句 Prepared SQL 语句语法 实用工具语句 TiDB SQL 语法图 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制 高级功能 历史数据回溯 垃圾回收 (GC) TiDB 运维文档 多的 TiKV Server 节点解决数据 Scale 的问题。PD 会在 TiKV 节点之间以 Region 为单位做调度,将部分数据迁移到新加的节点上。所以在业务的早期,可以只部署少量的服务实 例(推荐至少部署 3 个 TiKV, 3 个 PD,2 个 TiDB),随着业务量的增长,按照需求添加 TiKV 或者 TiDB 实例。 高可用是 TiDB 的另一大特点,TiDB/TiKV/PD 这三 多的 TiKV Server 节点解决数据 Scale 的问题。PD 会在 TiKV 节点之间以 Region 为单位做调度,将部分数据迁移到新加的节点上。所以在业务的早期,可以只部署少量的服务实 例(推荐至少部署 3 个 TiKV, 3 个 PD,2 个 TiDB),随着业务量的增长,按照需求添加 TiKV 或者 TiDB 实例。 高可用是 TiDB 的另一大特点,TiDB/TiKV/PD 这三0 码力 | 444 页 | 4.89 MB | 5 月前3分布式NewSQL数据库TiDB
如何查看当前版本 ⽬录 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 7/120 119 119 119 119 Q17: 如何查看慢查询 Q18: 监控图看有慢查询, 但是information_schema.cluster_slow_query表中⽆法查询到? Q19: 如何处理 TiCDC 创建同步任务或同步到 MySQL 时遇到 Error 1298: 设置的通知接收⼈。 设置通知⼈:https://console.ucloud.cn/umon/contact TiDB 删除 删除 当您删除实例,系统将⽴即停⽌服务并删除实例,订单将按当前到期时间⽐例退费。 TiDB Serverless 回收 回收 每⼩时⽣成⼀张后付费订单,若您的账⼾可⽤余额充⾜,将⾃动扣费,若您的账⼾可⽤余额不⾜⽀持扣费,将产⽣⽋费订单; 回收与删除 分布式NewSQL数据库 优刻得 61/120 Binlog 同步 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 62/120 Binlog 同步服务默认不开启,点击图⽰开关打开开启窗⼝ 设置Binlog保存周期, 默认为“7”, 保存7天(⽀持范围1〜14天)。 Binlog 同步 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud0 码力 | 120 页 | 7.42 MB | 5 月前3Curve质量监控与运维 - 网易数帆
系统测试; 从测试角度看,测试可以分为常规测试、性能测试、异常测试、稳定性测试、混沌测试,等等 单元测试 1300+用例 行覆盖80%+,分支覆盖70%+ 集成测试 Given When Then 设计方法 500+用例 异常测试 40+自动化用例 混沌测试 20轮自动化随机故障注入 12/33单元测试 单元测试是软件开发的过程中最基本的测试,它用来对一个模块、一个函数或者一个类来进行 常)。 在系统测试过程中,我们尽可能将所有用例自动化,其优点是: 大幅降低了测试回归成本,加快了测试进度; 可以对代码进行足够频繁的测试,有利于提高代码质量; 容易发现隐藏的问题,手工测试无法做到频繁触发 测试用例可以持续积累,成为代码质量的。 目前Curve的 异常测试以及混沌测试 均实现了自动化。 15/33测试用例的编写方法 很多情况下,待测试场景会包含多个变化的参数,每个参数有若干个典 参数有若干个典 型值;如果将用例覆盖所有可能的情况,总用例数将达到不可接受的程 度。因此,需要通过组合测试的方法,尽量用较少的用例数量覆盖绝大 多数情况: 两因素组合测试 通过测试集覆盖任意两个变量的所有取值组合。理论上两因素组合测 试最多可发现95%的缺陷,平均缺陷检出率也达到了86%,在用例数量 和缺陷检测能力上达到了平衡。因此,一般测试用例应该保证两因素组 合的100%覆盖。0 码力 | 33 页 | 2.64 MB | 5 月前3Curve文件系统空间分配方案
client端配合完成。 空间分配 整体设计 分配器包括两层结构: 第一层用bitmap进行表示,每个bit标识其所对应的一块空间(以4MiB为例,具体大小可配置)是否分配出去。 第二层为free extent list,表示每个已分配的块,哪些仍然是空闲的(offset, length),以offset为key进行排序(这里可以用map或者btree对所有的free extent进行管理)。 3. 以下图为例:file1新申请了2MiB的空间。首先从level1中随机选一个标记为0的块分配出去,然后将这一个块中的前2MiB空间分配给这个文件,剩余部分加入到level2中的list中。 后续,file1再次追加写入2MiB数据,此时申请空间时,需要附带上file1最后一个字节数据在底层存储的位置,再加1(期望申请的地址空间起始offset)。以图中为例,则附带的值为30MiB。 配,另一部分用于大文件分配。两部分空间是相对的,一部分用完后,可以申请另 一部分的空间。比如,大文件部分的空间完全分配出去,则可以继续从小文件空间进行分配。 用于小文件空间分配的部分,空闲空间可以用extent来表示。 小文件在空间分配时,也需要考虑尽量分配连续的地址空间。 文件在第一次申请空间时,选择一个能满足要求的extent分配出去。后续的空间申请,同样要带上文件最后一个字节所在的地址空间,用于尽量分配连续的地址空间。0 码力 | 11 页 | 159.17 KB | 5 月前322-云原生的缘起、云原生底座、PaaS 以及 Service Mesh 等之道-高磊
无法满足用户对于业务快速研发、 稳定交付的要求 场景 1 如果生产中一台Web应用服务器故障,恢复这台服务器需要 做哪些事情? 场景 2 如果应用负载升高/降低,如何及时、按需扩展/收缩所 用资源? 场景 3 如果业务系统要升级,如何平滑升级?万一升级失败是 否能够自动回滚?整个过程线上业务持续运行不中断。 传统稳态业务环境难以高效承载敏态应用 发现故障 (假死) 创建 新实例 配置 运行环境 增加环境、网络(端口)和资源管理的复杂性,治理成本高 • 监控粒度难以满足微服务应用运维的需要,线上问题难以排查定位,往往需要研发介入 我们需要一种新型的、为云而生的业务承载平台,去应对上述问题。 微服务应 用 大型 单体 应用 VM/服务器 VM/服务 器 VM/服务 器 VM/服务 器 目 标 支持微服务级别的细粒度资源隔离 支持快速扩缩容 支持热升级,服务更新不影响业务可用性 支持服务的快速地部署、扩展、故障转移 0 1 5 年 P i v o t a l 提 出 云 原 生 概 念 P i v o t a l 、 C N C F 同 时 提 出 云 原 生 是 一 种 充 分 利 用 云 计 算 优 势 构 建 和 运 行 应 用 的 方 式 。 D o c k e r 被 认 为 是 能 够 适 应 于 云 原 生 理 念 的 技 术 , 而 微 服 务 被 认 为 是 适 合 D o c k e r0 码力 | 42 页 | 11.17 MB | 6 月前324-云原生中间件之道-高磊
同时,推动业务快速修复。 安全左移的一种,在上线前发现依赖组件的安全 问题,快速借助供应链资产库,帮助业务修复问 题。 需要进行大量的安全特征以及资产库的建设或者 三方集成。(涉及业务能力) RASP(运行时安全应 用程序自我保护) 可以看做是IAST的兄弟,RASP通过程序上下文和敏感函数检查行为方式 来阻止攻击,属于一种主动的态势感知和风险隔离技术手段 可以自动化的对非预计风险进行识别和风险隔离 对系统性能有一定影响 你通过一套系统实现对多种存储服务的需 求。同时 rook 默认部署云原生存储接口 的实现,通过 CSI / Flexvolume 驱动将应 用服务与底层存储进行衔接,其设计之初 即为 Kubernetes 生态所服务,对容器化应 用的适配非常友好。 高级能力-云原生中间件-应用的基石-MQ为例 云原生消息服务是云原生的通信基础设施 消息中间件在云原生的应用场景,主要是为微服务和EDA架构提供核心的解耦、异步和削峰的能力,在云原生体系 协议,同时也在打造自己标准化接口。 总结一下,传统的消息队列将从高SLA、低成本、易用性、多样性和标准化几个方向持续进化为云原生的消息服务。 具体要求 高级能力-云原生中间件-应用的基石-MQ为例-2-Serverless化 Serverless最核心的理念是“按需”,云原生消息Serverless化主要是从两个维度落地按需的概念。一方面根据业务规模 自动化扩缩容实例规格、队列数等逻辑资源;0 码力 | 22 页 | 4.39 MB | 6 月前3微博Service Mesh实践
业务部⻔门调⽤用链 微博Service Mesh实践 - WeiboMesh �5 RPC A WEB A 平台体系 RPC B WEB B Golang 服务 PHP 服务 OR服务 …… RestFul API 业务部⻔门 Motan ➢ 业务部⻔门语⾔言种类繁多 ➢ 微服务体系建设不不完善/重复 ➢ ⽹网络抖动,dns不不稳定 ➢ 4,7层冗⻓长调⽤用链及资源消耗 跨语⾔言服务化⽅方式对⽐比 �11 微博Service Mesh实践 - WeiboMesh Http代理理 RPC模块 Agent代理理 研发成本 低 ⾼高 中 维护成本 低 ⾼高 中 使⽤用成本 低 低 中 治理理功能 中 ⾼高 ⾼高 扩展能⼒力力 低 中 ⾼高Service Mesh Meetup · BeiJing Service Mesh �12 微博Service Mesh实践 BeiJing Weibo Mesh 数据⾯面 �17 微博Service Mesh实践 - WeiboMesh ➢ Cluster(发现集群管理理,group + path) ➢ HA(⾼高可⽤用策略略) ➢ LB(负载均衡) ➢ Endpoint(服务节点的抽象) ➢ Protocol(Motan2/传输协议+Simple/序列列化协议)Service Mesh Meetup · BeiJing0 码力 | 43 页 | 1007.85 KB | 5 月前3
共 58 条
- 1
- 2
- 3
- 4
- 5
- 6