ITPub博客

首页 > 数据库 > 数据库开发技术 > 【Rust 日报】2023-05-28 一个构建在TCP上的聊天工具

【Rust 日报】2023-05-28 一个构建在TCP上的聊天工具

原创 数据库开发技术 作者:Rust语言中文社区 时间:2023-05-30 12:44:14 0 删除 编辑

tcp-chat:构建在TCP上的简单快速轻量的聊天工具

tcp-chat通过TCP进行通信,该项目的目的是了解并行性和底层网络通信。
前端工具:Solid、Tauri、Vite
后端工具:Rust、Tokio、Serde
GitHub: https://github.com/gatomod/tcp-chat

ezlua:Rust的Lua绑定

功能包括:
  • 序列化 (serde) 支持
  • 异步函数绑定支持
  • 人性化的函数和用户数据方法绑定
  • 人性化的堆栈值操作,无需关注堆栈细节
  • 高效:无辅助堆栈,支持引用类型转换
  • 内置绑定到最常用的 rust std 函数和类型
  • 多线程支持
GitHub: https://github.com/metaworm/ezlua

failsafe-rs:错误处理

轻量的错误处理库。使用示例:
#[derive(Clone, Debug, PartialEq)]
pub struct Person {
name: Option<String>,
pub url: String,
}

# 必须实现 Runnable
impl Runnable for Person {
fn run(&mut self) -> Result<(), Box<dyn Any>> {
println!("I am a person, getting my name!");
let name_response: Result<String, SomeNetworkError> = remote_request_that_might_fail(self.url);
match name_response {
Ok(name) => {
println!("Got a name! {}", name);
self.name = Some(name);
}
Err(_) => return Err(
Box::new(
PersonError::as_any(&PersonError::NameFindingError)
)
)
}
Ok(())
}

fn update(&mut self, other: &Box<dyn FallbackAble>) {
let n: &Person = other.as_any().downcast_ref().unwrap();
self.url = n.url;
}
}
GitHub: https://github.com/inventhq/failsafe-rs

r2:RISC-V模拟器

本地启动:
$ cargo run -p app -- -i fixtures/linux.bin -d fixtures/default.dtb
WASI:
$ cargo build -p wasi --target wasm32-wasi --release
$ wasmtime ./target/wasm32-wasi/release/wasi.wasm
Wasm:
$ cd wasm
$ cargo build --target wasm32-unknown-unknown --release
$ wasm-opt --asyncify --pass-arg=asyncify-imports@env.keydown ../target/wasm32-unknown-unknown/release/wasm.wasm -o out.wasm
$ npx serve
GitHub: https://github.com/bokuweb/r2

disintegrate

Disintegrate 提供了一种从事件流构建域对象的替代方法。在支持传统聚合的同时,Disintegrate引入了一种新方法,允许在建模业务规则时具有更大的灵活性和适应性。通过利用事件流作为基础,Disintegrate使开发人员能够构建模型来捕获业务事件的本质,而无需在聚合中对同一事件进行多版本。这减少了重复和复杂性,从而产生更清晰和更易于维护的代码。
GitHub: https://github.com/disintegrate-es/disintegrate

From 日报小组 长琴
社区学习交流平台订阅:
  • Rustcc 论坛:支持 rss
  • 微信公众号:Rust 语言中文社区

原文作者:Rust语言中文社区;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2020-06-11

  • 博文量
    1769
  • 访问量
    718949