Slint : 下一代 GUI 编程工具包
Slint 1.0 正式发布了,这是一个重要的里程碑,标志着 Slint 可以逐步在生产环境中应用了。
Slint 的开发始于 2020 年 5 月,最早被称为 "SixtyFPS",旨在解决现代化 UI 开发的需求。
其使用 Rust 的声明式编程来构建桌面和嵌入式设备的本机用户界面,提供了易于阅读、编写和学习的语法,它的编译器优化并将 UI 描述翻译成本机代码,从而高效执行,该工具包还使用工具支持来进行代码完成、导航、重构和语法高亮显示,除了在编辑器中开发,还可以在 web editor中快速上手。
Slint 支持各种操作系统和处理器架构,包括 Linux、macOS、Windows、RISC-V、ARM Cortex-M 等。使用 Slint 构建的图形应用程序可以在内存小于 300kB 的系统上运行,这使其非常适合用于开发嵌入式设备的应用程序界面。该工具包具有未来可扩展性,可与多种编程语言(如 C ++、JavaScript 和 Rust)集成。
SeaStreamer: 流处理工具包
SeaStreamer 是一个流处理工具包,目前提供了对于 kafka 和 redis 数据流的支持。
SeaStreamer 基于 async-std
and tokio
两个异步框架,实现了高效的消息系统,同时向开发者提供了完善的 API。
下面是一个基本的 kafka 消费者示例:
#[tokio::main]
async fn main() -> Result<()> {
env_logger::init();
let stream: StreamUrl = "kafka://streamer.sea-ql.org:9092/my_stream".parse()?;
let streamer = KafkaStreamer::connect(stream.streamer(), Default::default()).await?;
let mut options = KafkaConsumerOptions::new(ConsumerMode::RealTime);
options.set_auto_offset_reset(AutoOffsetReset::Earliest);
let consumer = streamer
.create_consumer(stream.stream_keys(), options)
.await?;
loop {
let mess = consumer.next().await?;
println!("{}", mess.message().as_str()?);
}
}
详细内容可以参考 官方文档
使用 rust 实现 Zip 密码破解工具
作者用两篇文章详细说明了,如何实现一个 Zip 密码破解工具 zip-password-finder ,以及如何一步步对齐进行性能优化。
zip-password-finder 目前支持 ZipCrypto 和 AES 两种加密方式,通过多线程进行加速,支持字典破解和暴力破解两种方式,详细内容可以参考其博客和 github:
-- From 日报小组 RustPlumber
社区学习交流平台订阅:
评论区
写评论可以考虑将java写的应用重新用rust+slint实现。:)