【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工具)


  1. tree-rs

  2. treeify

  3. exa --tree

  4. fd 与 treeify 配合使用



min-sized-rust:如何缩小 Rust 二进制包大小的总结


总结有以下方法:

  1. 以 --release 编译

  2. strip 掉符号

  3. 把 cargo 的编译参数加个 opt-level = 'z' 以优化体积编译

  4. 开启 LTO

  5. 去掉 Jemalloc

  6. 减少 cargo 的并行代码生成单元

  7. panic 的时候直接中断掉程序

  8. 使用 xargo 优化 libstd

  9. 使用 panic_immediate_abort 去掉 panic 的格式化代码

  10. 不使用 libstd: #![no_std]


Read More


一只蒸气朋克手表


【Rust日报】 2019-04-18


netease-cloud-music-gtk: 基于 Rust + GTK 开发的网易云音乐播放器


国人开发,特点:


  • 安全:Rust 天生的

  • 极速:相比 Node/python 版,Rust 速度可谓一骑绝尘

  • 稳定:除了网速或网易 API 限制,基本不会出现运行问题

  • 简洁:仿 GNOME Music 风格,GTK 原生界面,纯粹得令人发指

  • 简单:最小的编译与运行依赖


【Rust日报】 2019-04-18

【Rust日报】 2019-04-18

大家去感受一下。

Repo


上一篇:Seq2Seq模型


下一篇:*Senti-BSAS: A BERT-based Classification Model with Sentiment Calculating for Happiness Research