Rinja - 一个基于Jinja模板引擎的Rust模板渲染引擎
Rinja是一个基于Jinja模板引擎的Rust模板渲染引擎。它根据用户定义的结构体在编译时从模板生成Rust代码,以保存模板的上下文。Rinja具有以下特点:
- 使用熟悉和易用的语法构建模板。
- 受益于Rust的类型系统提供的安全性。
- 模板代码编译到你的crate中,以获得最佳性能。
- 可选择内置支持Actix、Axum、Rocket和warp Web框架。
- 提供调试功能来帮助模板开发。
- 模板必须是有效的UTF-8编码,并在渲染时产生UTF-8输出。
- 支持模板继承、循环、条件语句、包含等功能。
- 支持宏和变量(不可变)。
- 内置一些过滤器,并能使用自定义过滤器。
- 使用'-'标记来压缩空白。
- 可选择性地转义HTML。
- 允许自定义语法。
https://rinja.readthedocs.io/en/stable/
sqlite-repr - 开源的 SQLite 数据库文件格式可视化工具
SQLite 是一种广泛使用的嵌入式关系型数据库引擎,被广泛应用于移动设备、桌面软件等领域。
该工具可以解析 SQLite 数据库文件的内部结构,并以可视化的形式呈现出各种页面类型的内容,包括表的内部和叶子节点B树页面、索引的内部和叶子节点B树页面、空闲列表页面、溢出页面、记录值溢出、记录头溢出等。它同时支持十六进制、文本、混合等多种展示方式。
该工具不仅对于软件开发人员进行故障排查很有帮助,同时也适用于学习 SQLite 数据库文件格式的目的。它提供了一些预加载的示例数据库,用户也可以上传自己的数据库文件进行分析。此外,它还包含了页面视图、树视图等多种查看模式,以及控制台等功能。
https://github.com/torymur/sqlite-repr
bacon - 一个Rust代码后台检查器
Bacon旨在最小化交互,可以在编辑器旁边运行,并在发现Rust代码中的警告、错误或测试失败时通知您。它会优先显示错误而不是警告,并优先显示第一个错误而不是最后一个错误,因此您不必滚动到顶部查找相关内容。您不需要记住命令,因为基本命令都列在底部,其他少量命令可以通过按下h键查看。
您可以通过cargo安装bacon。运行bacon命令在终端中启动它。默认情况下,它会基于cargo check命令监视源目录并显示错误和警告。您也可以通过按t键或运行bacon test命令来启动和监视测试。按c键可查看Clippy警告,按Esc键返回上一个作业。您还可以通过d键在浏览器中打开cargo doc。
您可以在bacon.toml文件中配置和启动所需的作业,如测试、特定目标编译、示例等,并在编码时查看结果。prefs.toml文件允许您定义键绑定或始终以摘要模式或换行模式启动。通过运行bacon --prefs命令可创建默认首选项文件。
kube-rs - 让Rust在云原生大有可为
这篇博文介绍了作者在开发与Kubernetes交互的Rust应用kty时使用kube-rs库的体验。作者原本更倾向于使用Go语言开发Kubernetes控制器,因为Go生态中有成熟的client-go、controller-runtime和kubebuilder等库。但在尝试使用kube-rs后,作者对Rust生态在与Kubernetes交互方面的能力有了新的看法。
文章重点介绍了kube-rs提供的以下主要功能:
-
资源CRUD操作API,比client-go更简洁,与controller-runtime类似但用起来更像Rust风格。
-
动态API,可获取任意资源并解析为JSON值,支持递归获取所有者引用等高级操作。
-
与Golang的Informer类似,kube-rs提供了Reflector来实时监听资源变化并缓存本地状态。
-
良好的内存管理,提供了一些优化指南。
-
利用Rust的宏系统,可以方便地为自定义资源生成所需代码,而不需要复杂的代码生成工具。
总的来说,作者对kube-rs的功能给予了很高的评价,认为它集成了client-go、controller-runtime和kubebuilder的优点,在Rust生态中可以轻松构建复杂的Kubernetes控制器应用。
https://kty.dev/blog/2024-09-30-use-kube-rs
--
From 日报小组 Mike
社区学习交流平台订阅:
评论区
写评论还没有评论