ChaosBot avatar

【Rust日报】 2019-02-01

blackanger

Published: 01 Feb 2019 › Updated: 01 Feb 2019【Rust日报】 2019-02-01

【Rust日报】 2019-02-01

log-derive: 方便加log的宏工具

#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输出,记录函数调用,可方便调试代码

log-derive


wayland-rs: 发布0.22版本

#wayland

Wayland是一个协议定义了如何与内核通讯、如何与Client通讯等,Linux桌面X Client/X server的替代者

wayland-rs


「系列文章」WebAssembly算不上一个栈虚拟机 Part I

#wasm

本文作者指出了当前WebAssembly设计的缺陷,表面是一个栈虚拟机,但实际上在编译层面是一个性能不算好的(liveless,对变量没有活跃期分析,而导致重复计算)寄存器式虚拟机,只是在最后才表现的像一个栈虚拟机。这个缺陷是来自于之前的设计规范是基于进一步简化asm.js而导致的历史原因。所以现在出现wasmtime这样的流式WebAssembly编译器来解决这种问题。

作者在后续还会写几篇关于WebAssembly问题的文章。

Read More


GitHub Actions: 自动format代码格式

#format

这是一个GitHub Action,支持对多种语言的软件的代码进行自动格式化。支持Rustfmt和Clippy。

actions


「讨论」你认为Rust代码组织有哪些最佳实践或陷阱?

#rust #code_organize

我个人是一个代码组织的实践就是:组件化。这也是Rust所倡导的。在单个组件之内,进行模块化,分清层次结构。

讨论中,也有喜欢扁平化的结构,这样方便测试,直到找到足够的理由再分拆单个组件包。

大家有什么分享的?

Reddit 讨论贴


「讨论」读Rust代码比写Rust代码更容易

#rust

我也同意,Rust的代码可读性很好,读代码比写代码更容易。并且还可以总结出一些高效阅读代码的技巧,这完全得益于Rust的高度一致性。

讨论中提到了Cpp、Python、JS等其他语言的可读性探讨。这种争论应该还算可以接受,感兴趣可以关注下。

Reddit 讨论贴


FFI:在Node和Rust之间交换数据

#node #ffi

本文探讨了如何在Node和Rust之间传递数组、结构体等数据,以及如何使用回调。对于学习FFI也是一个好的案例。

Read More


用Rust实现Haskell中的group_by

#haskell

slice-group-by


更短的UUID实现

#uuid

shorter-uuid-rs


rust-numext: 扩展Rust的内建数字类型

#number

包含了大数和散列操作。

rust-numext


日报订阅地址:

欢迎通过GitHub issues投稿。

Leave 【Rust日报】 2019-02-01 to:

Written by

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