Loading...
All Articles - 244
2026
深入 OpenTelemetry 01 - API、SDK 与初始化
深入 OpenTelemetry 01 - API、SDK 与初始化
深入 OpenTelemetry 02 - Resource、InstrumentationScope 与请求属性
深入 OpenTelemetry 02 - Resource、InstrumentationScope 与请求属性
深入 OpenTelemetry 00 - 导读与第一条 Trace
深入 OpenTelemetry 00 - 导读与第一条 Trace
深入 OpenTelemetry 03 - Span 生命周期与异常状态
深入 OpenTelemetry 03 - Span 生命周期与异常状态
深入 OpenTelemetry 04 - Context、Scope 与当前 Span
深入 OpenTelemetry 04 - Context、Scope 与当前 Span
深入 OpenTelemetry 05 - 线程池异步传播与跨请求隔离
深入 OpenTelemetry 05 - 线程池异步传播与跨请求隔离
深入 OpenTelemetry 06 - W3C Trace Context 如何跨越 HTTP 服务
深入 OpenTelemetry 06 - W3C Trace Context 如何跨越 HTTP 服务
深入 OpenTelemetry 07 - Baggage 与 Span Link 的两种关系
深入 OpenTelemetry 07 - Baggage 与 Span Link 的两种关系
深入 OpenTelemetry 08 - 头部采样:记录不等于导出
深入 OpenTelemetry 08 - 头部采样:记录不等于导出
深入 OpenTelemetry 09 - SpanProcessor 的调用线程与批量队列
深入 OpenTelemetry 09 - SpanProcessor 的调用线程与批量队列
深入 OpenTelemetry 10 - OTLP 导出的 HTTP 成功不等于完整接收
深入 OpenTelemetry 10 - OTLP 导出的 HTTP 成功不等于完整接收
深入 OpenTelemetry 11 - Flush、Shutdown 与进程退出的三个边界
深入 OpenTelemetry 11 - Flush、Shutdown 与进程退出的三个边界
深入 OpenTelemetry 13:一次 add 怎样进入聚合状态
深入 OpenTelemetry 13:一次 add 怎样进入聚合状态
深入 OpenTelemetry 14:View 在聚合前改变哪些维度
深入 OpenTelemetry 14:View 在聚合前改变哪些维度
深入 OpenTelemetry 12:Instrument 选择与异步观测
深入 OpenTelemetry 12:Instrument 选择与异步观测
深入 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 17:Exemplar 怎样携带一次 Trace 的线索
深入 OpenTelemetry 17:Exemplar 怎样携带一次 Trace 的线索
深入 OpenTelemetry 22:哪些 HTTP 方法会进入 Advice
深入 OpenTelemetry 22:哪些 HTTP 方法会进入 Advice
深入 OpenTelemetry 23:Instrumenter 怎样开始、结束并避免重复 Span
深入 OpenTelemetry 23:Instrumenter 怎样开始、结束并避免重复 Span
深入 OpenTelemetry 24:Servlet 入口怎样接到 JDBC 调用
深入 OpenTelemetry 24:Servlet 入口怎样接到 JDBC 调用
深入 OpenTelemetry 25:为自己的库编写 Java Agent 扩展
深入 OpenTelemetry 25:为自己的库编写 Java Agent 扩展
深入 OpenTelemetry 28:Java 可观测性预算怎样测量
深入 OpenTelemetry 28:Java 可观测性预算怎样测量
深入 OpenTelemetry 26:Collector 接收成功为何不等于后端查得到
深入 OpenTelemetry 26:Collector 接收成功为何不等于后端查得到
深入 OpenTelemetry 27:慢请求为何仍可能被头部采样丢掉
深入 OpenTelemetry 27:慢请求为何仍可能被头部采样丢掉
深入 OpenTelemetry 29:Trace 消失与指标图失真怎么定位
深入 OpenTelemetry 29:Trace 消失与指标图失真怎么定位
深入 OpenTelemetry E01:Reactor 切线程后父 Span 去哪了
深入 OpenTelemetry E01:Reactor 切线程后父 Span 去哪了
深入 OpenTelemetry E03:Micrometer bridge 与 SDK 直调为什么会重复
深入 OpenTelemetry E03:Micrometer bridge 与 SDK 直调为什么会重复
深入 OpenTelemetry E02:JMS 重投时父子关系与 Link 怎么看
深入 OpenTelemetry E02:JMS 重投时父子关系与 Link 怎么看
深入 OpenTelemetry E05:升级 Agent 时自定义扩展还工作吗
深入 OpenTelemetry E05:升级 Agent 时自定义扩展还工作吗
深入 OpenTelemetry E04:JMX 的 JVM 指标在什么时候采集
深入 OpenTelemetry E04:JMX 的 JVM 指标在什么时候采集
分布式系统(E08):从微秒 RPC 到尾延迟追踪
分布式系统(E08):从微秒 RPC 到尾延迟追踪
深入 Elasticsearch(08 补充):查询与检索——字段、分词、Query DSL 与评分
深入 Elasticsearch(08 补充):查询与检索——字段、分词、Query DSL 与评分
计算机体系结构 26:并行程序的扩展上限
计算机体系结构 26:并行程序的扩展上限
计算机体系结构 27:NUMA 与数据放置
计算机体系结构 27:NUMA 与数据放置
计算机体系结构 28:SMT 与共享资源
计算机体系结构 28:SMT 与共享资源
计算机体系结构 29:CPU 怎样与设备交换数据
计算机体系结构 29:CPU 怎样与设备交换数据
计算机体系结构 30:SIMD 与向量化边界
计算机体系结构 30:SIMD 与向量化边界
计算机体系结构 31:GPU 执行与合并访存
计算机体系结构 31:GPU 执行与合并访存
计算机体系结构 32:Roofline 与矩阵数据复用
计算机体系结构 32:Roofline 与矩阵数据复用
计算机体系结构 33:性能、功耗与能量预算
计算机体系结构 33:性能、功耗与能量预算
计算机体系结构 35:独立性能研究
计算机体系结构 35:独立性能研究
计算机体系结构 34:有界处理器集成
计算机体系结构 34:有界处理器集成
计算机体系结构 E01:从教学模型到 RTL
计算机体系结构 E01:从教学模型到 RTL
计算机体系结构 E02:数字电路的物理约束
计算机体系结构 E02:数字电路的物理约束
计算机体系结构 E03:硬件虚拟化与嵌套翻译
计算机体系结构 E03:硬件虚拟化与嵌套翻译
计算机体系结构 E04:推测执行与侧信道边界
计算机体系结构 E04:推测执行与侧信道边界
计算机体系结构 E05:Chiplet 与 CXL 互联边界
计算机体系结构 E05:Chiplet 与 CXL 互联边界
计算机体系结构 E06:可靠性与持久性
计算机体系结构 E06:可靠性与持久性
计算机体系结构 E07:跨 ISA 同题对照
计算机体系结构 E07:跨 ISA 同题对照
计算机体系结构 E08:有限模型与形式验证边界
计算机体系结构 E08:有限模型与形式验证边界
分布式系统(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:多级缓存与写入
计算机体系结构 16:缓存基础
计算机体系结构 16:缓存基础
计算机体系结构 18:DRAM 与内存控制器
计算机体系结构 18:DRAM 与内存控制器
计算机体系结构 19:隐藏访存延迟
计算机体系结构 19:隐藏访存延迟
计算机体系结构 20:Sv32、TLB 与权限
计算机体系结构 20:Sv32、TLB 与权限
计算机体系结构 22:数据布局与实测解释
计算机体系结构 22:数据布局与实测解释
计算机体系结构 23:缓存一致性与所有权转移
计算机体系结构 23:缓存一致性与所有权转移
计算机体系结构 24:内存一致性模型与 Store Buffering
计算机体系结构 24:内存一致性模型与 Store Buffering
计算机体系结构 21:页故障与映射修改
计算机体系结构 21:页故障与映射修改
计算机体系结构 25:原子操作与同步边界
计算机体系结构 25:原子操作与同步边界
分布式系统 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:一次数组求和经过哪些层
计算机体系结构 01:比特怎样表示数
计算机体系结构 01:比特怎样表示数
计算机体系结构 04:C 函数怎样变成机器程序
计算机体系结构 04:C 函数怎样变成机器程序
计算机体系结构 03:ISA 是机器能执行的契约
计算机体系结构 03:ISA 是机器能执行的契约
计算机体系结构 02:怎样比较两台机器
计算机体系结构 02:怎样比较两台机器
计算机体系结构 08:多周期执行
计算机体系结构 08:多周期执行
计算机体系结构 09:五级流水线
计算机体系结构 09:五级流水线
计算机体系结构 10:数据与结构冒险
计算机体系结构 10:数据与结构冒险
计算机体系结构 07:有限 RV32I 参考执行器
计算机体系结构 07:有限 RV32I 参考执行器
计算机体系结构 11:分支预测与恢复
计算机体系结构 11:分支预测与恢复
计算机体系结构 12:重命名与乱序执行窗口
计算机体系结构 12:重命名与乱序执行窗口
计算机体系结构 13:ROB 与精确异常
计算机体系结构 13:ROB 与精确异常
计算机体系结构 14:LSQ 与内存依赖重放
计算机体系结构 14:LSQ 与内存依赖重放
计算机体系结构 15:仿真结果怎样可信
计算机体系结构 15:仿真结果怎样可信
总统制、内阁制与半总统制:历史沿革、权力分立与各国实践
总统制、内阁制与半总统制:历史沿革、权力分立与各国实践
从零构建现代搜索引擎(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 登录变成可恢复的终端工作台