Q先生的世界

面朝大海,春暖花开

经典算法深度解析|纠删码(一):从多副本到 Reed-Solomon、有限域与 MDS 本质

为什么分布式存储最终都要认真面对 EC,而不是只停留在三副本

从副本成本出发,系统理解纠删码的目标、条带模型、有限域运算、生成矩阵、Vandermonde 与 Cauchy 构造,以及 Reed-Solomon 为什么能成为分布式存储里的主流方案。

经典算法深度解析|Raft:从复制状态机到领导者选举、日志复制与线性一致性

为什么它看起来比 Paxos 更容易理解,却依然足够严肃

深入理解 Raft 的问题背景、角色与任期、领导者选举、日志复制、提交规则、成员变更、快照压缩以及工程实现中的常见误区。

BoltDB 源码分析(三):提交、freelist 与崩溃恢复

沿着 Commit() 调用链,分析 BoltDB 如何回收旧页、写出脏页、切换 meta,以及它的崩溃一致性边界。

BoltDB 源码分析(二):B+Tree、Bucket 与 Cursor

深入拆解 page、node、Bucket、Cursor 的组织方式,看 BoltDB 如何把 mmap 上的页结构变成可遍历、可修改的 B+Tree。

关于iptables那些你必须知道的

从初学者视角系统理解 iptables 的核心概念、规则链路、常用命令与实战案例。

关于Nginx中的各种timeout设置

系统梳理 Nginx 中常见 timeout 的区别、作用、默认行为、实战配置与排障思路。

使用VIM作为Go开发的IDE

前言

一个好的IDE之于一个程序员,正如一个趁手的兵器之于一个战士。 至于说,什么IDE是最好的IDE,我相信这比“鸡蛋应该从哪头开始打开”这个问题更难,为了不因此引发战争,我们还是暂时先搁置这样的问题吧。 VIM是一款小巧的编辑神器,其迅捷如飞地效率和敏如脱兔地丝滑早已深入人心,如果在开发Go时,能够使用VIM作为IDE,想必也是极好的。


BoltDB 源码分析(一):事务、mmap 与文件格式

从 Open、meta page、mmap、读写事务与 MVCC 入口出发,建立理解 BoltDB 源码的整体框架。

OAuth2 那些你必须知道的

OAuth2 那些你必须知道的

OAuth2 相信大家已经不再陌生,它的身影已经遍布现代互联网应用的角角落落。 纵然如此,很多人看到 OAuth2,还会陷入一个误区,把它当成一个简单的“登录协议”去回忆传说中的四个复杂的流程图(如果你看过类似这些讲解OAuth2的材料的话,你应该知道我在说什么,如果没有看过,那正好,后续我们也会提到这些陈芝麻烂谷子的事)。


[译]关于证书和PKI,那些你应该知道但你有不敢问的

原文链接:Everything you should know about certificates and PKI but are too afraid to ask, By Mike Malone, updated on May 20, 2024.

证书和公钥基础设施(PKI)很难,对吧? 我认识很多聪明人都避免陷入这个特别的兔子洞。 我个人也回避了很长时间,并且因为不了解更多而感到些许羞愧。 显而易见的结果是一个恶性循环:因为不好意思提问,我从未真正学到这方面的知识。