Makepad Framework 发布第一个完整示例应用程序 Ironfish
Ironfish 是一款功能丰富的合成器,该example crate 展示了 Makepad 框架的一些功能。
makepad 应该是目前最漂亮最快的Rust UI kit
- 原文链接: https://docs.rs/crate/makepad-example-ironfish/0.3.0
- ironfish demo 的演示链接: https://makepad.nl/makepad/examples/ironfish/src/index.html
- ironfish 的 github 地址: https://github.com/makepad/makepad/tree/master/examples/ironfish
Rust 中使用 arbitrary 来做特性测试
arbitrary 库主要提供了 Arbitrary
以及相关功能, 他可以从任意的非结构化的输入生成结构化的数据. 通常情况下, 他可以配合类似 cargo-fuzz
等库进行 fuzz 测试, 但是本文展示了另外一个非常实用的用法:
领域模型和数据库实体之间的转换方法测试, 可以省去大量的手写代码测试.
例子如下:
代码语言:javascript复制#[test]
fn test_vehicle_record_mapping() {
fn prop(u: &mut arbitrary::Unstructured<'_>) -> arbitrary::Result<()> {
let vehicle = Vehicle::arbitrary(u)?;
let record = vehicle_to_record(vehicle.clone());
let same_vehicle = record_to_vehicle(record);
assert_eq!(vehicle, same_vehicle);
Ok(())
}
arbtest::builder().run(prop);
}
- 原文链接: https://www.greyblake.com/blog/property-based-testing-in-rust-with-arbitrary/
- arbitrary github 地址: https://github.com/rust-fuzz/arbitrary/
Fedora 打包 rust 应用
对于 Linux 的发行版本, 由于大部分的程序是由 C 编写的,所以是天然的比较容易打包 C 程序和相关库的. 但是对于其他语言来说, 由于每个语言都有自己的依赖管理等, 所以导致打包其他语言的程序一直是一个问题.
本文讨论了 Fedora 在打包 Rust 应用时候遇到的一些问题.
原文链接: https://lwn.net/SubscriberLink/912202/79e7892b07f9350a/
--
From 日报小组 BobQin,FBI小白