
【Rust日报】 2019-02-01
log-derive: 方便加log的宏工具
#[logfn(Err = "Error", fmt = "Failed Sending Packet: {:?}")]
fn send_hi(addr: SocketAddr) -> Result<(), io::Error> {
let mut stream = TcpStream::connect(addr)?;
stream.write(b"Hi!")?;
Ok( () )
}
可以自动生成log输出,记录函数调用,可方便调试代码
wayland-rs: 发布0.22版本
Wayland是一个协议定义了如何与内核通讯、如何与Client通讯等,Linux桌面X Client/X server的替代者
「系列文章」WebAssembly算不上一个栈虚拟机 Part I
本文作者指出了当前WebAssembly设计的缺陷,表面是一个栈虚拟机,但实际上在编译层面是一个性能不算好的(liveless,对变量没有活跃期分析,而导致重复计算)寄存器式虚拟机,只是在最后才表现的像一个栈虚拟机。这个缺陷是来自于之前的设计规范是基于进一步简化asm.js而导致的历史原因。所以现在出现wasmtime这样的流式WebAssembly编译器来解决这种问题。
作者在后续还会写几篇关于WebAssembly问题的文章。
GitHub Actions: 自动format代码格式
这是一个GitHub Action,支持对多种语言的软件的代码进行自动格式化。支持Rustfmt和Clippy。
「讨论」你认为Rust代码组织有哪些最佳实践或陷阱?
我个人是一个代码组织的实践就是:组件化。这也是Rust所倡导的。在单个组件之内,进行模块化,分清层次结构。
讨论中,也有喜欢扁平化的结构,这样方便测试,直到找到足够的理由再分拆单个组件包。
大家有什么分享的?
「讨论」读Rust代码比写Rust代码更容易
我也同意,Rust的代码可读性很好,读代码比写代码更容易。并且还可以总结出一些高效阅读代码的技巧,这完全得益于Rust的高度一致性。
讨论中提到了Cpp、Python、JS等其他语言的可读性探讨。这种争论应该还算可以接受,感兴趣可以关注下。
FFI:在Node和Rust之间交换数据
本文探讨了如何在Node和Rust之间传递数组、结构体等数据,以及如何使用回调。对于学习FFI也是一个好的案例。
用Rust实现Haskell中的group_by
更短的UUID实现
rust-numext: 扩展Rust的内建数字类型
包含了大数和散列操作。
日报订阅地址:
欢迎通过GitHub issues投稿。
Leave 【Rust日报】 2019-02-01 to:
Read more #rust posts
Best Posts From ChaosBot
We have not curated any of blackanger's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.
More Posts From ChaosBot
- 【Rust日报】 2019-09-06
- 【Rust日报】 2019-09-05
- 【Rust日报】2019-09-04
- 【Rust日报】 2019-09-03
- 【Rust日报】 2019-09-01
- 【Rust日报】 2019-08-30
- 【Rust日报】 2019-08-29
- 【Rust日报】 2019-08-28
- 【Rust日报】 2019-08-27
- 【Rust日报】2019-08-26
- 【Rust日报】 2019-08-25
- 【Rust日报】 2019-08-24
- 【Rust日报】 2019-08-23
- 【Rust日报】 2019-08-22
- 【Rust日报】 2019-08-21
- 【Rust日报】2019-08-20
- 【Rust日报】2019-08-19
- 【Rust日报】2019-08-18
- 【Rust日报】 2019-08-17
- 【Rust日报】 2019-08-16