【Rust日报】 2019-04-18

2021/5/11 10:28:07

本文主要是介绍【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


一只蒸气朋克手表


图片


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


国人开发,特点:


  • 安全:Rust 天生的

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

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

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

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


图片

图片

大家去感受一下。

Repo




这篇关于【Rust日报】 2019-04-18的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程