Loading...
All Articles - 1748
2026
密码学 18:mTLS 与 TLS 终止后,客户端、代理和后端分别信谁
密码学 18:mTLS 与 TLS 终止后,客户端、代理和后端分别信谁
密码学 17:恢复连接、PSK 与 0-RTT 省掉了什么
密码学 17:恢复连接、PSK 与 0-RTT 省掉了什么
密码学 16:TLS 怎样保护每条记录
密码学 16:TLS 怎样保护每条记录
密码学 15:TLS 1.3 握手逐步解释
密码学 15:TLS 1.3 握手逐步解释
密码学 14:证书为什么能绑定服务名与公钥
密码学 14:证书为什么能绑定服务名与公钥
密码学 13:正确公钥从哪里来
密码学 13:正确公钥从哪里来
密码学 12:数字签名验证了什么
密码学 12:数字签名验证了什么
密码学 11:一个秘密为什么派生多把密钥
密码学 11:一个秘密为什么派生多把密钥
密码学 10:两端如何得到共同秘密,为什么仍怕中间人
密码学 10:两端如何得到共同秘密,为什么仍怕中间人
密码学 09:模运算、群与困难问题需要多少数学
密码学 09:模运算、群与困难问题需要多少数学
密码学 08:密码为什么不能直接做 SHA-256
密码学 08:密码为什么不能直接做 SHA-256
密码学 07:AEAD 怎样保护内容与上下文
密码学 07:AEAD 怎样保护内容与上下文
密码学 06:对称加密为什么不能单独认证消息
密码学 06:对称加密为什么不能单独认证消息
密码学 05:随机数、salt、IV 与 nonce 各要求什么
密码学 05:随机数、salt、IV 与 nonce 各要求什么
密码学 04:HMAC 为什么需要秘密
密码学 04:HMAC 为什么需要秘密
密码学 03:哈希能证明什么
密码学 03:哈希能证明什么
密码学 02:密码学处理哪些字节
密码学 02:密码学处理哪些字节
密码学 01:窃听、篡改、冒充与重放怎样分开
密码学 01:窃听、篡改、冒充与重放怎样分开
密码学 00:从 HTTPS 与交易两张图开始
密码学 00:从 HTTPS 与交易两张图开始
密码学 19:QUIC 如何复用 TLS 而自行保护数据包
密码学 19:QUIC 如何复用 TLS 而自行保护数据包
密码学 21:VPN 的密钥怎样建立——IKEv2、IPsec 与安全关联
密码学 21:VPN 的密钥怎样建立——IKEv2、IPsec 与安全关联
密码学 20:SSH 为什么既有主机密钥,又有登录密钥
密码学 20:SSH 为什么既有主机密钥,又有登录密钥
密码学 23:API 请求认证为什么还需要规范化、时间与消费状态
密码学 23:API 请求认证为什么还需要规范化、时间与消费状态
密码学 22:DNSSEC 与 DoH、DoT 各保护哪一段
密码学 22:DNSSEC 与 DoH、DoT 各保护哪一段
密码学 24:JWT、JWS 与 JWE——可读令牌、签名令牌和加密令牌
密码学 24:JWT、JWS 与 JWE——可读令牌、签名令牌和加密令牌
密码学 25:WebAuthn 与 passkey——网站验证什么,用户验证在哪里
密码学 25:WebAuthn 与 passkey——网站验证什么,用户验证在哪里
密码学 26:私钥、公钥、地址与钱包为什么是不同对象
密码学 26:私钥、公钥、地址与钱包为什么是不同对象
密码学 27:Bitcoin 交易到底签哪些字节——UTXO、锁定条件与 sighash
密码学 27:Bitcoin 交易到底签哪些字节——UTXO、锁定条件与 sighash
密码学 28:Ethereum 交易与 EIP-712 授权——两个 nonce 与两个验证点
密码学 28:Ethereum 交易与 EIP-712 授权——两个 nonce 与两个验证点
密码学 29:Merkle 包含证明究竟证明什么——叶、路径、根与可信区块头
密码学 29:Merkle 包含证明究竟证明什么——叶、路径、根与可信区块头
密码学 30:PoW、哈希链接与共识——签名为什么不能决定共同历史
密码学 30:PoW、哈希链接与共识——签名为什么不能决定共同历史
密码学 32:Schnorr 与 Taproot——签名结构怎样改变支出与披露
密码学 32:Schnorr 与 Taproot——签名结构怎样改变支出与披露
密码学 31:HD 钱包和助记词——备份如何恢复很多密钥
密码学 31:HD 钱包和助记词——备份如何恢复很多密钥
密码学 35:有效性证明为什么不自动给出隐私、可用性与最终结果
密码学 35:有效性证明为什么不自动给出隐私、可用性与最终结果
密码学 36:密钥如何生成、保存、轮换与撤销——KMS、信封加密与恢复
密码学 36:密钥如何生成、保存、轮换与撤销——KMS、信封加密与恢复
密码学 34:承诺与零知识——公开输入、秘密见证与证明关系
密码学 34:承诺与零知识——公开输入、秘密见证与证明关系
密码学 37:算法正确为什么仍会失败——随机数复用、侧信道与验证边界
密码学 37:算法正确为什么仍会失败——随机数复用、侧信道与验证边界
密码学 33:BLS 为什么适合聚合投票——账户签名与验证者签名
密码学 33:BLS 为什么适合聚合投票——账户签名与验证者签名
密码学 38:结课一——解释并验证一次 HTTPS 订单请求
密码学 38:结课一——解释并验证一次 HTTPS 订单请求
密码学 39:结课二——经 HTTPS 提交交易,分别验证通信与账本
密码学 39:结课二——经 HTTPS 提交交易,分别验证通信与账本
密码学 E02:后量子 KEM、ML-KEM、ML-DSA 与混合握手
密码学 E02:后量子 KEM、ML-KEM、ML-DSA 与混合握手
密码学 E03:Noise 与 WireGuard——握手模式、身份与密钥更新
密码学 E03:Noise 与 WireGuard——握手模式、身份与密钥更新
密码学 E01:TLS 1.2 的 RSA 密钥传输与 ECDHE——历史资料为什么容易混淆
密码学 E01:TLS 1.2 的 RSA 密钥传输与 ECDHE——历史资料为什么容易混淆
密码学 E04:多签、阈值签名与 MPC——共同控制怎样表达
密码学 E04:多签、阈值签名与 MPC——共同控制怎样表达
密码学 E05:SNARK/STARK 与多项式承诺——证明成本和假设从哪里来
密码学 E05:SNARK/STARK 与多项式承诺——证明成本和假设从哪里来
密码学 E06:证书透明度与可验证日志——包含、追加一致性与监视
密码学 E06:证书透明度与可验证日志——包含、追加一致性与监视
密码学 E08:安全定义与协议审查——IND-CPA、IND-CCA、EUF-CMA
密码学 E08:安全定义与协议审查——IND-CPA、IND-CCA、EUF-CMA
密码学 E07:端到端加密与 Double Ratchet——服务器还能看见什么
密码学 E07:端到端加密与 Double Ratchet——服务器还能看见什么
区块链(E08):有限模型、fuzz 与形式化证明的边界
区块链(E08):有限模型、fuzz 与形式化证明的边界
区块链(E07):用 Polkadot 对照应用链与共享安全
区块链(E07):用 Polkadot 对照应用链与共享安全
区块链(E06):CID、存储证明与能下载交付文件之间差多少
区块链(E06):CID、存储证明与能下载交付文件之间差多少
区块链(E05):DeFi、NFT、DAO 各自在哪一步会失真
区块链(E05):DeFi、NFT、DAO 各自在哪一步会失真
区块链(E04):智能钱包、代付与会话权限怎样收回
区块链(E04):智能钱包、代付与会话权限怎样收回
区块链(E03):SNARK/STARK 的约束、设置与成本如何分别验证
区块链(E03):SNARK/STARK 的约束、设置与成本如何分别验证
区块链(E02):SegWit、Schnorr 与 Taproot 的三个升级维度
区块链(E02):SegWit、Schnorr 与 Taproot 的三个升级维度
区块链(E01):Lightning 通道、HTLC 与链上退出
区块链(E01):Lightning 通道、HTLC 与链上退出
区块链(47):选数据库、签名日志、许可链还是公链
区块链(47):选数据库、签名日志、许可链还是公链
区块链(46):三条订单协作路径各把信任交给谁
区块链(46):三条订单协作路径各把信任交给谁
区块链(45):钱包、RPC、预言机、扩容与应用的依赖地图
区块链(45):钱包、RPC、预言机、扩容与应用的依赖地图
区块链(44):Sui 对象与 Aptos 账户不是一个 Move 数据模型
区块链(44):Sui 对象与 Aptos 账户不是一个 Move 数据模型
区块链(43):Cosmos 与 Avalanche 是两条不同的应用链路线
区块链(43):Cosmos 与 Avalanche 是两条不同的应用链路线
区块链(42):Solana 的 PoH、账户并行与共识升级各做什么
区块链(42):Solana 的 PoH、账户并行与共识升级各做什么
区块链(41):Ethereum 从 PoW/EVM 到分离执行、权益共识与 blob
区块链(41):Ethereum 从 PoW/EVM 到分离执行、权益共识与 blob
区块链(40):Bitcoin 的软分叉、钱包协作与链外支付分层
区块链(40):Bitcoin 的软分叉、钱包协作与链外支付分层
区块链(39):按证明对象分类,而非排列“新一代共识”
区块链(39):按证明对象分类,而非排列“新一代共识”
区块链(38):从合成订单到最终对账需要哪些证据
区块链(38):从合成订单到最终对账需要哪些证据
区块链(37):比较吞吐之前先定义哪一种完成
区块链(37):比较吞吐之前先定义哪一种完成
区块链(36):节点备份、RPC 与终局停滞不能混成“服务异常”
区块链(36):节点备份、RPC 与终局停滞不能混成“服务异常”
区块链(35):Fabric 的背书、排序与有效提交是三个阶段
区块链(35):Fabric 的背书、排序与有效提交是三个阶段
区块链(34):Validity rollup 的证明到底验证哪条命题
区块链(34):Validity rollup 的证明到底验证哪条命题
区块链(33):状态可验证、数据可取得与跨域可领取各有门槛
区块链(33):状态可验证、数据可取得与跨域可领取各有门槛
区块链(32):Optimistic rollup 的挑战窗口给谁留时间
区块链(32):Optimistic rollup 的挑战窗口给谁留时间
区块链(31):通道、侧链与 rollup 把哪些责任移出主链
区块链(31):通道、侧链与 rollup 把哪些责任移出主链
区块链(30):同一组有效交易也能产生不同经济结果
区块链(30):同一组有效交易也能产生不同经济结果
区块链(29):预言机能提交数据,不能把现实交付变成定理
区块链(29):预言机能提交数据,不能把现实交付变成定理
区块链(28):索引器怎样在断线与重组后重算订单
区块链(28):索引器怎样在断线与重组后重算订单
区块链(27):响应丢失时不能凭交易哈希重做订单
区块链(27):响应丢失时不能凭交易哈希重做订单
区块链(26):代理升级把信任转移给了谁
区块链(26):代理升级把信任转移给了谁
区块链(25):把 ERC-20 接进托管后,“收到 70”仍要核算
区块链(25):把 ERC-20 接进托管后,“收到 70”仍要核算
区块链(24):fuzz 和 invariant 要围住哪笔资产
区块链(24):fuzz 和 invariant 要围住哪笔资产
区块链(23):外部调用前后的资产账本怎样保持一致
区块链(23):外部调用前后的资产账本怎样保持一致
区块链(22):签名域正确仍会发生业务重放
区块链(22):签名域正确仍会发生业务重放
区块链(21):ABI、数据位置与事件各承诺什么
区块链(21):ABI、数据位置与事件各承诺什么
区块链(20):教学托管合约先写清谁能推动状态
区块链(20):教学托管合约先写清谁能推动状态
区块链(19):revert 以后为什么仍要核算 Gas 与 nonce
区块链(19):revert 以后为什么仍要核算 Gas 与 nonce
区块链(18):EVM 执行后哪些状态进入状态根
区块链(18):EVM 执行后哪些状态进入状态根
区块链(17):执行、共识客户端与验证者怎样拼成一个节点
区块链(17):执行、共识客户端与验证者怎样拼成一个节点
区块链(16):Gasper 中链头与终局是两次不同判断
区块链(16):Gasper 中链头与终局是两次不同判断
区块链(15):PoS 权重、普通惩罚与可罚没行为
区块链(15):PoS 权重、普通惩罚与可罚没行为
区块链(14):PBFT 的法定集合为何需要换主证明
区块链(14):PBFT 的法定集合为何需要换主证明
区块链(13):沿交易和候选块追踪 Bitcoin 总体架构
区块链(13):沿交易和候选块追踪 Bitcoin 总体架构
区块链(12):全节点、裁剪节点与轻客户端查的不是同一件事
区块链(12):全节点、裁剪节点与轻客户端查的不是同一件事
区块链(11):重组时撤销的不是一个确认数字
区块链(11):重组时撤销的不是一个确认数字
区块链(10):交易池与 P2P 为什么不能当共识账本
区块链(10):交易池与 P2P 为什么不能当共识账本
区块链(09):为何最长链未必有最多累计工作
区块链(09):为何最长链未必有最多累计工作
区块链(08):钱包、描述符与 PSBT 的签名边界
区块链(08):钱包、描述符与 PSBT 的签名边界
区块链(07):Script、时间锁和见证不是一件事
区块链(07):Script、时间锁和见证不是一件事
区块链(06):Bitcoin 原始交易如何花费、找零和付费
区块链(06):Bitcoin 原始交易如何花费、找零和付费
区块链(05):同一笔支付在 UTXO 与账户账本里的两种状态迁移
区块链(05):同一笔支付在 UTXO 与账户账本里的两种状态迁移
区块链(04):Merkle 包含证明需要可信根
区块链(04):Merkle 包含证明需要可信根
区块链(03):签名证明授权了哪条消息
区块链(03):签名证明授权了哪条消息
区块链(02):哈希之前,先说清究竟签了哪些字节
区块链(02):哈希之前,先说清究竟签了哪些字节
区块链(01):两份签名都正确,账本仍会冲突
区块链(01):两份签名都正确,账本仍会冲突
区块链(00):从中心化订单基线开始
区块链(00):从中心化订单基线开始
Java EE 企业应用 11:服务端审批页面怎样处理提交与渲染
Java EE 企业应用 11:服务端审批页面怎样处理提交与渲染
Java EE 企业应用 23:业务写入与通知任务怎样避免双写缺口
Java EE 企业应用 23:业务写入与通知任务怎样避免双写缺口
Java EE 企业应用 22:请求重试怎样避免重复创建采购订单
Java EE 企业应用 22:请求重试怎样避免重复创建采购订单
Java EE 企业应用 21:并发审批怎样避免覆盖和死锁
Java EE 企业应用 21:并发审批怎样避免覆盖和死锁
Java EE 企业应用 20:数据库隔离怎样影响审批时看到的数据
Java EE 企业应用 20:数据库隔离怎样影响审批时看到的数据
Java EE 企业应用 19:异常、调用入口与事务边界怎样配合
Java EE 企业应用 19:异常、调用入口与事务边界怎样配合
Java EE 企业应用 10:DTO、JSON 与校验怎样保护业务入口
Java EE 企业应用 10:DTO、JSON 与校验怎样保护业务入口
Java EE 企业应用 18:本地事务与 Jakarta Transactions 谁负责提交
Java EE 企业应用 18:本地事务与 Jakarta Transactions 谁负责提交
Java EE 企业应用 09:REST 资源怎样表达采购操作
Java EE 企业应用 09:REST 资源怎样表达采购操作
Java EE 企业应用 34:批处理检查点与重启
Java EE 企业应用 34:批处理检查点与重启
Java EE 企业应用 33:受管执行器与有界轮询
Java EE 企业应用 33:受管执行器与有界轮询
Java EE 企业应用 32:外部 HTTP 超时与未知结果
Java EE 企业应用 32:外部 HTTP 超时与未知结果
Java EE 企业应用 31:消费重投、去重与死信
Java EE 企业应用 31:消费重投、去重与死信
Java EE 企业应用 30:从 Outbox 到真实消息队列
Java EE 企业应用 30:从 Outbox 到真实消息队列
Java EE 企业应用 17:连接池与数据库连接预算
Java EE 企业应用 17:连接池与数据库连接预算
Java EE 企业应用 16:Schema 迁移与应用版本窗口
Java EE 企业应用 16:Schema 迁移与应用版本窗口
Java EE 企业应用 15:稳定排序、索引与分页怎样配合
Java EE 企业应用 15:稳定排序、索引与分页怎样配合
Java EE 企业应用 14:DAO 接口不能替事务做决定
Java EE 企业应用 14:DAO 接口不能替事务做决定
Java EE 企业应用 13:SQL 参数、类型与行映射的边界
Java EE 企业应用 13:SQL 参数、类型与行映射的边界
Java EE 企业应用 12:JDBC 资源从借用到归还
Java EE 企业应用 12:JDBC 资源从借用到归还
Java EE 企业应用 05:服务器资源与受管调用契约
Java EE 企业应用 05:服务器资源与受管调用契约
Java EE 企业应用 04:CDI 如何创建、选择与销毁对象
Java EE 企业应用 04:CDI 如何创建、选择与销毁对象
JPA 持久化 08:Schema 迁移与集成测试的证据边界
JPA 持久化 08:Schema 迁移与集成测试的证据边界
Java EE 企业应用 08:会话怎样保存登录态并处理并发请求
Java EE 企业应用 08:会话怎样保存登录态并处理并发请求
Java EE 企业应用 39:一个企业应用怎样完成交付验收
Java EE 企业应用 39:一个企业应用怎样完成交付验收
Java EE 企业应用 38:发布与回退怎样覆盖应用、配置和数据库
Java EE 企业应用 38:发布与回退怎样覆盖应用、配置和数据库
Java EE 企业应用 37:吞吐、尾延迟与资源预算怎样共同测量
Java EE 企业应用 37:吞吐、尾延迟与资源预算怎样共同测量
Java EE 企业应用 36:一次采购操作怎样关联日志、指标与追踪
Java EE 企业应用 36:一次采购操作怎样关联日志、指标与追踪
Java EE 企业应用 35:哪些测试必须运行在真实数据库和容器里
Java EE 企业应用 35:哪些测试必须运行在真实数据库和容器里
JPA 持久化 06:抓取、N+1 与缓存不能混为一谈
JPA 持久化 06:抓取、N+1 与缓存不能混为一谈
JPA 持久化 05:JPQL、Criteria 与原生查询的边界
JPA 持久化 05:JPQL、Criteria 与原生查询的边界
JPA 持久化 07:本地事务、JTA 与冲突
JPA 持久化 07:本地事务、JTA 与冲突
Java EE 企业应用 07:Filter 与 Listener 怎样参与请求生命周期
Java EE 企业应用 07:Filter 与 Listener 怎样参与请求生命周期
JPA 持久化 04:继承、关联与所有权
JPA 持久化 04:继承、关联与所有权
JPA 持久化 03:类型、值对象与主键
JPA 持久化 03:类型、值对象与主键
Java EE 企业应用 06:一个 HTTP 请求怎样进入 Servlet
Java EE 企业应用 06:一个 HTTP 请求怎样进入 Servlet
Java EE 企业应用 03:WAR、EAR 与类加载边界如何影响交付
Java EE 企业应用 03:WAR、EAR 与类加载边界如何影响交付
Java EE 企业应用 02:模块化单体如何隔离采购规则与技术入口
Java EE 企业应用 02:模块化单体如何隔离采购规则与技术入口
企业应用架构23:综合模式选择与架构评审
企业应用架构23:综合模式选择与架构评审
企业应用架构22:Strangler 与 Branch by Abstraction
企业应用架构22:Strangler 与 Branch by Abstraction
企业应用架构21:插件、业务扩展点与产品变化
企业应用架构21:插件、业务扩展点与产品变化
企业应用架构20:多租户隔离与配置
企业应用架构20:多租户隔离与配置
企业应用架构19:工作流人任务与版本演进
企业应用架构19:工作流人任务与版本演进
企业应用架构18:Saga补偿与持久化恢复
企业应用架构18:Saga补偿与持久化恢复
企业应用架构17:Request-Reply关联与超时恢复
企业应用架构17:Request-Reply关联与超时恢复
企业应用架构16:拆单路由与交付结果聚合
企业应用架构16:拆单路由与交付结果聚合
企业应用架构15:Channel、Endpoint与Translator的真实消息边界
企业应用架构15:Channel、Endpoint与Translator的真实消息边界
企业应用架构14:幂等、Outbox与Inbox的退出恢复
企业应用架构14:幂等、Outbox与Inbox的退出恢复
企业应用架构13:Event Sourcing与持久事件重放
企业应用架构13:Event Sourcing与持久事件重放
企业应用架构12:CQRS与可重建读模型
企业应用架构12:CQRS与可重建读模型
企业应用架构11:MVC、Presentation Model与展示分离
企业应用架构11:MVC、Presentation Model与展示分离
企业应用架构10:DTO、Assembler与远程边界
企业应用架构10:DTO、Assembler与远程边界
企业应用架构09:乐观、悲观并发与事务边界
企业应用架构09:乐观、悲观并发与事务边界
JPA 持久化 E02:乐观锁以外的并发边界
JPA 持久化 E02:乐观锁以外的并发边界
企业应用架构08:聚合映射、继承与Lazy Load
企业应用架构08:聚合映射、继承与Lazy Load
企业应用架构07:Identity Map与Unit of Work
企业应用架构07:Identity Map与Unit of Work
企业应用架构06:Repository、Gateway与查询对象
企业应用架构06:Repository、Gateway与查询对象
企业应用架构05:Active Record与Data Mapper
企业应用架构05:Active Record与Data Mapper
企业应用架构04:模块化单体与上下文边界
企业应用架构04:模块化单体与上下文边界
企业应用架构03:分层与端口适配器
企业应用架构03:分层与端口适配器
企业应用架构02:Service Layer 与用例边界
企业应用架构02:Service Layer 与用例边界
企业应用架构01:三种领域逻辑组织
企业应用架构01:三种领域逻辑组织
企业应用架构00:模式地图与租赁基线
企业应用架构00:模式地图与租赁基线
软件建模E11:企业架构中的业务与技术对齐
软件建模E11:企业架构中的业务与技术对齐
JPA 持久化 E01:实体图与批量读取
JPA 持久化 E01:实体图与批量读取
软件建模E10:架构描述标准与文档框架
软件建模E10:架构描述标准与文档框架
软件建模E09:4+1 与 C4 的多视角表达
软件建模E09:4+1 与 C4 的多视角表达
软件建模E08:用DMN真实执行资格规则与阈值变更
软件建模E08:用DMN真实执行资格规则与阈值变更
软件建模E07:REA资源、事件与代理的交换语义
软件建模E07:REA资源、事件与代理的交换语义
软件建模E06:Feature Model与软件产品线
软件建模E06:Feature Model与软件产品线
软件建模E05:本体、知识图谱与语义建模
软件建模E05:本体、知识图谱与语义建模
软件建模E04:EMF最小工具链,Ecore与XMI的真实往返
软件建模E04:EMF最小工具链,Ecore与XMI的真实往返
软件建模E03:TLA+有限模型检查,找到重复承诺的执行次序
软件建模E03:TLA+有限模型检查,找到重复承诺的执行次序
软件建模E02:维度建模,粒度与历史怎样改变报表
软件建模E02:维度建模,粒度与历史怎样改变报表
软件建模E01:Object-Role Modeling,从事实与约束开始
软件建模E01:Object-Role Modeling,从事实与约束开始
JPA 持久化 09:采购审批综合应用
JPA 持久化 09:采购审批综合应用
Java EE 企业应用 01:把采购审批需求写成可检查的规则
Java EE 企业应用 01:把采购审批需求写成可检查的规则
Java EE 企业应用 24:认证身份怎样进入采购业务
Java EE 企业应用 24:认证身份怎样进入采购业务
Java EE 企业应用 26:租户上下文从哪里来,SQL 才能相信它
Java EE 企业应用 26:租户上下文从哪里来,SQL 才能相信它
Java EE 企业应用 27:CSRF、XSS、SQL 注入与 CORS 各挡在哪里
Java EE 企业应用 27:CSRF、XSS、SQL 注入与 CORS 各挡在哪里
Java EE 企业应用 28:审批审计何时与业务一起提交
Java EE 企业应用 28:审批审计何时与业务一起提交
Java EE 企业应用 29:附件与导出在哪些资源边界失败
Java EE 企业应用 29:附件与导出在哪些资源边界失败
Java EE 企业应用 25:角色许可为何不能代替对象权限
Java EE 企业应用 25:角色许可为何不能代替对象权限
Java EE 企业应用 E01:WebSocket 推送不是审批状态的账本
Java EE 企业应用 E01:WebSocket 推送不是审批状态的账本
Java EE 企业应用 E02:邮件提交成功离收件人看到还差几步
Java EE 企业应用 E02:邮件提交成功离收件人看到还差几步
Java EE 企业应用 E03:有状态会话、单例与定时器各保存什么
Java EE 企业应用 E03:有状态会话、单例与定时器各保存什么
Java EE 企业应用 E04:用一个本地 SOAP 系统划定遗留集成边界
Java EE 企业应用 E04:用一个本地 SOAP 系统划定遗留集成边界
Java EE 企业应用 E05:两项真实 XA 资源如何在崩溃后定案
Java EE 企业应用 E05:两项真实 XA 资源如何在崩溃后定案
Java EE 企业应用 E06:同一采购用例在 Jakarta EE 与 Spring Boot/MyBatis 的职责对照
Java EE 企业应用 E06:同一采购用例在 Jakarta EE 与 Spring Boot/MyBatis 的职责对照
Java EE 企业应用 E07:`javax` 改名之前先锁定旧系统契约
Java EE 企业应用 E07:`javax` 改名之前先锁定旧系统契约
Java EE 企业应用 E08:同一 WAR 在第二运行时能证明什么
Java EE 企业应用 E08:同一 WAR 在第二运行时能证明什么
软件建模39:综合评审——怎样证明模型值得维护
软件建模39:综合评审——怎样证明模型值得维护
软件建模38:从领域模型到应用架构——哪些决定还没有作出
软件建模38:从领域模型到应用架构——哪些决定还没有作出
软件建模37:遗留系统建模——表和代码已经存在怎么办
软件建模37:遗留系统建模——表和代码已经存在怎么办
软件建模36:同题比较——分析模式、四色、DDD与FDD怎样配合
软件建模36:同题比较——分析模式、四色、DDD与FDD怎样配合
软件建模35:函数式领域建模——类型、纯函数与显式状态变化
软件建模35:函数式领域建模——类型、纯函数与显式状态变化
软件建模34:漂移、往返与版本
软件建模34:漂移、往返与版本
软件建模33:模型到代码,生成、解释与手写如何分工
软件建模33:模型到代码,生成、解释与手写如何分工
软件建模32:模型校验与业务约束
软件建模32:模型校验与业务约束
软件建模31:CIM、PIM与PSM的受限转换
软件建模31:CIM、PIM与PSM的受限转换
软件建模30:模型、元模型与DSL
软件建模30:模型、元模型与DSL
软件建模29:Model-Driven Design、MDD、MDE与MDA
软件建模29:Model-Driven Design、MDD、MDE与MDA
软件建模28:深层模型与持续重构
软件建模28:深层模型与持续重构
软件建模27:应用用例、Repository 与领域事件
软件建模27:应用用例、Repository 与领域事件
软件建模26:Domain Service、Specification与Factory
软件建模26:Domain Service、Specification与Factory
软件建模25:Aggregate与一致性边界
软件建模25:Aggregate与一致性边界
软件建模24:Entity、Value Object 与身份
软件建模24:Entity、Value Object 与身份
软件建模23:上下文地图与防腐层
软件建模23:上下文地图与防腐层
软件建模22:子域与限界上下文
软件建模22:子域与限界上下文
软件建模21:Event Modeling
软件建模21:Event Modeling
软件建模20:EventStorming
软件建模20:EventStorming
软件建模19:统一语言与知识消化
软件建模19:统一语言与知识消化
软件建模18:FDD 按 feature 设计与构建
软件建模18:FDD 按 feature 设计与构建
软件建模17:FDD 的整体模型与计划
软件建模17:FDD 的整体模型与计划
软件建模16:四色与领域无关组件
软件建模16:四色与领域无关组件
软件建模15:四种 archetype
软件建模15:四种 archetype
软件建模14:计划、资源与承诺
软件建模14:计划、资源与承诺
软件建模13:账户、分录与费用
软件建模13:账户、分录与费用
软件建模12:有效时间与记录时间
软件建模12:有效时间与记录时间
软件建模11:分类、规格与类型对象
软件建模11:分类、规格与类型对象
软件建模10:Quantity、Measurement 与 Observation
软件建模10:Quantity、Measurement 与 Observation
软件建模09:Party、Role 与责任
软件建模09:Party、Role 与责任
软件建模08:分析模式的复用
软件建模08:分析模式的复用
软件建模07:时间、数量与身份
软件建模07:时间、数量与身份
软件建模06:状态、流程和决策
软件建模06:状态、流程和决策
软件建模05:UML 类图与交互图
软件建模05:UML 类图与交互图
软件建模04:OO 分析与 CRC
软件建模04:OO 分析与 CRC
软件建模03:ER 与数据建模
软件建模03:ER 与数据建模
软件建模02:结构化分析与数据流
软件建模02:结构化分析与数据流
软件建模01:场景、用例与规则
软件建模01:场景、用例与规则
软件建模00:模型帮助作出什么决定
软件建模00:模型帮助作出什么决定
JPA 持久化 02:脏检查、flush 与回滚的三道边界
JPA 持久化 02:脏检查、flush 与回滚的三道边界
深入 Play E08:国际化、内容协商与缓存隔离
深入 Play E08:国际化、内容协商与缓存隔离
深入 Play E07:虚拟线程与阻塞 IO,等待发生在哪里
深入 Play E07:虚拟线程与阻塞 IO,等待发生在哪里
深入 Play E06:OpenTelemetry,从上下文到真实接收证据
深入 Play E06:OpenTelemetry,从上下文到真实接收证据
深入 Play E05:Pekko Actor 的邮箱、状态与生命周期
深入 Play E05:Pekko Actor 的邮箱、状态与生命周期
深入 Play E04:Pekko HTTP 与 Netty,相同 Controller 的传输边界
深入 Play E04:Pekko HTTP 与 Netty,相同 Controller 的传输边界
深入 Play E03:Ebean 与 Hibernate 集成,事务何时结束
深入 Play E03:Ebean 与 Hibernate 集成,事务何时结束
深入 Play E02:编译期依赖注入,显式组件图能检查什么
深入 Play E02:编译期依赖注入,显式组件图能检查什么
深入 Play E01:Scala API 对照,Action、Future 与类型化请求
深入 Play E01:Scala API 对照,Action、Future 与类型化请求
深入 Play 35:可验证的订单与订阅服务
深入 Play 35:可验证的订单与订阅服务
深入 Play 34:故障诊断,从外部症状追到线程、提交与资源终态
深入 Play 34:故障诊断,从外部症状追到线程、提交与资源终态
JPA 持久化 01:实体身份与工作单元
JPA 持久化 01:实体身份与工作单元
深入 Play 33:相同约束下的 Web 栈,异步返回与事务终态
深入 Play 33:相同约束下的 Web 栈,异步返回与事务终态
深入 Play 32:版本迁移,把编译通过和协议兼容分开验证
深入 Play 32:版本迁移,把编译通过和协议兼容分开验证
深入 Play 31:性能与容量,排队位置如何改变观测结果
深入 Play 31:性能与容量,排队位置如何改变观测结果
深入 Play 30:生产打包与部署,产物、就绪和停止的边界
深入 Play 30:生产打包与部署,产物、就绪和停止的边界
深入 Play 29:同一用例在单元、路由与真实 HTTP 中证明什么
深入 Play 29:同一用例在单元、路由与真实 HTTP 中证明什么
深入 Play 28:请求结果、流终止与业务结果
深入 Play 28:请求结果、流终止与业务结果
深入 Play 27:CSRF、CORS、Host 与代理信任
深入 Play 27:CSRF、CORS、Host 与代理信任
深入 Play 26:签名身份、对象策略与订阅撤销
深入 Play 26:签名身份、对象策略与订阅撤销
深入 Play 25:生命周期与后台任务,停止应用时还剩什么
深入 Play 25:生命周期与后台任务,停止应用时还剩什么
深入 Play 24:Evolutions 与模式升级,应用和数据库怎样协同
深入 Play 24:Evolutions 与模式升级,应用和数据库怎样协同
JPA 持久化 00:规范、Provider 与启动的边界
JPA 持久化 00:规范、Provider 与启动的边界
Java EE 企业应用 00:从空目录到最小 WAR,健康响应证明了什么
Java EE 企业应用 00:从空目录到最小 WAR,健康响应证明了什么
深入 Play 23:事务与幂等,数据库提交如何关联 HTTP 结果
深入 Play 23:事务与幂等,数据库提交如何关联 HTTP 结果
深入 Play 22:JDBC 与连接池,异步接口为何仍会等连接
深入 Play 22:JDBC 与连接池,异步接口为何仍会等连接
深入 Play 21:上传下载、临时文件与 IO 关闭
深入 Play 21:上传下载、临时文件与 IO 关闭
深入 Play 20:WebSocket 握手、消息上限与连接生命周期
深入 Play 20:WebSocket 握手、消息上限与连接生命周期
深入 Play 19:SSE 编码、重连游标与慢客户端
深入 Play 19:SSE 编码、重连游标与慢客户端
深入 Play 18:HTTP 流式响应、背压与资源终止
深入 Play 18:HTTP 流式响应、背压与资源终止
深入 Play 17:缓存加载、失效与并发回源
深入 Play 17:缓存加载、失效与并发回源
深入 Play 16:WS 客户端的响应消费与请求预算
深入 Play 16:WS 客户端的响应消费与请求预算
深入 Play 15:超时、取消与重试的任务终态
深入 Play 15:超时、取消与重试的任务终态
深入 Play 14:请求属性、MDC 与类加载器怎样跨线程
深入 Play 14:请求属性、MDC 与类加载器怎样跨线程
深入 Play 13:阻塞执行位置、有限队列与拒绝策略
深入 Play 13:阻塞执行位置、有限队列与拒绝策略
深入 Play 12:CompletionStage 的依赖、线程与失败传播
深入 Play 12:CompletionStage 的依赖、线程与失败传播
深入 Play 11:Twirl 类型、输出转义与静态资源缓存
深入 Play 11:Twirl 类型、输出转义与静态资源缓存
深入 Play 10:表单绑定、跨字段验证与库存竞争
深入 Play 10:表单绑定、跨字段验证与库存竞争
深入 Play 09:JSON 字段、金额精度与错误契约
深入 Play 09:JSON 字段、金额精度与错误契约
深入 Play 08:BodyParser 的类型、字节限制与请求体消费
深入 Play 08:BodyParser 的类型、字节限制与请求体消费
深入 Play 07:Filter 在路由、解析错误和业务失败之间怎样执行
深入 Play 07:Filter 在路由、解析错误和业务失败之间怎样执行
深入 Play 06:Action 组合怎样决定鉴权与审计的执行边界
深入 Play 06:Action 组合怎样决定鉴权与审计的执行边界
深入 Play 05:Guice 怎样构建对象与配置边界
深入 Play 05:Guice 怎样构建对象与配置边界
深入 Play 04:Request 与 Result 的状态边界
深入 Play 04:Request 与 Result 的状态边界
深入 Play 03:类型化路由的绑定与反向生成
深入 Play 03:类型化路由的绑定与反向生成
深入 Play 02:一次请求在哪个阶段失败
深入 Play 02:一次请求在哪个阶段失败
深入 Play 01:sbt 怎样生成路由与模板
深入 Play 01:sbt 怎样生成路由与模板
深入 Play 00:从固定版本到第一条真实响应
深入 Play 00:从固定版本到第一条真实响应
深入 Hibernate 06:merge 复制到哪个对象
深入 Hibernate 06:merge 复制到哪个对象
深入 Hibernate 05:persist 返回时究竟完成了什么
深入 Hibernate 05:persist 返回时究竟完成了什么
深入 Hibernate 04:Java 值怎样绑定到列
深入 Hibernate 04:Java 值怎样绑定到列
深入 Hibernate 03:托管、脱管和删除怎样影响订单
深入 Hibernate 03:托管、脱管和删除怎样影响订单
深入 Hibernate 02:注解映射在启动时接受什么检查
深入 Hibernate 02:注解映射在启动时接受什么检查
深入 Hibernate 01:同一数据库行对应几个 Java 对象
深入 Hibernate 01:同一数据库行对应几个 Java 对象
深入 Hibernate 00:从对象操作到数据库结果,证据链怎样建立
深入 Hibernate 00:从对象操作到数据库结果,证据链怎样建立
系统设计 E05:从票务架构到可执行状态机
系统设计 E05:从票务架构到可执行状态机
系统设计 E04:流式模型网关的取消与用量边界
系统设计 E04:流式模型网关的取消与用量边界
系统设计 E03:指标日志平台的基数与保留代价
系统设计 E03:指标日志平台的基数与保留代价
系统设计 E02:事件归因的去重迟到与修正
系统设计 E02:事件归因的去重迟到与修正
系统设计 E01:协同编辑的收敛删除与光标
系统设计 E01:协同编辑的收敛删除与光标
系统设计 35:三场限时设计与约束改变复盘
系统设计 35:三场限时设计与约束改变复盘
系统设计 34:内容平台跨模块保证的四条路径
系统设计 34:内容平台跨模块保证的四条路径
系统设计 33:回填期间更新怎样安全迁移
系统设计 33:回填期间更新怎样安全迁移
系统设计 32:用观测与成本证伪架构假设
系统设计 32:用观测与成本证伪架构假设
系统设计 31:多地域切换与数据恢复的不同边界
系统设计 31:多地域切换与数据恢复的不同边界
系统设计 30:任务租约和过期持有者栅栏
系统设计 30:任务租约和过期持有者栅栏
系统设计 29:排行榜的迟到修正与热点代价
系统设计 29:排行榜的迟到修正与热点代价
系统设计 28:订单支付与邮件收据的三种确认
系统设计 28:订单支付与邮件收据的三种确认
系统设计 27:通知系统的逻辑去重与送达边界
系统设计 27:通知系统的逻辑去重与送达边界
系统设计 26:占座到期与支付回调的库存边界
系统设计 26:占座到期与支付回调的库存边界
系统设计 25:司机指派竞争与迟到确认
系统设计 25:司机指派竞争与迟到确认
系统设计 24:空间网格的边界与位置新鲜度
系统设计 24:空间网格的边界与位置新鲜度
系统设计 23:爬虫的访问边界与可恢复队列
系统设计 23:爬虫的访问边界与可恢复队列
系统设计 22:限流器的原子计数与全局配额
系统设计 22:限流器的原子计数与全局配额
系统设计 21:输入联想的前缀索引与结果新鲜度
系统设计 21:输入联想的前缀索引与结果新鲜度
系统设计 20:社交内容搜索的增量索引与新鲜度
系统设计 20:社交内容搜索的增量索引与新鲜度
系统设计 19:信息流候选排序与权限撤销
系统设计 19:信息流候选排序与权限撤销
系统设计 18:微博时间线:同一负载下比较推、拉与混合
系统设计 18:微博时间线:同一负载下比较推、拉与混合
系统设计 17:即时通信:连接恢复以后,消息怎样补齐
系统设计 17:即时通信:连接恢复以后,消息怎样补齐
系统设计 16:视频服务:转码可以重试,播放清单只发布完整版本
系统设计 16:视频服务:转码可以重试,播放清单只发布完整版本
系统设计 15:文件同步:断点续传和多端冲突要分别解决
系统设计 15:文件同步:断点续传和多端冲突要分别解决
系统设计 14:图片社交:上传成功之后还差一次发布提交
系统设计 14:图片社交:上传成功之后还差一次发布提交
系统设计 13:文本分享:到期拒绝与物理删除是两个时刻
系统设计 13:文本分享:到期拒绝与物理删除是两个时刻
系统设计 12:短链服务:唯一创建与可撤销重定向
系统设计 12:短链服务:唯一创建与可撤销重定向
系统设计 11:超时、重试与降级要共享预算
系统设计 11:超时、重试与降级要共享预算
系统设计 10:消息与异步处理——确认、重领和背压
系统设计 10:消息与异步处理——确认、重领和背压
系统设计 09:ID 与索引——唯一、顺序和不可猜不是同一件事
系统设计 09:ID 与索引——唯一、顺序和不可猜不是同一件事
系统设计 08:分片与热点——数据归属变化时不能只搬快照
系统设计 08:分片与热点——数据归属变化时不能只搬快照
系统设计 07:数据库、复制与一致性——提交成功意味着谁已收到
系统设计 07:数据库、复制与一致性——提交成功意味着谁已收到
系统设计 06:缓存与 CDN——命中、失效、热点与回源
系统设计 06:缓存与 CDN——命中、失效、热点与回源
系统设计 05:负载均衡与网关——请求分配不等于连接有余量
系统设计 05:负载均衡与网关——请求分配不等于连接有余量
系统设计 04:从单机到分布式——先测瓶颈,再加节点
系统设计 04:从单机到分布式——先测瓶颈,再加节点
系统设计 03:API 与数据模型——访问模式如何决定表、键和分页
系统设计 03:API 与数据模型——访问模式如何决定表、键和分页
系统设计 02:容量估算——QPS、存储、带宽、并发与成本
系统设计 02:容量估算——QPS、存储、带宽、并发与成本
系统设计 01:需求澄清——功能、SLO、数据不变量与范围
系统设计 01:需求澄清——功能、SLO、数据不变量与范围
系统设计 00:系统设计题究竟交付什么
系统设计 00:系统设计题究竟交付什么
设计模式 E08:遗留代码的小步重构
设计模式 E08:遗留代码的小步重构
设计模式 E07:真实库里能看到哪些模式
设计模式 E07:真实库里能看到哪些模式
设计模式 E06:从 DIP 到 Ports and Adapters
设计模式 E06:从 DIP 到 Ports and Adapters
设计模式 E05:依赖注入容器、动态代理与 AOP
设计模式 E05:依赖注入容器、动态代理与 AOP
设计模式 E04:模式不证明线程安全
设计模式 E04:模式不证明线程安全
设计模式 E03:默认行为和规则组合
设计模式 E03:默认行为和规则组合
设计模式 E02:record、sealed 类型与模式匹配
设计模式 E02:record、sealed 类型与模式匹配
设计模式 E01:高阶函数替代了什么
设计模式 E01:高阶函数替代了什么
设计模式 39:从变化需求保留必要模式
设计模式 39:从变化需求保留必要模式
设计模式 38:折扣表达式需要语法树吗
设计模式 38:折扣表达式需要语法树吗
设计模式 37:新操作与新节点哪个更贵
设计模式 37:新操作与新节点哪个更贵
设计模式 36:快照如何限制内存与别名
设计模式 36:快照如何限制内存与别名
设计模式 35:协作集中会形成大对象吗
设计模式 35:协作集中会形成大对象吗
设计模式 34:遍历协议隐藏了什么
设计模式 34:遍历协议隐藏了什么
设计模式 33:对象状态如何约束操作
设计模式 33:对象状态如何约束操作
设计模式 32:审核何时停止传递
设计模式 32:审核何时停止传递
设计模式 31:谁管理订阅和失败
设计模式 31:谁管理订阅和失败
设计模式 30:请求对象能撤销什么
设计模式 30:请求对象能撤销什么
设计模式 29:哪些报告步骤必须固定
设计模式 29:哪些报告步骤必须固定
设计模式 28:三种报价如何共享契约
设计模式 28:三种报价如何共享契约
设计模式 27:谁能读取延迟加载的库存
设计模式 27:谁能读取延迟加载的库存
设计模式 26:哪部分对象值得共享
设计模式 26:哪部分对象值得共享
设计模式 25:用例入口如何暴露失败
设计模式 25:用例入口如何暴露失败
设计模式 24:包装行为的先后顺序
设计模式 24:包装行为的先后顺序
设计模式 23:组合商品如何统一报价
设计模式 23:组合商品如何统一报价
设计模式 22:两条变化维度如何分开
设计模式 22:两条变化维度如何分开
设计模式 21:接口转换如何保留语义
设计模式 21:接口转换如何保留语义
设计模式 20:唯一实例属于哪个范围
设计模式 20:唯一实例属于哪个范围
设计模式 19:复制订单时共享了什么
设计模式 19:复制订单时共享了什么
设计模式 18:构造请求何时检查不变量
设计模式 18:构造请求何时检查不变量
设计模式 17:两种产品如何成套
设计模式 17:两种产品如何成套
设计模式 16:创建决策何时交给子类
设计模式 16:创建决策何时交给子类
设计模式 15:阅读模式先看变化
设计模式 15:阅读模式先看变化
设计模式 14:包依赖为什么成环
设计模式 14:包依赖为什么成环
设计模式 13:重复与抽象哪个更贵
设计模式 13:重复与抽象哪个更贵
设计模式 12:谁该决定库存预留
设计模式 12:谁该决定库存预留
设计模式 11:支付端口应该由谁定义
设计模式 11:支付端口应该由谁定义
设计模式 10:只读库存为什么还得实现扣减方法
设计模式 10:只读库存为什么还得实现扣减方法
设计模式 09:继承成功,为什么预留对象仍不能替换
设计模式 09:继承成功,为什么预留对象仍不能替换
设计模式 08:新增折扣时,究竟不改哪段代码
设计模式 08:新增折扣时,究竟不改哪段代码
设计模式 07:谁在要求修改报价与报表
设计模式 07:谁在要求修改报价与报表
设计模式 06:两次独立改需求,为什么都要碰同一服务
设计模式 06:两次独立改需求,为什么都要碰同一服务
设计模式 05:重写 add 为什么拦不住批量添加
设计模式 05:重写 add 为什么拦不住批量添加
设计模式 04:为什么重载没能识别整箱预留
设计模式 04:为什么重载没能识别整箱预留
设计模式 03:库存预留失败,订单和库存为什么仍会变化
设计模式 03:库存预留失败,订单和库存为什么仍会变化
设计模式 02:字段是 private,清单为什么还会被外部改写
设计模式 02:字段是 private,清单为什么还会被外部改写
设计模式 01:订单身份和金额值为什么不能混为一谈
设计模式 01:订单身份和金额值为什么不能混为一谈
设计模式 00:可工作的报价程序为何难修改
设计模式 00:可工作的报价程序为何难修改
深入 Spring E08:最小容器的对象图、代理与失败契约
深入 Spring E08:最小容器的对象图、代理与失败契约
深入 Spring E07:从 6.2 到 7.x 的兼容矩阵与行为迁移
深入 Spring E07:从 6.2 到 7.x 的兼容矩阵与行为迁移
深入 Spring E06:Kotlin 挂起调用、事务与上下文边界
深入 Spring E06:Kotlin 挂起调用、事务与上下文边界
深入 Spring E05:虚拟线程、MVC 与 WebFlux 的资源上限
深入 Spring E05:虚拟线程、MVC 与 WebFlux 的资源上限
深入 Spring E04:XA 恢复与 outbox 的一致性承诺
深入 Spring E04:XA 恢复与 outbox 的一致性承诺
深入 Spring E03:Repository 代理如何叠加查询与事务
深入 Spring E03:Repository 代理如何叠加查询与事务
深入 Spring E02:Spring Security 的过滤器、授权与方法安全
深入 Spring E02:Spring Security 的过滤器、授权与方法安全
深入 Spring E01:AspectJ weaving 与代理之外的连接点
深入 Spring E01:AspectJ weaving 与代理之外的连接点
深入 Spring 43:订单应用的六个综合验收场景
深入 Spring 43:订单应用的六个综合验收场景
深入 Spring 42:AOT 生成代码与运行时配置的边界
深入 Spring 42:AOT 生成代码与运行时配置的边界
深入 Spring 41:测试边界与提交回调的盲区
深入 Spring 41:测试边界与提交回调的盲区
深入 Spring 40:观测事件、资源等待与业务终态
深入 Spring 40:观测事件、资源等待与业务终态
深入 Spring 39:导入、选择、注册与容器扩展边界
深入 Spring 39:导入、选择、注册与容器扩展边界
深入 Spring 38:Boot 自动配置的输入、退让与属性绑定
深入 Spring 38:Boot 自动配置的输入、退让与属性绑定
深入 Spring 37:HTTP 客户端的超时、重试与连接释放
深入 Spring 37:HTTP 客户端的超时、重试与连接释放
深入 Spring 36:响应式事务、取消窗口与重新订阅
深入 Spring 36:响应式事务、取消窗口与重新订阅
深入 Spring 35:WebFlux 的订阅、需求与阻塞边界
深入 Spring 35:WebFlux 的订阅、需求与阻塞边界
深入 Spring 34:线程上下文的捕获、恢复与资源边界
深入 Spring 34:线程上下文的捕获、恢复与资源边界
深入 Spring 33:缓存键、并发加载与事务回滚
深入 Spring 33:缓存键、并发加载与事务回滚
深入 Spring 32:Scheduled 的时间基准、重叠与关闭
深入 Spring 32:Scheduled 的时间基准、重叠与关闭
深入 Spring 31:Async 的提交、执行与失败观察
深入 Spring 31:Async 的提交、执行与失败观察
深入 Spring 30:MVC 异步超时取消与资源回收
深入 Spring 30:MVC 异步超时取消与资源回收
深入 Spring 29:返回值消息转换与响应提交边界
深入 Spring 29:返回值消息转换与响应提交边界
深入 Spring 28:校验与异常发生在哪个处理阶段
深入 Spring 28:校验与异常发生在哪个处理阶段
深入 Spring 27:查询参数表单与 JSON 的绑定边界
深入 Spring 27:查询参数表单与 JSON 的绑定边界
深入 Spring 26:路径方法与媒体类型怎样选择处理器
深入 Spring 26:路径方法与媒体类型怎样选择处理器
深入 Spring 25:DispatcherServlet 与请求的多次分派
深入 Spring 25:DispatcherServlet 与请求的多次分派
深入 Spring 24:JDBC、ORM 与多个事务管理器的资源边界
深入 Spring 24:JDBC、ORM 与多个事务管理器的资源边界
深入 Spring 23:提交回调与事务事件的保证边界
深入 Spring 23:提交回调与事务事件的保证边界
深入 Spring 22:回滚规则、异常捕获与rollback-only
深入 Spring 22:回滚规则、异常捕获与rollback-only
深入 Spring 21:事务传播、保存点与连接池等待
深入 Spring 21:事务传播、保存点与连接池等待
深入 Spring 20:声明式事务的方法属性与代理入口
深入 Spring 20:声明式事务的方法属性与代理入口
深入 Spring 19:编程式事务、连接绑定与提交结果
深入 Spring 19:编程式事务、连接绑定与提交结果
深入 Spring 18:自调用、目标引用与方法元数据
深入 Spring 18:自调用、目标引用与方法元数据
深入 Spring 17:proceed 与拦截器链的返回和异常
深入 Spring 17:proceed 与拦截器链的返回和异常
深入 Spring 16:切点的静态筛选与运行时匹配
深入 Spring 16:切点的静态筛选与运行时匹配
深入 Spring 15:Advisor 怎样进入 Bean 的创建过程
深入 Spring 15:Advisor 怎样进入 Bean 的创建过程
深入 Spring 14:JDK 与 CGLIB 代理的拦截边界
深入 Spring 14:JDK 与 CGLIB 代理的拦截边界
深入 Spring 13:启停顺序、层级查找与失败后的资源终态
深入 Spring 13:启停顺序、层级查找与失败后的资源终态
深入 Spring 12:事件发布、监听顺序与完成信号
深入 Spring 12:事件发布、监听顺序与完成信号
深入 Spring 11:属性解析与条件装配的时间边界
深入 Spring 11:属性解析与条件装配的时间边界
深入 Spring 10:作用域、对象身份与销毁责任
深入 Spring 10:作用域、对象身份与销毁责任
深入 Spring 09:循环依赖与早期代理一致性
深入 Spring 09:循环依赖与早期代理一致性
深入 Spring 08:扩展顺序与过早创建
深入 Spring 08:扩展顺序与过早创建
深入 Spring 07:生命周期回调与最终代理引用
深入 Spring 07:生命周期回调与最终代理引用
深入 Spring 06:构造器、工厂与延迟创建
深入 Spring 06:构造器、工厂与延迟创建
深入 Spring 05:依赖解析如何筛选候选对象
深入 Spring 05:依赖解析如何筛选候选对象
深入 Spring 04:配置类解析与 Bean 方法调用
深入 Spring 04:配置类解析与 Bean 方法调用
深入 Spring 03:refresh 如何组织容器启动
深入 Spring 03:refresh 如何组织容器启动
深入 Spring 02:BeanDefinition 如何描述对象创建
深入 Spring 02:BeanDefinition 如何描述对象创建
深入 Spring(01):IoC、对象图与容器身份
深入 Spring(01):IoC、对象图与容器身份
深入 Spring(00):从手动组装到可验证的容器实验
深入 Spring(00):从手动组装到可验证的容器实验
Scala E08:Capture Checking 与能力逃逸
Scala E08:Capture Checking 与能力逃逸
Scala E07:类型状态 DSL 与两种解释器
Scala E07:类型状态 DSL 与两种解释器
Scala E06:Spark 的版本、闭包与重执行
Scala E06:Spark 的版本、闭包与重执行
Scala E05:Native 与 C 接口的内存责任
Scala E05:Native 与 C 接口的内存责任
Scala E04:共享核心与 JavaScript 平台边界
Scala E04:共享核心与 JavaScript 平台边界
Scala E03:ZIO 的环境、错误与任务生命周期
Scala E03:ZIO 的环境、错误与任务生命周期
Scala E02:FS2 的需求、背压与资源作用域
Scala E02:FS2 的需求、背压与资源作用域
Scala E01:Cats 与 IO 的执行、取消和资源释放
Scala E01:Cats 与 IO 的执行、取消和资源释放
Scala 39:订单批处理与故障诊断
Scala 39:订单批处理与故障诊断
Scala 38:集合与抽象的性能证据
Scala 38:集合与抽象的性能证据
Scala 37:Scala 2 到 Scala 3 迁移
Scala 37:Scala 2 到 Scala 3 迁移
Scala 36:纯业务规则接入文件与异步服务
Scala 36:纯业务规则接入文件与异步服务
Scala 35:sbt、模块与依赖
Scala 35:sbt、模块与依赖
Scala 34:MUnit、性质测试与失败重放
Scala 34:MUnit、性质测试与失败重放
Scala 33:同步与异步资源的生命周期
Scala 33:同步与异步资源的生命周期
Scala 32:异步失败、超时与共享状态
Scala 32:异步失败、超时与共享状态
Scala 31:Future与ExecutionContext的执行模型
Scala 31:Future与ExecutionContext的执行模型
Scala 30:Java互操作的类型与运行边界
Scala 30:Java互操作的类型与运行边界
Scala 29:编译管线、TASTy与增量编译
Scala 29:编译管线、TASTy与增量编译
Scala 28:擦除、装箱与字节码
Scala 28:擦除、装箱与字节码
Scala 27:Quotes、splices 与宏阶段边界
Scala 27:Quotes、splices 与宏阶段边界
Scala 26:Mirror、derives 与递归派生
Scala 26:Mirror、derives 与递归派生
Scala 25:inline 与 compiletime
Scala 25:inline 与 compiletime
Scala 24:Match types 与类型归约
Scala 24:Match types 与类型归约
Scala 23:类型成员、路径依赖与细化
Scala 23:类型成员、路径依赖与细化
Scala 22:联合、交叉与相等检查
Scala 22:联合、交叉与相等检查
Scala 21:上下文函数,依赖传递怎样成为函数类型
Scala 21:上下文函数,依赖传递怎样成为函数类型
Scala 20:高阶类型与组合定律,F[_] 抽象了什么
Scala 20:高阶类型与组合定律,F[_] 抽象了什么
Scala 19:Type class,不修改业务类型也能添加行为
Scala 19:Type class,不修改业务类型也能添加行为
Scala 18:given 与 using,上下文参数从哪里找到
Scala 18:given 与 using,上下文参数从哪里找到
Scala 17:extension 与 API 设计,增加操作是否改变类型
Scala 17:extension 与 API 设计,增加操作是否改变类型
Scala 16:opaque type,让订单标识与商品标识不可互传
Scala 16:opaque type,让订单标识与商品标识不可互传
Scala 15:错误短路与错误累积,校验顺序怎样决定结果
Scala 15:错误短路与错误累积,校验顺序怎样决定结果
Scala 14:纯函数、递归与尾调用,计算怎样保留可替换性
Scala 14:纯函数、递归与尾调用,计算怎样保留可替换性
Scala 13:for 推导式,语法相同为何执行不同
Scala 13:for 推导式,语法相同为何执行不同
Scala 12:map、flatMap、fold 与 collect,从类型推导变换
Scala 12:map、flatMap、fold 与 collect,从类型推导变换
Scala 11:Iterator、View 与 LazyList,延迟之后发生什么
Scala 11:Iterator、View 与 LazyList,延迟之后发生什么
Scala 10:不可变集合,更新如何保留旧版本
Scala 10:不可变集合,更新如何保留旧版本
Scala 09:Option、Either 与 Try,给失败保留含义
Scala 09:Option、Either 与 Try,给失败保留含义
Scala 08:模式匹配与提取器,分支覆盖检查了什么
Scala 08:模式匹配与提取器,分支覆盖检查了什么
Scala 07:ADT 与 enum,把订单状态变成有限分支
Scala 07:ADT 与 enum,把订单状态变成有限分支
Scala 06:泛型边界与型变
Scala 06:泛型边界与型变
Scala 05:trait 线性化与初始化
Scala 05:trait 线性化与初始化
Scala 04:类、对象与值相等
Scala 04:类、对象与值相等
Scala 03:方法、函数与闭包
Scala 03:方法、函数与闭包
Scala 02:求值次数与状态
Scala 02:求值次数与状态
Scala 01:表达式与类型推导
Scala 01:表达式与类型推导
Scala 00:工具链与可复现实验
Scala 00:工具链与可复现实验
Java常用类库-E08-MapStruct与Lombok的生成代码契约
Java常用类库-E08-MapStruct与Lombok的生成代码契约
Java常用类库-E07-Resilience4j的组合顺序与调用边界
Java常用类库-E07-Resilience4j的组合顺序与调用边界
Java常用类库-E06-Vavr的结果类型与结构共享
Java常用类库-E06-Vavr的结果类型与结构共享
Java常用类库-E05-命令行配置覆盖与反射绑定白名单
Java常用类库-E05-命令行配置覆盖与反射绑定白名单
Java常用类库-E04-Gson与Jackson的同一JSON契约
Java常用类库-E04-Gson与Jackson的同一JSON契约
Java常用类库-E03-原始类型集合的缺省值与装箱成本
Java常用类库-E03-原始类型集合的缺省值与装箱成本
Java常用类库-E02-原始数组数值边界与IO所有权
Java常用类库-E02-原始数组数值边界与IO所有权
Java常用类库-E01-Graph的边模型与邻接结构
Java常用类库-E01-Graph的边模型与邻接结构
Java常用类库39:从业务约束形成可退出的依赖决策
Java常用类库39:从业务约束形成可退出的依赖决策
Java常用类库-38-依赖升级中的二进制链接与运行语义
Java常用类库-38-依赖升级中的二进制链接与运行语义
Java常用类库-37-有界商品目录导入与归档流水线
Java常用类库-37-有界商品目录导入与归档流水线
Java常用类库36:用JMH比较等价工作与分配成本
Java常用类库36:用JMH比较等价工作与分配成本
Java常用类库-35-用JUnit与AssertJ验证调用方责任
Java常用类库-35-用JUnit与AssertJ验证调用方责任
Java常用类库-34-HttpClient请求的超时与连接归还
Java常用类库-34-HttpClient请求的超时与连接归还
Java常用类库-33-SLF4J的Provider发现与日志调用边界
Java常用类库-33-SLF4J的Provider发现与日志调用边界
Java常用类库-32-Jackson映射中的缺失类型与输入预算
Java常用类库-32-Jackson映射中的缺失类型与输入预算
Java常用类库31:从Guava迁移Caffeine的缓存契约
Java常用类库31:从Guava迁移Caffeine的缓存契约
Java常用类库-30-ZIP与TAR的隔离解包和资源预算
Java常用类库-30-ZIP与TAR的隔离解包和资源预算
Java常用类库-29-CSV方言与流式记录契约
Java常用类库-29-CSV方言与流式记录契约
Java常用类库-28-Base64严格度与摘要认证边界
Java常用类库-28-Base64严格度与摘要认证边界
Java常用类库-27-转义上下文与受控文本插值
Java常用类库-27-转义上下文与受控文本插值
Java常用类库-26-路径规范化与真实目录边界
Java常用类库-26-路径规范化与真实目录边界
Java常用类库-25-流所有权与有界读写
Java常用类库-25-流所有权与有界读写
Java常用类库-24-集合装饰器的校验转换与同步入口
Java常用类库-24-集合装饰器的校验转换与同步入口
Java常用类库-23-Collections4多值结构的迁移差异
Java常用类库-23-Collections4多值结构的迁移差异
Java常用类库-22-Pair可变包装与反射Builder的边界
Java常用类库-22-Pair可变包装与反射Builder的边界
Java常用类库-21-数值布尔与枚举的失败语义
Java常用类库-21-数值布尔与枚举的失败语义
Java常用类库-20-StringUtils的空值与边界契约
Java常用类库-20-StringUtils的空值与边界契约
Java常用类库-19-EventBus的订阅关系与派发边界
Java常用类库-19-EventBus的订阅关系与派发边界
Java常用类库-18-Hashing与BloomFilter的编码和误判边界
Java常用类库-18-Hashing与BloomFilter的编码和误判边界
Java常用类库-17-RateLimiter的许可债务与时间模型
Java常用类库-17-RateLimiter的许可债务与时间模型
Java常用类库-16-ListenableFuture的执行线程与取消边界
Java常用类库-16-ListenableFuture的执行线程与取消边界
Java常用类库15:加载、刷新与失效的缓存状态
Java常用类库15:加载、刷新与失效的缓存状态
Java常用类库-14-Range区间边界与覆盖语义
Java常用类库-14-Range区间边界与覆盖语义
Java常用类库-13-惰性集合视图与Ordering求值边界
Java常用类库-13-惰性集合视图与Ordering求值边界
Java常用类库-12-BiMap与Table的索引约束
Java常用类库-12-BiMap与Table的索引约束
Java常用类库-11-Multiset频次与集合大小的区别
Java常用类库-11-Multiset频次与集合大小的区别
Java常用类库-10-Multimap的多值语义与写入视图
Java常用类库-10-Multimap的多值语义与写入视图
Java常用类库-09-Immutable集合的构建与共享边界
Java常用类库-09-Immutable集合的构建与共享边界
Java常用类库-08-CharMatcher与Strings的字符单位
Java常用类库-08-CharMatcher与Strings的字符单位
Java常用类库-07-Joiner与Splitter的分隔契约
Java常用类库-07-Joiner与Splitter的分隔契约
Java常用类库-06-Optional迁移的值语义与类型边界
Java常用类库-06-Optional迁移的值语义与类型边界
Java常用类库-05-Preconditions与Verify的失败契约
Java常用类库-05-Preconditions与Verify的失败契约
Java常用类库-04-规范化策略与依赖成本
Java常用类库-04-规范化策略与依赖成本
Java常用类库-03-相等哈希与排序的契约
Java常用类库-03-相等哈希与排序的契约
Java常用类库-02-视图浅复制与不可变的边界
Java常用类库-02-视图浅复制与不可变的边界
Java常用类库 01:null、empty与blank的语义边界
Java常用类库 01:null、empty与blank的语义边界
Java常用类库00:从业务契约建立可复现基线
Java常用类库00:从业务契约建立可复现基线
深入 Ruby E08:后台任务与消息处理:重试怎样改变副作用
深入 Ruby E08:后台任务与消息处理:重试怎样改变副作用
深入 Ruby E07:受限规则语言:从 block DSL 到独立解析器
深入 Ruby E07:受限规则语言:从 block DSL 到独立解析器
深入 Ruby E06:SQL 与事务:对象状态何时成为数据库事实
深入 Ruby E06:SQL 与事务:对象状态何时成为数据库事实
深入 Ruby E05:gem 维护与版本升级的兼容证据
深入 Ruby E05:gem 维护与版本升级的兼容证据
深入 Ruby E04:C扩展与 FFI
深入 Ruby E04:C扩展与 FFI
深入 Ruby E03:JRuby 与 JVM
深入 Ruby E03:JRuby 与 JVM
深入 Ruby E02:RSpec、契约测试与可重放的生成式测试
深入 Ruby E02:RSpec、契约测试与可重放的生成式测试
深入 Ruby E01:Rails 与 ActiveSupport 的语言边界
深入 Ruby E01:Rails 与 ActiveSupport 的语言边界
深入 Ruby 39:综合交付与可复现使用
深入 Ruby 39:综合交付与可复现使用
深入 Ruby 38:输入与安全边界
深入 Ruby 38:输入与安全边界
深入 Ruby 37:Ruby 惯用法与必要优化
深入 Ruby 37:Ruby 惯用法与必要优化
深入 Ruby 36:YJIT 与性能实验
深入 Ruby 36:YJIT 与性能实验
深入 Ruby 35:Prism、YARV 与字节码
深入 Ruby 35:Prism、YARV 与字节码
深入 Ruby 34:对象分配与 GC
深入 Ruby 34:对象分配与 GC
深入 Ruby 33:进程、超时与取消
深入 Ruby 33:进程、超时与取消
深入 Ruby 32:Ractor 与对象隔离
深入 Ruby 32:Ractor 与对象隔离
深入 Ruby 31:Fiber 与 scheduler
深入 Ruby 31:Fiber 与 scheduler
深入 Ruby 30:Thread、Mutex、Queue 与 GVL
深入 Ruby 30:Thread、Mutex、Queue 与 GVL
深入 Ruby 29:配置、日志、信号与有序关闭
深入 Ruby 29:配置、日志、信号与有序关闭
深入 Ruby 28:Net::HTTP、Rack 与本地请求实验
深入 Ruby 28:Net::HTTP、Rack 与本地请求实验
深入 Ruby 27:CLI、OptionParser 与退出码
深入 Ruby 27:CLI、OptionParser 与退出码
深入 Ruby 26:JSON、CSV 与领域输入边界
深入 Ruby 26:JSON、CSV 与领域输入边界
深入 Ruby 25:RBS、Steep 与静态检查边界
深入 Ruby 25:RBS、Steep 与静态检查边界
深入 Ruby 24:调试器、警告与语法诊断
深入 Ruby 24:调试器、警告与语法诊断
深入 Ruby 23:Minitest 与可失败的行为测试
深入 Ruby 23:Minitest 与可失败的行为测试
深入 Ruby 22:gemspec 与可安装的交付边界
深入 Ruby 22:gemspec 与可安装的交付边界
深入 Ruby 21:RubyGems、Bundler 与版本激活
深入 Ruby 21:RubyGems、Bundler 与版本激活
深入 Ruby 20:require、load 与 autoload
深入 Ruby 20:require、load 与 autoload
深入 Ruby 19:文件、IO 与路径的资源边界
深入 Ruby 19:文件、IO 与路径的资源边界
深入 Ruby 18:异常、ensure 与 throw/catch
深入 Ruby 18:异常、ensure 与 throw/catch
深入 Ruby 17:DSL、instance_eval 与 class_eval:配置怎样获得执行上下文
深入 Ruby 17:DSL、instance_eval 与 class_eval:配置怎样获得执行上下文
深入 Ruby 16:动态方法、反射与钩子:元编程怎样保持可诊断
深入 Ruby 16:动态方法、反射与钩子:元编程怎样保持可诊断
深入 Ruby 15:Struct、Data 与模式匹配:数据如何被拆解
深入 Ruby 15:Struct、Data 与模式匹配:数据如何被拆解
深入 Ruby 14:鸭子类型与委托:不继承也能满足什么契约
深入 Ruby 14:鸭子类型与委托:不继承也能满足什么契约
深入 Ruby 13:Module、include、prepend 与 refinement:复用影响哪条查找链
深入 Ruby 13:Module、include、prepend 与 refinement:复用影响哪条查找链
深入 Ruby 12:单例类、方法查找与 super:调用命中了哪个方法
深入 Ruby 12:单例类、方法查找与 super:调用命中了哪个方法
深入 Ruby 11:类、实例与可见性:对象怎样维护合法状态
深入 Ruby 11:类、实例与可见性:对象怎样维护合法状态
深入 Ruby 10:身份、相等、复制与冻结:谁共享了可变状态
深入 Ruby 10:身份、相等、复制与冻结:谁共享了可变状态
深入 Ruby 09:作用域、self 与常量:名字怎样绑定到对象
深入 Ruby 09:作用域、self 与常量:名字怎样绑定到对象
深入 Ruby 08:Enumerable、Enumerator 与 Lazy
深入 Ruby 08:Enumerable、Enumerator 与 Lazy
深入 Ruby 07:闭包与非局部控制流
深入 Ruby 07:闭包与非局部控制流
深入 Ruby 06:block、Proc 与 lambda
深入 Ruby 06:block、Proc 与 lambda
深入 Ruby 05:方法与参数绑定
深入 Ruby 05:方法与参数绑定
深入 Ruby 04:Array、Hash 与 Range
深入 Ruby 04:Array、Hash 与 Range
深入 Ruby 03:String、Symbol 与编码
深入 Ruby 03:String、Symbol 与编码
深入 Ruby 02:数字与转换
深入 Ruby 02:数字与转换
深入 Ruby 01:表达式与控制流
深入 Ruby 01:表达式与控制流
深入 Ruby 00:导读与可重复运行
深入 Ruby 00:导读与可重复运行
计算机图形学 E08:三页缓存怎样显示八页纹理
计算机图形学 E08:三页缓存怎样显示八页纹理
计算机图形学 E07:用八个三维高斯拟合多视图图像
计算机图形学 E07:用八个三维高斯拟合多视图图像
计算机图形学 E06:从一张图反推光源强度
计算机图形学 E06:从一张图反推光源强度
计算机图形学 E05:目标可达,关节为什么仍然不动
计算机图形学 E05:目标可达,关节为什么仍然不动
计算机图形学 E04:射线怎样进入 GPU 工作队列
计算机图形学 E04:射线怎样进入 GPU 工作队列
计算机图形学 E03:一层介质为什么越斜越暗
计算机图形学 E03:一层介质为什么越斜越暗
计算机图形学 E02:透明叠面与会失效的历史颜色
计算机图形学 E02:透明叠面与会失效的历史颜色
计算机图形学 E01:同一个球的网格与距离场
计算机图形学 E01:同一个球的网格与距离场
计算机图形学 35:用三个场景检验 SAH 分割
计算机图形学 35:用三个场景检验 SAH 分割
计算机图形学 34:一次优化怎样同时检查画质和时间
计算机图形学 34:一次优化怎样同时检查画质和时间
计算机图形学 33:同一场景的三种观察方式
计算机图形学 33:同一场景的三种观察方式
计算机图形学 32:模拟怎样稳定地显示
计算机图形学 32:模拟怎样稳定地显示
计算机图形学 31:力怎样变成运动
计算机图形学 31:力怎样变成运动
计算机图形学 30:骨骼怎样带动网格
计算机图形学 30:骨骼怎样带动网格
计算机图形学 29:两个姿态之间怎样运动
计算机图形学 29:两个姿态之间怎样运动
计算机图形学 28:实时材质怎样近似离线光照
计算机图形学 28:实时材质怎样近似离线光照
计算机图形学 27:为什么更多物体会变慢
计算机图形学 27:为什么更多物体会变慢
计算机图形学 26:软件管线怎样映射为着色器
计算机图形学 26:软件管线怎样映射为着色器
计算机图形学 25:一次绘制怎样交给 GPU
计算机图形学 25:一次绘制怎样交给 GPU
计算机图形学 24:怎样判断渲染器算对了
计算机图形学 24:怎样判断渲染器算对了
计算机图形学 23:金属高光与玻璃折射怎样建模
计算机图形学 23:金属高光与玻璃折射怎样建模
计算机图形学 22:小光源为什么难以采样
计算机图形学 22:小光源为什么难以采样
计算机图形学 21:光怎样经过多次反射
计算机图形学 21:光怎样经过多次反射
计算机图形学 20:随机样本怎样估计积分
计算机图形学 20:随机样本怎样估计积分
计算机图形学 19:表面颜色从哪里来
计算机图形学 19:表面颜色从哪里来
计算机图形学 18:怎样减少求交次数
计算机图形学 18:怎样减少求交次数
计算机图形学 17:一条光线先碰到什么
计算机图形学 17:一条光线先碰到什么
计算机图形学 16:多个模型怎样组成场景
计算机图形学 16:多个模型怎样组成场景
计算机图形学 15:怎样减少面数又控制形变
计算机图形学 15:怎样减少面数又控制形变
计算机图形学 14:粗网格怎样变成曲面
计算机图形学 14:粗网格怎样变成曲面
计算机图形学 13:少量控制点怎样生成曲线
计算机图形学 13:少量控制点怎样生成曲线
计算机图形学 12:三角网格怎样保存邻接
计算机图形学 12:三角网格怎样保存邻接
计算机图形学 11:沿管线定位一张错误图像
计算机图形学 11:沿管线定位一张错误图像
计算机图形学 10:光源看不见的地方怎样变暗
计算机图形学 10:光源看不见的地方怎样变暗
计算机图形学 09:法线怎样决定明暗
计算机图形学 09:法线怎样决定明暗
计算机图形学 08:怎样减少锯齿与纹理闪烁
计算机图形学 08:怎样减少锯齿与纹理闪烁
计算机图形学 07:为什么贴图会扭曲
计算机图形学 07:为什么贴图会扭曲
计算机图形学 06:哪个表面可见
计算机图形学 06:哪个表面可见
计算机图形学 05:哪些样本属于三角形
计算机图形学 05:哪些样本属于三角形
计算机图形学 04:为什么平均颜色会发暗
计算机图形学 04:为什么平均颜色会发暗
计算机图形学 03:为什么细线会断裂、棋盘格会闪烁
计算机图形学 03:为什么细线会断裂、棋盘格会闪烁
计算机图形学 02:相机怎样把空间投到屏幕
计算机图形学 02:相机怎样把空间投到屏幕
计算机图形学 01:点、向量与矩阵怎样表达几何
计算机图形学 01:点、向量与矩阵怎样表达几何
计算机图形学 00:从一个像素到一张图像
计算机图形学 00:从一个像素到一张图像
从零编写操作系统 30 - 综合演示与交付验证
从零编写操作系统 30 - 综合演示与交付验证
从零编写操作系统 29 - 窗口终端:把用户态 Shell 接进图形界面
从零编写操作系统 29 - 窗口终端:把用户态 Shell 接进图形界面
从零编写操作系统 28 - 窗口管理:Z 序、焦点与拖动
从零编写操作系统 28 - 窗口管理:Z 序、焦点与拖动
从零编写操作系统 27 - 鼠标输入:共享控制器、三字节包与级联中断
从零编写操作系统 27 - 鼠标输入:共享控制器、三字节包与级联中断
从零编写操作系统 26 - 字体与后备缓冲:从字符网格重绘一帧
从零编写操作系统 26 - 字体与后备缓冲:从字符网格重绘一帧
从零编写操作系统 25 - 从字符到像素:接入 Mode 13h
从零编写操作系统 25 - 从字符到像素:接入 Mode 13h
从零编写操作系统 24 - 管道:让两个进程通过字节流协作
从零编写操作系统 24 - 管道:让两个进程通过字节流协作
从零编写操作系统 23 - 用户态 Shell:从磁盘加载并执行命令
从零编写操作系统 23 - 用户态 Shell:从磁盘加载并执行命令
从零编写操作系统 22 - 文件描述符:把名字、游标与资源寿命分开
从零编写操作系统 22 - 文件描述符:把名字、游标与资源寿命分开
从零编写操作系统 21 - 只读 FAT16:从扇区追到文件字节
从零编写操作系统 21 - 只读 FAT16:从扇区追到文件字节
从零编写操作系统 20 - ATA PIO 块设备:把扇区读成可信的数据
从零编写操作系统 20 - ATA PIO 块设备:把扇区读成可信的数据
从零编写操作系统 19 - 创建与回收进程:让退出状态有地方可去
从零编写操作系统 19 - 创建与回收进程:让退出状态有地方可去
从零编写操作系统 18 - ELF 加载器:把文件中的段变成用户地址空间
从零编写操作系统 18 - ELF 加载器:把文件中的段变成用户地址空间
从零编写操作系统 17 - 系统调用:把用户参数安全地带进内核
从零编写操作系统 17 - 系统调用:把用户参数安全地带进内核
从零编写操作系统 16 - 进入用户态:让错误程序无法直接改内核
从零编写操作系统 16 - 进入用户态:让错误程序无法直接改内核
从零编写操作系统 15 - 等待与唤醒:任务为什么不能一直轮询
从零编写操作系统 15 - 等待与唤醒:任务为什么不能一直轮询
从零编写操作系统 14 - 抢占调度:时间片结束后怎样换一个任务
从零编写操作系统 14 - 抢占调度:时间片结束后怎样换一个任务
从零编写操作系统 13 - 保存与恢复执行现场:先实现协作式任务
从零编写操作系统 13 - 保存与恢复执行现场:先实现协作式任务
从零编写操作系统 12 - 内核堆:在物理页内分配、分裂与合并
从零编写操作系统 12 - 内核堆:在物理页内分配、分裂与合并
从零编写操作系统 11 - 分页与页故障:修改映射后重试同一条指令
从零编写操作系统 11 - 分页与页故障:修改映射后重试同一条指令
从零编写操作系统 10 - 物理页分配:哪些内存真正可以交出去
从零编写操作系统 10 - 物理页分配:哪些内存真正可以交出去
从零编写操作系统 09 - 键盘与事件队列:把中断接收和字符处理分开
从零编写操作系统 09 - 键盘与事件队列:把中断接收和字符处理分开
从零编写操作系统 08 - 时钟中断:让外部事件打断当前执行
从零编写操作系统 08 - 时钟中断:让外部事件打断当前执行
从零编写操作系统 07 - 异常入口:CPU 出错后把哪些信息交给内核
从零编写操作系统 07 - 异常入口:CPU 出错后把哪些信息交给内核
从零编写操作系统 06 - 输出与故障现场:建立串口、控制台和 panic
从零编写操作系统 06 - 输出与故障现场:建立串口、控制台和 panic
从零编写操作系统 05 - 跳进 C:入口、链接脚本与内存布局
从零编写操作系统 05 - 跳进 C:入口、链接脚本与内存布局
从零编写操作系统 04 - 进入保护模式:建立第一份运行环境
从零编写操作系统 04 - 进入保护模式:建立第一份运行环境
从零编写操作系统 03 - 两阶段引导:加载比一个扇区更大的程序
从零编写操作系统 03 - 两阶段引导:加载比一个扇区更大的程序
从零编写操作系统 02 - 第一个启动扇区:让 BIOS 执行自己的指令
从零编写操作系统 02 - 第一个启动扇区:让 BIOS 执行自己的指令
从零编写操作系统 01 - 准备工具链:源代码怎样变成磁盘里的字节
从零编写操作系统 01 - 准备工具链:源代码怎样变成磁盘里的字节
从零编写操作系统 00 - 从启动扇区到窗口:这套操作系统准备实现什么
从零编写操作系统 00 - 从启动扇区到窗口:这套操作系统准备实现什么
高级数据结构与算法设计 E08:次模贪心的保证依赖哪些条件
高级数据结构与算法设计 E08:次模贪心的保证依赖哪些条件
高级数据结构与算法设计 E07:并行归并的跨度与进程开销
高级数据结构与算法设计 E07:并行归并的跨度与进程开销
高级数据结构与算法设计 E06:近似近邻怎样同时报告召回率与成本
高级数据结构与算法设计 E06:近似近邻怎样同时报告召回率与成本
高级数据结构与算法设计 E05:指数放在参数上意味着什么
高级数据结构与算法设计 E05:指数放在参数上意味着什么
高级数据结构与算法设计 E04:最小费用流怎样保持费用最优
高级数据结构与算法设计 E04:最小费用流怎样保持费用最优
高级数据结构与算法设计 E03:查询过去与修改过去有什么不同
高级数据结构与算法设计 E03:查询过去与修改过去有什么不同
高级数据结构与算法设计 E02:rank与select怎样按位计算空间
高级数据结构与算法设计 E02:rank与select怎样按位计算空间
高级数据结构与算法设计 E01:回滚怎样处理离线删边
高级数据结构与算法设计 E01:回滚怎样处理离线删边
高级数据结构与算法设计 39:复现Bloom误报公式的一个反例
高级数据结构与算法设计 39:复现Bloom误报公式的一个反例
高级数据结构与算法设计 38:把实现选择写成可以复跑的实验矩阵
高级数据结构与算法设计 38:把实现选择写成可以复跑的实验矩阵
高级数据结构与算法设计 37:任务分配与集合覆盖各自证明了什么
高级数据结构与算法设计 37:任务分配与集合覆盖各自证明了什么
高级数据结构与算法设计 36:带版本的数据集怎样保持多个视图一致
高级数据结构与算法设计 36:带版本的数据集怎样保持多个视图一致
高级数据结构与算法设计 35:哪些改进受模型限制
高级数据结构与算法设计 35:哪些改进受模型限制
高级数据结构与算法设计 34:不知道未来怎样作决策
高级数据结构与算法设计 34:不知道未来怎样作决策
高级数据结构与算法设计 33:只能看一遍数据时留下什么
高级数据结构与算法设计 33:只能看一遍数据时留下什么
高级数据结构与算法设计 32:随机算法怎样控制失败概率
高级数据结构与算法设计 32:随机算法怎样控制失败概率
高级数据结构与算法设计 31:松弛怎样变成可行解
高级数据结构与算法设计 31:松弛怎样变成可行解
高级数据结构与算法设计 30:放弃精确最优能换来什么
高级数据结构与算法设计 30:放弃精确最优能换来什么
高级数据结构与算法设计 29:怎样说明一个问题难
高级数据结构与算法设计 29:怎样说明一个问题难
高级数据结构与算法设计 28:约束优化怎样提供可核对的界
高级数据结构与算法设计 28:约束优化怎样提供可核对的界
高级数据结构与算法设计 27:匹配怎样归约为流
高级数据结构与算法设计 27:匹配怎样归约为流
高级数据结构与算法设计 26:最大流怎样把局部增广变成全局最优
高级数据结构与算法设计 26:最大流怎样把局部增广变成全局最优
高级数据结构与算法设计 25:最短路为什么需要不同算法
高级数据结构与算法设计 25:最短路为什么需要不同算法
高级数据结构与算法设计 24:贪心怎样得到证明
高级数据结构与算法设计 24:贪心怎样得到证明
高级数据结构与算法设计 23:DP优化在什么条件下成立
高级数据结构与算法设计 23:DP优化在什么条件下成立
高级数据结构与算法设计 22:动态规划的状态怎样决定
高级数据结构与算法设计 22:动态规划的状态怎样决定
高级数据结构与算法设计 21:分治还能减少哪些重复计算
高级数据结构与算法设计 21:分治还能减少哪些重复计算
高级数据结构与算法设计 20:整数键能否突破比较模型
高级数据结构与算法设计 20:整数键能否突破比较模型
高级数据结构与算法设计 19:二维查询为什么比一维困难
高级数据结构与算法设计 19:二维查询为什么比一维困难
高级数据结构与算法设计 18:固定文本怎样支持大量子串查询
高级数据结构与算法设计 18:固定文本怎样支持大量子串查询
高级数据结构与算法设计 17:怎样避免字符串匹配的重复比较
高级数据结构与算法设计 17:怎样避免字符串匹配的重复比较
高级数据结构与算法设计 16:不知道缓存块大小还能优化吗
高级数据结构与算法设计 16:不知道缓存块大小还能优化吗
高级数据结构与算法设计 15:内存装不下时成本怎样计算
高级数据结构与算法设计 15:内存装不下时成本怎样计算
高级数据结构与算法设计 14:怎样查询过去而不复制整棵树
高级数据结构与算法设计 14:怎样查询过去而不复制整棵树
高级数据结构与算法设计 13:静态查询能否用预处理换时间
高级数据结构与算法设计 13:静态查询能否用预处理换时间
高级数据结构与算法设计 12:批量更新怎样延迟执行
高级数据结构与算法设计 12:批量更新怎样延迟执行
高级数据结构与算法设计 11:更新之后怎样查询区间
高级数据结构与算法设计 11:更新之后怎样查询区间
高级数据结构与算法设计 10:连通性更新怎样变快
高级数据结构与算法设计 10:连通性更新怎样变快
高级数据结构与算法设计 09:优先队列怎样支持合并与降键
高级数据结构与算法设计 09:优先队列怎样支持合并与降键
高级数据结构与算法设计 08:热点访问能否改变代价
高级数据结构与算法设计 08:热点访问能否改变代价
高级数据结构与算法设计 07:平衡一定需要高度约束吗
高级数据结构与算法设计 07:平衡一定需要高度约束吗
高级数据结构与算法设计 06:怎样同时支持查找、排名与第 k 名
高级数据结构与算法设计 06:怎样同时支持查找、排名与第 k 名
高级数据结构与算法设计 05:怎样验证一个算法实现
高级数据结构与算法设计 05:怎样验证一个算法实现
高级数据结构与算法设计 04:随机性到底帮助了什么
高级数据结构与算法设计 04:随机性到底帮助了什么
高级数据结构与算法设计 03:昂贵操作怎样计入整段序列
高级数据结构与算法设计 03:昂贵操作怎样计入整段序列
高级数据结构与算法设计 02:从递推式到上下界
高级数据结构与算法设计 02:从递推式到上下界
高级数据结构与算法设计 01:程序为什么正确
高级数据结构与算法设计 01:程序为什么正确
高级数据结构与算法设计 00:怎样把需求写成可分析的算法问题
高级数据结构与算法设计 00:怎样把需求写成可分析的算法问题
函数式编程 00:导读与能力自测
函数式编程 00:导读与能力自测
函数式编程E08:ZIO的失败与中断,以及FRP的时间模型
函数式编程E08:ZIO的失败与中断,以及FRP的时间模型
函数式编程E07:Haskell的IO与JavaScript的Promise
函数式编程E07:Haskell的IO与JavaScript的Promise
函数式编程E06:输入适配、双向映射与带邻域的计算
函数式编程E06:输入适配、双向映射与带邻域的计算
函数式编程E05:CPS、Continuation与资源边界
函数式编程E05:CPS、Continuation与资源边界
函数式编程E04:Free、Tagless Final与两种程序解释
函数式编程E04:Free、Tagless Final与两种程序解释
函数式编程E03:Lens、Prism与嵌套数据更新
函数式编程E03:Lens、Prism与嵌套数据更新
函数式编程E02:参数性与free theorem的假设边界
函数式编程E02:参数性与free theorem的假设边界
函数式编程E01:λ演算、避免捕获与求值策略
函数式编程E01:λ演算、避免捕获与求值策略
函数式编程18:错误累积与依赖校验的边界
函数式编程18:错误累积与依赖校验的边界
函数式编程17:Applicative与独立输入的组合
函数式编程17:Applicative与独立输入的组合
函数式编程30:效果流、背压与资源作用域
函数式编程30:效果流、背压与资源作用域
函数式编程29:取消、超时与任务归属
函数式编程29:取消、超时与任务归属
函数式编程28:异步与有界并行组合
函数式编程28:异步与有界并行组合
函数式编程27:bracket 与 Resource 的生命周期
函数式编程27:bracket 与 Resource 的生命周期
函数式编程26:IO 描述与执行边界
函数式编程26:IO 描述与执行边界
函数式编程16:Functor与映射定律的适用边界
函数式编程16:Functor与映射定律的适用边界
函数式编程15:Semigroup与Monoid的合并规则
函数式编程15:Semigroup与Monoid的合并规则
函数式编程14:最小Scala桥接与类型类
函数式编程14:最小Scala桥接与类型类
函数式编程13:Result、Either 与异常的失败边界
函数式编程13:Result、Either 与异常的失败边界
函数式编程12:Maybe、Option 与 Optional 的缺席语义
函数式编程12:Maybe、Option 与 Optional 的缺席语义
函数式编程11:模式匹配、状态转换与结构折叠
函数式编程11:模式匹配、状态转换与结构折叠
函数式编程39:有界并发的本地订单导入工程
函数式编程39:有界并发的本地订单导入工程
函数式编程38:同一业务程序的两个解释器
函数式编程38:同一业务程序的两个解释器
函数式编程37:深递归、Trampoline 与 Eval 的栈安全
函数式编程37:深递归、Trampoline 与 Eval 的栈安全
函数式编程36:用契约回归渐进重构 Java
函数式编程36:用契约回归渐进重构 Java
函数式编程35:性能实验中的时间、分配与保留空间
函数式编程35:性能实验中的时间、分配与保留空间
函数式编程34:Java 容器的组合与生命周期边界
函数式编程34:Java 容器的组合与生命周期边界
函数式编程33:状态不变量与对象封装
函数式编程33:状态不变量与对象封装
函数式编程32:纯核心与外部端口
函数式编程32:纯核心与外部端口
函数式编程31:性质生成器与缩减反例
函数式编程31:性质生成器与缩减反例
函数式编程09:持久化数据结构与结构共享
函数式编程09:持久化数据结构与结构共享
函数式编程08:memoize与缓存的可观察行为
函数式编程08:memoize与缓存的可观察行为
函数式编程07:严格求值、惰性与按需共享
函数式编程07:严格求值、惰性与按需共享
函数式编程06:递归、fold、map与filter
函数式编程06:递归、fold、map与filter
函数式编程05:函数组合与管道
函数式编程05:函数组合与管道
函数式编程04:部分应用、柯里化与偏函数
函数式编程04:部分应用、柯里化与偏函数
函数式编程03:一等函数、高阶函数与闭包
函数式编程03:一等函数、高阶函数与闭包
函数式编程02:不可变数据与别名
函数式编程02:不可变数据与别名
函数式编程01:纯函数、引用透明性与总函数
函数式编程01:纯函数、引用透明性与总函数
函数式编程10:和类型与积类型,约束订单的合法形状
函数式编程10:和类型与积类型,约束订单的合法形状
函数式编程20:Monad 定律与 Kleisli 组合,接续计算需要什么保证
函数式编程20:Monad 定律与 Kleisli 组合,接续计算需要什么保证
函数式编程22:State,把状态变化放进函数结果
函数式编程22:State,把状态变化放进函数结果
函数式编程21:List 与 Reader,多结果和共享环境怎样接续
函数式编程21:List 与 Reader,多结果和共享环境怎样接续
函数式编程19:map、join 与 flatMap,嵌套从哪里产生
函数式编程19:map、join 与 flatMap,嵌套从哪里产生
函数式编程23:Writer,返回计算结果与可组合记录
函数式编程23:Writer,返回计算结果与可组合记录
函数式编程24:Traverse,从逐项结果到整体结果
函数式编程24:Traverse,从逐项结果到整体结果
函数式编程25:EitherT 与 OptionT,逐层解释嵌套计算
函数式编程25:EitherT 与 OptionT,逐层解释嵌套计算
服务网格 E01:Linkerd 的代理、身份与策略
服务网格 E01:Linkerd 的代理、身份与策略
服务网格 E03:Proxyless gRPC 怎样把治理放进客户端
服务网格 E03:Proxyless gRPC 怎样把治理放进客户端
服务网格 E04:虚拟机与 Kubernetes 怎样混合接入
服务网格 E04:虚拟机与 Kubernetes 怎样混合接入
服务网格 E02:Cilium 的 eBPF、七层代理与认证
服务网格 E02:Cilium 的 eBPF、七层代理与认证
服务网格 E05:Envoy 扩展、Wasm 与外部授权
服务网格 E05:Envoy 扩展、Wasm 与外部授权
服务网格 E06:本地限流为什么不等于全局配额
服务网格 E06:本地限流为什么不等于全局配额
服务网格 E08:实现一个最小教学 xDS 控制面
服务网格 E08:实现一个最小教学 xDS 控制面
服务网格 E07:Ambient 多集群与信任域迁移
服务网格 E07:Ambient 多集群与信任域迁移
git 难点知识汇总
git 难点知识汇总
Personal Agents 的架构演进:dots、Codex Cloud 与 QoderWake
Personal Agents 的架构演进:dots、Codex Cloud 与 QoderWake
工程设计巧思:可复用的程序与架构模式
工程设计巧思:可复用的程序与架构模式
服务网格 35:什么时候采用,退出时怎样证明能力仍在
服务网格 35:什么时候采用,退出时怎样证明能力仍在
服务网格 34:发布 v2 后怎样定位慢依赖和错误身份并回滚
服务网格 34:发布 v2 后怎样定位慢依赖和错误身份并回滚
服务网格 33:无网格、Sidecar 和 Ambient 性能怎样公平比较
服务网格 33:无网格、Sidecar 和 Ambient 性能怎样公平比较
服务网格 32:多集群调用怎样跨网络发现与恢复
服务网格 32:多集群调用怎样跨网络发现与恢复
服务网格 31:多租户需要隔离哪些控制面与数据面边界
服务网格 31:多租户需要隔离哪些控制面与数据面边界
服务网格 30:控制面和数据面升级怎样验证回退
服务网格 30:控制面和数据面升级怎样验证回退
服务网格 29:控制面不可用后哪些调用还能继续
服务网格 29:控制面不可用后哪些调用还能继续
服务网格 28:Sidecar 迁移 Ambient 如何验证与回退
服务网格 28:Sidecar 迁移 Ambient 如何验证与回退
服务网格 27:Waypoint 创建之后流量就经过它吗
服务网格 27:Waypoint 创建之后流量就经过它吗
服务网格 26:Ambient 数据面如何转发请求
服务网格 26:Ambient 数据面如何转发请求
服务网格 18:出口流量经过哪里,怎样约束访问
服务网格 18:出口流量经过哪里,怎样约束访问
服务网格 17:入口网关怎样接到内部调用
服务网格 17:入口网关怎样接到内部调用
服务网格 16:故障注入与流量镜像怎样避免误判
服务网格 16:故障注入与流量镜像怎样避免误判
服务网格 15:连接限制与异常实例摘除有什么区别
服务网格 15:连接限制与异常实例摘除有什么区别
服务网格 14:重试为何会放大副作用
服务网格 14:重试为何会放大副作用
服务网格 25:503、连接重置与尾延迟如何定位
服务网格 25:503、连接重置与尾延迟如何定位
服务网格 24:自动追踪为什么仍会断链
服务网格 24:自动追踪为什么仍会断链
服务网格 23:网格指标怎样用于 SLO
服务网格 23:网格指标怎样用于 SLO
服务网格 22:访问日志怎样区分代理失败和业务失败
服务网格 22:访问日志怎样区分代理失败和业务失败
服务网格 21:认证成功为何仍会被拒绝
服务网格 21:认证成功为何仍会被拒绝
服务网格 20:mTLS 开启后哪些连接受到保护
服务网格 20:mTLS 开启后哪些连接受到保护
服务网格 19:工作负载身份和证书怎样建立
服务网格 19:工作负载身份和证书怎样建立
服务网格 13:一条调用链的超时预算怎样分配
服务网格 13:一条调用链的超时预算怎样分配
服务网格 12:Gateway API 如何描述网格内路由
服务网格 12:Gateway API 如何描述网格内路由
服务网格 11:负载均衡为何不等于平均分请求
服务网格 11:负载均衡为何不等于平均分请求
服务网格 10:按版本和请求属性选择后端
服务网格 10:按版本和请求属性选择后端
服务网格 09:HTTP、gRPC 与 TLS 在代理里如何相遇
服务网格 09:HTTP、gRPC 与 TLS 在代理里如何相遇
服务网格 08:服务发现、DNS 与端点更新
服务网格 08:服务发现、DNS 与端点更新
服务网格 07:xDS 更新、依赖与拒绝
服务网格 07:xDS 更新、依赖与拒绝
服务网格 06:路由规则怎样变成代理配置
服务网格 06:路由规则怎样变成代理配置
服务网格 05:应用与代理如何启动和退出
服务网格 05:应用与代理如何启动和退出
容器 E08:从容器交付到平台,还增加哪些责任
容器 E08:从容器交付到平台,还增加哪些责任
服务网格 04:Sidecar 怎样接管流量
服务网格 04:Sidecar 怎样接管流量
容器 E07:镜像按需读取是否真的缩短首个请求
容器 E07:镜像按需读取是否真的缩短首个请求
容器 E06:Wasm 模块不是 Linux 容器进程
容器 E06:Wasm 模块不是 Linux 容器进程
容器 E05:GPU 设备可见为什么不等于能计算
容器 E05:GPU 设备可见为什么不等于能计算
服务网格 03:Envoy 怎样转发请求
服务网格 03:Envoy 怎样转发请求
容器 E04:Windows 容器不能照搬 Linux namespace 模型
容器 E04:Windows 容器不能照搬 Linux namespace 模型
容器 E03:eBPF 事件属于哪一个容器
容器 E03:eBPF 事件属于哪一个容器
容器 E02:checkpoint 和 restore 能保存哪些进程状态
容器 E02:checkpoint 和 restore 能保存哪些进程状态
容器 E01:gVisor、Kata 和 microVM 改变了哪层边界
容器 E01:gVisor、Kata 和 microVM 改变了哪层边界
容器 39:CPU weight 在竞争下是否才起作用
容器 39:CPU weight 在竞争下是否才起作用
容器 38:重启了,业务真的恢复了吗
容器 38:重启了,业务真的恢复了吗
容器 37:从源码到一次真实服务响应
容器 37:从源码到一次真实服务响应
容器 36:同一 digest 怎样交付并安全回退
容器 36:同一 digest 怎样交付并安全回退
容器 35:性能差异来自隔离层还是实验条件
容器 35:性能差异来自隔离层还是实验条件
服务网格 02:Service 地址怎样到达 Pod
服务网格 02:Service 地址怎样到达 Pod
容器 34:冷启动时间花在哪一段
容器 34:冷启动时间花在哪一段
容器 33:签名通过了,运行权限还要验证什么
容器 33:签名通过了,运行权限还要验证什么
容器 32:从错误症状回到失败层
容器 32:从错误症状回到失败层
容器 31:指标如何归属到一次真实请求
容器 31:指标如何归属到一次真实请求
容器 30:PV/PVC 与 CSI 怎样到达进程的目录
容器 30:PV/PVC 与 CSI 怎样到达进程的目录
容器 29:Pod IP 与 Service 后端如何关联
容器 29:Pod IP 与 Service 后端如何关联
容器 28:Running 之后服务为什么还不能用
容器 28:Running 之后服务为什么还不能用
容器 27:requests 与 limits 怎样走到节点的 cgroup
容器 27:requests 与 limits 怎样走到节点的 cgroup
容器 26:Pod 到达节点后变成哪些对象
容器 26:Pod 到达节点后变成哪些对象
容器 25:跨主机路径为什么会出现小包通大包失败
容器 25:跨主机路径为什么会出现小包通大包失败
容器 24:CNI 接口由谁调用,失败怎样回收
容器 24:CNI 接口由谁调用,失败怎样回收
容器 23:bridge、端口发布和 DNS 各在哪一跳
容器 23:bridge、端口发布和 DNS 各在哪一跳
容器 22:两个隔离进程怎样通过 veth 通信
容器 22:两个隔离进程怎样通过 veth 通信
容器 21:停止、重启和日志分别由谁负责
容器 21:停止、重启和日志分别由谁负责
容器 20:rootless 和容器内非 root 有什么不同
容器 20:rootless 和容器内非 root 有什么不同
容器 19:一次 run 在哪一步变成 exec
容器 19:一次 run 在哪一步变成 exec
容器 18:containerd 管的是镜像、任务还是进程
容器 18:containerd 管的是镜像、任务还是进程
容器 17:OCI runtime 的 create 与 start 分别做什么
容器 17:OCI runtime 的 create 与 start 分别做什么
容器 16:数据写到了哪一层,重建后还在吗
容器 16:数据写到了哪一层,重建后还在吗
容器 15:同一镜像名称怎样指向多种 CPU 制品
容器 15:同一镜像名称怎样指向多种 CPU 制品
容器 14:构建缓存为什么不能等同于可复现性
容器 14:构建缓存为什么不能等同于可复现性
容器 13:Dockerfile 怎样变成可运行制品
容器 13:Dockerfile 怎样变成可运行制品
容器 12:镜像拉取是下载还是解包
容器 12:镜像拉取是下载还是解包
容器 11:改一个文件为何可能增加整层
容器 11:改一个文件为何可能增加整层
容器 10:OCI 镜像到底保存了什么
容器 10:OCI 镜像到底保存了什么
容器 09:组合隔离机制时启动和清理的顺序
容器 09:组合隔离机制时启动和清理的顺序
容器 08:namespace 之外还需要什么权限边界
容器 08:namespace 之外还需要什么权限边界
容器 07:内存超限与 I/O 变慢不是一种失败
容器 07:内存超限与 I/O 变慢不是一种失败
容器 06:CPU 配额与竞争权重为什么不同
容器 06:CPU 配额与竞争权重为什么不同
容器 05:容器里的 root 究竟是谁
容器 05:容器里的 root 究竟是谁
容器 04:换了根目录,为什么仍能看到旧文件
容器 04:换了根目录,为什么仍能看到旧文件
容器 03:PID 1 为什么改变信号与回收行为
容器 03:PID 1 为什么改变信号与回收行为
容器 02:namespace 改变的是哪些资源视图
容器 02:namespace 改变的是哪些资源视图
容器 01:父进程退出,工作是否已经结束
容器 01:父进程退出,工作是否已经结束
容器 00:运行中的容器究竟是哪一个进程
容器 00:运行中的容器究竟是哪一个进程
服务网格 01:SDK、网关与服务网格分别处理什么
服务网格 01:SDK、网关与服务网格分别处理什么
服务网格 00:一次服务调用需要哪些基础条件
服务网格 00:一次服务调用需要哪些基础条件
深入 OpenTelemetry 00 - 导读与第一条 Trace
深入 OpenTelemetry 00 - 导读与第一条 Trace
深入 OpenTelemetry 01 - API、SDK 与初始化
深入 OpenTelemetry 01 - API、SDK 与初始化
深入 OpenTelemetry 02 - Resource、InstrumentationScope 与请求属性
深入 OpenTelemetry 02 - Resource、InstrumentationScope 与请求属性
深入 OpenTelemetry 03 - Span 生命周期与异常状态
深入 OpenTelemetry 03 - Span 生命周期与异常状态
深入 OpenTelemetry 04 - Context、Scope 与当前 Span
深入 OpenTelemetry 04 - Context、Scope 与当前 Span
深入 OpenTelemetry 05 - 线程池异步传播与跨请求隔离
深入 OpenTelemetry 05 - 线程池异步传播与跨请求隔离
深入 OpenTelemetry 07 - Baggage 与 Span Link 的两种关系
深入 OpenTelemetry 07 - Baggage 与 Span Link 的两种关系
深入 OpenTelemetry 08 - 头部采样:记录不等于导出
深入 OpenTelemetry 08 - 头部采样:记录不等于导出
深入 OpenTelemetry 09 - SpanProcessor 的调用线程与批量队列
深入 OpenTelemetry 09 - SpanProcessor 的调用线程与批量队列
深入 OpenTelemetry 11 - Flush、Shutdown 与进程退出的三个边界
深入 OpenTelemetry 11 - Flush、Shutdown 与进程退出的三个边界
深入 OpenTelemetry 06 - W3C Trace Context 如何跨越 HTTP 服务
深入 OpenTelemetry 06 - W3C Trace Context 如何跨越 HTTP 服务
深入 OpenTelemetry 10 - OTLP 导出的 HTTP 成功不等于完整接收
深入 OpenTelemetry 10 - OTLP 导出的 HTTP 成功不等于完整接收
深入 OpenTelemetry 12:Instrument 选择与异步观测
深入 OpenTelemetry 12:Instrument 选择与异步观测
深入 OpenTelemetry 13:一次 add 怎样进入聚合状态
深入 OpenTelemetry 13:一次 add 怎样进入聚合状态
深入 OpenTelemetry 14:View 在聚合前改变哪些维度
深入 OpenTelemetry 14:View 在聚合前改变哪些维度
深入 OpenTelemetry 15:Reader 的独立时间窗与 Temporality
深入 OpenTelemetry 15:Reader 的独立时间窗与 Temporality
深入 OpenTelemetry 16:Histogram 的桶不是精确分位数
深入 OpenTelemetry 16:Histogram 的桶不是精确分位数
深入 OpenTelemetry 18:Logs SDK 从 emit 到批量导出
深入 OpenTelemetry 18:Logs SDK 从 emit 到批量导出
深入 OpenTelemetry 19:Logback 的 MDC 和 Logs 桥接各做了什么
深入 OpenTelemetry 19:Logback 的 MDC 和 Logs 桥接各做了什么
深入 OpenTelemetry 20:三信号如何关联又不泄漏字段
深入 OpenTelemetry 20:三信号如何关联又不泄漏字段
深入 OpenTelemetry 21:premain 如何把 Agent 接进 JVM
深入 OpenTelemetry 21:premain 如何把 Agent 接进 JVM
深入 OpenTelemetry 22:哪些 HTTP 方法会进入 Advice
深入 OpenTelemetry 22:哪些 HTTP 方法会进入 Advice
深入 OpenTelemetry 17:Exemplar 怎样携带一次 Trace 的线索
深入 OpenTelemetry 17:Exemplar 怎样携带一次 Trace 的线索
深入 OpenTelemetry 25:为自己的库编写 Java Agent 扩展
深入 OpenTelemetry 25:为自己的库编写 Java Agent 扩展
深入 OpenTelemetry 26:Collector 接收成功为何不等于后端查得到
深入 OpenTelemetry 26:Collector 接收成功为何不等于后端查得到
深入 OpenTelemetry 24:Servlet 入口怎样接到 JDBC 调用
深入 OpenTelemetry 24:Servlet 入口怎样接到 JDBC 调用
深入 OpenTelemetry 27:慢请求为何仍可能被头部采样丢掉
深入 OpenTelemetry 27:慢请求为何仍可能被头部采样丢掉
深入 OpenTelemetry 23:Instrumenter 怎样开始、结束并避免重复 Span
深入 OpenTelemetry 23:Instrumenter 怎样开始、结束并避免重复 Span
深入 OpenTelemetry 29:Trace 消失与指标图失真怎么定位
深入 OpenTelemetry 29:Trace 消失与指标图失真怎么定位
深入 OpenTelemetry E01:Reactor 切线程后父 Span 去哪了
深入 OpenTelemetry E01:Reactor 切线程后父 Span 去哪了
深入 OpenTelemetry E02:JMS 重投时父子关系与 Link 怎么看
深入 OpenTelemetry E02:JMS 重投时父子关系与 Link 怎么看
深入 OpenTelemetry E03:Micrometer bridge 与 SDK 直调为什么会重复
深入 OpenTelemetry E03:Micrometer bridge 与 SDK 直调为什么会重复
深入 OpenTelemetry E04:JMX 的 JVM 指标在什么时候采集
深入 OpenTelemetry E04:JMX 的 JVM 指标在什么时候采集
深入 OpenTelemetry 28:Java 可观测性预算怎样测量
深入 OpenTelemetry 28:Java 可观测性预算怎样测量
深入 OpenTelemetry E05:升级 Agent 时自定义扩展还工作吗
深入 OpenTelemetry E05:升级 Agent 时自定义扩展还工作吗
分布式系统(E08):从微秒 RPC 到尾延迟追踪
分布式系统(E08):从微秒 RPC 到尾延迟追踪
深入 Elasticsearch(08 补充):查询为什么没命中
深入 Elasticsearch(08 补充):查询为什么没命中
计算机体系结构 26:并行程序的扩展上限
计算机体系结构 26:并行程序的扩展上限
计算机体系结构 28:SMT 与共享资源
计算机体系结构 28:SMT 与共享资源
计算机体系结构 29:CPU 怎样与设备交换数据
计算机体系结构 29:CPU 怎样与设备交换数据
计算机体系结构 30:SIMD 与向量化边界
计算机体系结构 30:SIMD 与向量化边界
计算机体系结构 31:GPU 执行与合并访存
计算机体系结构 31:GPU 执行与合并访存
计算机体系结构 32:Roofline 与矩阵数据复用
计算机体系结构 32:Roofline 与矩阵数据复用
计算机体系结构 27:NUMA 与数据放置
计算机体系结构 27:NUMA 与数据放置
计算机体系结构 34:有界处理器集成
计算机体系结构 34:有界处理器集成
计算机体系结构 35:独立性能研究
计算机体系结构 35:独立性能研究
计算机体系结构 E01:从教学模型到 RTL
计算机体系结构 E01:从教学模型到 RTL
计算机体系结构 E02:数字电路的物理约束
计算机体系结构 E02:数字电路的物理约束
计算机体系结构 E03:硬件虚拟化与嵌套翻译
计算机体系结构 E03:硬件虚拟化与嵌套翻译
计算机体系结构 33:性能、功耗与能量预算
计算机体系结构 33:性能、功耗与能量预算
计算机体系结构 E04:推测执行与侧信道边界
计算机体系结构 E04:推测执行与侧信道边界
计算机体系结构 E06:可靠性与持久性
计算机体系结构 E06:可靠性与持久性
计算机体系结构 E07:跨 ISA 同题对照
计算机体系结构 E07:跨 ISA 同题对照
计算机体系结构 E08:有限模型与形式验证边界
计算机体系结构 E08:有限模型与形式验证边界
计算机体系结构 E05:Chiplet 与 CXL 互联边界
计算机体系结构 E05:Chiplet 与 CXL 互联边界
分布式系统(E07):控制面共识与数据面复制
分布式系统(E07):控制面共识与数据面复制
分布式系统(E06):从 PlusCal 反例到 IronFleet 证明边界
分布式系统(E06):从 PlusCal 反例到 IronFleet 证明边界
分布式系统(E05):NOPaxos、Streamlet 与 HoneyBadger 的假设边界
分布式系统(E05):NOPaxos、Streamlet 与 HoneyBadger 的假设边界
分布式系统(E04):Lambda 与 SkyPilot 的执行和调度边界
分布式系统(E04):Lambda 与 SkyPilot 的执行和调度边界
分布式系统(E03):IPFS、SUNDR 与 Bitcoin 的开放网络信任模型
分布式系统(E03):IPFS、SUNDR 与 Bitcoin 的开放网络信任模型
分布式系统(E02):GFS/HDFS 与 Bigtable/HBase 的存储架构
分布式系统(E02):GFS/HDFS 与 Bigtable/HBase 的存储架构
分布式系统(E01):CRDT、多主写入与收敛边界
分布式系统(E01):CRDT、多主写入与收敛边界
分布式系统(35):两次选择的负载均衡复现实验
分布式系统(35):两次选择的负载均衡复现实验
分布式系统(34):复制 KV、分片迁移与故障恢复
分布式系统(34):复制 KV、分片迁移与故障恢复
分布式系统(33):PBFT、恶意节点与信任边界
分布式系统(33):PBFT、恶意节点与信任边界
分布式系统(32):事件时间、水位线与状态恢复
分布式系统(32):事件时间、水位线与状态恢复
分布式系统(31):Ray 的 Future、对象血缘与重试边界
分布式系统(31):Ray 的 Future、对象血缘与重试边界
分布式系统(30):Spark/RDD 的血缘、物化与故障重算
分布式系统(30):Spark/RDD 的血缘、物化与故障重算
分布式系统(29):Kafka 的日志、消费位点与事务边界
分布式系统(29):Kafka 的日志、消费位点与事务边界
分布式系统(28):缓存失效、填充与旧值竞态
分布式系统(28):缓存失效、填充与旧值竞态
分布式系统(27):FaRM 的乐观验证、RDMA 与提交路径
分布式系统(27):FaRM 的乐观验证、RDMA 与提交路径
计算机网络 E08:IP 组播、覆盖网络与内容分发
计算机网络 E08:IP 组播、覆盖网络与内容分发
计算机网络 E07:实时音视频、RTP、抖动缓冲与 NAT 穿越
计算机网络 E07:实时音视频、RTP、抖动缓冲与 NAT 穿越
计算机网络 E06:RDMA、RoCE 与数据中心拥塞
计算机网络 E06:RDMA、RoCE 与数据中心拥塞
计算机网络 E05:eBPF/XDP、DPDK 与内核旁路
计算机网络 E05:eBPF/XDP、DPDK 与内核旁路
计算机网络 E04:SDN、OpenFlow/P4 与可编程数据面
计算机网络 E04:SDN、OpenFlow/P4 与可编程数据面
计算机网络 E03:DNSSEC、DoT/DoH 与解析隐私
计算机网络 E03:DNSSEC、DoT/DoH 与解析隐私
计算机网络 E02:路由安全与 RPKI、路由泄漏
计算机网络 E02:路由安全与 RPKI、路由泄漏
计算机网络 E01:物理层与真实无线,编码、误码、链路预算与漫游
计算机网络 E01:物理层与真实无线,编码、误码、链路预算与漫游
计算机网络 39:独立研究小项目,复现一个拥塞、排队或协议性能结论
计算机网络 39:独立研究小项目,复现一个拥塞、排队或协议性能结论
计算机网络 38:一次 HTTPS 请求的完整解释,DNS、路由、传输、TLS、代理与后端
计算机网络 38:一次 HTTPS 请求的完整解释,DNS、路由、传输、TLS、代理与后端
计算机网络 37:网络隔离能保护什么,信任边界、最小连通、认证与可用性
计算机网络 37:网络隔离能保护什么,信任边界、最小连通、认证与可用性
计算机网络 36:网络故障怎样被证明,分层假设、双端抓包、指标与对照实验
计算机网络 36:网络故障怎样被证明,分层假设、双端抓包、指标与对照实验
计算机网络 35:数据中心网络为何不同,Clos、ECMP、incast 与尾延迟
计算机网络 35:数据中心网络为何不同,Clos、ECMP、incast 与尾延迟
计算机网络 34:Service 的虚拟入口怎样转发,服务发现、规则、后端集合与策略
计算机网络 34:Service 的虚拟入口怎样转发,服务发现、规则、后端集合与策略
计算机网络 33:容器如何联网,netns、veth、bridge、路由、VXLAN 与 CNI
计算机网络 33:容器如何联网,netns、veth、bridge、路由、VXLAN 与 CNI
计算机网络 32:请求到达哪个后端,四层/七层负载均衡、反向代理与健康检查
计算机网络 32:请求到达哪个后端,四层/七层负载均衡、反向代理与健康检查
计算机网络 31:NAT 与防火墙改变了什么,五元组、连接跟踪、SNAT/DNAT 与超时
计算机网络 31:NAT 与防火墙改变了什么,五元组、连接跟踪、SNAT/DNAT 与超时
计算机网络 30:数据如何经过 Linux 主机,socket、协议栈、队列、软中断与网卡卸载
计算机网络 30:数据如何经过 Linux 主机,socket、协议栈、队列、软中断与网卡卸载
计算机网络 29:一个进程怎样服务很多连接,阻塞、非阻塞、就绪通知与超时
计算机网络 29:一个进程怎样服务很多连接,阻塞、非阻塞、就绪通知与超时
计算机网络 28:HTTP/3 怎样运行在 QUIC 上,映射、QPACK、协商与回退
计算机网络 28:HTTP/3 怎样运行在 QUIC 上,映射、QPACK、协商与回退
计算机网络 27:QUIC 为什么重新实现传输机制,包号、流、恢复、拥塞与迁移
计算机网络 27:QUIC 为什么重新实现传输机制,包号、流、恢复、拥塞与迁移
分布式系统(26):Spanner 的时间区间、提交等待与一致快照
分布式系统(26):Spanner 的时间区间、提交等待与一致快照
分布式系统(25):分布式事务的决定、补偿与消息边界
分布式系统(25):分布式事务的决定、补偿与消息边界
计算机网络 26:HTTP/2 的多路复用解决了哪一层阻塞,帧、流、HPACK 与窗口
计算机网络 26:HTTP/2 的多路复用解决了哪一层阻塞,帧、流、HPACK 与窗口
计算机体系结构 17:多级缓存与写入
计算机体系结构 17:多级缓存与写入
计算机体系结构 18:DRAM 与内存控制器
计算机体系结构 18:DRAM 与内存控制器
计算机体系结构 19:隐藏访存延迟
计算机体系结构 19:隐藏访存延迟
计算机体系结构 20:Sv32、TLB 与权限
计算机体系结构 20:Sv32、TLB 与权限
计算机体系结构 21:页故障与映射修改
计算机体系结构 21:页故障与映射修改
计算机体系结构 16:缓存基础
计算机体系结构 16:缓存基础
计算机体系结构 22:数据布局与实测解释
计算机体系结构 22:数据布局与实测解释
计算机体系结构 24:内存一致性模型与 Store Buffering
计算机体系结构 24:内存一致性模型与 Store Buffering
计算机体系结构 25:原子操作与同步边界
计算机体系结构 25:原子操作与同步边界
计算机体系结构 23:缓存一致性与所有权转移
计算机体系结构 23:缓存一致性与所有权转移
分布式系统 19:ZooKeeper 一致性、锁配方与外部 fencing
分布式系统 19:ZooKeeper 一致性、锁配方与外部 fencing
分布式系统 18:ZAB 原子广播与领导者恢复
分布式系统 18:ZAB 原子广播与领导者恢复
分布式系统 17:ZooKeeper 服务模型与会话边界
分布式系统 17:ZooKeeper 服务模型与会话边界
分布式系统 16:从故障轨迹到有限状态搜索
分布式系统 16:从故障轨迹到有限状态搜索
分布式系统 15:把客户端命令接到容错 KV
分布式系统 15:把客户端命令接到容错 KV
分布式系统 14:Raft 成员变更与线性化读
分布式系统 14:Raft 成员变更与线性化读
分布式系统(24):分片与在线迁移的归属边界
分布式系统(24):分片与在线迁移的归属边界
分布式系统 13:Raft 持久化、快照与恢复边界
分布式系统 13:Raft 持久化、快照与恢复边界
分布式系统(23):Dynamo风格复制、Quorum与冲突版本
分布式系统(23):Dynamo风格复制、Quorum与冲突版本
分布式系统 12:Raft 日志匹配与本任期提交
分布式系统 12:Raft 日志匹配与本任期提交
分布式系统 22:协议、协调服务与多数派故障
分布式系统 22:协议、协调服务与多数派故障
分布式系统 11:Raft 任期、投票与选举安全
分布式系统 11:Raft 任期、投票与选举安全
分布式系统 21:etcd 的读、事务、Watch 与 Lease
分布式系统 21:etcd 的读、事务、Watch 与 Lease
Claude Code 源码深度解析:五层架构与核心设计模式
Claude Code 源码深度解析:五层架构与核心设计模式
分布式系统 10:Multi-Paxos 与复制状态机
分布式系统 10:Multi-Paxos 与复制状态机
分布式系统 20:etcd 的 Raft 与存储路径
分布式系统 20:etcd 的 Raft 与存储路径
分布式系统 09:多数派交叉与单值 Paxos
分布式系统 09:多数派交叉与单值 Paxos
分布式系统 08:共识问题与安全活性边界
分布式系统 08:共识问题与安全活性边界
分布式系统 07:主备与链式复制
分布式系统 07:主备与链式复制
分布式系统 06:一致性模型与分区边界
分布式系统 06:一致性模型与分区边界
计算机体系结构 06:单周期数据通路
计算机体系结构 06:单周期数据通路
计算机体系结构 05:从逻辑到状态
计算机体系结构 05:从逻辑到状态
分布式系统 05:时钟与因果偏序
分布式系统 05:时钟与因果偏序
分布式系统 04:从网络 KV 到持久化恢复
分布式系统 04:从网络 KV 到持久化恢复
分布式系统 03:GFS 写入路径与副本边界
分布式系统 03:GFS 写入路径与副本边界
分布式系统 02:MapReduce 任务重试与输出提交
分布式系统 02:MapReduce 任务重试与输出提交
分布式系统 01:RPC 重试、并发与请求去重
分布式系统 01:RPC 重试、并发与请求去重
分布式系统 00:系统模型、故障时间线与先修自测
分布式系统 00:系统模型、故障时间线与先修自测
计算机网络 25:少一次握手付出了什么,会话恢复、0-RTT 与重放边界
计算机网络 25:少一次握手付出了什么,会话恢复、0-RTT 与重放边界
计算机网络 24:TLS 如何确认通信对象,TLS 1.3、证书链、主机名、密钥与记录
计算机网络 24:TLS 如何确认通信对象,TLS 1.3、证书链、主机名、密钥与记录
计算机网络 23:缓存返回的还是同一份资源吗,新鲜度、验证、Vary 与条件请求
计算机网络 23:缓存返回的还是同一份资源吗,新鲜度、验证、Vary 与条件请求
计算机网络 22:HTTP/1.1 怎样划分消息,请求语义、消息长度、连接复用与代理
计算机网络 22:HTTP/1.1 怎样划分消息,请求语义、消息长度、连接复用与代理
计算机网络 21:域名怎样变成地址,递归、权威、委派、TTL 与负缓存
计算机网络 21:域名怎样变成地址,递归、权威、委派、TTL 与负缓存
计算机网络 20:为什么缓冲更多反而更慢,bufferbloat、队列管理与 ECN
计算机网络 20:为什么缓冲更多反而更慢,bufferbloat、队列管理与 ECN
计算机网络 19:谁限制发送速度,cwnd、rwnd、慢启动、拥塞避免与公平性
计算机网络 19:谁限制发送速度,cwnd、rwnd、慢启动、拥塞避免与公平性
计算机网络 18:接收方读得慢会怎样,接收窗口、背压、零窗口与缓冲区
计算机网络 18:接收方读得慢会怎样,接收窗口、背压、零窗口与缓冲区
计算机网络 17:何时重传才合理,RTT 估计、RTO、快速重传与恢复
计算机网络 17:何时重传才合理,RTT 估计、RTO、快速重传与恢复
计算机网络 16:TCP 连接何时存在,握手、半关闭、RST、TIME_WAIT 与重启
计算机网络 16:TCP 连接何时存在,握手、半关闭、RST、TIME_WAIT 与重启
计算机网络 15:TCP 怎样标识一条字节流,序号、累计 ACK、重组与 SACK
计算机网络 15:TCP 怎样标识一条字节流,序号、累计 ACK、重组与 SACK
计算机网络 14:怎样在不可靠信道上传完整内容,ARQ、序号、计时器与滑动窗口
计算机网络 14:怎样在不可靠信道上传完整内容,ARQ、序号、计时器与滑动窗口
计算机网络 13:UDP 交付了什么,数据报、端口、校验与应用责任
计算机网络 13:UDP 交付了什么,数据报、端口、校验与应用责任
计算机网络 12:跨自治系统为什么不只选最短路,BGP、策略、通告与撤回
计算机网络 12:跨自治系统为什么不只选最短路,BGP、策略、通告与撤回
计算机网络 11:一个自治系统内怎样选路,距离向量、链路状态、收敛与环路
计算机网络 11:一个自治系统内怎样选路,距离向量、链路状态、收敛与环路
计算机网络 10:路由器内部怎样转发,RIB/FIB、控制面、数据面与查表
计算机网络 10:路由器内部怎样转发,RIB/FIB、控制面、数据面与查表
计算机网络 09:小包能通而大包失败,ICMP、MTU、MSS、PMTUD 与黑洞
计算机网络 09:小包能通而大包失败,ICMP、MTU、MSS、PMTUD 与黑洞
计算机网络 08:IPv6 改了什么,地址、NDP、SLAAC、链路本地与双栈
计算机网络 08:IPv6 改了什么,地址、NDP、SLAAC、链路本地与双栈
计算机网络 07:IP 地址怎样决定下一跳,CIDR、子网、最长前缀匹配与 IPv4 转发
计算机网络 07:IP 地址怎样决定下一跳,CIDR、子网、最长前缀匹配与 IPv4 转发
计算机网络 06:地址从哪里来,ARP、DHCP、默认网关与邻居缓存
计算机网络 06:地址从哪里来,ARP、DHCP、默认网关与邻居缓存
计算机网络 05:Wi-Fi 为什么不同于一根网线
计算机网络 05:Wi-Fi 为什么不同于一根网线
计算机网络 04:以太网怎样找到接收端
计算机网络 04:以太网怎样找到接收端
计算机网络 03:抓包能证明什么
计算机网络 03:抓包能证明什么
计算机网络 02:socket 读写的单位与消息边界
计算机网络 02:socket 读写的单位与消息边界
计算机网络 01:带宽高为什么仍然慢
计算机网络 01:带宽高为什么仍然慢
计算机网络 00:一次请求的路径与先修自测
计算机网络 00:一次请求的路径与先修自测
计算机体系结构 00:一次数组求和经过哪些层
计算机体系结构 00:一次数组求和经过哪些层
计算机体系结构 03:ISA 是机器能执行的契约
计算机体系结构 03:ISA 是机器能执行的契约
计算机体系结构 04:C 函数怎样变成机器程序
计算机体系结构 04:C 函数怎样变成机器程序
计算机体系结构 02:怎样比较两台机器
计算机体系结构 02:怎样比较两台机器
计算机体系结构 01:比特怎样表示数
计算机体系结构 01:比特怎样表示数
计算机体系结构 07:有限 RV32I 参考执行器
计算机体系结构 07:有限 RV32I 参考执行器
计算机体系结构 08:多周期执行
计算机体系结构 08:多周期执行
计算机体系结构 11:分支预测与恢复
计算机体系结构 11:分支预测与恢复
计算机体系结构 12:重命名与乱序执行窗口
计算机体系结构 12:重命名与乱序执行窗口
计算机体系结构 09:五级流水线
计算机体系结构 09:五级流水线
计算机体系结构 14:LSQ 与内存依赖重放
计算机体系结构 14:LSQ 与内存依赖重放
计算机体系结构 10:数据与结构冒险
计算机体系结构 10:数据与结构冒险
计算机体系结构 15:仿真结果怎样可信
计算机体系结构 15:仿真结果怎样可信
计算机体系结构 13:ROB 与精确异常
计算机体系结构 13:ROB 与精确异常
总统制、内阁制与半总统制:历史沿革、权力分立与各国实践
总统制、内阁制与半总统制:历史沿革、权力分立与各国实践
从零构建现代搜索引擎(E05):磁盘 ANN 与引擎工程对照
从零构建现代搜索引擎(E05):磁盘 ANN 与引擎工程对照
从零构建现代搜索引擎(E04):有界多步搜索与引用答案
从零构建现代搜索引擎(E04):有界多步搜索与引用答案
从零构建现代搜索引擎(E03):多模态文档搜索
从零构建现代搜索引擎(E03):多模态文档搜索
从零构建现代搜索引擎(E02):多向量与 Late Interaction
从零构建现代搜索引擎(E02):多向量与 Late Interaction
从零构建现代搜索引擎(E01):学习稀疏检索
从零构建现代搜索引擎(E01):学习稀疏检索
从零构建现代搜索引擎(30):从空目录完成最终演示
从零构建现代搜索引擎(30):从空目录完成最终演示
从零构建现代搜索引擎(29):形成可重复的相关性迭代流程
从零构建现代搜索引擎(29):形成可重复的相关性迭代流程
从零构建现代搜索引擎(28):搜索质量与访问边界
从零构建现代搜索引擎(28):搜索质量与访问边界
从零构建现代搜索引擎(27):节点故障、备份与恢复
从零构建现代搜索引擎(27):节点故障、备份与恢复
从零构建现代搜索引擎(26):把查询分发到多个分片
从零构建现代搜索引擎(26):把查询分发到多个分片
从零构建现代搜索引擎(25):新鲜度与持续采集
从零构建现代搜索引擎(25):新鲜度与持续采集
从零构建现代搜索引擎(24):建立搜索的性能画像
从零构建现代搜索引擎(24):建立搜索的性能画像
从零构建现代搜索引擎(23):模型升级时怎样重建索引
从零构建现代搜索引擎(23):模型升级时怎样重建索引
从零构建现代搜索引擎(22):压缩向量与控制推理成本
从零构建现代搜索引擎(22):压缩向量与控制推理成本
从零构建现代搜索引擎(21):让重排序模型检查候选
从零构建现代搜索引擎(21):让重排序模型检查候选
从零构建现代搜索引擎(20):将关键词与向量结果合并
从零构建现代搜索引擎(20):将关键词与向量结果合并
从零构建现代搜索引擎(19):用 HNSW 加速近邻搜索
从零构建现代搜索引擎(19):用 HNSW 加速近邻搜索
从零构建现代搜索引擎(18):将文档编码成可检索向量
从零构建现代搜索引擎(18):将文档编码成可检索向量
从零构建现代搜索引擎(17):查询理解与链接质量信号
从零构建现代搜索引擎(17):查询理解与链接质量信号
从零构建现代搜索引擎(16):在自己的查询集上优化相关性
从零构建现代搜索引擎(16):在自己的查询集上优化相关性
从零构建现代搜索引擎(15):将自制内核接到 Lucene
从零构建现代搜索引擎(15):将自制内核接到 Lucene
从零构建现代搜索引擎(14):搜索 API 与第一个网页界面
从零构建现代搜索引擎(14):搜索 API 与第一个网页界面
从零构建现代搜索引擎(13):给搜索结果补齐用户需要的信息
从零构建现代搜索引擎(13):给搜索结果补齐用户需要的信息
从零构建现代搜索引擎(12):更新、删除与崩溃恢复
从零构建现代搜索引擎(12):更新、删除与崩溃恢复
从零构建现代搜索引擎(11):查询为什么不必扫描全部候选
从零构建现代搜索引擎(11):查询为什么不必扫描全部候选
从零构建现代搜索引擎(10):内存装不下时怎样建立索引
从零构建现代搜索引擎(10):内存装不下时怎样建立索引
从零构建现代搜索引擎(09):从词频到 BM25
从零构建现代搜索引擎(09):从词频到 BM25
从零构建现代搜索引擎(08):短语、布尔查询与过滤
从零构建现代搜索引擎(08):短语、布尔查询与过滤
从零构建现代搜索引擎(07):第一张倒排索引
从零构建现代搜索引擎(07):第一张倒排索引
从零构建现代搜索引擎(06):中文、英文和代码怎样变成词项
从零构建现代搜索引擎(06):中文、英文和代码怎样变成词项
从零构建现代搜索引擎(05):正文提取、URL 规范化与去重
从零构建现代搜索引擎(05):正文提取、URL 规范化与去重
从零构建现代搜索引擎(04):实现有边界的网页爬虫
从零构建现代搜索引擎(04):实现有边界的网页爬虫
从零构建现代搜索引擎(03):在改进排序前建立评测基线
从零构建现代搜索引擎(03):在改进排序前建立评测基线
从零构建现代搜索引擎(02):文档对象与统一导入
从零构建现代搜索引擎(02):文档对象与统一导入
从零构建现代搜索引擎(01):建立可重复运行的项目
从零构建现代搜索引擎(01):建立可重复运行的项目
从零构建现代搜索引擎(00):最终要做出怎样的搜索引擎
从零构建现代搜索引擎(00):最终要做出怎样的搜索引擎
从零编写现代编译器 30 - 张量方言与 Lowering 到 LLVM
从零编写现代编译器 30 - 张量方言与 Lowering 到 LLVM
从零编写现代编译器 29 - MLIR 入门:定义 Sprout 方言
从零编写现代编译器 29 - MLIR 入门:定义 Sprout 方言
从零编写现代编译器 28 - 用 WIT 封装组件接口
从零编写现代编译器 28 - 用 WIT 封装组件接口
从零编写现代编译器 27 - 编译到 WebAssembly
从零编写现代编译器 27 - 编译到 WebAssembly
从零编写现代编译器 26 - 用 Cranelift 实现 JIT 编译
从零编写现代编译器 26 - 用 Cranelift 实现 JIT 编译
从零编写现代编译器 25 - 从空目录构建并运行完整应用
从零编写现代编译器 25 - 从空目录构建并运行完整应用
从零编写现代编译器 24 - 接入语言服务器协议
从零编写现代编译器 24 - 接入语言服务器协议
从零编写现代编译器 23 - 不完整代码与增量分析
从零编写现代编译器 23 - 不完整代码与增量分析
从零编写现代编译器 22 - 测量编译与运行性能
从零编写现代编译器 22 - 测量编译与运行性能
从零编写现代编译器 21 - 差分、属性与模糊测试
从零编写现代编译器 21 - 差分、属性与模糊测试
从零编写现代编译器 20 - 让错误回到源程序
从零编写现代编译器 20 - 让错误回到源程序
从零编写现代编译器 19 - 多文件模块、ABI 与链接
从零编写现代编译器 19 - 多文件模块、ABI 与链接
从零编写现代编译器 18 - 泛型如何变成具体代码
从零编写现代编译器 18 - 泛型如何变成具体代码
从零编写现代编译器 17 - 结构体、枚举与模式匹配
从零编写现代编译器 17 - 结构体、枚举与模式匹配
从零编写现代编译器 16 - 字符串和引用计数
从零编写现代编译器 16 - 字符串和引用计数
从零编写现代编译器 15 - 数据布局与受检数组
从零编写现代编译器 15 - 数据布局与受检数组
从零编写现代编译器 14 - 接入 LLVM 优化与后端
从零编写现代编译器 14 - 接入 LLVM 优化与后端
从零编写现代编译器 13 - 常量传播与无用代码删除
从零编写现代编译器 13 - 常量传播与无用代码删除
从零编写现代编译器 12 - SSA 构造与 phi 节点
从零编写现代编译器 12 - SSA 构造与 phi 节点
从零编写现代编译器 11 - 支配关系、活跃变量与数据流
从零编写现代编译器 11 - 支配关系、活跃变量与数据流
从零编写现代编译器 10 - 基本块、跳转与 CFG
从零编写现代编译器 10 - 基本块、跳转与 CFG
从零编写现代编译器 09 - 条件、循环和可执行程序
从零编写现代编译器 09 - 条件、循环和可执行程序
从零编写现代编译器 08 - 函数调用、递归和返回值
从零编写现代编译器 08 - 函数调用、递归和返回值
从零编写现代编译器 07 - 用参考解释器固定语言语义
从零编写现代编译器 07 - 用参考解释器固定语言语义
从零编写现代编译器 06 - 类型检查与 Typed HIR
从零编写现代编译器 06 - 类型检查与 Typed HIR
从零编写现代编译器 05 - 名字、作用域与可变变量
从零编写现代编译器 05 - 名字、作用域与可变变量
从零编写现代编译器 04 - 表达式解析与错误恢复
从零编写现代编译器 04 - 表达式解析与错误恢复
从零编写现代编译器 03 - 语句解析:let、赋值和分号
从零编写现代编译器 03 - 语句解析:let、赋值和分号
从零编写现代编译器 02 - 词法分析器:把文本切成 Token
从零编写现代编译器 02 - 词法分析器:把文本切成 Token
从零编写现代编译器 01 - return 42:从源码到可执行文件
从零编写现代编译器 01 - return 42:从源码到可执行文件
从零编写现代编译器 00 - 这门语言准备编译什么
从零编写现代编译器 00 - 这门语言准备编译什么
现代编译器写作计划:从 Rust 到 LLVM、Wasm 和 MLIR
现代编译器写作计划:从 Rust 到 LLVM、Wasm 和 MLIR
分布式 ID 系统设计:从需求约束推导架构
分布式 ID 系统设计:从需求约束推导架构
tmux 教程:把一次 SSH 登录变成可恢复的终端工作台
tmux 教程:把一次 SSH 登录变成可恢复的终端工作台
深入 HBase 19 - HBase 3.0 与设计边界
深入 HBase 19 - HBase 3.0 与设计边界
深入 HBase 18 - Metrics、hbtop、Compaction 与性能调优
深入 HBase 18 - Metrics、hbtop、Compaction 与性能调优
深入 HBase 17 - Kerberos、RPC 保护与 ACL
深入 HBase 17 - Kerberos、RPC 保护与 ACL
深入 HBase 16 - Coprocessor、Endpoint 与 Phoenix 边界
深入 HBase 16 - Coprocessor、Endpoint 与 Phoenix 边界
深入 HBase 15 - BufferedMutator 与 Bulk Load
深入 HBase 15 - BufferedMutator 与 Bulk Load
深入 HBase 14 - Get、Scan、Filter 与分页
深入 HBase 14 - Get、Scan、Filter 与分页
深入 HBase 13 - Snapshot、Backup 与恢复
深入 HBase 13 - Snapshot、Backup 与恢复
深入 HBase 12 - 跨集群 Replication
深入 HBase 12 - 跨集群 Replication
深入 HBase 11 - RegionServer 崩溃与 WAL 恢复
深入 HBase 11 - RegionServer 崩溃与 WAL 恢复
深入 HBase 10 - 行级原子性与一致性边界
深入 HBase 10 - 行级原子性与一致性边界
深入 HBase 09 - Client 路由与重试
深入 HBase 09 - Client 路由与重试
深入 HBase 08 - Region 生命周期:split、merge 与 assignment
深入 HBase 08 - Region 生命周期:split、merge 与 assignment
深入 HBase 07 - Compaction、TTL、版本与 Delete
深入 HBase 07 - Compaction、TTL、版本与 Delete
深入 HBase 06 - HFile 内部结构
深入 HBase 06 - HFile 内部结构
深入 HBase 05 - 读取路径:BlockCache、Bloom Filter 与 HFile block
深入 HBase 05 - 读取路径:BlockCache、Bloom Filter 与 HFile block
深入 HBase 04 - 写入路径:WAL、MVCC、MemStore 与 flush
深入 HBase 04 - 写入路径:WAL、MVCC、MemStore 与 flush
深入 HBase 03 - Schema 与 row key 设计
深入 HBase 03 - Schema 与 row key 设计
深入 HBase 02 - 集群架构:HMaster、RegionServer、ZooKeeper 与 hbase:meta
深入 HBase 02 - 集群架构:HMaster、RegionServer、ZooKeeper 与 hbase:meta
深入 HBase 01 - 数据模型:Cell、Column Family 与版本
深入 HBase 01 - 数据模型:Cell、Column Family 与版本
深入 HBase 00 - 导读:row key 决定数据位置
深入 HBase 00 - 导读:row key 决定数据位置
OpenAI Codex Harness 源码解剖:它与 Codex CLI 到底是什么关系
OpenAI Codex Harness 源码解剖:它与 Codex CLI 到底是什么关系
DeepSeek Harness:为什么插件机制比流程编排更像运行时
DeepSeek Harness:为什么插件机制比流程编排更像运行时
oh-my-claudecode vs oh-my-openagent:两大 Agent 编排框架深度对比与实用教程
oh-my-claudecode vs oh-my-openagent:两大 Agent 编排框架深度对比与实用教程
深入 Lean 18:Lean 4 证明工程总结与路线图
深入 Lean 18:Lean 4 证明工程总结与路线图
深入 Lean 17:可执行代码与 FFI
深入 Lean 17:可执行代码与 FFI
深入 Lean 16:用 Aesop 写声明式自动化
深入 Lean 16:用 Aesop 写声明式自动化
深入 Lean 15:编写 elaborator 与 command
深入 Lean 15:编写 elaborator 与 command
深入 Lean 14:元编程模型:Expr/MVarId/MetaM
深入 Lean 14:元编程模型:Expr/MVarId/MetaM
深入 Lean 13:有限组合与数论片段
深入 Lean 13:有限组合与数论片段
深入 Lean 12:拓扑与分析基础结构导览
深入 Lean 12:拓扑与分析基础结构导览
深入 Lean 11:在 Mathlib 上证一个小定理
深入 Lean 11:在 Mathlib 上证一个小定理
深入 Lean 10:类型类层次:从 Monoid 到 Field
深入 Lean 10:类型类层次:从 Monoid 到 Field
深入 Lean 09:Mathlib 搜索技巧
深入 Lean 09:Mathlib 搜索技巧
深入 Lean 08:自定义 tactic 与宏
深入 Lean 08:自定义 tactic 与宏
深入 Lean 07:conv 与 calc
深入 Lean 07:conv 与 calc
深入 Lean 06:omega/linarith/positivity/polyrith:算术自动化
深入 Lean 06:omega/linarith/positivity/polyrith:算术自动化
深入 Lean 05:simp 与 norm_num
深入 Lean 05:simp 与 norm_num
深入 Lean 04:核心 tactic 精讲
深入 Lean 04:核心 tactic 精讲
深入 Lean 03:Universe 与类型层级实战
深入 Lean 03:Universe 与类型层级实战
深入 Lean 02:Term-mode 与 Tactic-mode 切换心法
深入 Lean 02:Term-mode 与 Tactic-mode 切换心法
深入 Lean 01:Lake 项目结构与依赖管理
深入 Lean 01:Lake 项目结构与依赖管理
Coding Agent 领域的 Graph Engineering——当图工程遇上智能体编排
Coding Agent 领域的 Graph Engineering——当图工程遇上智能体编排
深入 Coq 18:Coq 证明工程总结与路线图
深入 Coq 18:Coq 证明工程总结与路线图
深入 Coq 17:项目组织与持续集成
深入 Coq 17:项目组织与持续集成
深入 Coq 16:读 CompCert 源码
深入 Coq 16:读 CompCert 源码
深入 Coq 15:验证一个小型解释器
深入 Coq 15:验证一个小型解释器
深入 Coq 14:程序提取
深入 Coq 14:程序提取
深入 Coq 13:证明红绿灯:常见卡住模式与诊断
深入 Coq 13:证明红绿灯:常见卡住模式与诊断
深入 Coq 12:类型类与 Canonical Structures
深入 Coq 12:类型类与 Canonical Structures
深入 Coq 11:存在性证明与构造见证
深入 Coq 11:存在性证明与构造见证
深入 Coq 10:等式推理与重写策略
深入 Coq 10:等式推理与重写策略
深入 Coq 09:归纳证明:自然数、列表、树
深入 Coq 09:归纳证明:自然数、列表、树
深入 Coq 08:Ltac2 与现代 tactic 编程
深入 Coq 08:Ltac2 与现代 tactic 编程
深入 Coq 07:Ltac 编程
深入 Coq 07:Ltac 编程
深入 Coq 06:SSReflect 风格
深入 Coq 06:SSReflect 风格
深入 Coq 05:搜索与自动化
深入 Coq 05:搜索与自动化
深入 Coq 04:基础 tactic 全景
深入 Coq 04:基础 tactic 全景
深入 Coq 03:Gallina 核心语法速查
深入 Coq 03:Gallina 核心语法速查
深入 Coq 02:目标窗口与 tactic 交互模型
深入 Coq 02:目标窗口与 tactic 交互模型
深入 Coq 01:开发环境与项目结构
深入 Coq 01:开发环境与项目结构
图工程综述——大规模图计算引擎与框架全览
图工程综述——大规模图计算引擎与框架全览
深入图工程
深入图工程
Unix 常用命令
Unix 常用命令
深入 Logstash 17 - Logstash 的演进与 Elastic Agent 的冲击
深入 Logstash 17 - Logstash 的演进与 Elastic Agent 的冲击
深入 Logstash 16 - Logstash vs Fluentd vs Vector:日志管道的三种取舍
深入 Logstash 16 - Logstash vs Fluentd vs Vector:日志管道的三种取舍
深入 Logstash 15 - Logstash vs Beats vs Ingest Pipeline:该用谁
深入 Logstash 15 - Logstash vs Beats vs Ingest Pipeline:该用谁
深入 Logstash 14 - 性能调优:JVM heap、批处理与持久队列磁盘
深入 Logstash 14 - 性能调优:JVM heap、批处理与持久队列磁盘
深入 Logstash 13 - 监控:Node Stats API、hot threads 与瓶颈定位
深入 Logstash 13 - 监控:Node Stats API、hot threads 与瓶颈定位
深入 Logstash 12 - Multiple Pipelines 与 pipeline-to-pipeline
深入 Logstash 12 - Multiple Pipelines 与 pipeline-to-pipeline
深入 Logstash 11 - 死信队列(DLQ):无法处理的 event 去哪
深入 Logstash 11 - 死信队列(DLQ):无法处理的 event 去哪
深入 Logstash 10 - 内存队列 vs 持久队列:可靠性的分界线
深入 Logstash 10 - 内存队列 vs 持久队列:可靠性的分界线
深入 Logstash 09 - pipeline 执行模型:worker、batch 与背压
深入 Logstash 09 - pipeline 执行模型:worker、batch 与背压
深入 Logstash 08 - output 插件:Elasticsearch output 与批量写入
深入 Logstash 08 - output 插件:Elasticsearch output 与批量写入
深入 Logstash 07 - 常用 filter 组合:mutate、date、geoip 与条件
深入 Logstash 07 - 常用 filter 组合:mutate、date、geoip 与条件
深入 Logstash 06 - dissect 与结构化 filter:放弃回溯换吞吐
深入 Logstash 06 - dissect 与结构化 filter:放弃回溯换吞吐
深入 Logstash 05 - Grok 的本质:命名正则加预定义 pattern
深入 Logstash 05 - Grok 的本质:命名正则加预定义 pattern
深入 Logstash 04 - input 插件:拉取、监听与 Beats 接入
深入 Logstash 04 - input 插件:拉取、监听与 Beats 接入
深入 Logstash 03 - codec:字节流与 event 的边界转换
深入 Logstash 03 - codec:字节流与 event 的边界转换
深入 Logstash 02 - event 模型:@timestamp、@metadata 与字段引用
深入 Logstash 02 - event 模型:@timestamp、@metadata 与字段引用
深入 Logstash 01 - 架构:JRuby、JVM 与 pipeline 的运行形态
深入 Logstash 01 - 架构:JRuby、JVM 与 pipeline 的运行形态
深入 Kibana 17 - 演进:从纯前端到 platform 再到 Serverless
深入 Kibana 17 - 演进:从纯前端到 platform 再到 Serverless
深入 Kibana 16 - Kibana vs Grafana:两种可视化平台的设计取舍
深入 Kibana 16 - Kibana vs Grafana:两种可视化平台的设计取舍
深入 Kibana 15 - 性能模型:bundle、bootstrap 与异步搜索会话
深入 Kibana 15 - 性能模型:bundle、bootstrap 与异步搜索会话
深入 Kibana 14 - 插件体系:platform 的 setup/start 生命周期
深入 Kibana 14 - 插件体系:platform 的 setup/start 生命周期
深入 Kibana 13 - Spaces 与安全:RBAC、Feature Controls 与多租户
深入 Kibana 13 - Spaces 与安全:RBAC、Feature Controls 与多租户
深入 Kibana(十二):Task Manager——Kibana 内部的分布式任务调度
深入 Kibana(十二):Task Manager——Kibana 内部的分布式任务调度
深入 Kibana(十一):Reporting——从 Dashboard 到 PDF/PNG 的生成链路
深入 Kibana(十一):Reporting——从 Dashboard 到 PDF/PNG 的生成链路
深入 Kibana(十):Alerting 框架——Rule、Connector 与 Action 的三段契约
深入 Kibana(十):Alerting 框架——Rule、Connector 与 Action 的三段契约
深入 Kibana 09 - Dashboard 与 Embeddable:面板的组合与依赖
深入 Kibana 09 - Dashboard 与 Embeddable:面板的组合与依赖
深入 Kibana 08 - TSVB、Timelion 与 Vega:时序与自定义可视化
深入 Kibana 08 - TSVB、Timelion 与 Vega:时序与自定义可视化
深入 Kibana 07 - Lens:拖拽背后的自动聚合推断
深入 Kibana 07 - Lens:拖拽背后的自动聚合推断
深入 Kibana 06 - 聚合式可视化的老路:Visualize 与 bucket/metric
深入 Kibana 06 - 聚合式可视化的老路:Visualize 与 bucket/metric
深入 Kibana 05 - Discover:交互式检索的执行模型
深入 Kibana 05 - Discover:交互式检索的执行模型
深入 Kibana 04 - Search Source 与查询翻译:KQL、Lucene 与 Query DSL
深入 Kibana 04 - Search Source 与查询翻译:KQL、Lucene 与 Query DSL
深入 Kibana 03 - Data View:查询之前的字段抽象
深入 Kibana 03 - Data View:查询之前的字段抽象
深入 Kibana 02 - Saved Object:一切状态的统一模型
深入 Kibana 02 - Saved Object:一切状态的统一模型
深入 Kibana 01 - 架构:浏览器、Node.js server 与 platform
深入 Kibana 01 - 架构:浏览器、Node.js server 与 platform
深入 Logstash 00 - 导读:核心对象是 event,骨架是三段管道
深入 Logstash 00 - 导读:核心对象是 event,骨架是三段管道
深入 Kibana 00 - 导读:Kibana 的状态存在 Elasticsearch 里
深入 Kibana 00 - 导读:Kibana 的状态存在 Elasticsearch 里
OpenAI 与 Anthropic 知识库研究进展深度对比
OpenAI 与 Anthropic 知识库研究进展深度对比
深入 Hadoop 22 - Hadoop 设计遗产从 GFS MapReduce 到云原生
深入 Hadoop 22 - Hadoop 设计遗产从 GFS MapReduce 到云原生
深入 Hadoop 21 - Hadoop 与对象存储 Kubernetes 演进对比
深入 Hadoop 21 - Hadoop 与对象存储 Kubernetes 演进对比
深入 Hadoop 20 - Hadoop 生态 Hive HBase Pig
深入 Hadoop 20 - Hadoop 生态 Hive HBase Pig
深入 Hadoop 19 - 监控与运维 Metrics JMX 日志聚合
深入 Hadoop 19 - 监控与运维 Metrics JMX 日志聚合
深入 Hadoop 18 - Hadoop 安全 Kerberos Token ProxyUser
深入 Hadoop 18 - Hadoop 安全 Kerberos Token ProxyUser
深入 Hadoop 17 - 序列化与压缩
深入 Hadoop 17 - 序列化与压缩
深入 Hadoop 16 - Hadoop RPC 协议栈
深入 Hadoop 16 - Hadoop RPC 协议栈
深入 Hadoop 15 - MRv2 on YARN ApplicationMaster 与 Task Attempt
深入 Hadoop 15 - MRv2 on YARN ApplicationMaster 与 Task Attempt
深入 Hadoop 14 - MapReduce Shuffle 全流程
深入 Hadoop 14 - MapReduce Shuffle 全流程
深入 Hadoop 13 - MapReduce 编程模型与分而治之
深入 Hadoop 13 - MapReduce 编程模型与分而治之
深入 Hadoop 12 - YARN Timeline Service v2
深入 Hadoop 12 - YARN Timeline Service v2
深入 Hadoop 11 - YARN HA 与 Federation
深入 Hadoop 11 - YARN HA 与 Federation
深入 Hadoop 10 - YARN 应用程序生命周期
深入 Hadoop 10 - YARN 应用程序生命周期
深入 Hadoop 09 - YARN 调度器对比:FIFO、Capacity、Fair
深入 Hadoop 09 - YARN 调度器对比:FIFO、Capacity、Fair
深入 Hadoop 08 - YARN 资源模型、Container 与 NodeLabel
深入 Hadoop 08 - YARN 资源模型、Container 与 NodeLabel
深入 Hadoop 07 - YARN 架构与三方契约
深入 Hadoop 07 - YARN 架构与三方契约
深入 Hadoop 06 - HDFS 3.x 演进与纠删码
深入 Hadoop 06 - HDFS 3.x 演进与纠删码
从模型评测到系统评测:OpenAI 与 Anthropic 怎么搭能力评测体系
从模型评测到系统评测:OpenAI 与 Anthropic 怎么搭能力评测体系
深入 Hadoop 05 - HDFS HA 与脑裂防御
深入 Hadoop 05 - HDFS HA 与脑裂防御
深入 Hadoop 04 - NameNode 内存模型与启动恢复
深入 Hadoop 04 - NameNode 内存模型与启动恢复
深入 Hadoop 03 - 文件读取路径与副本选择
深入 Hadoop 03 - 文件读取路径与副本选择
深入 Hadoop 02 - 文件写入路径与流水线
深入 Hadoop 02 - 文件写入路径与流水线
深入 Hadoop 01 - HDFS 架构与三层切分
深入 Hadoop 01 - HDFS 架构与三层切分
深入 Hadoop 00 - 导读:节点总会失败
深入 Hadoop 00 - 导读:节点总会失败
各种各样的 Case:一份工程术语家谱
各种各样的 Case:一份工程术语家谱
导读:React 不是模板引擎,是一个渲染调度系统
导读:React 不是模板引擎,是一个渲染调度系统
导读:TypeScript 不是给 JavaScript 加注解,是给 JavaScript 加类型系统
导读:TypeScript 不是给 JavaScript 加注解,是给 JavaScript 加类型系统
Agent 会话边界设计:Session、Context Window 与工作状态转移
Agent 会话边界设计:Session、Context Window 与工作状态转移
2026 Coding Harness 实现图谱:Skill、上下文与扩展系统
2026 Coding Harness 实现图谱:Skill、上下文与扩展系统
AI Coding Agent 的 Skill 加载机制深度解析
AI Coding Agent 的 Skill 加载机制深度解析
AI Coding Agent 的上下文栈:组件边界与装配顺序
AI Coding Agent 的上下文栈:组件边界与装配顺序
从 Rules 到 Agent Skills:能力加载机制的演变
从 Rules 到 Agent Skills:能力加载机制的演变
为什么叫"测试夹具":Fixture 的词源与跨领域漫游
为什么叫"测试夹具":Fixture 的词源与跨领域漫游
Spark 与 Flink:两种计算引擎的设计选择
Spark 与 Flink:两种计算引擎的设计选择
性能诊断:Spark UI、Event Log 与调优思路
性能诊断:Spark UI、Event Log 与调优思路
动态资源分配与作业调度:多租户集群的资源博弈
动态资源分配与作业调度:多租户集群的资源博弈
Spark on YARN / K8s:资源管理与部署模式
Spark on YARN / K8s:资源管理与部署模式
水位线与状态管理:流处理的时间语义
水位线与状态管理:流处理的时间语义
Structured Streaming:把流当成无界表
Structured Streaming:把流当成无界表
数据源 API 与谓词下推:让存储层帮忙过滤
数据源 API 与谓词下推:让存储层帮忙过滤
Adaptive Query Execution:运行时改写执行计划
Adaptive Query Execution:运行时改写执行计划
DataFrame 与 Dataset:类型安全与性能的折中
DataFrame 与 Dataset:类型安全与性能的折中
Spark SQL 与 Catalyst:从 SQL 文本到物理算子树
Spark SQL 与 Catalyst:从 SQL 文本到物理算子树
容错机制:Lineage、Checkpoint 与推测执行
容错机制:Lineage、Checkpoint 与推测执行
存储体系:Block Manager、广播变量与累加器
存储体系:Block Manager、广播变量与累加器
内存管理与 Tungsten:堆外内存、序列化与代码生成
内存管理与 Tungsten:堆外内存、序列化与代码生成
Shuffle 机制:数据跨分区交换的代价与优化
Shuffle 机制:数据跨分区交换的代价与优化
DAG Scheduler 与 Task Scheduler:从逻辑计划到物理执行
DAG Scheduler 与 Task Scheduler:从逻辑计划到物理执行
宽依赖与窄依赖:Stage 是怎样划分出来的
宽依赖与窄依赖:Stage 是怎样划分出来的
RDD:弹性分布式数据集的五大属性
RDD:弹性分布式数据集的五大属性
导读:为什么 Spark 的核心是一张 DAG
导读:为什么 Spark 的核心是一张 DAG
从规则到统计:人工智能七十年的两条路线之争
从规则到统计:人工智能七十年的两条路线之争
美日开战之前,美国偏袒过日本吗——核查"日本子弹七成靠美国"的说法
美日开战之前,美国偏袒过日本吗——核查"日本子弹七成靠美国"的说法
AI 是放大器不是方向:读 Adam Bender 谈软件生态学的 10 倍时刻
AI 是放大器不是方向:读 Adam Bender 谈软件生态学的 10 倍时刻
CI/CD 方法论的前世今生
CI/CD 方法论的前世今生
MySQL 经典架构模式:从主从复制到分库分表
MySQL 经典架构模式:从主从复制到分库分表
Elasticsearch 经典架构模式:从时序索引到跨集群检索
Elasticsearch 经典架构模式:从时序索引到跨集群检索
深入 Elasticsearch(17):两种搜索引擎的设计选择
深入 Elasticsearch(17):两种搜索引擎的设计选择
深入 Elasticsearch(16):集群扩缩、监控指标与故障排查
深入 Elasticsearch(16):集群扩缩、监控指标与故障排查
深入 Elasticsearch(15):认证、授权与加密
深入 Elasticsearch(15):认证、授权与加密
深入 Elasticsearch(14):搜索延迟、写入吞吐与调优思路
深入 Elasticsearch(14):搜索延迟、写入吞吐与调优思路
深入 Elasticsearch(13):Segment Merge 与 Index Lifecycle Management
深入 Elasticsearch(13):Segment Merge 与 Index Lifecycle Management
深入 Elasticsearch(12):Master 选举与集群状态同步
深入 Elasticsearch(12):Master 选举与集群状态同步
深入 Elasticsearch(11):故障恢复与读写模型
深入 Elasticsearch(11):故障恢复与读写模型
深入 Elasticsearch(10):数据分布的核心机制
深入 Elasticsearch(10):数据分布的核心机制
深入 Elasticsearch(09):搜索之上的实时分析
深入 Elasticsearch(09):搜索之上的实时分析
深入 Elasticsearch(08):从 match 到 bool 的查询体系
深入 Elasticsearch(08):从 match 到 bool 的查询体系
深入 Elasticsearch(07):BM25 与打分机制
深入 Elasticsearch(07):BM25 与打分机制
深入 Elasticsearch(06):Query-Then-Fetch 的两阶段流程
深入 Elasticsearch(06):Query-Then-Fetch 的两阶段流程
深入 Elasticsearch(05):近实时、Translog 与 Refresh/Flush
深入 Elasticsearch(05):近实时、Translog 与 Refresh/Flush
深入 Elasticsearch(04):从原始文本到可搜索词项
深入 Elasticsearch(04):从原始文本到可搜索词项
深入 Elasticsearch(03):Mapping 与字段类型
深入 Elasticsearch(03):Mapping 与字段类型
深入 Elasticsearch(02):Segment、倒排索引与 Doc Values
深入 Elasticsearch(02):Segment、倒排索引与 Doc Values
深入 Elasticsearch(01):Node、Cluster 与集群状态
深入 Elasticsearch(01):Node、Cluster 与集群状态
深入 Elasticsearch(00):为什么 Elasticsearch 的核心是一张倒排索引
深入 Elasticsearch(00):为什么 Elasticsearch 的核心是一张倒排索引
上下文管理全景:Agentic Coding 工具操纵 Messages 数组的六种策略
上下文管理全景:Agentic Coding 工具操纵 Messages 数组的六种策略
NRW 仲裁参数——分布式副本读写的数值问题
NRW 仲裁参数——分布式副本读写的数值问题
共识算法推导——从鸽巢原理到 Paxos、ZAB 与 Raft
共识算法推导——从鸽巢原理到 Paxos、ZAB 与 Raft
英语语法的骨架:时态、从句和修饰语怎么连起来
英语语法的骨架:时态、从句和修饰语怎么连起来
OpenAI Beneficial RL 论文解读:对齐的本质是人格而非规则
OpenAI Beneficial RL 论文解读:对齐的本质是人格而非规则
Kafka 与 RocketMQ:两种消息系统的设计选择
Kafka 与 RocketMQ:两种消息系统的设计选择
生产运维:集群扩缩、监控指标与故障排查
生产运维:集群扩缩、监控指标与故障排查
安全体系:认证、授权与加密
安全体系:认证、授权与加密
性能模型:吞吐、延迟与调优思路
性能模型:吞吐、延迟与调优思路
Schema Registry 与数据治理:给消息加上契约
Schema Registry 与数据治理:给消息加上契约
Kafka Connect:标准化的数据管道
Kafka Connect:标准化的数据管道
Kafka Streams:在日志之上构建流处理
Kafka Streams:在日志之上构建流处理
日志压缩:把 topic 当 KV 表用
日志压缩:把 topic 当 KV 表用
Exactly-Once 与事务:跨 partition 的原子写入
Exactly-Once 与事务:跨 partition 的原子写入
Controller 与 KRaft:从 ZooKeeper 到内置共识
Controller 与 KRaft:从 ZooKeeper 到内置共识
副本与 ISR:高可用的代价和折中
副本与 ISR:高可用的代价和折中
Offset 管理:提交、重置与消费语义
Offset 管理:提交、重置与消费语义
Consumer Group 协议:分配、重平衡与静态成员
Consumer Group 协议:分配、重平衡与静态成员
幂等 Producer 与序列号:消息不重不丢的第一层
幂等 Producer 与序列号:消息不重不丢的第一层
Producer 内部机制:攒批、分区与 acks
Producer 内部机制:攒批、分区与 acks
日志存储:Segment、Index 与零拷贝
日志存储:Segment、Index 与零拷贝
生产集群运维——升级、备份、故障排查与容量规划
生产集群运维——升级、备份、故障排查与容量规划
可观测性——Metrics、Logging、Tracing 的集群实践
可观测性——Metrics、Logging、Tracing 的集群实践
Helm 与应用打包——从 YAML 到可复用制品
Helm 与应用打包——从 YAML 到可复用制品
CRD 与 Operator 模式——扩展 Kubernetes 的标准路径
CRD 与 Operator 模式——扩展 Kubernetes 的标准路径
资源管理与自动伸缩:requests、limits、HPA 与 VPA
资源管理与自动伸缩:requests、limits、HPA 与 VPA
RBAC 与安全模型:认证、授权与准入控制
RBAC 与安全模型:认证、授权与准入控制
配置与密钥管理:ConfigMap、Secret 与外部集成
配置与密钥管理:ConfigMap、Secret 与外部集成
存储体系:PV、PVC、StorageClass 与 CSI
存储体系:PV、PVC、StorageClass 与 CSI
架构总览:Broker、Controller 与元数据管理
架构总览:Broker、Controller 与元数据管理
Ingress 与 Gateway API:七层流量的入口演进
Ingress 与 Gateway API:七层流量的入口演进
Service 与 kube-proxy:虚拟 IP、iptables 与 IPVS
Service 与 kube-proxy:虚拟 IP、iptables 与 IPVS
网络模型与 CNI:每个 Pod 一个 IP 背后的实现
网络模型与 CNI:每个 Pod 一个 IP 背后的实现
kubelet 与容器运行时:节点上到底发生了什么
kubelet 与容器运行时:节点上到底发生了什么
调度器深入:打分、抢占与拓扑约束
调度器深入:打分、抢占与拓扑约束
Pod 生命周期:从 Pending 到 Running 的完整路径
Pod 生命周期:从 Pending 到 Running 的完整路径
控制器模式与 Informer 机制:调谐循环的工程实现
控制器模式与 Informer 机制:调谐循环的工程实现
etcd 与持久化:集群状态的唯一事实来源
etcd 与持久化:集群状态的唯一事实来源
API Server 与声明式 API:一切皆资源
API Server 与声明式 API:一切皆资源
导读:为什么 Kafka 的核心是一根日志
导读:为什么 Kafka 的核心是一根日志
从零配置 GitHub Actions 自动部署 Hexo 博客
从零配置 GitHub Actions 自动部署 Hexo 博客
LeCun 视角下的数据瓶颈、电子果蝇与自主学习
LeCun 视角下的数据瓶颈、电子果蝇与自主学习
LeCun 视角下的 VLA、机器人与具身智能边界
LeCun 视角下的 VLA、机器人与具身智能边界
LeCun 视角下的 LLM 边界:贝叶斯推断与因果问题
LeCun 视角下的 LLM 边界:贝叶斯推断与因果问题
LeCun 的世界模型与 JEPA 路线详解
LeCun 的世界模型与 JEPA 路线详解
LeCun 关于 LLM 与 AGI 的观点总集成
LeCun 关于 LLM 与 AGI 的观点总集成
Deli AutoResearch:从论文流水线到研究品味
Deli AutoResearch:从论文流水线到研究品味
Ponytail:把 YAGNI 写进 Coding Agent 的行为层
Ponytail:把 YAGNI 写进 Coding Agent 的行为层
Loop Engineering:从 Boris 的 /loops 到持久 Agent 工程
Loop Engineering:从 Boris 的 /loops 到持久 Agent 工程
一次 AI Coding Agent Turn 的上下文生命周期:Hook、Tool、Skill、Compact 与 Subagent
一次 AI Coding Agent Turn 的上下文生命周期:Hook、Tool、Skill、Compact 与 Subagent
Agent 互操作协议全景:MCP、A2A、AG-UI、ANP 和 Agent Runtime 的分层地图
Agent 互操作协议全景:MCP、A2A、AG-UI、ANP 和 Agent Runtime 的分层地图
深翻页的本质:从 RDBMS 到 ES 和 Hive
深翻页的本质:从 RDBMS 到 ES 和 Hive
Agentic Flow 不是 Harness:控制流、运行时与全栈研究模型
Agentic Flow 不是 Harness:控制流、运行时与全栈研究模型
持久 Agent:当任务活得比会话长
持久 Agent:当任务活得比会话长
ReAct:推理与行动交织的 Agent 循环原型
ReAct:推理与行动交织的 Agent 循环原型
企业微信能自动加好友并拉群吗:官方 API 能力边界与架构方案
企业微信能自动加好友并拉群吗:官方 API 能力边界与架构方案
数据库 Resharding 的在线切换与回滚
数据库 Resharding 的在线切换与回滚
Anthropic autonomous-coding 源码拆解:500 行 Python 里的 Harness 工程学
Anthropic autonomous-coding 源码拆解:500 行 Python 里的 Harness 工程学
Agent Harness Engineering 综述解读:ETCLOVG 七层框架与生态全景
Agent Harness Engineering 综述解读:ETCLOVG 七层框架与生态全景
复刻多 Agent 诊断系统:47 个失败模式复盘
复刻多 Agent 诊断系统:47 个失败模式复盘
附录:Curry-Howard-Lambek 三角,范畴论第三条腿
附录:Curry-Howard-Lambek 三角,范畴论第三条腿
收束:作为日常工具的形式化
收束:作为日常工具的形式化
形式化方法的局限与工程取舍
形式化方法的局限与工程取舍
大型形式化案例:CompCert、seL4、Four Color 与 Mathlib
大型形式化案例:CompCert、seL4、Four Color 与 Mathlib
从一个 git 仓到 Skill Hub:一道全栈架构题的逐层推导
从一个 git 仓到 Skill Hub:一道全栈架构题的逐层推导
类型检查器的可信基底:编译通过到底信什么
类型检查器的可信基底:编译通过到底信什么
在 Lean 4 中证明经典命题
在 Lean 4 中证明经典命题
准备 Lean 4 实验环境
准备 Lean 4 实验环境
归纳类型与递归:把数据嵌入证明
归纳类型与递归:把数据嵌入证明
依值类型:从命题逻辑到一阶逻辑
依值类型:从命题逻辑到一阶逻辑
类型检查算法:证明检查算法的机械实现
类型检查算法:证明检查算法的机械实现
简单类型 lambda 演算:最小可证明系统
简单类型 lambda 演算:最小可证明系统
命题即类型:Curry-Howard 同构
命题即类型:Curry-Howard 同构
直觉主义逻辑与 BHK 解释:什么算一个证明
直觉主义逻辑与 BHK 解释:什么算一个证明
编译通过为什么就是定理得证:形式化方法系列导引
编译通过为什么就是定理得证:形式化方法系列导引
U型思考法:从表象到本质的深度思维模型
U型思考法:从表象到本质的深度思维模型
情绪提示词:用心理学手段提升 LLM 性能的研究综述
情绪提示词:用心理学手段提升 LLM 性能的研究综述
回到工程:Linux VM 如何改变性能诊断
回到工程:Linux VM 如何改变性能诊断
OOM Killer:内核什么时候决定杀进程
OOM Killer:内核什么时候决定杀进程
cgroup memory:内存从全局资源变成局部预算
cgroup memory:内存从全局资源变成局部预算
SLUB:小对象为什么不直接按页分配
SLUB:小对象为什么不直接按页分配
Buddy system:物理页如何按阶分配
Buddy system:物理页如何按阶分配
Huge Page:TLB 压力和页表开销
Huge Page:TLB 压力和页表开销
NUMA:内存为什么有远近
NUMA:内存为什么有远近
Swap:换出去的页怎样回来
Swap:换出去的页怎样回来
页回收:kswapd 和 direct reclaim
页回收:kswapd 和 direct reclaim
LRU 和 workingset:内核如何近似"最近使用"
LRU 和 workingset:内核如何近似"最近使用"
反向映射:从物理页找回虚拟地址
反向映射:从物理页找回虚拟地址
Folio:为什么内核重新组织 page 抽象
Folio:为什么内核重新组织 page 抽象
文件映射和 page cache:文件内容怎样变成页面
文件映射和 page cache:文件内容怎样变成页面
匿名页和 COW:fork 为什么便宜,写入为什么变贵
匿名页和 COW:fork 为什么便宜,写入为什么变贵
缺页异常:一次访问如何进入内核
缺页异常:一次访问如何进入内核
页表:CPU 能读懂的翻译结构
页表:CPU 能读懂的翻译结构
地址空间不是数组:mm_struct 和 vm_area_struct
地址空间不是数组:mm_struct 和 vm_area_struct
密码学签名全景:从 HMAC 到数字签名的完整图谱
密码学签名全景:从 HMAC 到数字签名的完整图谱
重读 Linux VM:给系统研究生的虚拟内存导读
重读 Linux VM:给系统研究生的虚拟内存导读
Self-Improving Agent 的边界:外部记忆能不能 shadow 模型权重?
Self-Improving Agent 的边界:外部记忆能不能 shadow 模型权重?
AI Coding Agent 的上下文操作系统:组件、生命周期与阅读地图
AI Coding Agent 的上下文操作系统:组件、生命周期与阅读地图
AI 不会吞掉软件,只会吞掉入口
AI 不会吞掉软件,只会吞掉入口
Agent Teams 为什么有效
Agent Teams 为什么有效
环境可供性:智能的一半是取到正确数据
环境可供性:智能的一半是取到正确数据
Context Paging:Compact、外部化、恢复与 Memory 生命周期
Context Paging:Compact、外部化、恢复与 Memory 生命周期
裸模型为什么像抽卡
裸模型为什么像抽卡
Harness 的本质:把随机模型锁进可验证的箱体
Harness 的本质:把随机模型锁进可验证的箱体
AI 编程让人类更累——从 Vibe Coding 到 Brain Fry 的认知负荷真相
AI 编程让人类更累——从 Vibe Coding 到 Brain Fry 的认知负荷真相
回到工程:计算理论怎样改变写代码的眼光
回到工程:计算理论怎样改变写代码的眼光
抽象解释:用保守近似理解程序
抽象解释:用保守近似理解程序
停机问题:为什么某些判断没有通用程序
停机问题:为什么某些判断没有通用程序
通用性:一种机器怎样模拟另一种机器
通用性:一种机器怎样模拟另一种机器
不用数字也能计算:Church 编码
不用数字也能计算:Church 编码
写一个 lambda 规约器
写一个 lambda 规约器
lambda 演算入门:函数为什么足够表达计算
lambda 演算入门:函数为什么足够表达计算
用 Python 写一台图灵机
用 Python 写一台图灵机
图灵机:纸带、读写头和最小通用计算
图灵机:纸带、读写头和最小通用计算
下推自动机:多一只栈就能处理嵌套
下推自动机:多一只栈就能处理嵌套
正则表达式如何变成自动机
正则表达式如何变成自动机
非确定性有限自动机:一次保留多个可能世界
非确定性有限自动机:一次保留多个可能世界
确定性有限自动机:状态、输入和接受条件
确定性有限自动机:状态、输入和接受条件
Harness 也开始进化:复旦 AHE 与可观测性驱动的自演化
Harness 也开始进化:复旦 AHE 与可观测性驱动的自演化
进程启动期的静默故障:JVM 与 Node.js 的调试方法论
进程启动期的静默故障:JVM 与 Node.js 的调试方法论
指称语义:把程序翻译成 Python 函数
指称语义:把程序翻译成 Python 函数
小步语义:把程序执行拆成一步一步的规约
小步语义:把程序执行拆成一步一步的规约
自己写一个解释器:大步语义与递归求值
自己写一个解释器:大步语义与递归求值
程序先变成语法树:从字符串到 AST
程序先变成语法树:从字符串到 AST
刚好够用的 Python:为《计算的本质》准备实验语言
刚好够用的 Python:为《计算的本质》准备实验语言
重读《计算的本质》:给 Java 程序员的可计算性入门
重读《计算的本质》:给 Java 程序员的可计算性入门
AgentScope 全景实战:设计速读与生产级十二层装配
AgentScope 全景实战:设计速读与生产级十二层装配
MyBatis 内部架构深度解析:从 Mapper 方法到 JDBC 执行链
MyBatis 内部架构深度解析:从 Mapper 方法到 JDBC 执行链
Harness Engineering:长程 Agent 的工程化底座
Harness Engineering:长程 Agent 的工程化底座
Agent 全景指南:从必要性、范式演化到高可用落地
Agent 全景指南:从必要性、范式演化到高可用落地
模块化与动态加载的跨平台对照:从 ClassLoader 到 BEAM、ALC、dlmopen
模块化与动态加载的跨平台对照:从 ClassLoader 到 BEAM、ALC、dlmopen
Spring AI 深度:把 LLM 抽象成新一代 JDBC(兼论 LangChain4j 与 Java 智能体框架路线)
Spring AI 深度:把 LLM 抽象成新一代 JDBC(兼论 LangChain4j 与 Java 智能体框架路线)
从 Java 8 到 Java 25 的迁移与 Spring 升级指南
从 Java 8 到 Java 25 的迁移与 Spring 升级指南
从 OSGi 到 Jigsaw:Java 模块化、SPI 与类加载器切换
从 OSGi 到 Jigsaw:Java 模块化、SPI 与类加载器切换
大语言模型为什么像人在说话和思考:语言能力、思考能力与可解释性边界
大语言模型为什么像人在说话和思考:语言能力、思考能力与可解释性边界
递归语言模型 RLM 推理范式深读
递归语言模型 RLM 推理范式深读
用 Skill 和 Agent 攻克老旧历史项目的学习与分析难题
用 Skill 和 Agent 攻克老旧历史项目的学习与分析难题
缓存系统设计全景——从原理到生产的完整指南
缓存系统设计全景——从原理到生产的完整指南
Multi-Agent 架构深度研究:从四种基础模式到「何时不该用多 Agent」的工程判断
Multi-Agent 架构深度研究:从四种基础模式到「何时不该用多 Agent」的工程判断
Context7 MCP Server 深度解析:AI 编程助手的实时文档检索引擎
Context7 MCP Server 深度解析:AI 编程助手的实时文档检索引擎
Goal 模式深度研究:从 Ralph Loop 到 Codex Runtime、Claude Judge 与 SDD Sidecar
Goal 模式深度研究:从 Ralph Loop 到 Codex Runtime、Claude Judge 与 SDD Sidecar
到底什么是多模态模型
到底什么是多模态模型
中美两国实际社会总债务是多少
中美两国实际社会总债务是多少
OpenCode 自研 SDD 流程注入方案
OpenCode 自研 SDD 流程注入方案
超成本 / 不起量 / 炸量:广告投放线上异常问题全景
超成本 / 不起量 / 炸量:广告投放线上异常问题全景
短事务与高并发缓存初始化
短事务与高并发缓存初始化
CPX / OCPX / eCPM:广告计费家族的全景图与演进版图
CPX / OCPX / eCPM:广告计费家族的全景图与演进版图
如何写好 AGENTS.md
如何写好 AGENTS.md
欧尔班败选与世界大国态度
欧尔班败选与世界大国态度
谁在记住你:Hermes、OpenClaw、Claude Code 等主流智能体的记忆架构深度横评
谁在记住你:Hermes、OpenClaw、Claude Code 等主流智能体的记忆架构深度横评
当任务里藏着一个巨大的搜索子问题——RLMs、LLM Wiki、RAG 的降本提精路线图
当任务里藏着一个巨大的搜索子问题——RLMs、LLM Wiki、RAG 的降本提精路线图
Superpowers 的 skill 体系:规则引擎、流程编排与纪律约束
Superpowers 的 skill 体系:规则引擎、流程编排与纪律约束
OpenAI Symphony 深度研究,一次从「监督 Agent」到「管理工作」的编排改造
OpenAI Symphony 深度研究,一次从「监督 Agent」到「管理工作」的编排改造
Warp:从终端到 ADE 的五年深研
Warp:从终端到 ADE 的五年深研
印度民主深度研究,一个七十八岁的「不可能」还在运行
印度民主深度研究,一个七十八岁的「不可能」还在运行
Agent Skills 半年演变:从开放格式到可评测开发循环
Agent Skills 半年演变:从开放格式到可评测开发循环
Karpathy 视角下的 LLM 编码缺陷:四条行为准则的深度解析
Karpathy 视角下的 LLM 编码缺陷:四条行为准则的深度解析
共和党还剩几个派系?——MAGA、Freedom Caucus 与特朗普的党内权力
共和党还剩几个派系?——MAGA、Freedom Caucus 与特朗普的党内权力
美国警察暴力与大规模监禁深度调查
美国警察暴力与大规模监禁深度调查
沉默的杀手:美军在东南亚留下的未爆弹药深度调查
沉默的杀手:美军在东南亚留下的未爆弹药深度调查
苹果印度产能转移深度调查:一场价值千亿美元的制造业大迁徙
苹果印度产能转移深度调查:一场价值千亿美元的制造业大迁徙
Java栈帧省略机制详解:为什么异常堆栈会消失?
Java栈帧省略机制详解:为什么异常堆栈会消失?
Coding Agent 代码检索技术全景:从 GREP 到知识图谱
Coding Agent 代码检索技术全景:从 GREP 到知识图谱
Agentic Coding 深度解析:从架构原理到多 Agent 协作
Agentic Coding 深度解析:从架构原理到多 Agent 协作
Graphify 深度解析:用知识图谱重新定义 AI 编码助手的代码理解能力
Graphify 深度解析:用知识图谱重新定义 AI 编码助手的代码理解能力
为什么你的"AI-First"战略可能是错的——CreaoAI 的全面重构实践
为什么你的"AI-First"战略可能是错的——CreaoAI 的全面重构实践
Anthropic Managed Agents 深度研究:解耦大脑与双手的架构哲学
Anthropic Managed Agents 深度研究:解耦大脑与双手的架构哲学
Compound Engineering:当 AI 工程从"模型调优"走向"系统组合"
Compound Engineering:当 AI 工程从"模型调优"走向"系统组合"
Harness Engineering 完整指南:从 Prompt Engineering 到实践落地的三级跃迁
Harness Engineering 完整指南:从 Prompt Engineering 到实践落地的三级跃迁
OpenSpec 实战指南:从工作流到落地
OpenSpec 实战指南:从工作流到落地
子 Agent 的本质:上下文隔离与专门化
子 Agent 的本质:上下文隔离与专门化
git worktree 术语起源解析
git worktree 术语起源解析
告别 Vibe Coding:用 OmO 构建可靠的 AI 工程系统
告别 Vibe Coding:用 OmO 构建可靠的 AI 工程系统
智能体记忆全景综述:从短时长时之分到向量库回归文件系统(2022-2026)
智能体记忆全景综述:从短时长时之分到向量库回归文件系统(2022-2026)
在智能体优先的世界中利用 Codex
在智能体优先的世界中利用 Codex
macOS CLI 工具 HTTPS 抓包指南(以 OpenCode 为例)
macOS CLI 工具 HTTPS 抓包指南(以 OpenCode 为例)
JSONC - 带注释的 JSON
JSONC - 带注释的 JSON
AI 项目配置文件全景图:md 文件的作用与边界
AI 项目配置文件全景图:md 文件的作用与边界
QMD:本地智能文档搜索引擎完全指南
QMD:本地智能文档搜索引擎完全指南
LSP:语言服务协议与AI编程助手的代码理解能力
LSP:语言服务协议与AI编程助手的代码理解能力
SDD 与超级个体:AI 时代的人机协作范式
SDD 与超级个体:AI 时代的人机协作范式
AI 读书笔记
AI 读书笔记
Gradle 完全指南
Gradle 完全指南
当智能体变成一份 Markdown 文档
当智能体变成一份 Markdown 文档
JVM 的内存模型与线程
JVM 的内存模型与线程
Maven 完全指南
Maven 完全指南
Docker 完全指南
Docker 完全指南
Guava 解析
Guava 解析
一致性哈希与数据分片
一致性哈希与数据分片
API 兼容性设计
API 兼容性设计
重读 Eric Evans 的 DDD 蓝皮书
重读 Eric Evans 的 DDD 蓝皮书
HTTP/1.1 到 HTTP/3 的演进
HTTP/1.1 到 HTTP/3 的演进
Java 结构化并发
Java 结构化并发
G1/ZGC/Shenandoah 垃圾收集器对比
G1/ZGC/Shenandoah 垃圾收集器对比
TLS 握手与加密通信
TLS 握手与加密通信
变更日志(Changelog)规范
变更日志(Changelog)规范
Kubernetes 核心概念
Kubernetes 核心概念
跨语言超时机制全解析
跨语言超时机制全解析
Java 线程池笔记
Java 线程池笔记
线程安全与锁优化
线程安全与锁优化
无锁队列
无锁队列
Java 并发编程笔记
Java 并发编程笔记
常见故障整理
常见故障整理
2025
分布式事务
分布式事务
系统设计
系统设计
《编程之美》
《编程之美》
Grokking the System Design
Grokking the System Design
HTTP 请求体只读一次之谜——Go 与 Java 的应对之道
HTTP 请求体只读一次之谜——Go 与 Java 的应对之道
Java 浮点数精度问题深度解析——从 IEEE 754 到 BigDecimal
Java 浮点数精度问题深度解析——从 IEEE 754 到 BigDecimal
MESI 协议与 Java 并发可见性——从硬件到 JMM
MESI 协议与 Java 并发可见性——从硬件到 JMM
Java 集合框架完全指南
Java 集合框架完全指南
Java 字符编码与 Unicode 完全指南——从 BMP 到增补平面,从代码单元到字形簇
Java 字符编码与 Unicode 完全指南——从 BMP 到增补平面,从代码单元到字形簇
副本复制算法与架构——PacificA、Elasticsearch、Kafka、Pulsar 全面对比
副本复制算法与架构——PacificA、Elasticsearch、Kafka、Pulsar 全面对比
原码·反码·补码——从环形数轴到 CPU 减法器
原码·反码·补码——从环形数轴到 CPU 减法器
数据库写入的潜规则——合并树与 MPP 架构深度剖析
数据库写入的潜规则——合并树与 MPP 架构深度剖析
经典面试问题的大数据解法——Spark 与 Flink 实战
经典面试问题的大数据解法——Spark 与 Flink 实战
设计一个亿级 IM 即时通讯系统
设计一个亿级 IM 即时通讯系统
Redis 经典用例全解:从数据结构到系统设计
Redis 经典用例全解:从数据结构到系统设计
系统的弹性
系统的弹性
aws 的分布式系统相关挑战
aws 的分布式系统相关挑战
Web 会话与身份认证全景
Web 会话与身份认证全景
Unix/Linux 系统的常见目录
Unix/Linux 系统的常见目录
Kubernetes 架构演进:从容器到云原生应用平台的故事
Kubernetes 架构演进:从容器到云原生应用平台的故事
Go 语言学习
Go 语言学习
秦晖:21世纪全球化危机
秦晖:21世纪全球化危机
工程设计巧思:可复用的程序与架构模式
工程设计巧思:可复用的程序与架构模式
2024
Redis 开发与运维
Redis 开发与运维
大模型相关
大模型相关
雅思英语
雅思英语
不同时区
不同时区
高级算法设计和分析技术
高级算法设计和分析技术
无线电波
无线电波
飞马模型
飞马模型
不常见的 SQL
不常见的 SQL
《瘟疫与防疫,在历史与现实之间的魔幻交替》
《瘟疫与防疫,在历史与现实之间的魔幻交替》
付鹏的财经世界-论债务
付鹏的财经世界-论债务
datawarehouse相关
datawarehouse相关
2023
《毛泽东选集》
《毛泽东选集》
读书笔记
读书笔记
中国哲学史
中国哲学史
剑桥版倚天屠龙史
剑桥版倚天屠龙史
巴以问题
巴以问题
Spring 框架学习路线与杂记(2020-2023 整合)
Spring 框架学习路线与杂记(2020-2023 整合)
宇宙探索编辑部
宇宙探索编辑部
Spring Web
Spring Web
推荐系统相关
推荐系统相关
Java 原生 API
Java 原生 API
2022
RESTful 资料归集
RESTful 资料归集
一秒钟
一秒钟
生活的意义
生活的意义
分手的决心
分手的决心
你的答案在你的宇宙里
你的答案在你的宇宙里
可观测性问题
可观测性问题
Dapper 论文
Dapper 论文
重写 ELK 相关信息
重写 ELK 相关信息
一个隐藏了17年的 JDK Bug
一个隐藏了17年的 JDK Bug
Lombok 拾遗
Lombok 拾遗
基于 Play 框架进行开发
基于 Play 框架进行开发
领域驱动设计汇总
领域驱动设计汇总
如何写业务代码
如何写业务代码
Idea 的小技巧
Idea 的小技巧
面向好的架构编程
面向好的架构编程
性能优化
性能优化
技术拾遗
技术拾遗
如何摆脱懒惰?
如何摆脱懒惰?
团队协作的五大障碍
团队协作的五大障碍
亚马逊发展研究
亚马逊发展研究
常见架构推导法
常见架构推导法
Gergely Orosz 文章翻译-成为一个更好的技术写作者
Gergely Orosz 文章翻译-成为一个更好的技术写作者
演进式架构
演进式架构
Gergely Orosz 文章翻译-软件架构被高估,简明设计被低估
Gergely Orosz 文章翻译-软件架构被高估,简明设计被低估
面向职场编程
面向职场编程
贝索斯在普林斯顿大学毕业典礼上的演讲-We are What We Choose
贝索斯在普林斯顿大学毕业典礼上的演讲-We are What We Choose
如何成为一名优秀的架构师
如何成为一名优秀的架构师
项目管理
项目管理
职场求生攻略
职场求生攻略
Java中的条件编译
Java中的条件编译
《战争论》
《战争论》
清分知识汇总
清分知识汇总
财务知识
财务知识
《架构师修炼之道》
《架构师修炼之道》
《计算机简史》
《计算机简史》
《重新定义团队-谷歌如何工作》
《重新定义团队-谷歌如何工作》
面向不确定性编程
面向不确定性编程
郭东白博士《关于中台的思考和尝试》
郭东白博士《关于中台的思考和尝试》
如何写复杂业务系统
如何写复杂业务系统
系分模板
系分模板
神经衰弱和强迫观念的根治法
神经衰弱和强迫观念的根治法
2021
面向测试编程
面向测试编程
日程管理模板
日程管理模板
领导梯队笔记
领导梯队笔记
What is the best comment in source code you have ever encountered? [closed]
What is the best comment in source code you have ever encountered? [closed]
JDBC 问题
JDBC 问题
《2021年上半年互联网财产保险市场研究报告》解读
《2021年上半年互联网财产保险市场研究报告》解读
JDK 的广泛分支
JDK 的广泛分支
SRE-谷歌运维揭秘
SRE-谷歌运维揭秘
Unix 与 coredump
Unix 与 coredump
基本编程范式、模型和风格
基本编程范式、模型和风格
蔡康永的说话之道
蔡康永的说话之道
基本业务架构设计方法
基本业务架构设计方法
如何写系统规划
如何写系统规划
如何排查线上问题
如何排查线上问题
如何做一个优秀的系统 owner
如何做一个优秀的系统 owner
如何实现正确的微基准测试
如何实现正确的微基准测试
漫长的道别
漫长的道别
人才能力模型
人才能力模型
如何写一个消息队列
如何写一个消息队列
提问的智慧
提问的智慧
“描绘人内心的全部深度”——《罪与罚》总序
“描绘人内心的全部深度”——《罪与罚》总序
高级思维模型
高级思维模型
结构思考力
结构思考力
《搞定》
《搞定》
《原则》
《原则》
Lambda VS ECS
Lambda VS ECS
平安投保流程
平安投保流程
如何治疗松鼠症
如何治疗松鼠症
如何设计一套风险系统
如何设计一套风险系统
OKR 笔记
OKR 笔记
Team Topologies
Team Topologies
如何进行产品需求/项目立项
如何进行产品需求/项目立项
机器学习的几个概念
机器学习的几个概念
STARR 法则
STARR 法则
 leadership 的境界
leadership 的境界
插件化架构
插件化架构
故障演练平台设计
故障演练平台设计
投资分类
投资分类
规划结构化
规划结构化
操作系统导论 Three Easy Pieces
操作系统导论 Three Easy Pieces
数据中心
数据中心
ElasticSearch 总结
ElasticSearch 总结
如何画架构图
如何画架构图
MySQL 存储引擎 InnoDB 技术内幕
MySQL 存储引擎 InnoDB 技术内幕
数据库容灾体系的演变
数据库容灾体系的演变
从美元周期看大国经济战
从美元周期看大国经济战
MySQL pitfalls 与配置札记(2018-2021 札记整合)
MySQL pitfalls 与配置札记(2018-2021 札记整合)
分库分表
分库分表
货币价值的变迁
货币价值的变迁
货币、信贷与债务
货币、信贷与债务
世界财富与权力大转移背后的规律
世界财富与权力大转移背后的规律
Ray Dalio - 变化的世界格局与宏观周期
Ray Dalio - 变化的世界格局与宏观周期
MySQL 的 MGR
MySQL 的 MGR
秒杀通用解决方案
秒杀通用解决方案
计算的本质
计算的本质
 关于编程语言的typing(一些基本概念)
关于编程语言的typing(一些基本概念)
纪要
纪要
HTAP 问题
HTAP 问题
《恰如其分的软件架构》
《恰如其分的软件架构》
EBS 分布式块存储技术解析
EBS 分布式块存储技术解析
2020
云原生应用
云原生应用
活动保障性体系建设和实践的总结
活动保障性体系建设和实践的总结
服务治理组件笔记
服务治理组件笔记
《罪與罰》出場人物筆記
《罪與罰》出場人物筆記
《今日简史》
《今日简史》
《未来简史》
《未来简史》
《人类群星闪烁时》
《人类群星闪烁时》
数据密集型应用系统设计 - Designing Data Intensive Applications
数据密集型应用系统设计 - Designing Data Intensive Applications
现代垃圾收集器
现代垃圾收集器
异地多活与单元化
异地多活与单元化
压力测试需要关注的注意事项
压力测试需要关注的注意事项
常见的服务器调用堆栈
常见的服务器调用堆栈
高性能 MySQL
高性能 MySQL
Spring IOC
Spring IOC
Spring 与数据库
Spring 与数据库
软件方法
软件方法
交易系统模型设计
交易系统模型设计
Spark SQL 原理
Spark SQL 原理
《枪炮、病菌和钢铁》札记
《枪炮、病菌和钢铁》札记
Spring AOP 笔记
Spring AOP 笔记
ThreadLocal 的设计模式
ThreadLocal 的设计模式
Java 注解和配置
Java 注解和配置
Mac 使用技巧
Mac 使用技巧
Optional 的正确用法
Optional 的正确用法
5why分析法
5why分析法
认证要素
认证要素
Java Logging
Java Logging
JMX 深度历险
JMX 深度历险
安全系统设计指南
安全系统设计指南
Java 平台历代特性
Java 平台历代特性
汉语
汉语
余光中:怎样改进英式中文
余光中:怎样改进英式中文
hive 汇总
hive 汇总
计算机数学
计算机数学
泛型拾遗
泛型拾遗
MySQL 基本功
MySQL 基本功
六顶思考帽
六顶思考帽
2019
代码大全
代码大全
JUnit4/JUnit5 注解
JUnit4/JUnit5 注解
彩色 UML 建模
彩色 UML 建模
IPv6 问题
IPv6 问题
亚马逊工作方法
亚马逊工作方法
微服务相关文献
微服务相关文献
部署环境
部署环境
如何做全链路压测
如何做全链路压测
保险专业基本功
保险专业基本功
复式记账法
复式记账法
世界上最简单的会计书
世界上最简单的会计书
常见数学术语中英文对照
常见数学术语中英文对照
进程和操作系统的诊断工具
进程和操作系统的诊断工具
架构整洁之道笔记
架构整洁之道笔记
Petroware 的 Unit Testing Guidelines
Petroware 的 Unit Testing Guidelines
《应用架构之道》笔记
《应用架构之道》笔记
(转)程序员的成长路线
(转)程序员的成长路线
技术发展分期
技术发展分期
重述双亲委派模型
重述双亲委派模型
《流水型 FO》笔记
《流水型 FO》笔记
《结构化的思考、做事、成长》笔记
《结构化的思考、做事、成长》笔记
Java 服务 OOM 排查全链路(Linux 内核 + JVM 工具链 + 问题分析)
Java 服务 OOM 排查全链路(Linux 内核 + JVM 工具链 + 问题分析)
《高可用恢复思路》笔记
《高可用恢复思路》笔记
如何进行域划分
如何进行域划分
Differences between Proxy and Decorator Pattern
Differences between Proxy and Decorator Pattern
所谓解耦
所谓解耦
正则表达式速记
正则表达式速记
2018
同比环比问题
同比环比问题
关键述职
关键述职
正交性
正交性
数据分析
数据分析
UML 细节
UML 细节
分治策略
分治策略
日志问题
日志问题
疑难汉字
疑难汉字
scoop 安装
scoop 安装
散列算法
散列算法
checklist
checklist
JDWP 与远程调试
JDWP 与远程调试
卡表和 RSet
卡表和 RSet
数据建模名称规范
数据建模名称规范
业务分析方法
业务分析方法
系分方法论交流笔记
系分方法论交流笔记
日期与时间
日期与时间
使用 Truffle 来编译、安装智能合约(旧文一篇)
使用 Truffle 来编译、安装智能合约(旧文一篇)
以太坊深度研究合集(2017-2018 旧文整合)
以太坊深度研究合集(2017-2018 旧文整合)
如何做性能测试的问题下的答案
如何做性能测试的问题下的答案
log 的历史
log 的历史
JPA 的 id 生成策略
JPA 的 id 生成策略
Convention over Configuration over Programming
Convention over Configuration over Programming
重拾TCP/IP协议簇
重拾TCP/IP协议簇
Hyperledger Fabric 完整知识图谱(2017-2018 旧文整合)
Hyperledger Fabric 完整知识图谱(2017-2018 旧文整合)
一个滚动重启的状态保存问题
一个滚动重启的状态保存问题
重读 Martin Fowler 的微服务论文原文
重读 Martin Fowler 的微服务论文原文
X.509证书问题
X.509证书问题
精通比特币读书笔记
精通比特币读书笔记
重放攻击问题
重放攻击问题
UTXO 与 account balance 模型
UTXO 与 account balance 模型
重新学习 Solidity
重新学习 Solidity
语义版本化问题
语义版本化问题
IOTA
IOTA
闪电网络、侧链、隔离见证与大区块扩容问题
闪电网络、侧链、隔离见证与大区块扩容问题
EOS 相关问题
EOS 相关问题
推荐算法笔记
推荐算法笔记
Echart 词汇表
Echart 词汇表
健康闲谈-健康管理和疾病预防
健康闲谈-健康管理和疾病预防
学习区块链的基础资料
学习区块链的基础资料
几种共识算法
几种共识算法
Vue 值得注意的小知识点
Vue 值得注意的小知识点
Spark Standalone 模式启动的全过程
Spark Standalone 模式启动的全过程
DAG 执行框架优于 MapReduce 的地方在哪里?
DAG 执行框架优于 MapReduce 的地方在哪里?
风险问题
风险问题
比特币小细节
比特币小细节
Scala 语言核心特性深度解析:类型系统、隐式机制与表达式求值
Scala 语言核心特性深度解析:类型系统、隐式机制与表达式求值
布隆(Bloom)过滤器
布隆(Bloom)过滤器
Merkle Tree
Merkle Tree
2017
CoffeeScript2 简明教程
CoffeeScript2 简明教程
client 与 server
client 与 server
函数缓存 memoize
函数缓存 memoize
读书--拓展你的认知边界
读书--拓展你的认知边界
JSX
JSX
虚拟机
虚拟机
为什么要自建实时计算平台
为什么要自建实时计算平台
Golang 并发的一些我自己才看得懂的总结
Golang 并发的一些我自己才看得懂的总结
Vim cheatsheet
Vim cheatsheet
保险电销与互联网保险
保险电销与互联网保险
系统调用为什么昂贵
系统调用为什么昂贵
单核上的多线程-Python中的 GIL
单核上的多线程-Python中的 GIL
面向对象范式的历史
面向对象范式的历史
Java中的幽灵类型
Java中的幽灵类型
支付业务
支付业务
破解本博客不能部署的问题
破解本博客不能部署的问题
Linux hypervisor
Linux hypervisor
MariaDB 调优相关
MariaDB 调优相关
 KOA 初探
KOA 初探
把 Unix 的 Domain Socket 转成可本地访问的 TCP 端口
把 Unix 的 Domain Socket 转成可本地访问的 TCP 端口
银翼杀手
银翼杀手
JVM 与编译优化
JVM 与编译优化
基于栈的虚拟机
基于栈的虚拟机
思考区块链
思考区块链
昂贵的异常
昂贵的异常
大明朝里没好人
大明朝里没好人
过零丁洋
过零丁洋