23个版本
0.1.23 | 2023年9月5日 |
---|---|
0.1.22 | 2023年9月5日 |
0.1.21 | 2023年8月3日 |
0.1.19 | 2023年7月31日 |
#881 in 命令行工具
3MB
657 行
通过500行代码学习Rust
英语 | 中文
- RTD (Rust To Do) 是一个用500行Rust代码编写的待办事项命令行工具。(不包括空白行/注释/长行中断显示/测试代码)
- RTD也是一个教程,旨在通过实践学习Rust。
目录
从RTD中你可以学到什么?
假设你对Rust一无所知,通过通过500行代码学习Rust教程,逐步从零开始构建项目,你会学到
- Rust常用语法
- Rust模块系统(
package/
binary crate/
library crate
/mod
/pub
/use
) - Rust所有权模型(Bernstein条件)
- Rust生命周期
- Rust错误/空处理模型(
Result<T, E>
/Option<T>
) - Rust泛型
- Rust模式匹配(
if let
,match
...) - Rust单元测试
- Rust文件I/O(
File Seek
/Buffed File I/O
) - Rust操作环境变量
- Rust命令行参数解析
- Rust发布软件包到crate.io
- 程序开发的通用过程(需求/设计/实现/测试/发布/维护)
- 分层抽象(数据存储层/模型映射层/数据模型层/业务逻辑层/应用程序接口层/用户界面层)
- 从头手写序列化和反序列化
- 实现回收站功能(虚拟化概念)
架构
存储
使用本地文件 $HOME/.rtd.csv
存储所有数据
完成本教程或直接安装RTD后,您将获得
- 极轻量级且简洁的todo命令行应用程序
- 跨平台,Rust的优秀构建系统自然支持跨平台
- 安全,支持回收站,完全本地,无网络,无数据库
- 所有数据存储仅使用一个本地csv文件,可以通过复制csv文件在不同的机器之间切换
有趣的事实:我用RTD完成了RTD教程 :)
如果您喜欢我的教程,请别忘了给我点个赞~
准备
- Rust自然是跨平台的。本项目在
linux
环境下构建和测试,并支持Windows
/MacOS
。您可以根据自己的操作系统选择下载相应的Cargo
。 Cargo
是Rust的包管理和构建工具,可以通过Rust官方网站的rustup
一行命令直接安装。然后,所有的事情都将由Cargo
来完成,真是太可爱了,对吧?
安装
通过crate.io
cargo install rtd-tutorial
或通过git repo
git clone https://github.com/cuppar/rtd.git
cargo install --path rtd
用法
查看帮助文档
rtd -h
rtd --help
添加todo
rtd -a <item-name>
rtd --add <item-name>
列出所有未完成的todo
rtd
rtd -l
rtd -l uncompleted
rtd --list
rtd --list uncompleted
完成todo
rtd -c <item-id>
rtd --complete <item-id>
列出所有已完成的todo
rtd -l completed
rtd --list completed
取消完成todo
rtd -u <item-id>
rtd --uncomplete <item-id>
将todo投入回收站
rtd -d <item-id>
rtd --delete <item-id>
列出所有回收站todo
rtd -l deleted
rtd --list deleted
从回收站恢复todo
rtd -r <item-id>
rtd --restore <item-id>
物理销毁todo
rtd --destroy <item-id>
清空回收站
rtd --destroy-deleted
列出所有todo
rtd -l all
rtd --list all
清除所有todo
rtd --clear
关于作者
库帕尔·黑(黑志颖),软件开发工程师,喜欢编程、技术写作、学习新事物,尤其是计算机科学,曾在SAP(世界100强)和阿里巴巴集团(世界100强 & 中国互联网巨头)工作。我目前处于间隔年,如果您正在寻找软件开发工程师并能提供高质量的职位(远程和现场均可),请与我联系 cuppar.hzy@gmail.com
。