2026年7月6日 无需学习时序逻辑即可对代码进行模型检验 像Kani这样的有界模型检验器和像Alloy这样的关系模型查找器允许你用普通的断言和约束来验证性质。你放弃了活性证明,换来的是以小时而非周为单位的学习曲线。 model-checkingtemporal-logicformal-methodsverification
2026年7月5日 不写一行证明也能证明 Rust 代码正确,但状态空间就是代价 像 Kani 这样的模型检验工具让你可以用断言代替形式化证明来验证 Rust 性质。棘手之处在于,当你的循环没有小的边界时会发生什么。 model-checkingrustverificationformal-methods
2026年7月4日 无法对分布式协议做单元测试,但可以做模型检验 分布式缺陷在部署后修复成本高昂。模型检验能让你在写下第一行实现代码之前就发现它们。以下是如何使用 TLA+ 做到这一点。 model-checkingdistributed-systemstlaplusprotocol-design
2026年7月3日 跨环境复制 `.env` 文件不是配置策略 基础设施团队如何使用按上下文划分的 DSL 来管理 dev、staging 和 production 之间的配置,使环境差异显式且类型安全。 dsls-bounded-contextinfrastructureconfig-managementdevops
2026年7月2日 语法约束解码: 让每个 token 都强制 LLM 输出有效语法 LLM 会对语法产生幻觉,因为它们以概率方式采样 token。语法约束解码在每一步过滤词表,只输出保持语法有效性的 token。 dsls-bounded-contextllmconstrained-generationgrammar
2026年7月1日 从英语翻译到主题很容易。使其具备确定性才是真正的问题。 你可以从简单的英语描述中生成设计令牌,但前提是将该描述视为带有模式契约和快照测试的限界上下文DSL。 dsls-bounded-contextdesign-systemsllmthemes
2026年6月30日 丢掉语法文件:用纯 TypeScript 写你的 DSL 解析器 对于大多数 bounded-context 的 DSL 来说,解析器生成器是大材小用。解析器组合子让你可以用与应用相同的语言构建可用的解析器,无需生成代码,也无需构建步骤。 dsls-bounded-contextdslparser-combinatorstypescript
2026年6月29日 运行时配置错误是你选择允许的生产故障 如何使用模式验证和构建时检查,在应用程序开始处理流量之前捕获配置错误。 dsls-bounded-contextconfig-validationtypescriptschemas
2026年6月28日 你的依赖能读取环境变量。JavaScript允许它们这么做 Ambient Authority意味着Node.js进程中的任何代码都能触碰文件系统、网络和运行环境。本文将讲解如何通过lockdown、compartment和显式capability传递来剥除它。 capability-based-securityjavascriptambient-authoritysandboxing
2026年6月27日 网络邻近性不等于身份:服务如何在不依赖环境权威的情况下完成认证 大多数服务间信任来自网络位置,而非密码学证明。本文介绍能力令牌、mTLS 和 SPIFFE 如何让服务在不依赖环境权威的前提下完成认证,以及为何这做起来比想象中困难。 capability-based-securityauthenticationzero-trustservices