English
NiQin 分享格言: 我又转念,见日光之下,快跑的未必能赢,力战的未必得胜,智慧的未必得粮食,明哲的未必得资财,灵巧的未必得喜悦。所临到众人的,是在乎当时的机会。 -- <the Bible>
全部 - 最新推荐 最新热门 创建新书籍/文档 我的书籍/updated文档
书籍、文档的所有权利属于作者、编者,以及译者,本站目标仅为便捷阅读。 若有不当之处,请联系 ask@rusthub.org。

Web Rust Web 实践零散 No.633e770a1f92fec312176c4f 热门 推荐

NiQin 更新于 2022-10-06 14:34:50+08:00

浏览数量: 37614

关键词/标签: rust rust-web rust-web-guide rust-web-零散

##### Rust Web 实践零散 目前,仅是个人 Rust Web 开发中的一些记录。 涵盖:Rust Web 生态中的 Tide、actix-web、Yew、async-graphql、surf、handlebars-rust、rhai、jsonwebtoken,以及 mongodb 等。 完整的内容,还在进一步规划和整理之中。 学以聚之,问以辩之。终日乾乾,与时偕行。

编程语言 Cargo 手册 No.6333f9194cf3e9b0651d373b 热门

NiQin 更新于 2022-09-28 15:34:49+08:00

浏览数量: 77298

关键词/标签: rust cargo cargo-book cargo-手册

Cargo 是 [Rust](https://rust-lang.niqin.com/zh-cn) 的[包管理器和构建系统](https://cargo-book.niqin.com/zh-cn/appendix/glossary.html#package-manager '"package manager" (glossary entry)')。Cargo 会下载你的 Rust [包](https://cargo-book.niqin.com/zh-cn/appendix/glossary.html#package '"package" (glossary entry)')依赖项,编译您的包,生成可分发的包,并将它们上传到 [crates.io](https://crates.io/) - Rust 社区的 *[包注册表](https://cargo-book.niqin.com/zh-cn/appendix/glossary.html#package-registry '"package registry" (glossary entry)')*。 Cargo 手册是使用 Cargo 全面指南教程,Cargo 是 Rust 的包管理器,通过本手册全面了解如何构建 Rust 程序和大型项目。

编程语言 Rust Cookbook 中文版 No.6332e3874cf3e9b0651d3723 热门 推荐

NiQin 更新于 2022-09-27 19:50:31+08:00

浏览数量: 51375

关键词/标签: rust rust-cookbook rust-code-examples rust-示例

《Rust Cookbook 中文版》: - * 是 Rust 程序设计语言([Rust 官方教程简体中文版](https://rust-lang.niqin.com/zh-cn))的简要实例示例集合; * 展示了在 Rust 生态系统中,使用各类 crate 来完成常见编程任务的良好实践。 了解更多关于《Rust Cookbook 中文版》一书的信息,请阅读[关于本书](https://rust-cookbook.niqin.com/zh-cn/about.html),包括:如何阅读本书的提示、如何使用实例示例,以及关于注释的约定。

Web Tide 中文文档 No.62e28db6bfb6201b26c9d42a 热门

NiQin 更新于 2022-07-28 21:23:02+08:00

浏览数量: 33084

关键词/标签: rust rust-web tide web-framework

Tide 是小型而实用的 Rust web 应用程序框架,为快速开发而构建。它提供了一组健壮的特性,使得构建异步 web 应用程序和 API 更加容易、更为有趣。 Tide 指导手册正在编写中,会随着实践的推移逐步完善。 本书中所有的实例请参阅 [Tide 实例项目](https://github.com/http-rs/tide-book/tree/main/examples)。 > 💥 Tide 在\*\*生产环境的实践“脚手架”\*\*项目,请参阅 **[surfer](https://github.com/zzy/surfer)**[(github 仓库)](https://github.com/zzy/surfer)(将持续升级): > > - 纯粹 Rust 技术栈实现的博客系统,有兴趣请访问[演示站点 1](https://niqin.com),以及[演示站点 2](https://gaidun.com):。 > - 后端(backend)主要提供 graphql 服务,使用了 tide, async-graphql, jsonwebtoken, mongodb 等相关 crate。 > - 前端(frontend)提供 web 应用服务,使用了 tide, rhai, surf, graphql_client, handlebars-rust, cookie 等相关 crate。 > > 💥 关于清洁的模板项目,采用了**纯粹的 Rust 技术栈**。包括(将持续升级): > > - [Rust](https://www.rust-lang.org) - [中文文档](https://rust-lang.niqin.com) > - [Tide](https://crates.io/crates/tide) - [中文文档](https://tide-book.niqin.com) > - [async-graphql](https://crates.io/crates/async-graphql) - [中文文档](https://async-graphql.niqin.com) > - [mongodb & mongo-rust-driver](https://crates.io/crates/mongodb) > - [Surf](https://crates.io/crates/surf) > - [graphql_client](https://crates.io/crates/graphql_client) > - [handlebars-rust](https://crates.io/crates/handlebars) > - [jsonwebtoken](https://crates.io/crates/jsonwebtoken) > - [cookie-rs](https://crates.io/crates/cookie) > > 最简单但完全的示例项目,请参阅 github 仓库 **<a href="https://github.com/zzy/tide-async-graphql-mongodb">tide-async-graphql-mongodb</a>**。目前实现了如下功能(将持续升级): > > - 用户注册 > - 使用 PBKDF2 对密码进行加密(salt)和散列(hash)运算 > - 整合 JWT 鉴权的用户登录 > - 密码修改 > - 资料更新 > - 用户查询和变更 > - 项目查询和变更 > - 使用基于 Rust 实现 graphql-client 获取 GraphQL 服务端数据 > - 渲染 GraphQL 数据到 handlebars-rust 模板引擎

编程语言 通过例子学 Rust No.627bccff7e84024c6ea0739a 热门 推荐

NiQin 更新于 2022-05-11 22:49:35+08:00

浏览数量: 82038

关键词/标签: rust rust-examples rust-by-example

Rust 是一门注重安全(safety)、速度(speed)和并发(concurrency)的现代系统编程语言。Rust 通过内存安全来实现以上目标,但不使用垃圾回收机制(garbage collection, GC)。 《通过例子学 Rust》(Rust By Example, RBE)内容由一系列可运行的实例组成,通过这些例子阐明了各种 Rust 的概念和基本库。想获取这些例子外的更多内容,不要忘了安装 Rust 到本地并查阅官方标准库文档。另外为了满足您的好奇心,您还可以查阅本网站的源代码。 现在让我们开始学习吧! * Hello World - 从经典的 “Hello World” 程序开始学习。 * 原生类型 - 学习有符号整型,无符号整型和其他原生类型。 * 自定义类型 - 结构体 struct 和 枚举 enum。 * 变量绑定 - 变量绑定,作用域,变量遮蔽。 * 类型系统 - 学习改变和定义类型。 * 类型转换 * 表达式 * 流程控制 - if/else,for,以及其他流程控制有关内容。 * 函数 - 学习方法、闭包和高阶函数。 * 模块 - 使用模块来组织代码。 * Crate - crate 是 Rust 中的编译单元。学习创建一个库。 * Cargo - 学习官方的 Rust 包管理工具的一些基本功能。 * 属性 - 属性是应用于某些模块、crate 或项的元数据(metadata)。 * 泛型 - 学习编写能够适用于多种类型参数的函数或数据类型。 * 作用域规则 - 作用域在所有权(ownership)、借用(borrowing)和生命周期(lifetime)中起着重要作用。 * 特性 trait - trait 是对未知类型(Self)定义的方法集。 * 宏 * 错误处理 - 学习 Rust 语言处理失败的方式。 * 标准库类型 - 学习 std 标准库提供的一些自定义类型。 * 标准库更多介绍 - 更多关于文件处理、线程的自定义类型。 * 测试 - Rust 语言的各种测试手段。 * 不安全操作 * 兼容性 * 补充 - 文档和基准测试

编程语言 Rhai - Rust 的嵌入式脚本语言 No.627bca167e84024c6ea07392 热门

NiQin 更新于 2022-05-11 22:37:10+08:00

浏览数量: 129303

关键词/标签: rust rhai embedded-scripting embedded-scripting-for-rust

Rhai is an embedded scripting language and evaluation engine for Rust that gives a safe and easy way to add scripting to any application. Targets and builds - * All CPU and O/S targets supported by Rust, including: * WebAssembly (WASM) * `no-std` * Minimum Rust version 1.57 Standard features - * Simple language similar to JavaScript+Rust with dynamic typing. * Fairly efficient evaluation (1 million iterations in 0.3 sec on a single-core, 2.3 GHz Linux VM). * Tight integration with native Rust functions and types, including getters/setters, methods and indexers. * Freely pass Rust values into a script as variables/constants via an external Scope - all clonable Rust types are supported; no need to implement any special trait. Or tap directly into the variable resolution process. * Built-in support for most common data types including booleans, integers, floating-point numbers (including Decimal), strings, Unicode characters, arrays (including packed byte arrays) and object maps. * Easily call a script-defined function from Rust. * Relatively little unsafe code (yes there are some for performance reasons). * Few dependencies - currently only smallvec, num-traits, ahash, bitflags and smartstring. * Re-entrant scripting engine can be made Send + Sync (via the sync feature). * Compile once to AST form for repeated evaluations. * Scripts are optimized (useful for template-based machine-generated scripts). * Easy custom API development via plugins system powered by procedural macros. * Function overloading and operator overloading. * Dynamic dispatch via function pointers with additional support for currying. * Closures (anonymous functions) that can capture shared values. * Some syntactic support for object-oriented programming (OOP). * Organize code base with dynamically-loadable modules, optionally overriding the resolution process. * Serialization/deserialization support via serde (requires the serde feature). * Support for minimal builds by excluding unneeded language features. * A debugging interface. Protected against attacks - * Don't Panic guarantee - Any panic is a bug. Rhai subscribes to the motto that a library should never panic the host system, and is coded with this in mind. * Sand-boxed - the scripting engine, if declared immutable, cannot mutate the containing environment unless explicitly permitted. * Rugged - protected against malicious attacks (such as stack-overflow, over-sized data, and runaway scripts etc.) that may come from untrusted third-party user-land scripts. * Track script evaluation progress and manually terminate a script run. * Passes Miri. For those who actually want their own language - * Use as a DSL. * Disable certain language features such as looping. * Further restrict the language by surgically disabling keywords and operators. * Define custom operators. * Extend the language with custom syntax.

编程语言 Rust 程序设计语言 No.627bc4107e84024c6ea07389 热门 推荐

NiQin 更新于 2022-05-11 22:11:28+08:00

浏览数量: 86129

关键词/标签: rust rust-book empowerment 赋能

虽然不是那么明显,但 Rust 程序设计语言的本质在于 **赋能**(*empowerment*):无论你现在编写的是何种代码,Rust 能让你在更为广泛的编程领域走得更远,写出自信。 比如,“系统层面”(“systems-level”)的工作,涉及内存管理、数据表示和并发等底层细节。从传统角度来看,这是一个神秘的编程领域,只为浸润多年的极少数人所触及,也只有他们能避开那些臭名昭著的陷阱。即使谨慎的实践者,亦唯恐代码出现漏洞、崩溃或损坏。 Rust 破除了这些障碍,其消除了旧的陷阱并提供了伴你一路同行的友好、精良的工具。想要 “深入” 底层控制的程序员可以使用 Rust,无需冒着常见的崩溃或安全漏洞的风险,也无需学习时常改变的工具链的最新知识。其语言本身更是被设计为自然而然的引导你编写出在运行速度和内存使用上都十分高效的可靠代码。 已经在从事编写底层代码的程序员可以使用 Rust 来提升抱负。例如,在 Rust 中引入并行是相对低风险的操作:编译器会为你捕获经典的错误。同时你可以自信的采取更为积极的优化,而不会意外引入崩溃或漏洞。 但 Rust 并不局限于底层系统编程。其表现力和工效足以令人愉悦的编写出 CLI 应用、web server 和很多其他类型的代码 —— 在本书中你会看到两个简单示例。使用 Rust 能将你在一个领域中学习的技能延伸到另一个领域;你可以学习 Rust 来编写 web 应用,接着将同样的技能应用到你的 Raspberry Pi(树莓派)上。 本书全面介绍了 Rust 为用户赋予的能力。其内容平易近人,致力于帮助你提升 Rust 的知识,并且提升你作为程序员整体的理解与自信。那么让我们准备深入学习 Rust 吧(打开新世界的大门 :)) —— 欢迎加入 Rust 社区! — Nicholas Matsakis 和 Aaron Turon