English | 中文
RTD
(Rust To Do) 是一个用500行Rust 代码编写的todo app命令行应用。(不包括空行/注释/长行折断显示/测试代码)RTD
同时也是一个教程,旨在通过实践学习Rust。- Learning by doing!
假设你对Rust一无所知,通过500行代码学会Rust教程,一步步从零构建该项目,你将学会:
- Rust常用语法
- Rust模块系统(
package
/binary crate
/library crate
/mod
/pub
/use
) - Rust所有权模型(伯恩斯坦条件)
- Rust生命周期
- Rust错误/空值处理(
Result<T, E>
/Option<T>
) - Rust泛型
- Rust模式匹配(
if let
,match
...) - Rust单元测试
- Rust文件读写(
File Seek
/Buffed File I/O
) - Rust操作环境变量
- Rust命令行参数解析
- Rust发布包至crate.io
- 开发一个程序的一般过程(需求/设计/实现/测试/发布/维护)
- 分层抽象(数据存储层/模型映射层/数据模型层/业务逻辑层/应用接口层/用户接口层)
- 从零手写序列化/反序列化
- 实现回收站功能(虚拟化概念)
使用一个本地文件 $HOME/.rtd.csv
存储所有数据
- 极其轻量级且简洁的todo命令行应用
- 跨平台,Rust项目优秀的构建系统天然支持跨平台
- 安全,支持回收站,完全本地,不联网,无数据库
- 所有数据存储仅使用一个本地csv文件,可以通过复制csv文件来在不同机器间切换
有趣的事实: 我使用RTD来完成RTD教程, :)
如果你喜欢我的教程,别忘了给我点个Star哦~
- Rust 天然跨平台,本项目在
linux
环境构建测试,Windows
/MacOS
同样支持,根据自身操作系统选择下载对应Cargo
即可。 Cargo
Rust 包管理和构建工具, 可通过Rust官网rustup
一行命令直接安装,接下来的事情,它会帮你全搞定,很可爱,不是吗?
cargo install rtd-tutorial
(PS: 如果遇到网络不稳定的情况,可考虑使用 crates.io mirror
git clone https://github.com/cuppar/rtd.git
cargo install --path rtd
rtd -h
rtd --help
rtd -a <item-name>
rtd --add <item-name>
rtd
rtd -l
rtd -l uncompleted
rtd --list
rtd --list uncompleted
rtd -c <item-id>
rtd --complete <item-id>
rtd -l completed
rtd --list completed
rtd -u <item-id>
rtd --uncomplete <item-id>
rtd -d <item-id>
rtd --delete <item-id>
rtd -l deleted
rtd --list deleted
rtd -r <item-id>
rtd --restore <item-id>
rtd --destroy <item-id>
rtd --destroy-deleted
rtd -l all
rtd --list all
rtd --clear
何志颖(Cuppar He), 软件开发工程师, 喜欢编程, 技术写作, 学习新东西, 尤其是计算机科学, 曾就职于SAP(世界百强)和阿里巴巴集团(世界百强&中国互联网巨头)。目前我在Gap Year, 如果你在寻找软件开发工程师并且能提供优质的offer(远程和现场都可以), 请与我联系[email protected]
。