Skip to content

Commit

Permalink
update readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
sunface committed Apr 8, 2022
2 parents afa3c54 + 13528b9 commit 748a647
Show file tree
Hide file tree
Showing 31 changed files with 256 additions and 247 deletions.
49 changes: 33 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,33 +10,50 @@
在线阅读: https://rusty.rs
</div>

在 Rust 元宇宙,夸奖别人的最高境界就是 `rusty`: 今天你"锈"了吗? 你的 Rust 代码好锈啊!
在 Rust 元宇宙,夸奖别人的最高境界就是 `rusty`: 今天你"锈"了吗? 你的 Rust 代码好锈啊!而本书,就是精选了各种开源库和代码片段,帮助大家打造优"锈"的 Rust 项目。

而本书,就是精选了各种开源库和代码片段,帮助大家打造"有锈"的 Rust 项目。
总之,如果有以下需求,那看锈书就对了:

## 以往的锈法
以往,想要锈起来,你需要做到以下两步:
- 想要知道现在优秀的、关注度高的 Rust 项目有哪些

- 发现一些好玩、有趣、酷炫的开源库

- 需要寻找某个类型的库,例如,一个 HTTP 客户端或 ProtoBuffer 编码库,要求是好用、更新活跃、高质量

- 想要寻找常用操作的代码片段,用于熟悉 Rust 或者直接复制粘贴到自己的项目中,例如文件操作、数据库操作、HTTP 请求、排序算法、正则等


细心的同学可能会发现,1-3 对应的是 [awesome-rust](https://github.com/rust-unofficial/awesome-rust), 4 对应的是 [rust-cookbook](https://github.com/rust-lang-nursery/rust-cookbook),那么锈书除了整合两块内容,合二为一外,还有其它的优点吗?

## 它们存在的问题

**awesome-rust,最大的问题就是里面的内容鱼龙混**。低质量的、几年不更新的、分类不准的比比皆是,而且缺乏对项目的详细分析介绍,更多的就是把所有东西给你列出来,告诉你:诺,这几十个都是你想要的,自己挑吧。至于为什么会这样,根源在于它允许任何人去提交自己的库的链接,几乎没有做任何筛选。

所以,个人觉得不应该叫 awesome-rust,叫 all-rust 更为合适。如果存在疑义的同学,可以自己调研一番,再跟锈书的项目对比下,就明白我所言是否有虚了。

1. 为项目挑选 Awesome 依赖库
但是目前已有的 awesome-rust项目有非常大的问题:里面鱼龙混杂,因为它的目的是列出所有项目,但对用户而言,更想看到的是可以在生产中使用的、稳定更新的优秀项目。

2. 在 Cookbook 中查询实用的代码片段,直接复制到项目中
对于开发者而言,Cookbook 非常实用,几乎每一门编程语言都是如此。原因无他:聪明的开发者大部分时间不是在复制粘贴就是在复制粘贴的路上。而 CookBook 恰恰为各种实用场景提供了可供直接复制粘贴的代码,例如网络协议、数据库和文件操作、随机数生成、命令行解析等。

但目前的 Rust Cookbook 更新非常不活跃,里面缺少了大量实用库,还有一些过时的老库。
**但目前的 Rust Cookbook 更新非常不活跃,里面缺少了大量实用库,还有一些过时的老库**

哦对了,还有一点,它们都不是中文的,而锈书是基于中文写的,很快还将翻译成英文。

## 我们的优势

既然列出了别人的缺点,那我们自然是为了解决这些问题而来的。总的来说,锈书有以下特点:

- 分类更加清晰、实用,也更方便于用户找到想要的库

- 所有的库都是精选的,就算通过 PR 提交的,也必须经过我们的严格审核后,再能加入

## 现在的锈法
鉴于以上痛点,我们决定打造一本真正的锈书:一本足够"锈"但是又不会锈的书。
- 长期不更新的库( 一些已经稳定的工具库除外 )要坚决的移除

这本书其实就是 Awesome Rust + Rust Cookbook 的结合体,但是我们不是简单粗暴的对内容进行了合并,而是从深层次将两者进行了融合,希望大家能喜欢。
- 每一个库都有较为详细的介绍甚至是配图,让大家争取不用进到项目里调查一番,就知道该项目的详细用途

## 这本书的读者
本书适合所有程度的 Rust 开发者使用:
## 社区贡献

- 新手用来了解 Rust 的常用库和常用代码片段
- 老手在写代码时,可以直接用来复制粘贴,大幅提升工作效率
欢迎大家提交任何类型的 PR:好的库、实用的代码片段、内容和文字勘误等等,一切的一切对我们来说都特别宝贵,对于贡献高的用户,我们还将在未来送上神秘礼物和惊喜。

毕竟咱不是在面试造飞机,谁脑袋中能记住文件操作的各种细节,对不?



Expand Down
2 changes: 1 addition & 1 deletion book.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ copy-js = true

[output.html.fold]
enable = true
level = 2
level = 1

[rust]
edition = "2021" #在线运行用2021版本的
26 changes: 15 additions & 11 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,24 @@

[Rusty Book](about.md)

<!-- [Awesome 目录索引](index-awesome.md)
[Cookbook 目录索引](index-cookbook.md) -->


# Awesome
---
- [日常开发常用库](daily-dev.md)
- [Rust 明星项目](superstar.md)
- [使用 Rust 增强 JS](empowering-js.md)
- [Rust开发的游戏](games.md)
- [游戏引擎](gamedev.md)
- [日常开发常用库](awesome-daily-dev.md)
- [Rust 明星项目](awesome-superstar.md)
- [使用 Rust 增强 JS](awesome-empowering-js.md)
- [Rust开发的游戏](awesome-games.md)
- [游戏引擎](awesome-gamedev.md)


# Awesome + Cookbook
---
- [实用算法](algos/awesome.md)
- [数据结构]()
- [位字段](algos/datastructures/bitfield.md)
- [生成随机值](algos/randomness.md)
- [Vec 排序](algos/sorting.md)
- [压缩算法]()
Expand All @@ -27,9 +33,6 @@
- [复数](algos/math/complex.md)
- [统计学](algos/math/statistics.md)
- [杂项](algos/math/misc.md)

- [数据结构](datastructures/awesome.md)
- [位字段](datastructures/bitfield.md)

- [命令行](cmd/awesome.md)
- [参数解析](cmd/parsing.md)
Expand All @@ -39,8 +42,8 @@
- [处理器](os/processor.md)
- [调用系统命令](os/command.md)

- [并发]()
- [线程](cocurrency/threads.md)
- [并发和并行]()
- [多线程](cocurrency/threads.md)
- [使用rayon并行处理数据](cocurrency/parallel.md)

- [数据库]()
Expand Down Expand Up @@ -75,11 +78,12 @@
- [内存管理]()
- [全局变量](memory/global-vars.md)


- [网络协议]()
- [TCP/IP](protocols/tcpip.md)

- [文本处理]()
- [正则表达式](text/regex.md)
- [字符串解析](text/string.md)

- [Web编程]()
- [提取网络链接( 爬虫 )](web/scraping.md)
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 748a647

Please sign in to comment.