Rust 程序设计语言简体中文版## Rust 程序设计语言 简体中文版 ## 目录 Rust 程序设计语言 ..... 5 前言 ..... 6 简介 ..... 7 1. 入门指南 ..... 11 1.1. 安装 ..... 12 1.2. Hello, World! ..... 15 1.3. Hello, Cargo! ..... 19 2. 写个猜数字游戏 ..... 23 3. 常见编程概念 采用测试驱动开发完善库的功能 ..... 293 12.5. 处理环境变量 ..... 304 12.6. 将错误信息输出到标准错误而不是标准输出 ..... 316 13. Rust 中的函数式语言功能:迭代器与闭包 ..... 318 13.1. 闭包:可以捕获其环境的匿名函数 ..... 319 13.2. 使用迭代器处理元素序列 ..... 329 13.3. 改进之前的 I/O Traits 的可扩展并发 ..... 433 17. Rust 的面向对象编程特性 ..... 435 17.1. 面向对象语言的特点 ..... 436 17.2. 顾及不同类型值的 trait 对象 ..... 440 17.3. 面向对象设计模式的实现 ..... 446 18. 模式与模式匹配 ..... 462 18.1. 所有可能会用到模式的位置 ..... 4630 码力 | 600 页 | 12.99 MB | 2 年前3
PHP 语言程序设计 实验指导书(v1)杨亮 《PHP语⾔程序设计》天津商业大学信息工程学院 # PHP 语言程序设计 实验指导书(v1) 杨亮 2015年3月1日 ## 目录 实验 1:HTML 的基本使用 ..... 2 实验 2:CSS 与 JavaScript 的基本使用 ..... 3 实验 3:PHP 变量、控制结构与函数 ..... 4 实验 4:表单与 PHP 输入输出 ..... 5 实验 5:命令行下使用 MySQL0 码力 | 10 页 | 269.02 KB | 2 年前3
Rust 程序设计语言 简体中文版 1.85.0Rust 程序设计语言 简体中文版 Rust 程序设计语言 简体中文版 目录 Rust 程序设计语言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 2/562 Rust 程序设计语言 简体中文版 11. 编写自动化测试 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 将错误信息输出到标准错误而不是标准输出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 13. 函数式语言特性:迭代器与闭包 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .0 码力 | 562 页 | 3.23 MB | 8 月前3
Curve设计要点02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 背景 • 多个存储软件:SDFS、NEFS、NBS • 已有的开源软件:Ceph • 不能胜任性能、延迟敏感的场景 • 异常场景抖动较大(比如慢盘场景) 去中心节点设计在集群不均衡的情况下需要人工运维 去中心节点设计在集群不均衡的情况下需要人工运维 • 基于通用分布式存储构建上层存储服务 01 背景 为何从0到1开发Curve 02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 基本架构 ## • 元数据节点 MDS 管理元数据信息 收集集群状态信息,自动调度 [Image](/uploads/documents/0/9/e/3/09e38610ff888e0fd1b2626578fba41c/p20_3.jpg) 01 背景 为何从0到1开发Curve 02 总体设计 基本架构 | 数据组织形式 | 拓扑 | IO流程 03 系统特性 高性能 | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ##0 码力 | 35 页 | 2.03 MB | 1 年前3
Node 的设计错误## Node 的设计错误 Ryan Dahl JS Conf 柏林 2018.06 ## 背景: 1. 基于最初的开发,我创建了并管理 Node。 2. 我的主要关注目标是事件驱动的 HTTP server。 3. 这一主要目标对当时服务器端的 JavaScript 起着关键作用。即使在当时这一点不那么明显,但是服务器端 JS 的成功需要事件循环的助力。 ## 背景: 2012 年我离开 但我错了...因为还有许多问题仍待解决..... ## 使得 Node 保持增长的几项关键工作 1. NPM(Isaac 开发)将核心 Node 库解耦并允许生态系统的分布。 2. N-API 是设计精美的绑定API。 3. Ben Noordhuis 和 Bert Belder 构建了 libuv。 4. Mikeal Rogers 组织了管理活动和社区。 5. Fedor Indutny Trott, Michael Dawson, James Snell 六个月前,我才再次开始使用 Node。 在这期间,我关注的目标发生了变化。 动态语言是科学计算的正确工具,通常你会用它进行快速的一次性计算。 而 JavaScript 就是最好的动态语言。 但是相反,现在我将会抱怨 Node 的所有缺点。 当你是某个项目的负责人时,你总是很难发现其中的错误。 有时 Node 对我来说就像是板上钉钉的事。0 码力 | 28 页 | 767.84 KB | 2 年前3
CurveFS方案设计CurveFS方案设计(总体设计,只实现了部分) |时间|修订人|修订内容| |---|---|---| |2021-03-23|李小翠|初稿(背景,调研,架构设计)| |2021-03-30|李小翠|增加快照部分| |2021-04-13|李小翠、陈威|补充元数据数据结构| |2021-04-19|李小翠、吴汉卿、许超杰等|补充文件空间分配,讨论与确认| 背景 • 调研 • 开源fs • • 性能对比 • 可行性分析 方案对比 • 对比结论 • 架构设计 卷和文件系统 元数据架构 文件系统快照 • 方案一:文件/目录级别快照 • 方案二:文件系统快照 • 关键点 - 元数据设计 - 数据结构 - 索引设计 - 文件空间管理 - 开发计划及安排 ## 背景 为更好的支持云原生的场景,Curve需要支持高性能通用文 ephfs,理论上分析这个结果是合理的,分布式的元数据设计会涉及到多次rpc的交互。这里需要确认的一点是:我们需要怎样的元数据节点的性能? ## 可行性分析 ## 方案对比 根据上述调研和测试结果,我们考虑了三种curvefs的元数据设计方案: ### 1. CurveFS kv方案设计 curve实现块设备时,元数据不是扁平化的设计,而是采用有目录层级的 namespace 方式,namespace0 码力 | 14 页 | 619.32 KB | 1 年前3
CurveFS Client 概要设计CurveFS Client 概要设计(已实现) 背景 - 概述 - 关键接口分析 - init - destroy - lookup - write - read • open • create & mknod • mkdir • forget • unlink • rmdir • opendir • readdir - 其他 功能分析 · 模块划分 · 接口设计 · Cache设计 |时间|作者|内容| |---|---|---| |2021-04-27|许超杰|初稿| |||| |||| |||| ## 背景 CurveFS初步设计见 CurveFS方案设计(总体设计,只实现了部分),目前需细化Client端设计 ## 概述 CurveFS client 向上提供两层接口,分别是 (fuse req t req, fuse ino t ino, fuse ino t newparent, const char *newname); - 这个涉及到下文中“重要问题讨论”,目前暂时无法设计 硬链接相关目前可先不实现。 ## flush & fsync ■ 缓存的问题暂时先不考虑太细,目前默认数据和元数据直接存储到底层,这两个也可先不实现 ## 其他 ■ xattr系列0 码力 | 11 页 | 487.92 KB | 1 年前3
MoonBit月兔编程语言 现代编程思想 第一课 课程介绍与程序设计## 01 课程介绍与程序设计 ▶ Zihang Ye, Hongbo Zhang, DII课程组 ## 01 ## 致谢 本课程参考宾夕法尼亚大学CIS1200课程设计 ## 什么是现代编程思想课 · 这是一门程序设计课 ○ 课程受众:所有编程爱好者 • 实用技巧 ◦ 编写较大型程序(~10,000行) ☐ 独立分析解决问题 ☐ 测试驱动开发与设计 ## • 概念基础 ☐ 多种编程范式 ☐ 关注模块化和组合性 ## 课程工具 • MoonBit月兔 ○ 现代静态类型多范式编程语言 语法轻量,易上手 ◦ 浏览器开发环境、云原生开发环境或本地集成开发环境 ## 课程概览 |课程|主题|课程|主题| |---|---|---|---| |1|课程介绍与程序设计|10|接口:集合与表| |2|面向值编程|11|Optional / 结构体 / Unit, Sequencing |9|高阶函数:Transform与Fold|18|案例:自动积分与小游戏| • 所有课程资料均在互联网上公开 - 课程论坛:taolun.moonbitlang.cn ## 程序设计 ## 基础设计流程 ## 设计是将非正式的规范转化为可运行代码的过程 推荐采用由测试驱动的开发流程 ### 1. 理解问题 涉及哪些概念,它们之间存在怎样的联系? 2. 定义接口 程序应当如何与环境互动?0 码力 | 15 页 | 2.01 MB | 2 年前3
Rust 语言学习笔记## Rust 语言学习笔记 感谢 RustPrimer 和 Rust 程序设计语言简体中文版 bradyjoestar@gmail.com ## 目录 序.....7 第一章 包管理系统与版本管理工具.....9 1.1 Crate.....9 1.2 module.....11 1.2.1 module 的可见性.....11 1.2.2 .... 57 5.2.2 依赖的详细配置: ..... 58 5.2.3 自定义编译器配置 ..... 58 5.2.4 feature 段落 ..... 59 第六章 Rust 语言高级特性 ..... 61 6.1 函数式编程 ..... 61 6.1.1 闭包 ..... 61 6.1.2 闭包捕获周围环境的方式 ..... 62 6.1.3 函数指针 .. 88 6.6.3 Borrow, BorrowMut, ToOwned ..... 89 第七章 多线程与线程通信 ..... 91 7.1 线程 ..... 91 7.1.1 不同语言的线程实现 ..... 91 7.1.2 使用 spawn 创建新线程 ..... 92 7.1.3 使用 join 等待所有线程结束 ..... 92 7.1.4 线程与 move 闭包0 码力 | 117 页 | 2.24 MB | 2 年前3
Go语言基础
Golang Fundaments## Go语言基础 Golang Fundaments 中山大学 数据科学与计算学院 潘茂林 panml@mail.sysu.edu.cn ## 大纲 • Golang-设计哲学 • 基础知识学习 • Go语言的入门资源 • 本地项目工作空间组织 • 开始编程 ## Golang-设计哲学 ## 我们需要什么样的语言 曾经 我们对包含大量代码的程序印象深刻。 - 我们努力在代码库中创建大型抽象。 渴望成为质量、效率和简单的冠军。 • 有自己的观点。 • 重视反省和自我检讨。 ## Go语言应该是这样的 · 易于阅读代码 - 对遗存软件友好 • 心智模型 • 生产率与性能 • 正确性与性能 • 规则 • 方便代码评审 - 完整性 - 可读性 - 简单性 - 性能 - 微优化 ## Golang-设计哲学 面向数据的设计(Data-Oriented Design) “数据占主导地位。如果 接口和组合设计(Interface And Composition Design) - 接口赋予程序结构。 - 接口鼓励通过组合进行设计。 - 接口使得并强制清晰划分组件职责。 - 接口的标准化可以建立清晰和一致的期望。 • 面向包的设计(Package-Oriented Design) • 并发软件设计(Concurrent Software Design) • 管道设计(Channel0 码力 | 21 页 | 851.30 KB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













