滴水穿石
二〇二四
八月
七月
六月
五月
四月
- CSS
- 李白咏霍去病
- 飞鸟
- 苍穹浩瀚片头曲
- Stable Diffusion
- Linux IO 之 文件系统的架构(转)
- Linux文件系统基础知识(转)
- Linux系统调用之Futex
- NVMe
- CUDA编程
- Tauri
- whisper.cpp
- Zeus- Uber的分布式Spark Shuffle Service
- 智能语音助手
三月
- Zerotier
- 专题:动态规划
- 鸡蛋掉落
- CPU异常
- Go Channel
- Golang之syscall
- Golang内存对齐
- Golang内存管理
- Golang汇编
- Go语言基础
- Go语言运行时
- HBase
- HBase协处理器
- Helyim
- Linux IO 之 IO与网络模型
- Linux IO 多路复用
- Lua 基础
- MySQL 日志
- MySQL基础
- OpenRaft
- Python 基础
- Python量化库之efinance
- Raft算法
- Rust 数据类型
- Rust并发
- Rust指针
- Rust特性(Trait)
- Rust迭代器
- STL容器
- Vearch
- 专题:回溯法
- 专题:堆
- 专题:字符串
- 专题:栈
- 专题:经典数据结构设计
- 从中序与后序遍历序列构造二叉树
- 使用Rust编写操作系统(一):独立式可执行程序
- 使用Rust编写操作系统(七):硬件中断
- 使用Rust编写操作系统(三):VGA字符模式
- 使用Rust编写操作系统(二):最小化内核
- 使用Rust编写操作系统(四):内核测试
- 使用Rust编写操作系统(附录一):链接器参数
- 使用Rust编写操作系统(附录三):禁用SIMD
- 使用Rust编写操作系统(附录二):禁用红区
- 双重异常
- 基础数据结构
- 并发
- 并查集
- 排序算法
- 数组
- 构造有效字符串的最少插入数
- 查找算法
- 每个小孩最多能分到多少糖果
- 相同的树
- 算法基础
- 纠删码(ErasureCode)
- 译名表
- 跳表(skiplist)
- 队列
一月
- 09.Intel 内存管理两板斧:分段与分页
- 10.进入 main 函数前的最后一跃
- macos日常
- 买卖股票的最佳时机 IV
- 01.最开始的两行代码
- 02.自己给自己挪个地儿
- 03.做好最最基础的准备工作
- 04.把自己在硬盘里的其他部分也放到内存来
- 05.进入保护模式前的最后一次折腾内存
- 06.先解决段寄存器的历史包袱问题
- 07.进入保护模式
- 07.进入保护模式
- 08.重新设置 idt 和 gdt
- 08.重新设置 idt 和 gdt
- 10.1.小结
- 11.整个操作系统就 20 几行代码
- 12.管理内存前先划分出三个边界值
- 13.主内存初始化mem_init
- 14.中断初始化trap_init
- 15.块设备初始化blk_dev_init
- 16.控制台初始化tty_init
- 17.时间初始化time_init
- 18.进程调度初始化sched_init
- 19.缓冲区初始化buffer_init
- 20.1.第2部分小结
- 20.硬盘初始化hd_init
- 21.一个新进程的诞生
- 22.从内核态到用户态
- 23.进程调度
- 24.定时器
- 25.fork调用
- 26.fork中进程基本信息的复制
- 27.进程的内存规划
- 28.我居然会认为权威书籍写错了...
- 30.写时复制
- 31.拿到硬盘信息
- 32.加载根文件系统
- 33.打开终端设备文件
- 34.进程2的创建
- 35.扒开execve的皮
- 36.缺页中断
- 37.shell程序跑起来了
- 38.操作系统启动完毕
- 39.调试Linux最早期的代码
- 42.用键盘输入一条命令
- 43.shell 程序读取你的命令
- 44.进程的阻塞与唤醒
- 45.解析并执行 shell 命令
- 46.读硬盘数据全流程
- 47.读取硬盘数据的细节
- 48.信号
- 命令执行过程
- 整体布局
- 第3部分小结
- 第4部分小结
- ASM汇编语言基础
- ELF文件格式
- x86指令编码
- 汇编基础
- EmuElec
- Grub
- neovim
- Rust安装配置
- Rust异步框架之Tokio
二〇二三
十二月
十一月
九月
- B-Tree, B+Tree, B*Tree
- Bazel
- brew
- clonezilla
- curl
- Rust交叉编译
- 关于数学和人文社科关系的讨论
- 导论
- 模型介绍
- 模型拓展
- 终端
- 索引处的解码字符串
- 专题:二分查找
- 打家劫舍
- 绝对差值和
- Rust 二叉树
- 二叉树的层序遍历
- 翻转对
- 专题:二叉树
- 二叉树展开为链表
- 二叉树的右视图
- 二叉树的最大深度
- 二叉树的最小深度
- 专题:归并排序
- 二叉树的层序遍历 II
- 最大数
- 区域和检索 - 数组可修改
- 计算右侧小于当前元素的个数
- 区间和的个数
- 专题:树状数组
- 专题- 并查集
- 寻找峰值
- 移除最多的同行或同列石头
- 被围绕的区域
- 寻找旋转排序数组中的最小值
- 寻找旋转排序数组中的最小值 II
- 搜索旋转排序数组
- 修车的最少时间
- 小伙子的scratch游戏
- 最深叶节点的最近公共祖先
- 正则表达式
- 普罗米修斯受难的一日
- 林昭-血衣题跋
- 海鸥之歌
- 献给第三次世界大战的勇士
- 离开你的时候
- 给母亲的信
- 最多可以摧毁的敌人城堡数目
- Ozone
- Pow(x, n)
八月
- 岛屿数量
- 最长连续序列
- 统计公平数对的数目
- 二叉树的中序遍历
- 连续数组
- 专题:买卖股票
- 专题:区间问题
- 专题:子串和子序列
- 专题:括号问题
- 专题:跳跃游戏
- 专题:链表
- 连续的子数组和
- 把二叉搜索树转换为累加树
- K 个元素的最大和
- 删除一次得到子数组最大和
- K 次串联后最大子数组之和
- scratch 简介
- 丑数 II
- 乘积最大子数组
- 反转字符串中的单词
- 最大连续子数组和
- 丑数
- 数组的第 K 大子序列和
- 查找和最小的 K 对数字
- 只出现一次的数字 II
- 只出现一次的数字 III
- 直线上最多的点数
- 三角形最小路径和
- 只出现一次的数字
- 杨辉三角 II
- 课程表 II
- 完全平方数
- 课程表
- 单词接龙 II
- 最小高度树
- 单词接龙
- 单词拆分 II
- 单词拆分
- 分发糖果
- 杨辉三角
- 求根节点到叶节点数字之和
- 不同的子序列
- 路径总和
- 路径总和 II
- 平衡二叉树
- 有序链表转换二叉搜索树
- 将有序数组转换为二叉搜索树
- 从前序与中序遍历序列构造二叉树
- 二叉树的锯齿形层序遍历
- 恢复二叉搜索树
- 不同的二叉搜索树
- 验证二叉搜索树
- 不同的二叉搜索树 II
- 对称二叉树
- 字符串相乘
- 无重叠区间
七月
- K 个一组翻转链表
- N 皇后 II
- 不同路径 II
- 两两交换链表中的节点
- 两数之和
- 两数相除
- 全排列 II
- 删除排序链表中的重复元素
- 删除有序数组中的重复项
- 删除链表的倒数第 N 个结点
- 反转链表 II
- 合并 K 个升序链表
- 合并两个有序链表
- 四数之和
- 回文数
- 外观数列
- 子集
- 找出字符串中第一个匹配项的下标
- 括号生成
- 搜索插入位置
- 整数转罗马数字
- 最接近的三数之和
- 最长公共前缀
- 最长有效括号
- 有效的括号
- 正则表达式匹配
- 电话号码的字母组合
- 盛最多水的容器
- 移除元素
- 组合总和
- 组合总和 II
- 罗马数字转整数
- 解数独
- Z 字形变换
- 字符串转换整数 (atoi)
- 整数反转
- 最长回文子串
- 寻找两个有序数组的中位数
- 两链表数相加
- 无重复字符的最长子串
- N 皇后
- 加油站
- 分割回文串 II
- 分割回文串
- sed
- 交错字符串
- 存在重复元素 II
- 复原 IP 地址
- 格雷编码
- 合并两个有序数组
- 扰乱字符串
- 组合
- x 的平方根
- 二进制求和
- 加一
- 文本左右对齐
- 最长递增子序列的个数
- 最长回文子序列
- 最长递增子序列
- 买卖股票的最佳时机 II
- 递增子序列
- 买卖股票的最佳时机
- 买卖股票的最佳时机 III
- 买卖股票的最佳时机含手续费
- 天际线问题
- 组合总和 III
- 最佳买卖股票时机含冷冻期
- 汇总区间
- 最大矩形
- 搜索二维矩阵 II
- 矩阵中的最长递增路径
- 下一个更大元素 I
- 每日温度
- 接雨水
- 柱状图中最大的矩形
- 搜索旋转排序数组 II
- 删除有序数组中的重复项 II
- 子集 II
- 单词搜索
- 最小覆盖子串
六月
- 颜色分类
- 搜索二维矩阵
- 矩阵置零
- 编辑距离
- 简化路径
- 删除一个元素使数组严格递增
- 第一个出现两次的字母
- Linux虚拟内存空间管理
- 一和零
- 分发饼干
- 找出数组中的所有 K 近邻下标
- 网络空闲的时刻
- 数位成本和为目标值的最大数字
- TrieTree(字典树)
- 基数树(Radix Tree)
- 添加与搜索单词 - 数据结构设计
- 重新格式化字符串
- 避免洪水泛滥
- 多 CPU 处理架构
- 大小为 K 的不重叠线段的数目
- Git基础知识
- HTML
- JavaScript
- Rust模块及包管理
五月
四月
三月
- 最长等差数列
- 下一个排列
- 字符的最短距离
- 移掉 K 位数字
- 去除重复字母
- 移掉 K 位数字
- 设计跳表
- 对链表进行插入排序
- 排序链表
- 移除链表元素
- 合并两个链表
- 寻找重复数
- 快照数组
- 数组中的第K个最大元素
- 根据前序和后序遍历构造二叉树
- 滑动窗口中位数
- 完成所有工作的最短时间
- 前序遍历构造二叉搜索树
- 多数元素
- 实现 Trie (前缀树)
- 切棍子的最小成本
- 最大三角形面积
- 滑动窗口最大值
- 二叉搜索树迭代器
- 输出二叉树
- 奇偶跳
- Golang数据结构之map
- golang最佳实践
- Go内存管理
- Go语言之cgo
- 字符串解码
- 零钱兑换
- 种花问题
- Docker基础
- LFU缓存
- LRU缓存机制
- mmap
- Rust基础
- 排列硬币
- 组合总和 Ⅳ
二月
- 旋转字符串
- 有效的括号字符串
- 最长公共子序列
- Batocera
- BIOS
- Boot
- Rust测试
- syslinux
- Ventoy
- 区块链-POS共识机制
- 基于Rust-vmm实现Kubernetes运行时
- 硬盘分区结构mbr和gpt
- Qemu
- Yarn
- 三数之和的多种可能
- Openwrt
二〇二二
十二月
十一月
十月
九月
八月
六月
- 区块链共识算法
- Flink消息消费流程
- 区块链中的攻击
- 基本计算器
- Substrate
- 区块链UTXO模型
- blockchain_rust
- IPFS(星际文件系统)
- Kademlia算法
- AF_XDP
- eBPF简史(转)
- Ext4文件系统架构分析(一)(转)
- FUSE- linux用户空间文件系统(转)
- Linux 网络包发送过程(转)
- Linux内存管理
- 内存分配器
- GCC
五月
- 二进制手表
- 构造 K 个回文字符串
- jzice-nvim
- Accumulo
- AdaBoost
- Alluxio
- Anna
- apache arrow
- Apache Avro
- Apache Hudi
- Apache iceberg
- Apache Kylin
- Apache Phoenix
- AWS常用概念
- B-Link-Tree
- BlobStore
- BookKeeper
- Cap'n Proto
- ChubaoFS MetaNode
- ChubaoFS vs NFS 性能对比测试
- ChubaoFS 基础
- chubaofs-s3
- ClickHouse
- clock缓存置换算法
- CockroachDB
- ConcurrentHashMap 原理分析
- CPU基础
- CubeFS-BlobStore
- Delta Lake
- DMA & RDMA 基本概念
- DPDK
- DynamoDB
- ElasticSearch基础
- ElasticSearch基础之lucene
- Flink内存管理
- Flink简介
- FUSE简介
- Git内部原理揭秘
- Golang之interface
- Golang之unsafe
- Goroutine
- Grafana
- Hazelcast
- HBase Compaction分析
- HBase python client
- HBase Region Split
- HBase Scan
- HBase WAL详解
- hbase 复制(replication)
- Hermes算法
- HFile详解
- Hive
- Istio基础
- JAVA基础
- Java线程池
- java调试
- Java锁
- k8s中informer机制
- k8s基础
- k8s手动部署
- k8s网络模型
- Kafka
- Kerberos
- Knative
- kudu
- LevelDB
- linux 文件系统之VFS
- linux-0.11 启动流程
- Linux内存基础
- Linux内嵌链表
- Linux网络命名空间
- Lucene基础知识
- MassTree
- Merkle Tree
- minio外链
- Nebula Graph
- NLP
- npm
- PacificA
- Percolator模型
- Prometheus基础
- Prometheus直方图
- Prometheus配置
- ProtoBuf
- Pulsar
- QPS、TPS、并发用户数、吞吐量关系
- Ray
- RocksDB
- Rook基础
- RT-Linux
- SaltStack
- Spanner
- spark
- Spark 文件 IO 分析
- Spark存储体系详解
- SPDK简介
- Spring的注解
- TAILQ-双向有尾队列
- Thanos
- UIO
- Unikernel基础知识
- XDP
- 一致性Hash算法
- 以太坊数据结构
- 分布式哈希表(DHT)
- 分布式系统时钟
- 图解 Golang 的 GC 算法
- 大数据基础
- 并发模型
- 推荐系统
- 数据库索引介绍
- 日志结构合并树(LSM-Tree)
- 机器学习
- 树状数组(BIT)
- 知识图谱
- 系统架构演进过程
- 红黑树(RB-Tree)
- 线段树(Segment-Tree)
- k8s证书
- 删除子字符串的最大得分
- 大礼包
- 掷骰子模拟
- Squid
- 丢失的数字
- 3 的幂
- 最小栈
- Fizz Buzz
- 计数质数
- 宝石与石头
- 颠倒二进制位
- 字符串的排列
- 打乱数组
- 第一个错误的版本
- 环形链表
- 回文链表
四月
- 验证回文串
- 有效的字母异位词
- SnowFlake 算法
- 反转字符串
- 字符串中的第一个唯一字符
- Jump一致性哈希算法
- KMP算法
- 一致性哈希算法
- 设计模式及准则
- Disruptor(高效无锁内存队列)
- Kafka时间轮算法
- RoaringBitmap
- k8s Volume实现原理
- k8s之CSI实现原理
- k8s基本操作
- k8s存储原理
- k8s存储架构
- k8s之Pod基本原理
- K8S之Volume原理
- Helm基础
- Java常用概念
- 从ReentrantLock的实现看AQS的原理及应用
- 集中式缓存GuavaCache
- C++基础
- C++11左值与右值
- 有效的数独
- 轮转数组
- 最长同值路径
- C++ string
- ElasticSearch 查询操作
- MongoDB
- C++11
- ES之SQL
- STL迭代器
- Elasticsearch写流程
- ElasticSearch集群
- ES之Master选举
- vim
- ChubaoFS DataNode
- Chubaofs Fuse Client
- ChubaoFS 读写分析
- HBase事务
- Paxos算法
- 将 x 减到 0 的最小操作数
- 数据流的中位数
- 爬楼梯
三月
二月
一月
- 二叉搜索树的最近公共祖先
- 删除链表中的节点
- 另一棵树的子树
- 翻转二叉树
- 环形数组是否存在循环
- 青蛙过河
- 设计循环队列
- Flink Shuffle 原理
- SPARK-25299- 改进Spark Shuffle可靠性
- STL简介
- Flink-基本
- STL-deque
- Zeus- Uber的分布式Spark Shuffle Service
- 智能指针
- ES倒排索引原理
- Golang之mutex
- CrateDB
- Flink WordCount程序背后的万字深度解析
- Flink入门
- Linux IO 模型之BIO/NIO/AIO/UIO
- MySQL锁
- Prometheus 存储层的演进
- Protobuf
- Scala 基础
二〇二一
十二月
十一月
十月
- Golang context
- Golang错误处理
- Rust注释
- Golang测试
- 下降路径最小和 II
- 二叉搜索树的最小绝对差
- 二叉树的直径
- 分隔链表
- 删除排序链表中的重复元素 II
- 反转链表
- 吃掉 N 个橘子的最少天数
- 合并二叉树
- 完美数
- 旋转链表
- 最近的请求次数
- 通过删除字母匹配到字典里最长单词
- 链表的中间结点
- hbase 配额(quota)
- Bash最佳实践
- Etcd Raft
- OrientDB
- protobuf+RPC
- JanusGraph
- BlobFS
- BlueStore
- Ceph基础
- Germlin
- Jaeger简介
- TinkerPop
- Zipkin分布式追踪系统
- 图数据库综述
- 深入理解大数据之——Lambda架构
- Elasticsearch数据模型
- esrally for es on cfs
- ES冷热分离
- ES存储详解
- Middle Wares 注意事项
- PForDelta算法
- sklearn
- HBase MemStore 分析
- HBase Region 自动拆分策略
- HBase RPC
- Hbase WAL 详解
- HBase 安装
- hbase 节点宕机处理流程
- HBase 配置
- HBase二级索引
- hbase写流程
- HBase读流程解析
- minio源码
- 纠删码
- vlang 基础
- 分布式KV数据库比较
- 分布式系统Quorum机制
- 分布式系统一致性
- 链接与装载
九月
七月
六月
五月
四月
一月
二〇二〇
十二月
- InfluxDB
- Loki简介
- AI
- Apache Calcite
- Apache Drill
- Apache Ignite
- AWS-S3身份和访问管理(IAM)
- badger
- C++并发
- C++日志
- c++时钟
- CRUSH算法
- DPDK
- Electron
- GC
- Gcc Map文件
- GitHub 相关工具
- Go generate
- gorilla/mux
- gorocksdb 编译
- Grafana loki 简介
- Hadoop
- Hadoop-aws
- HBase Region Split
- Hbase Region Split compaction 过程分析以及调优
- HBase 启动
- HBase 问题总结
- HBase源码剖析
- HBase资源隔离
- hdfs
- hexo
- Impala
- Java常见问题汇总
- Linux HugePage
- LLVM
- LTP-test
- MapR
- MySQL 高性能存储引擎:TokuDB初探
- pip
- Redis
- Rocksdb源码编译
- Rust 函数
- Rust链表
- Shuffle Map Task运算结果的处理
- sort
- Spark Sql
- Spark 存储体系
- Spark-3.0 源码
- SPDK bdev简介
- spring
- su
- Unsafe Pointer
- zookeeper
- 事务
- 五种 IO 模型
- 使用spring等框架的web程序在Tomcat下的启动顺序及思路理清
- 分布式事务
- 分布式文件系统概述
- 动态内存管理
- 概率论与随机过程
- 监控系统介绍
- 管理 Apache Spark 的 Java 和 Scala 依赖项
- 线性代数