理论上的多线程仿真器架构
我试图设计一个既能循环精确又能多线程的控制台仿真器架构。Rust 的 Async await 特性及其生态系统是一个很大的启发。
https://www.n0mandevelopblog.com/posts/cycle-accurate-multithreaded-console-emulator/page/
我的想法是将共享内存区域与设备组件分离成一个中央共享内存总线参与者,该参与者将接受读写请求并在正确的时钟周期内提交它们。这样,组件可以异步运行,然后等待它们需要来自其他组件的某些数据可用。
我最初在 /EmuDev 上发布了这篇文章
https://www.reddit.com/r/EmuDev/comments/vtuwj8/cycle_accurate_multithreaded_console_emulator/?utm_source=share&utm_medium=web2x&context=3
trane-rustlings:与 Trane(和 rustlings)一起学习 Rust
本周早些时候,我分享了我的项目 Trane ( https://github.com/trane-project/trane ),以及用于学习新技能的自动化系统。https://github.com/trane-project/trane-music有一些课程,但我认为有一个自包含的课程来展示 Trane 会很好。
鉴于 Trane 是我的第一个 Rust 项目,我认为用 Trane 来增加 rustlings ( https://github.com/rust-lang/rustlings/ ) 会很好。结果是 trane-rustlings ( https://github.com/trane-project/trane-rustlings )。
本课程是如何使用特灵轻松扩充现有教育材料的一个示例。本课程中的练习只是按名称引用了沙沙的练习。通过按照特灵介绍的顺序解决沙沙声练习,您可以逐步掌握所有这些练习,同时在进行过程中加强它们。
如果您发现您被多次展示相同的练习(特别是在开始时),那么您可以完成您的学习课程并稍后继续有时间吸收材料或将练习添加到黑名单中,这样它就不会再显示了.
cargo-craky:轻松配置 Clippy lints
我想利用一些非默认的 clippy lint,但我厌倦了为每个 bin/example/lib 启用它们的麻烦,为工作区中的每个 crate 重复。有一段时间我一直在添加运行我喜欢的所有 lint 的 shell 脚本(例如--warn clippy::cast_possible_truncation
),但我也希望能够从 vscode 中运行我的 lint 选择。
所以我写了一个小货运扩展来帮助我:cargo-craky。它搜索Cranky.toml
包含要允许/警告/拒绝的 lints 的配置文件,然后在启用这些 lints 的情况下运行 clippy。它可以在命令行和 vscode 中按预期工作。
到目前为止它非常基本,但它对我来说已经非常有用了。希望你也觉得它有帮助!
From 日报小组 时光
社区学习交流平台订阅:
- Rustcc 论坛:支持 rss
- 微信公众号:Rust 语言中文社区