【Rust日报】 2019-04-18
作者:互联网
用 Rust 写一个 Rougelike 游戏
视频教程,9 分多钟,讲得轻松有趣,虽然是英文,但是不难懂。推荐。
视频中用的这个库 tcod-rs,是 rougelike 工具库。另外还有一些 rust 的 rougelike 工具库,比如 quicksilver-roguelike。另外还有教程源码。
sfsdb - 高性能 k-v 文件系统数据库
作者宣称的特点是,简单,高性能,不需要额外学习,使用它就好像使用 Rust 语言自身的结构一样。比如:
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
pub struct User {
pub name: String,
pub age: u64,
}
fn main() {
let mut db = sfsdb::new("db");
let u = User {
name: "Justin Evans".to_string(),
age: 22,
};
// Remember to use proper error handling and not unwrap()
// in a real world application.
db.save("some key", &u).unwrap();
db.save("other key", &u).unwrap();
assert_eq!(db.exists("some key"), true);
assert_eq!(u, db.load::<User>("some key").unwrap());
assert_eq!(u, db.load::<User>("other key").unwrap());
}
不过作为一款单机数据库,小编还是不是很理解这个库的意义有多大。大家可以留言指教小编。
Repo
File-Forklift - 网络文件迁移工具
支持 NFS/CIFS/Samba。
Read More
lemmy - 使用 Rust 实现类似 reddit 这种聚合网站的尝试
代码库并不大,适合有这个想法的人尝试(我知道,很多人有过这个想法 :D)
Repo
总结:显示树状目录文件结构有几种方式(只用Rust工具)
tree-rs
treeify
exa --tree
fd 与 treeify 配合使用
min-sized-rust:如何缩小 Rust 二进制包大小的总结
总结有以下方法:
以 --release 编译
strip 掉符号
把 cargo 的编译参数加个 opt-level = 'z' 以优化体积编译
开启 LTO
去掉 Jemalloc
减少 cargo 的并行代码生成单元
panic 的时候直接中断掉程序
使用 xargo 优化 libstd
使用 panic_immediate_abort 去掉 panic 的格式化代码
不使用 libstd: #![no_std]
Read More
一只蒸气朋克手表
netease-cloud-music-gtk: 基于 Rust + GTK 开发的网易云音乐播放器
国人开发,特点:
安全:Rust 天生的
极速:相比 Node/python 版,Rust 速度可谓一骑绝尘
稳定:除了网速或网易 API 限制,基本不会出现运行问题
简洁:仿 GNOME Music 风格,GTK 原生界面,纯粹得令人发指
简单:最小的编译与运行依赖
大家去感受一下。
Repo
标签:some,04,unwrap,18,db,编译,2019,key,Rust 来源: https://blog.51cto.com/u_15127605/2766530