构建一个Rust运行时反射系统(第一篇)
作者的公司在做一款叫oso的产品,旨在通过提供一门叫Polar的申明式语言,方便用户编写策略文件和用户自身应用逻辑解耦来解决authorization的问题。官方提供了不同语言的库来解析这些策略,作者打算写三篇文章来分享他们在用Rust解析的时候涉及到的动态反射的问题,以及他们的解决方案。
为了方便大家了解它们的Polar语言,我在他们官网摘了一小段:
allow(actor: String, "GET", _expense: Expense) if
actor.endswith("@example.com");
链接:https://www.osohq.com/post/rust-reflection-pt-1
Building even faster interpreters in Rust
作者在Cloudflare实习,其中一部分工作是用Rust给防火墙规则(Firewall Rules )编写匹配引擎,这篇文章里面作者分享了他在这一方面的优化经验。
链接:https://blog.cloudflare.com/how-we-made-firewall-rules/