0%

RUDY - “R U Dead Yet?” 是一种拒绝服务攻击,其原理是以极其缓慢的速度提交表单数据来保持 Web 服务器的阻塞。RUDY 属于低速攻击,专注于创建一些拉长的请求,而不是用大量快速请求淹没服务器。

hyper 是一个用Rust编写的 HTTP 实现,支持HTTP/1和HTTP/2,支持异步Rust,并且同时提供了服务端和客户端的API支持。

clap 是一个易于使用、高效且功能齐全的用于在解析子命令和命令行参数的 crate 。 clap会自动处理其余的繁杂工作。 这样工程师可以把时间和精力放在实现程序功能上,而不是参数的解析和验证上。

JSON 是目前使用最广泛的数据传输格式,在Rust 中,应用程序可以使用 serdeserde-json 来处理 JSON 的序列化与反序列化。

Rayon 是一个用于 Rust 实现的轻量级数据并行化库。使用 Rayon 可以很容易地将顺序计算转换为并行计算,并保证数据竞争的自由。

Rust 迭代器允许应用程序迭代一个连续的集合,例如数组、Vec、HashMap 等。在此过程中,应用程序只需关心如何处理集合中的元素,无需关心如何开始迭代、什么时候结束迭代、如何访问元素等问题。

迭代器适配器会消费迭代器中的元素,并返回一个新的迭代器。迭代器适配器是惰性的,意味着需要一个消费者适配器来收尾,最终将迭代器转换成一个具体的值。

消费适配器是迭代器上的方法,它会消费掉迭代器中的元素,然后返回某一类型的值。

Combinators are methods that ease the manipulation of some type T . They favor a functional (method chaining) style of code.
                                                                        -- 《Black Hat Rust》 Sylvain Kerkour

组合器是 简化 对某些类型T的操作的方法。它提倡以函数式(方法链)风格编写代码。

本文列举一下常见的组合器,可用于 OptionResult 等类型。