Posts
2024
- 10/30 物理光学笔记
- 10/27 深入理解向量场微积分
- 10/13 如何理解群的作用、轨道稳定子定理?
- 10/8 如何直观理解正规子群?
- 10/7 如何直观地理解同态和同构?
- 10/5 抽象代数笔记(2024-10-5 更新)
- 7/27 链接器:第一视角深入理解 PLT 和 GOT
- 7/22 C:实现一个迷你无栈协程框架——Minico
- 7/21 C++:使用 CRTP 模式实现静态多态
- 7/19 C++:深度使用 shared_ptr 的一些经验教训
- 6/2 Rust:学习 Rc、Arc 和 Weak 并动手实现它
- 6/2 Rust:通过几个例子学习 Cell 和 RefCell
- 6/2 Rust:通过几个例子学习 Box
- 5/17 点时间锁定合约(PTLC)的原理与实现
- 5/17 哈希时间锁定合约(HTLC)的原理与实现
- 4/24 Rust 中 Mutex、RwLock 的使用实例
- 4/24 Bitcoin 的 Fee Bumping 机制介绍
- 4/22 在 Rust 中捕获 Ctrl-C 信号的技巧
- 4/4 模型训练部署 Pipeline 介绍:以一个简单图神经网络为例
- 4/1 GCN 基础:GraphConv、GATConv、SAGEConv 的实现(PyG+DGL)
- 3/25 深入研究比特币:(4)MAST、Taproot、Graftroot
- 3/24 数字签名原理:从 Lamport 到椭圆曲线
- 3/23 图神经网络介绍
- 3/23 搭建 Miniconda 管理的 PyG 和 DGL 开发环境
- 3/23 注意力机制介绍
- 3/23 Transformer 和 BERT 模型介绍
- 3/13 ResNet:原理与实现
- 3/12 RNN:原理与实现
- 3/11 深入研究比特币:(3)RGB 协议介绍
- 3/11 深入理解比特币:(2)Lightning 网络
- 3/6 深入理解比特币:(1)钱包和地址
- 3/6 深入研究比特币:(0)从零到一
- 1/31 BYOR——动手制作并理解区块链中的 Rollup 技术
2023
- 12/7 阅读大规模代码:挑战与实践(3)宏观理解代码结构
- 12/7 阅读大规模代码:挑战与实践(2)不要直接开始阅读代码
- 12/7 阅读大规模代码:挑战与实践(1)目录和引言
- 11/25 零知识证明:深入理解理解 QAP
- 11/23 Rust:一种线程崩溃处理机制研究
- 11/22 Ethereum 关键结构介绍:Recept、TxPool 和 Transaction
- 11/22 Solidity 合约分析:4. ERC165、ERC721
- 11/22 Solidity 合约分析:4. ERC20
- 11/22 Solidity 合约分析:3. Iterable Mapping
- 11/22 Solidity 合约分析:2. Merkle Proof
- 11/19 Schwartz-Zippel 引理
- 11/18 Solidity 合约分析:1. Ether Wallet
- 11/18 Merkle Tree 及其算法的设计与实现
- 11/13 Nodejs Monorepo (Workspace) 终极指南
- 11/7 Python:简单文本过滤自动机的实现
- 11/5 Python:一些提高代码质量的基本 Type hinting
- 11/1 搭建基于 qemu 与 gdb 的 Linux 内核开发环境
- 10/13 Python 抽象基类(ABC)和协议(Protocol)对比与选择.md
- 9/5 Implement Flux Architecture with Python
- 8/19 Haskell 快速入门
- 7/15 Setup Dev Container for VSCode
- 6/10 CPU 速通系列 4-2:MEM-WB 模块
- 6/10 CPU 速通系列 4-1:MEM 模块
- 6/10 CPU 速通系列 3-3:EX-MEM 模块
- 6/10 CPU 速通系列 3-2:DIV 模块
- 6/10 CPU 速通系列 3-1:EX 模块
- 6/9 CPU 速通系列 0-0:概览
- 6/9 CPU 速通系列 2-1:ID 模块
- 6/9 CPU 速通系列 1-2:IF-ID 模块
- 6/9 CPU 速通系列 1-1:PC 模块
- 6/6 CPU 速通系列 2-2:regfile 模块
- 6/6 CPU 速通系列 2-3:ID-EX 模块
- 6/6 CPU 速通系列 0-2:openmips 内部
- 6/6 CPU 速通系列 0-1:SOPC 模块
- 5/5 Rust 开发编译器速成(二):计算编译器
- 5/4 Rust 开发编译器速成(一):计算解释器
- 4/21 Git:在不同仓库之间 Cherry Pick
- 4/19 理解 LuaJIT:一个简单程序的执行过程
- 4/16 WS+Nest:服务端和客户端实现
- 4/15 Socket.io+Nest:服务端和客户端实现
- 4/8 GraphQL:快速入门
- 4/8 Archlinux 下 Flutter 开发环境的搭建
- 2/25 Linux:一起离奇的启动故障
- 2/21 Verilog HDL 入门
- 2/20 Linux 下 Qt 开发环境的搭建
- 2/15 Rust:Arena 分配器使用实践
- 2/15 Lua:基础
- 2/15 Lua 正则表达式
- 2/15 Kernel 5.15 虚拟机扩容实践
- 2/1 Nginx:指令工作原理浅析
- 1/30 Kong:一个请求的生命期
- 1/28 Rust 错误分析:多次借用问题
- 1/27 Rust:认识各种盒子吧!(Box, Rc, Arc, Cell, RefCell)
- 1/26 我的 Blog 工作流程
- 1/21 LLVM:从零开始实现 Function Pass
- 1/19 SHA256 哈希算法原理和 Rust 实现
- 1/11 Pest 与 PEG 文法
- 1/11 Pratt Parsing 算法介绍及实现
- 1/8 现代 CMake 实践
- 1/8 LLVM 官方教程编译器实现笔记
- 1/8 Google Test(gtest) 快速入门
- 1/8 C++:不带花括号就不算离开作用域?
2022
- 8/5 来用 C++ 写一个单链表吧!
- 8/1 C++:虚函数内存布局解析(以 clang 编译器为例)
- 8/1 Grafana 数据迁移和高可用实践
- 7/31 如何看懂 x86 汇编(ATT 版)
- 7/31 深入理解 Socket 的原理与使用
- 7/31 C++:各构造/析构函数以及背后机制
- 7/27 数据结构:单调栈
- 7/23 LSM 树:结构及其原理浅析(LevelDB)
- 7/22 C++:并发编程入门笔记
- 7/14 浅谈 Select & Epoll 多路复用技术
- 7/14 红黑树为什么这样红——从 AVL 到 RBT
- 6/7 八数码问题(A-star 解)
- 6/4 BiLSTM-CRF 实现命名实体识别(NER)
- 6/1 GAN 生成手写数字和 Pokemon 实战
- 5/19 用隐马尔可夫模型预测股票(大雾)
- 5/15 Raft 共识协议通俗解释——数据流视角
- 5/14 Python 实现简单的多线程 MapReduce 计算框架
- 5/13 使用 BPE 原理进行汉语字词切分(重制版)
- 5/9 Spark 及 Hive 离线批处理实践
- 4/21 Rust 生命周期(有效期)通俗解释
- 4/20 HBase、ZooKeeper 集群部署及实践
- 4/4 Flex & Bison 实战:一个简单计算器
- 3/24 Microsoft Bing 大数据 Gateway 维护笔记
- 3/20 Hadoop 3 集群的部署(Ubuntu x64, Cloud)
- 3/14 NAT 的原理是什么?
- 2/2 如何重新发明一个 B-tree ?
- 1/7 Kubernetes 基础概念与集群部署
2021
- 12/24 «统计学完全教程»笔记:第4章 不等式
- 12/24 «统计学完全教程»笔记:第5章 随机变量的收敛
- 12/13 «统计学完全教程»笔记:极大似然估计
- 12/13 Solidity 合约开发实战
- 12/10 «统计学完全教程»笔记:第9章 参数推断
- 12/10 «统计学完全教程»笔记:第8章 Bootstrap 方法
- 12/10 «统计学完全教程»笔记:第7章 CDF 和统计泛函的估计
- 12/9 谈谈牛顿迭代法
- 12/8 «统计学完全教程»笔记:第6章 模型,统计推断与学习
- 12/5 从泊松分布、泊松过程到指数分布
- 12/3 优化原地归并排序:实现 O(1) 空间复杂度
- 12/3 特征值分解和 SVD 方法介绍
- 12/2 什么是矩生成函数(MGF)?
- 12/1 «统计学完全教程»笔记:第3章 期望
- 11/30 如何对向量函数进行求导?
- 11/30 云服务器如何突破 GFW?SSH 隧道介绍
- 11/25 浅谈虚拟存储器及 Linux 的内存管理机制
- 11/24 回溯算法及其优化
- 11/16 把“不同的子序列”问题说透彻
- 11/16 详解编辑距离(Levenshtein 距离)算法
- 11/9 数据结构:堆
- 11/7 NSQ 消息队列使用实战
- 9/29 记一次 DNS 错误的解决
- 9/28 «统计学完全教程»笔记:第2章.随机变量
- 9/22 «统计学完全教程»笔记:第1章 概率
- 9/4 WPF 命令(Command)使用探究
- 8/25 «自动机理论、语言和计算导论»笔记:第八章 图灵机
- 8/24 Golang 设计模式
- 7/30 脚手架帮你做了什么?手动搭建 React 后台项目
- 7/21 调用一个函数之后发生了什么?
- 7/21 模拟栈的几个方法
- 7/8 详解 VM 的桥接、仅主机、NAT 以及 LAN 网段
- 6/26 «自动机理论、语言和计算导论»笔记:第七章 上下文无关语言的性质
- 6/25 自动机的幂集构造法详解
- 6/24 «自动机理论、语言和计算导论»笔记:终章 重点小结
- 6/19 «计算机网络»笔记:第9章 重点小梳理
- 6/19 «计算机网络»笔记:第8章 作业
- 6/16 «自动机理论、语言和计算导论»笔记:第六章 下推自动机
- 6/15 «自动机理论、语言和计算导论»笔记:第五章 上下文无关文法与语言
- 6/15 «自动机理论、语言和计算导论»笔记:第四章 规则式的性质
- 6/12 «自动机理论、语言和计算导论»笔记:第三章 规则式与规则语言
- 6/11 «自动机理论、语言和计算导论»笔记:第二章 有限自动机
- 6/11 «自动机理论、语言和计算导论»笔记:第一章 方法与癫狂
- 6/3 «计算机网络»笔记:第7章 应用层
- 6/3 «计算机网络»笔记:第6章 传输层
- 6/3 «计算机网络»笔记:第5章 网络层
- 6/3 «计算机网络»笔记:第4章 MAC 子层
- 6/3 «计算机网络»笔记:第1章 引言
- 6/3 «计算机网络»笔记:第2章 物理层
- 6/3 «计算机网络»笔记:第3章 数据链路层
- 5/3 Makefile 学习笔记
- 4/2 Git 速成入门指南
- 1/11 平面图欧拉定理的简单几何阐释
2020
- 12/27 求传递闭包的 Warshall 算法详解
- 12/26 如何求解递推关系(差分方程)
- 12/26 特征值(校验子)解码详解(Syndrome Decoding)
- 12/26 最大似然译码详解(最大似然解码,Maximum Likelihood Decoding)
- 12/3 Bash 快速入门
- 11/15 数据结构:理解循环队列
- 6/16 物理学基础 8:电磁感应,电磁场
- 6/16 物理学基础 6:静电场中的导体与电解质
- 6/8 物理学基础 11:波动光学
- 5/25 物理学基础 10:波动.md
- 5/22 物理学基础 9:振动
- 4/19 物理学基础 7: 恒定磁场
- 4/18 物理学基础 5:静电场
- 4/10 物理学基础 3:动量和能量、质心运动定律
- 4/7 物理学基础:2 牛顿定律
- 4/7 物理学基础:1-2 圆周运动
- 4/7 物理学基础 1:质点运动学
2019
- 9/25 Cheatsheet: Bitwise 操作
- 7/27 一种 CapsLock 增强键盘布局