排序算法
先看排序专题,再决定从哪篇切入
把 TimSort、pdqsort、radix sort、external sort、parallel sort 串成一条工程化阅读路径。
发布来自土法炼钢兴趣小组的知识、笔记、进展和应用。主题包括数据结构和算法、编程语言、网络安全、密码学等。
第一次访问时先按主题切入,比直接沿着时间线翻文章更快。
排序算法
把 TimSort、pdqsort、radix sort、external sort、parallel sort 串成一条工程化阅读路径。
密码学
先理解量子威胁,再顺着 FHE、迁移工程与 TLS 实践继续往下读。
io_uring
适合想快速理解 io_uring 为什么重要、什么场景值得上、怎么开始写代码的读者。
Libevent
如果你关心 Reactor、协议栈集成和生产级事件驱动代码,这条线更适合长期阅读。
把已经形成系列阅读闭环的主题集中在首页,减少在 400 多篇文章里盲找的成本。
按最近更新时间排序;如果你想系统性阅读一个主题,优先回到上面的专题入口。
SSO 只解决认证,SCIM 解决账号的生命周期管理。但 SCIM 2.0 的实现远不是调几个 REST API 那么简单:User/Group schema 的映射、Delta vs Full sync 的同步策略、Patch 操作语义,每个环节都有坑。本文从账号生命周期的四个关键事件出发,拆解 SCIM 2.0 的核心协议、同步模式、Schema 扩展,以及与企业 IdP(Azure AD、Okta)对接的实际工程经验。
从 2020 年 SolarWinds 到 2024 年 Okta 支持系统泄露,身份基础设施的安全失败反复证明一件事:IAM 不是 IT 支撑系统,而是安全架构的承重墙。本文建立现代 IAM 的全景地图——从认证协议、令牌体系、权限模型到身份治理与平台选型,给出 5 个贯穿全系列的核心问题。
OIDC 是当下企业 SSO 的事实标准,但大多数实现只用了它 20% 的规范。本文从 OIDC 核心规范出发,拆解 Authorization Code Flow + PKCE 的完整交互、ID Token 的验证规则、Discovery 与 Dynamic Registration 的互操作性机制,以及 RP-Initiated Logout 和 Session Management 的工程实现细节。
OAuth 2.1 不是新协议,而是对 OAuth 2.0 的安全加固:废除 Implicit Grant 和 Resource Owner Password Grant,强制 PKCE 用于所有使用授权码模式的客户端,要求精确 redirect_uri 比对。本文从 PKCE 的密码学动机出发,拆解 OAuth 2.1 的授权码流程完整交互、Refresh Token 轮换与发送者约束、DPoP 令牌绑定,以及 DCR (Dynamic Client Registration) 和 RAR (Rich Authorization Requests) 的实际应用。
2026 年了,SAML 2.0 这个诞生于 2005 年的标准在 OIDC 的压力下看似日薄西山,但全球超过 70% 的企业 SaaS 产品仍然把 SAML SSO 放在 Enterprise 定价方案的第一行。本文拆解 SAML 2.0 的核心协议模型、SP-Initiated 和 IdP-Initiated 两种 SSO 流程、NameID 的选择策略、SAML Metadata 的互操作性工程,以及 SAML 和 OIDC 在实际企业客户场景中的选型逻辑。
JWT 不等于 JWS。JWS 是签名格式,JWE 是加密格式,JWK 是密钥表示,JWKS 是密钥集合——这四个规范共同构成了 JOSE(JSON Object Signing and Encryption)技术族。本文从 JOSE 体系全景出发,逐层拆解 JWT 的三段式结构、JWS 的签名算法选择(从 HS256 到 EdDSA 的选择逻辑)、JWE 的密钥加密与内容加密双层模型、JWKS 的密钥轮换与缓存策略。
JWT 的无状态设计带来了可扩展性,但让令牌吊销变成了系统性问题——签出去的 JWT 在到期之前全是活令牌。Refresh Token Rotation、Token Introspection、基于事件的吊销通知、撤销列表——这些机制构成了身份系统的'紧急刹车',各自的成本、延迟和覆盖范围完全不同。本文拆解四种吊销机制的工程权衡。
MFA 从'额外的一道验证码'演变为以 WebAuthn/Passkey 为代表的无密码认证体系,但工程落地不是'加个 TOTP 就完事'——TOTP 的种子存储安全、WebAuthn 的 attestation 与 origin 绑定、Passkey 的跨设备同步与 recover 流程、以及各方案在用户流失率和安全强度之间的现实权衡,每一项都影响架构决策。
MFA 是固定策略——启用后每个人每次登录都要输入验证码。风险感知认证(Adaptive/Risk-based Authentication)让认证强度随风险动态调整:从新设备、新位置触发额外验证,到持续的行为分析和会话风险评估。本文拆解风险引擎的信号模型、设备指纹的实现选型、挑战升级的 UX 设计,以及硅谷大厂的实践对比。
前 9 篇讨论的都是'人'的身份——用户怎么登录、怎么验证。但微服务世界中,80% 的 API 调用是服务之间的。服务身份(Workload Identity)是整个 IAM 体系的另一半:mTLS 解决'传输层你是谁',SPIFFE/SPIRE 解决'在平台层你是谁且怎么证明',JWT Profile for OAuth 解决'我怎么拿到一个服务身份的 Token'。本文从这三条线拆解服务身份的工程实现。
RBAC 简单但会角色爆炸,ABAC 灵活但策略管理失控时更可怕,ReBAC 表达力强但引入了图遍历的性能约束。三种模型不是'选一个升级另一个'的线性关系,而是在表达能力、管理成本和性能三者之间做工程权衡。本文从每种模型的本质数据结构出发,拆解选型框架。
Google Zanzibar 论文在 2019 年发布后,引发了开源授权系统的一波重新设计:Auth0 FGA、SpiceDB、Permify、Ory Keto——全都基于 Zanzibar 的'关系图+命名空间配置'模型。但论文本身只讲了 What,没深入 Why。本文从 Zanzibar 的 relation tuple 模型、namespace config 的语义、consistency 模型(Zookie)和工程权衡出发,拆解为什么 Zanzibar 的设计决策是这样的,以及你自己实现时要面对什么。
OPA 是 CNCF 的策略引擎标准答案,Rego 是它的策略语言;Cedar 是 AWS 开源的新竞争者,基于 Rust 的 WASM 编译执行、语法更接近 SQL。两者在架构模式(sidecar vs 中心化)、策略语言设计哲学和性能特征上有根本差异。本文从策略引擎的架构模式出发,拆解 OPA Rego 的核心语义与性能限制、Cedar 的设计取舍,以及策略即代码(Policy as Code)在 CI/CD 中的落地。
多租户权限系统是 IAM 中工程复杂度最高的场景之一——每个租户想要自己的角色、自己的组织树、自己的审批流和完全隔离的数据。这四种需求会互相冲突。本文从租户隔离模型出发,拆解四层权限架构、租户级 RBAC 的扩展方案、组织树与数据权限的联动,以及跨租户授权(如第三方服务商访问客户数据)的架构设计。
API Gateway 是 IAM 的边界执行点——OAuth Token 的验证、Rate Limit 的绑定、请求级的授权决策都发生在这里。但网关层的认证授权逻辑应该做多厚?BFF(Backend for Frontend)模式把 Session 管理和 Token 兑换从浏览器移回后端后,网关的角色有什么变化?本文从网关层的认证授权架构出发,拆解三种部署模式及其安全边界。