尽管我不信万象有序一台笔记本,一个kobo,外加一只猫,2024年经历了学生时代到职场生活的转变。过去因为经济受困不得之物,现在似乎都稀松平常了。但在这种表象之下,我能感受到,变卖时间的固定工作制度,以及消费盛行的社会生活,正在慢慢锁死大多数人的可能性。在这种他者赋予的确定性道路背后,我必须思考、实践一条出路,给自己争取到真正的自由。
总结
The Paxos Paper前面有几篇博文cover 了Raft 和Gossip 协议,但Paxos 终归是一个绕不开的话题。今天要读的这篇paper 正好用来补全这块拼图。
分布式系统一致性算法网络
读《求阙斋记》“凡厥庶民,有猷有为有守,不协于极,不罹于咎,女则锡之福。”
阅读
sync.Cond:被忽视的同步机制Golang 条件变量的概念在过去很长一段时间一直困扰着我,好像它能派上用场的地方,用经典的channel 也没有问题。VictoriaMetrics 这篇post 很大程度上释清了我的困惑,我将它翻译过来,希望对其它Golang 新手有所帮助。
Go翻译
The Dapper Paper复杂的分布式系统中涉及多个组件间的交互,这些组件往往由多个团队按照不同的规范或风格开发而成。如何快速地理解整个系统的行为,定位存在的性能问题至关重要,而Dapper 就是解决这一痛点的基础设施。
分布式系统链路追踪网络
The GFS Paper终于我们来到了The Google File System!如果还有印象的话,应该记得前面Bigtable 就使用GFS 来存储日志和数据文件,这下总算能一探究竟了。
分布式系统文件系统
The Chubby PaperChubby 是一个分布式锁服务,之前读到的Bigtable 就使用Chubby 作为其底层依赖,这篇博客是对Chubby 论文的浅读。
分布式系统分布式锁高可用
如何实现kube-apiserver 与kubelet 的安全通信?在Kubernetes 的默认设置中,kube-apiserver 访问kubelet 的过程并未加密,这意味着期间可能发生中间人攻击。从我个人的学习经历来看,Kubernetes 的文档虽然大而全,但是刚上手的人很难从中获取如何解决细节问题的方案,所以我把自己的探索过程记录下来。
k8sKubeadm网络分布式系统GoProblem Solving
大连:森与海之城The 4-Hour Work Week 里推崇“旅居”的慢节奏旅行方式:在目的地住上十天半个月,没有紧凑的日程安排,尽可能地融入当地人的生活。在学生时代的末尾,我在大连这座东北的海滨城市度过了九天八夜,践行了这种旅行方式。
旅居
The Bigtable PaperBigtable 是基于GFS 研发的结构化数据分布式存储系统,这篇blog 是对原论文的导读,包含对Bigtable 数据模型的解释。
分布式系统数据存储可拓展性NoSQL
Golang 的常用单测工具这篇博客分享和总结我自己目前用到的Golang 单元测试库。
Go测试
我在实习中领悟到的……总结
The Anti-Entropy Gossip PaperDynamo 的成员变更消息同步是通过Gossip 实现的。与Paxos 和Raft 不同,作为一个分布式数据通信协议,Gossip 并不保证数据的强一致性,而是通过节点间随机信息交换的方式实现状态的最终一致性。
分布式系统一致性算法网络
浅看中文地址匹配中文地址匹配是我硕士期间的研究课题,主要处理的是两条地址描述文本是否指向同一或相近地理位置的判断问题。该领域面临的主要挑战是地址元素表达多样,且样本数据需求大。这篇post 主要聊这个领域在纯GIS 圈的研究进展,以及我的一些思考。
GISNLP
The Dynamo PaperDynamo 是Amazon 很久以前设计的KV 数据存储服务,原论文至今仍是分布式系统领域内的经典,其特性是能够对写操作保持高可用。本文是我对Dynamo 论文的个人学习笔记。
分布式系统数据存储高可用NoSQL
怎样找到想读的书呢?七年大学时代的尾巴里,我居然也能在读书的量上引人注意……
总结阅读
编写k8s 自定义控制器k8s分布式系统Go
编写k8s 调度框架Score 插件k8s分布式系统Go
我用VitePress 重构了博客页面秋招之后的第一件事就是翻修老旧的博客页面……
TailwindCSSVitePressFrontEnd
异常控制流OSUnix
渐进式知识总结法最重要的是带着目的去学习……
总结
用理性去养成习惯在理性动物的结构中我看不到任何与正义相反的德性,而是看到一种与热爱快乐相反的德性,那就是节制。
阅读
Libevent 学习笔记(四)—— 事件循环网络CLibeventUnix
草间求活过去一年在极度的不确定性中达到了还算及格的效果,因此勉强能称为“草间求活”,希望能够更加关注健康、心态、精力,以提高自己应对风险的能力。
总结
可拓展网络架构和分布式系统本文概括了在设计可拓展的web 分布式系统时需要遵循的原则,以及为了实现这些目的通常使用的工具和手段等。
翻译分布式系统
Libevent 学习笔记(二)—— event_base 使用概略event_base 保存Libevent 事件循环所需的信息,可以说是Libevent 的核心组件,在这篇post 里我们概略性地探究一下这个结构体。
网络CLibeventUnix
Libevent 学习笔记(一)—— Hello World从官方的Hello World 用例开始学习Libevent 的使用。
网络CLibeventUnix
滥用抽象以致前景黯淡这篇博文要表达的是技术人员满足于对最顶层的理解,而忽略了底层知识的掌握,最后会导致核心技能缺失的问题。
翻译
切片KV 存储服务构建6.5840 / 6.824(分布式系统)Lab 4,在KV 存储的基础上添加数据分片,分片迁移等功能。
分布式系统Go一致性算法网络
OS:虚拟化、并发和持久性本文并非单纯的操作系统导论的读后感或者读书笔记,而是我目前对操作系统的理解的总结,以输出的方式内省学习效果,或许也能当作复习大纲使用。
OSCUnix
简易KV 存储服务构建6.5840 / 6.824(分布式系统)Lab 3,基于Raft 算法实现一个可容错的KV 存储服务。
分布式系统Go一致性算法网络
for Can Do More翻译Elixir
Raft 算法实现6.5840 / 6.824(分布式系统)Lab 2,实现Raft 算法。
分布式系统Go一致性算法网络
线程与Goroutines本文译自Threads and Goroutines,作者从一个具体的benchmark(启动一百万个现线程或者协程)比较了Go 和Rust 的并发性能。
翻译GoRustUnix
密码技术入门《图解密码技术》读书笔记,简要概括对称加密、非对称加密、散列函数、MAC、数字签名和伪随机数生成器的基本原理。
密码学
从0开始实现一个简单的MapReduce6.5840 / 6.824(分布式系统)Lab 1,实现一个简单的MapReduce 系统。
分布式系统Go
Jounery to the NetDHCP、DNS、HTTP、TLS/SSL、TCP、UDP、ICMP、IP、ARP,blahblahblah... 本文将归纳计算机从联网到接收数据过程中所涉及的主要流程。我会把这篇文章当作计算机网络的大纲使用,但要建立一个完整的计算机网络知识体系,还需要阅读更深刻的资料。
网络CUnix
Go channel 实现原理channel 是Go 语言实现并发的重要机制,用来实现协程之间的通信。由于之前缺少并发编程的经验,我一直不太乐意去看channel 的源码。如今写完了MIT 6.824的Lab,总算是对并发有了更直观的认识,之前一直逃避的源码也终于清晰了起来。
数据结构Go
Git 数据模型一窥当我们在使用Git 的时候,我们究竟在做什么?
版本控制
一种基于图结构的中文地址匹配方法对于中文地址匹配问题,本文提出了一种基于图结构的中文地址匹配方法,该方法首先利用node2vec 算法获取地址的结点向量,然后利用GCN 获取地址的表征,最后利用MLP 进行匹配判断。
图神经网络NLPGIS
Go 的异常处理是一种叙事手法本文译自Go's Error Handling Is a Form of Storytelling,这篇文章讲述了Golang 中异常的用法,这种把异常处理当作叙事手法的视角很新奇,文章也提供了一些写error message 的范例。但这篇文章不包括Go error 的实现原理,可以选择性的阅读。
Go翻译
哈希表及Golang map 的底层实现原理哈希表是普通数组概念的一种推广,可以以键值对的形式存储数据,类似于数组通过索引值访问数组元素。本文将介绍哈希表的基本概念、哈希冲突的解决手段以及Golang 中map 的实现原理。
数据结构Go
基于Transformer fine-tune 领域特定分词器归纳使用HanLP 训练基于Transformer 的tokenizer 的过程,写着写着发现开始介绍虚拟环境了😅
NLPPython
排序算法总结常用排序算法归纳总结和Golang 实现,附带Golang 和CPP 中sort 算法源码分析。
算法CPPGo
用动态规划计算编辑距离利用二维DP 计算两个字符串的编辑距离。
算法Go
Golang slice 和CPP STL vector 的实现细节对比同样是对数组的强化,Golang slice 和CPP STL vector 的区别在哪里?使用上要注意什么?
数据结构CPPGo
寒假做了什么,未来往何处去?本来应该是一年一度进行个人总结,但是今年的寒假比较特殊,是找工作之前的最后一个假期,而未来半年将会把主线放到找工作上,有必要对目前的计划完成情况进行复盘和存档,以便更加清晰地了解接下来要做的事情,以及这些事情的轻重缓急。
总结
关于KMP 算法的理解最近在刷LeetCode 的时候,对与KMP 算法有关的题目不是很理解。在题解模块发现了这样一篇技术博客,解释非常直观,于是翻译一下作为笔记使用。
算法翻译
神奇海鲜在哪里!《海错图笔记》我必须给大家按头安利🥳!武大总图有完整三册,第一册还是作者签名本!没它论文早写完了(bushi
阅读
QGIS 的数据格式拓展插件开发GISCPP