Twenty - 保护程序员的眼睛
Twenty旨在帮助用户每20分钟远离屏幕20秒钟,放松眼睛。它利用waycrate/exwlshelleventloop/iced_sessionlock来锁定屏幕。
用户可以通过Cargo或baker编译并安装该程序。使用twenty --init [light/dark]初始化,默认暗色模式。twenty --kill杀死程序进程。sudo bake uninstall卸载程序。
该项目由rv178和shivkr6共同创作,旨在通过强制实施20-20-20规则来保护用户的眼睛健康。它主要针对实现了ext-session-lock的合成器。
https://github.com/waycrate/twenty
Lala bar - 一个新的Linux桌面环境
这是一个用Rust编程语言编写的类似KDE的图形桌面环境程序,名为Lala bar。它是一个图层shell程序,包含了启动器、侧边栏和通知守护进程。
通知守护进程支持内嵌回复和默认操作。未来计划添加通知超时功能。
该程序使用了iced_layershell库,是作者waycrate的另一个项目。附有一张显示程序侧边栏界面的图片示例。
https://github.com/waycrate/lala-bar
mocks - 快速搭建模拟REST API服务
mocks是一个用于快速搭建模拟REST API服务的工具,主要有以下特点:
- 可以通过命令行快速启动一个基于JSON文件的模拟REST API服务器。
- 支持自动生成常见的CRUD接口,包括GET、POST、PUT、PATCH、DELETE等。
- 支持基于JSON文件热更新API响应数据。
- 支持调试模式,可将服务器接收到的请求数据持久化存储到文件中,方便调试。
- 提供健康检查端点,方便监控服务运行状态。
- 可通过Homebrew或Cargo进行安装。
- 开源项目,采用MIT许可协议。
总的来说,mocks为开发和测试场景下快速创建模拟数据服务提供了极大的便利,可以有效提升开发效率。
https://github.com/mocks-rs/mocks
在 Rust 和 C++ 之间进行互操作的一种技巧
这篇文章讨论了在 Rust 和 C++ 之间进行互操作的一种技巧。主要内容如下:
-
alice.write_comment(..) 和 RUST_write_comment(alice, ..) 这两种调用方式在底层实际上是等价的,C++ 编译器会将前者转换为后者。所以 Rust 函数只是在模拟 C++ 编译器的行为。
-
我们依赖于 API 的兼容性,而不是 ABI 的兼容性。Rust 实现可以自由读写 C++ 类的私有成员,因为公有/私有只是 C++ 编译器实施的规则,而 CPU 不关心这些规则,只看内存字节。
-
我们必须使用繁琐的类型转换,因为我们确实在将一种类型 (User) 的内存重新解释为另一种类型 (UserC)。这在 C++ 标准布局类中是允许的,否则会导致不确定行为。
总的来说,这种技巧利用了 Rust 和 C++ 之间的 API 兼容性,绕过了 ABI 的限制,从而实现了在两种语言之间自由访问对方的数据结构。但同时也带来了一些低级别的不便,比如需要手动进行类型转换。
https://gaultier.github.io/blog/rust_c++_interop_trick.html
--
From 日报小组 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论