返回首页
最新
你好,HN!<p>作为一名长期的专业Rust开发者,我一直对生成其他语言的绑定(无论是前端、FFI库等)的困难和“黑客”性质感到沮丧。<p>这种情况不仅存在于Rust中,在任何语言中都是如此。<p>经过多年的尝试现有解决方案和尝试自己开发解决方案,我终于开发出一个让我非常满意的解决方案。<p>RTK(即Rust类型工具包)允许你编写Lua脚本,对你的代码进行查询,例如对Axum的`.route`进行方法调用、函数定义等,然后接收丰富的类型信息,包括所有参数类型、函数路径、过程宏属性等。<p>你的Lua脚本可以读取这些信息,并生成你选择的任何语言的输出文件。或者,你也可以生成编译器错误,将其用作某种静态检查工具。你甚至可以直接重新生成Rust代码,并将其用作更丰富的过程宏解决方案!<p>代码示例有点冗长,因此我鼓励你查看一下仓库的README。我期待听到你的想法,或者你可能想到的任何用例!
我正在成为这项经典技术的追随者。这是将互联网与简单生活连接起来的绝佳方式。
不过,找到稳定的RSS源可能会有些棘手。我很好奇是否有一些常用的源或档案可以参考。
我们正在使用 Dagster 运行 dbt,并在 8 个月内增长到了大约 300 个模型。编译时间已经增加到 30 秒以上,我能感受到潜在的问题。
如果我们继续以相同的速度增长到 3000 个模型(预计在 2-3 年内达到),那么编译时间可能会达到 5 分钟以上。
有没有其他人也在使用 dbt 时遇到过这种扩展瓶颈?在达到多少个模型时,编译时间变得令人痛苦?希望能听到一些经验分享,或者如果其他人发现更快的替代方案会很有帮助。