-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.html
More file actions
254 lines (232 loc) · 44 KB
/
index.html
File metadata and controls
254 lines (232 loc) · 44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>zombie's</title><meta name="author" content="zombie12138"><meta name="copyright" content="zombie12138"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="zombie's">
<meta property="og:url" content="https://zombie12138.github.io/index.html">
<meta property="og:site_name" content="zombie's">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://zombie12138.github.io/img/butterfly-icon.png">
<meta property="article:author" content="zombie12138">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://zombie12138.github.io/img/butterfly-icon.png"><script type="application/ld+json">{
"@context": "https://schema.org",
"@type": "WebSite",
"name": "zombie's",
"alternateName": [
"zombie12138.github.io"
],
"url": "https://zombie12138.github.io/"
}</script><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="https://zombie12138.github.io/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css?v=5.5.3"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@7.1.0/css/all.min.css"><script>
(() => {
const saveToLocal = {
set: (key, value, ttl) => {
if (!ttl) return
const expiry = Date.now() + ttl * 86400000
localStorage.setItem(key, JSON.stringify({ value, expiry }))
},
get: key => {
const itemStr = localStorage.getItem(key)
if (!itemStr) return undefined
const { value, expiry } = JSON.parse(itemStr)
if (Date.now() > expiry) {
localStorage.removeItem(key)
return undefined
}
return value
}
}
window.btf = {
saveToLocal,
getScript: (url, attr = {}) => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
Object.entries(attr).forEach(([key, val]) => script.setAttribute(key, val))
script.onload = script.onreadystatechange = () => {
if (!script.readyState || /loaded|complete/.test(script.readyState)) resolve()
}
script.onerror = reject
document.head.appendChild(script)
}),
getCSS: (url, id) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onload = link.onreadystatechange = () => {
if (!link.readyState || /loaded|complete/.test(link.readyState)) resolve()
}
link.onerror = reject
document.head.appendChild(link)
}),
addGlobalFn: (key, fn, name = false, parent = window) => {
if (!false && key.startsWith('pjax')) return
const globalFn = parent.globalFn || {}
globalFn[key] = globalFn[key] || {}
globalFn[key][name || Object.keys(globalFn[key]).length] = fn
parent.globalFn = globalFn
}
}
const activateDarkMode = () => {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
const activateLightMode = () => {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
btf.activateDarkMode = activateDarkMode
btf.activateLightMode = activateLightMode
const theme = saveToLocal.get('theme')
theme === 'dark' ? activateDarkMode() : theme === 'light' ? activateLightMode() : null
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
document.documentElement.classList.toggle('hide-aside', asideStatus === 'hide')
}
const detectApple = () => {
if (/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)) {
document.documentElement.classList.add('apple')
}
}
detectApple()
})()
</script><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false,"highlightFullpage":false,"highlightMacStyle":false},
copy: {
success: '复制成功',
error: '复制失败',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'null',
Snackbar: undefined,
infinitegrid: {
js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid@4.12.0/dist/infinitegrid.min.js',
buttonText: '加载更多'
},
isPhotoFigcaption: false,
islazyloadPlugin: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'zombie\'s',
isHighlightShrink: false,
isToc: false,
pageType: 'home'
}</script><meta name="generator" content="Hexo 7.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img text-center"><img src="/img/butterfly-icon.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data text-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">39</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">94</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">9</div></a></div><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 所有文章</span></a></div><div class="menus_item"><span class="site-page group"><span> 文章分类</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/categories/Kernel&OS/"><i class="fa-fw fas fa-terminal"></i><span> 内核与操作系统</span></a></li><li><a class="site-page child" href="/categories/Architecture/"><i class="fa-fw fas fa-project-diagram"></i><span> 体系结构</span></a></li><li><a class="site-page child" href="/categories/DistributedSystem/"><i class="fa-fw fas fa-sitemap"></i><span> 分布式系统</span></a></li><li><a class="site-page child" href="/categories/Networking/"><i class="fa-fw fas fa-network-wired"></i><span> 网络系统</span></a></li><li><a class="site-page child" href="/categories/PL&Compiler/"><i class="fa-fw fas fa-code"></i><span> 编程语言与编译器</span></a></li><li><a class="site-page child" href="/categories/AI/"><i class="fa-fw fas fa-robot"></i><span> 人工智能</span></a></li><li><a class="site-page child" href="/categories/Database/"><i class="fa-fw fas fa-database"></i><span> 数据库系统</span></a></li><li><a class="site-page child" href="/categories/Embedded/"><i class="fa-fw fas fa-microchip"></i><span> 嵌入式与端侧</span></a></li><li><a class="site-page child" href="/categories/Engineer/"><i class="fa-fw fas fa-tools"></i><span> 工程实践</span></a></li><li><a class="site-page child" href="/categories/Collections/"><i class="fa-fw fas fa-bookmark"></i><span> 收藏与杂项</span></a></li></ul></div><div class="menus_item"><span class="site-page group"><span> 写作类型</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/tags/Survey/"><i class="fa-fw fas fa-binoculars"></i><span> 调研综述</span></a></li><li><a class="site-page child" href="/tags/Theory/"><i class="fa-fw fas fa-brain"></i><span> 理论分析</span></a></li><li><a class="site-page child" href="/tags/SourceCode/"><i class="fa-fw fas fa-file-code"></i><span> 源码解析</span></a></li><li><a class="site-page child" href="/tags/Optimization/"><i class="fa-fw fas fa-tachometer-alt"></i><span> 性能优化</span></a></li><li><a class="site-page child" href="/tags/Benchmark/"><i class="fa-fw fas fa-chart-line"></i><span> 基准测试</span></a></li><li><a class="site-page child" href="/tags/TroubleShooting/"><i class="fa-fw fas fa-bug"></i><span> 故障排查</span></a></li><li><a class="site-page child" href="/tags/Design/"><i class="fa-fw fas fa-drafting-compass"></i><span> 系统设计</span></a></li><li><a class="site-page child" href="/tags/Note/"><i class="fa-fw fas fa-sticky-note"></i><span> 笔记备忘</span></a></li></ul></div><div class="menus_item"><span class="site-page group"><span> 系列与项目</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/tags/Project-Abyss/"><i class="fa-fw fas fa-diagram-project"></i><span> Abyss</span></a></li><li><a class="site-page child" href="/tags/Project-Blog/"><i class="fa-fw fas fa-pen-nib"></i><span> Blog</span></a></li><li><a class="site-page child" href="/tags/Project-HomeLab/"><i class="fa-fw fas fa-server"></i><span> HomeLab</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/tags/Featured/"><i class="fa-fw fas fa-star"></i><span> 精品文章</span></a></div><div class="menus_item"><a class="site-page" href="/tags/Encrypted"><i class="fa-fw fas fa-lock"></i><span> 加密文章</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header"><nav id="nav"><span id="blog-info"><a class="nav-site-title" href="/"><span class="site-name">zombie's</span></a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 首页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 所有文章</span></a></div><div class="menus_item"><span class="site-page group"><span> 文章分类</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/categories/Kernel&OS/"><i class="fa-fw fas fa-terminal"></i><span> 内核与操作系统</span></a></li><li><a class="site-page child" href="/categories/Architecture/"><i class="fa-fw fas fa-project-diagram"></i><span> 体系结构</span></a></li><li><a class="site-page child" href="/categories/DistributedSystem/"><i class="fa-fw fas fa-sitemap"></i><span> 分布式系统</span></a></li><li><a class="site-page child" href="/categories/Networking/"><i class="fa-fw fas fa-network-wired"></i><span> 网络系统</span></a></li><li><a class="site-page child" href="/categories/PL&Compiler/"><i class="fa-fw fas fa-code"></i><span> 编程语言与编译器</span></a></li><li><a class="site-page child" href="/categories/AI/"><i class="fa-fw fas fa-robot"></i><span> 人工智能</span></a></li><li><a class="site-page child" href="/categories/Database/"><i class="fa-fw fas fa-database"></i><span> 数据库系统</span></a></li><li><a class="site-page child" href="/categories/Embedded/"><i class="fa-fw fas fa-microchip"></i><span> 嵌入式与端侧</span></a></li><li><a class="site-page child" href="/categories/Engineer/"><i class="fa-fw fas fa-tools"></i><span> 工程实践</span></a></li><li><a class="site-page child" href="/categories/Collections/"><i class="fa-fw fas fa-bookmark"></i><span> 收藏与杂项</span></a></li></ul></div><div class="menus_item"><span class="site-page group"><span> 写作类型</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/tags/Survey/"><i class="fa-fw fas fa-binoculars"></i><span> 调研综述</span></a></li><li><a class="site-page child" href="/tags/Theory/"><i class="fa-fw fas fa-brain"></i><span> 理论分析</span></a></li><li><a class="site-page child" href="/tags/SourceCode/"><i class="fa-fw fas fa-file-code"></i><span> 源码解析</span></a></li><li><a class="site-page child" href="/tags/Optimization/"><i class="fa-fw fas fa-tachometer-alt"></i><span> 性能优化</span></a></li><li><a class="site-page child" href="/tags/Benchmark/"><i class="fa-fw fas fa-chart-line"></i><span> 基准测试</span></a></li><li><a class="site-page child" href="/tags/TroubleShooting/"><i class="fa-fw fas fa-bug"></i><span> 故障排查</span></a></li><li><a class="site-page child" href="/tags/Design/"><i class="fa-fw fas fa-drafting-compass"></i><span> 系统设计</span></a></li><li><a class="site-page child" href="/tags/Note/"><i class="fa-fw fas fa-sticky-note"></i><span> 笔记备忘</span></a></li></ul></div><div class="menus_item"><span class="site-page group"><span> 系列与项目</span><i class="fas fa-chevron-down"></i></span><ul class="menus_item_child"><li><a class="site-page child" href="/tags/Project-Abyss/"><i class="fa-fw fas fa-diagram-project"></i><span> Abyss</span></a></li><li><a class="site-page child" href="/tags/Project-Blog/"><i class="fa-fw fas fa-pen-nib"></i><span> Blog</span></a></li><li><a class="site-page child" href="/tags/Project-HomeLab/"><i class="fa-fw fas fa-server"></i><span> HomeLab</span></a></li></ul></div><div class="menus_item"><a class="site-page" href="/tags/Featured/"><i class="fa-fw fas fa-star"></i><span> 精品文章</span></a></div><div class="menus_item"><a class="site-page" href="/tags/Encrypted"><i class="fa-fw fas fa-lock"></i><span> 加密文章</span></a></div></div><div id="toggle-menu"><span class="site-page"><i class="fas fa-bars fa-fw"></i></span></div></div></nav><div id="site-info"><h1 id="site-title">zombie's</h1></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts nc" id="recent-posts"><div class="recent-post-items"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/networking/bbr-tuning-experiment/" title="从骨干网到 BBR:我的 Homelab 香港反代服务器选购与调优实战">从骨干网到 BBR:我的 Homelab 香港反代服务器选购与调优实战</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-12-27T21:51:51.492Z" title="发表于 2025-12-28 05:51:51">2025-12-28</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Networking/">Networking</a></span></div><div class="content">为我的 homelab 玩具挑选线路,挑选 CSP 购买 HK 服务器,并且进行评测,最终深入 TCP 拥塞控制原理,对拥塞控制协议和接受窗口进行调优。 为什么是 HK需求我的 Homelab 运行着一套杂糅了生产力与数字娱乐多种需求,我需要一个反代服务器来让我随时随地访问。服务器需要满足基础的一些反代需求,外部 ssh 访问家里服务器;随时随地访问 Web 网站服务,查看服务状态、任务执行情况和服务监控,保证延迟不能太高,稳定性不能太差。同时需求也涵盖了文件管理(vsftp)、离线下载(qbit + wireguard 隧道)等高带宽需求。同时也需要通过域名访问,方便又有面子。无需流媒体解锁。 现状:大陆宽带与云服务器的“围城”在国内折腾本地服务器,避不开两个极端: 家庭宽带的阉割: 绝大多数地区不再分发公网 IPv4,即便有公网 IP,80/443 端口也处于永久封禁状态。本来还有一个 300M IPv4 家庭宽带,但是去年 24 年就已经没有公网 IP 了。 国内云服务器的“带宽税”: 大陆云厂商提供的固定 IP 服务器,带宽价格极度畸形。3M、5M 的带宽在今天这种动...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/collections/Chinese-punctuation/" title="博客使用中文标点啦!">博客使用中文标点啦!</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-12-22T17:43:11.824Z" title="发表于 2025-12-23 01:43:11">2025-12-23</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Collections/">Collections</a></span></div><div class="content">短讯:博客从此文章以后,开始使用中文标点啦! 为什么使用英文标点从最初写代码时,我便开始纠结标点问题,尤其是在格式控制上。比如我写的 Markdown 一直是遵循 markdownlint-cli2。在写作过程中,我开始注意到一些细节,比如中文与英文之间需要有空格,英文标点后、括号前后需要加空格等。随着使用的深入,我逐渐发现英文标点在某些方面更为高效,具体包括以下几点: 使用英文标点可以更好地进行光标控制。通过按住 CTRL + ←、→、DEL、BACKSPACE,能够跳过整个句子或删除半句,直到遇到中英文标点或标点旁边的空格。其实这一点可以通过安装插件 cjk-word-handler 插件解决,但是这个插件存在 Bug:英文和空格视为同一个单词,这个和 vscode 原生视为两个单词有不同。 一直使用英文标点可以避免切换中英文标点。即使在写作中需要插入方括号、括号、反引号等符号,切换标点符号时也不需要来回切换中英文标点。 还有一点必须承认,尽管使用英文标点很多地方不方便,比如需要手动插入空格;尽管英文标点插入中文中太过于瘦小很难看;尽管不符合写作规范,但是我追求的就是这个...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/collections/butterfly/" title="Butterfly 主题使用 | 重塑博客分类和标签">Butterfly 主题使用 | 重塑博客分类和标签</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-12-13T06:02:23.000Z" title="发表于 2025-12-13 14:02:23">2025-12-13</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Collections/">Collections</a></span></div><div class="content">目前的博客依然使用的是 NexT, 其风格是极简纯粹, 安装之后几乎不用配置; 但是功能太少, 依然是默认的使用逻辑. 这种 “开箱即用” 的便利在内容积累到一定程度后, 反而成了桎梏. 最大的问题在于信息密度的扁平化. 在默认的 NexT 时间流视图下, 一篇耗时两周写成的深入的源码剖析+实验性能分析和一篇耗时 5 分钟记录的 Docker 环境配置占据了同等的视觉版面. 这导致高质量的思考被淹没在大量的实验流水账中, 读者无法在第一时间感知到博客的核心价值. 为了优化读者体验, 强调重点内容, 优化检索难度, 本文将重构整个博客的 categories 和 tags; 并且更换主题为 Butterfly. 核心重构需求为了解决上述问题, 结合 AI 提供的优化思路, 我对新版博客的主题选型和功能定制提出了以下硬性指标: 主页布局的 “CMS 化” (非单纯 Timeline)我不希望主页仅仅是一个按时间倒序的列表. 我需要主页具备 “门户” 属性, 能够进行分栏展示. 例如顶部导航栏可以设置不同的专项, 精品文章; 首页新增磁铁和置顶文章. 需求点: 主题需要支持自定义首页...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/distributedsystem/build-batch-platform/" title="「Abyss」搭建任务调度平台 xxl-job">「Abyss」搭建任务调度平台 xxl-job</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-11-01T13:54:03.000Z" title="发表于 2025-11-01 21:54:03">2025-11-01</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/DistributedSystem/">DistributedSystem</a></span></div><div class="content">调研并部署一个 Java 批处理系统, 用来某交易平台的数据的抓取和分析. 背景最近一直想自己搞搞自动交易. 第一步就是先部署一下这个数据抓取的平台. 有了数据才能后面考虑回测, 最终部署到真实的交易中. 经过调研, 某平台提供了两种数据, 一种是历史数据, 是一个压缩过的 csv 文件; 还有一种就是通过 API 查询实时价格. 这里先爬取历史数据, 后续再考虑 API 来抓实时的数据. 框架选择最初的设计这个最初使用 Python 实现了一版, 当时参考的是一个 OJ 系统的调度设计, 写了不到 500 行, 只实现了 Worker 以及 Worker 节点和 Manager 节点的同步和通讯, 但是感觉实现的可维护性非常差, 很多设计上也存在缺陷, 重新总结重构. 最初的 Python 实现的是单机多进程的. 若干个 Worker 和一个 Master 进程. Worker 包含一个主线程和一个执行线程, 主线程负责和 Manager 的通讯, 执行线程需要自己 override, 来执行实际的任务. Worker 自己管理执行进度, 管理 Checkpoint. Wo...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/kernelos/android-root/" title="OnePlus13 一加13 Root">OnePlus13 一加13 Root</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-09-20T06:47:27.000Z" title="发表于 2025-09-20 14:47:27">2025-09-20</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Kernel-OS/">Kernel&OS</a></span></div><div class="content">最近买了个 OnePlus 13, 简单记录 Root 的过程. 上上次 Root 还是高中 16 年那个能通过漏洞一键 Root 的时代, 上次 Root 则是我的 Redmi Note 12 Turbo, MIUI 14. 警告: 手机 Root 存在一定的风险, 并且不同手机解锁 BL 锁流程不同. 为什么 Root其实并没有非要 Root 的需求, 主要原因是更喜欢自己买的手机自己掌控的感觉, 安装例如 存储隔离 等的工具, LSPosed 的大量插件我用的倒不是很多 (唯一一个一直用的就是 Bilibili 禁止竖屏模式). 我当前的设备: 我之前都是 KernelSU + magisk + LSPosed 一起安装. KernelSU 虽然方便干净, 但是生态用起来总感觉没有 Magisk 方便, 我就两者都共存了. 我这次要 Root 的是下面这台 OnePlus 机器 解锁 BL解锁手机的 Bootloader (BL) 是获取设备更高权限 (如刷入自定义 ROM, 获取 Root 权限) 的第一步. 对于一加, 先是打开 开发者模式, 进入之后开启...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/kernelos/ArchLinux-in-wsl/" title="ArchLinux & Windows 开发环境配置">ArchLinux & Windows 开发环境配置</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-08-30T16:26:44.000Z" title="发表于 2025-08-31 00:26:44">2025-08-31</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Kernel-OS/">Kernel&OS</a></span></div><div class="content">I use Arch Linux btw. 一直以来都是用的 Debian 系的, 也用过 Redhat 和 CentOS, 很少用过一些其他的发行版, 比如Gentoo, ArchLinux, openSUSE. 虽然这些虽然是外面配了一些不同的软件, 但是还是感觉非常神秘. 最近重装系统了, 顺便在 wsl 中安装 ArchLinux 体验一下. 之前也从来没有做过什么终端美化, 这次简单尝试下. 首先是安装 WSL2, 直接 follow 微软的 官方教程 就可以了, 重启后在 Store 中找到 ArchLinux, 点击安装, 打开, 配置用户名和密码就好啦. 系统环境配置proxy首先就是环境变量, 这是很早之前 GPT 3 写的很好用的一个代理命令 12345678910111213141516171819202122232425262728293031323334353637383940414243# $(ip route list default | awk '{print $3}') to get windows ho...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/networking/proxy-in-docker/" title="Docker 中的 Proxy">Docker 中的 Proxy</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-03-29T11:22:52.000Z" title="发表于 2025-03-29 19:22:52">2025-03-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Networking/">Networking</a></span></div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/distributedsystem/classic-papers/" title="那些经典论文">那些经典论文</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-03-08T12:07:42.000Z" title="发表于 2025-03-08 20:07:42">2025-03-08</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/DistributedSystem/">DistributedSystem</a></span></div><div class="content">记录 2012 年之前的又老又经典论文阅读. MapReduce: Simplified Data Processing on Large ClustersMapReduce[1] 是一种通用的 Bulk Synchronized Parallel 的典型范式. 用户只需要定义一个 Map 函数, 一个 Reduce 函数即可在上千台实例上运行分布式任务, 可以完成 PageRank, Inverted Index 等任务. 例如词频统计的一个例子: 123456789101112map(String key, String value): // key: document name // value: document contents for each word w in value: EmitIntermediate(w, "1");reduce(String key, Iterator values): // key: a word // values: a list of counts int result = 0;...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/collections/awesome-books/" title="技术书评手记">技术书评手记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-03-08T10:18:50.000Z" title="发表于 2025-03-08 18:18:50">2025-03-08</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Collections/">Collections</a></span></div><div class="content">决心要多读书, 但是最终应该也看不了几本, 吐槽和感受就放这里. Contents从下面的几个维度评判 书名 标签: 书本内容, 例如: Java, Performance 深度: 对于一个技术细节, 是否完全深究, 弄清楚 广度: 是否会谈论起更大的话题, 或者是更多的横向比较 易读: 是否讲的是人话 正确: 翻译, 以及原文中, 是否存在事实性错误 难度: 整体的难度, 包括厚度, 所需知识, 深度, 易读性等. 推荐: 综合推荐评分 书名 阅读时间 标签 深度 广度 易读 正确 推荐 Java 性能优化实践 300页/25h Java、Performance ★★☆☆☆ ★★★☆☆ ★★★☆☆ ★★★☆☆ ★★★☆☆ 数据密集型应用系统设计 500页/40h Distributed System、Database ★★★☆☆ ★★★★★ ★★★☆☆ ★★★★★ ★★★★★ Java 性能优化实践 这本动物书主要讲了 Java8 的性能优化实践. 当时是在美团博客的参考链接看到的, 什么也没想直接买了. 打开之后其实还是比较失望的, 主要是讲...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2025/engineer/fix-hexo-tag-escape/" title="给 Hexo 提交 PR">给 Hexo 提交 PR</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2025-02-20T00:30:22.000Z" title="发表于 2025-02-20 08:30:22">2025-02-20</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Engineer/">Engineer</a></span></div><div class="content">之前一直使用 hexo-reference-plus 作为插件渲染的工具, 但是最近突然会导致渲染失败. 排查问题发现是 hexo 本身的 bug. 背景一般来说, 我的参考链接都是直接用 markdown 的链接放到引用位置; 但是有些时候, 希望集中放一下文章的参考引用, 以及论文的引用, 这时候需要使用引用插件. 我使用的是一个 hexo-reference-plus 的插件, 还算比较好用. 但是最近突然会影响文章的解析和渲染, 在第一个 {% ref xxx %} 标签后面的几乎所有的 markdown 都停止了渲染. 来排查一下. 本人对于 hexo & js & nodejs 都不熟悉, 只是为了快速解决问题. 因此可能有些不是很专业的操作. BUG正常的渲染的语法是 12345xxxxxxxx {% ref reftag %}# Title{% references %}[reftag] {% post_link collections/hello-world hello-world %}...</div></div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span><a class="page-number" href="/page/2/#content-inner">2</a><span class="space">…</span><a class="page-number" href="/page/4/#content-inner">4</a><a class="extend next" rel="next" href="/page/2/#content-inner"><i class="fas fa-chevron-right fa-fw"></i></a></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info text-center"><div class="avatar-img"><img src="/img/butterfly-icon.png" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info-name">zombie12138</div><div class="author-info-description"></div><div class="site-data"><a href="/archives/"><div class="headline">文章</div><div class="length-num">39</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">94</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">9</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">This is my Blog</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2025/networking/bbr-tuning-experiment/" title="从骨干网到 BBR:我的 Homelab 香港反代服务器选购与调优实战">从骨干网到 BBR:我的 Homelab 香港反代服务器选购与调优实战</a><time datetime="2025-12-27T21:51:51.492Z" title="发表于 2025-12-28 05:51:51">2025-12-28</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2025/collections/Chinese-punctuation/" title="博客使用中文标点啦!">博客使用中文标点啦!</a><time datetime="2025-12-22T17:43:11.824Z" title="发表于 2025-12-23 01:43:11">2025-12-23</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2025/collections/butterfly/" title="Butterfly 主题使用 | 重塑博客分类和标签">Butterfly 主题使用 | 重塑博客分类和标签</a><time datetime="2025-12-13T06:02:23.000Z" title="发表于 2025-12-13 14:02:23">2025-12-13</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2025/distributedsystem/build-batch-platform/" title="「Abyss」搭建任务调度平台 xxl-job">「Abyss」搭建任务调度平台 xxl-job</a><time datetime="2025-11-01T13:54:03.000Z" title="发表于 2025-11-01 21:54:03">2025-11-01</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2025/kernelos/android-root/" title="OnePlus13 一加13 Root">OnePlus13 一加13 Root</a><time datetime="2025-09-20T06:47:27.000Z" title="发表于 2025-09-20 14:47:27">2025-09-20</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
<a class="card-more-btn" href="/categories/" title="查看更多">
<i class="fas fa-angle-right"></i></a>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Architecture/"><span class="card-category-list-name">Architecture</span><span class="card-category-list-count">4</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Collections/"><span class="card-category-list-name">Collections</span><span class="card-category-list-count">8</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Database/"><span class="card-category-list-name">Database</span><span class="card-category-list-count">3</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/DistributedSystem/"><span class="card-category-list-name">DistributedSystem</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Embedded/"><span class="card-category-list-name">Embedded</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Engineer/"><span class="card-category-list-name">Engineer</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Kernel-OS/"><span class="card-category-list-name">Kernel&OS</span><span class="card-category-list-count">6</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Networking/"><span class="card-category-list-name">Networking</span><span class="card-category-list-count">8</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/Performance/" style="font-size: 1.1em; color: #999">Performance</a> <a href="/tags/GFS/" style="font-size: 1.1em; color: #999">GFS</a> <a href="/tags/CSP/" style="font-size: 1.1em; color: #999">CSP</a> <a href="/tags/BigData/" style="font-size: 1.1em; color: #999">BigData</a> <a href="/tags/MySQL/" style="font-size: 1.1em; color: #999">MySQL</a> <a href="/tags/Node-js/" style="font-size: 1.1em; color: #999">Node.js</a> <a href="/tags/PHP/" style="font-size: 1.1em; color: #999">PHP</a> <a href="/tags/WireGuard/" style="font-size: 1.18em; color: #999ca1">WireGuard</a> <a href="/tags/IPU/" style="font-size: 1.1em; color: #999">IPU</a> <a href="/tags/ClickHouse/" style="font-size: 1.1em; color: #999">ClickHouse</a> <a href="/tags/Survey/" style="font-size: 1.26em; color: #999fa8">Survey</a> <a href="/tags/TDengine/" style="font-size: 1.1em; color: #999">TDengine</a> <a href="/tags/SSH/" style="font-size: 1.1em; color: #999">SSH</a> <a href="/tags/Java/" style="font-size: 1.1em; color: #999">Java</a> <a href="/tags/JavaScript/" style="font-size: 1.1em; color: #999">JavaScript</a> <a href="/tags/ddclient/" style="font-size: 1.1em; color: #999">ddclient</a> <a href="/tags/ONNX/" style="font-size: 1.1em; color: #999">ONNX</a> <a href="/tags/ESP8266/" style="font-size: 1.1em; color: #999">ESP8266</a> <a href="/tags/Encrypted/" style="font-size: 1.1em; color: #999">Encrypted</a> <a href="/tags/overlay2/" style="font-size: 1.1em; color: #999">overlay2</a> <a href="/tags/Featured/" style="font-size: 1.42em; color: #99a6b7">Featured</a> <a href="/tags/vsftpd/" style="font-size: 1.1em; color: #999">vsftpd</a> <a href="/tags/Clash/" style="font-size: 1.1em; color: #999">Clash</a> <a href="/tags/Ubuntu/" style="font-size: 1.1em; color: #999">Ubuntu</a> <a href="/tags/TroubleShooting/" style="font-size: 1.34em; color: #99a3b0">TroubleShooting</a> <a href="/tags/zsh/" style="font-size: 1.1em; color: #999">zsh</a> <a href="/tags/Project-HomeLab/" style="font-size: 1.5em; color: #99a9bf">Project/HomeLab</a> <a href="/tags/Redis/" style="font-size: 1.1em; color: #999">Redis</a> <a href="/tags/WSL2/" style="font-size: 1.1em; color: #999">WSL2</a> <a href="/tags/CPU/" style="font-size: 1.1em; color: #999">CPU</a> <a href="/tags/git/" style="font-size: 1.1em; color: #999">git</a> <a href="/tags/ArchLinux/" style="font-size: 1.1em; color: #999">ArchLinux</a> <a href="/tags/udp2raw/" style="font-size: 1.1em; color: #999">udp2raw</a> <a href="/tags/Folly/" style="font-size: 1.1em; color: #999">Folly</a> <a href="/tags/epoll/" style="font-size: 1.1em; color: #999">epoll</a> <a href="/tags/docker-compose/" style="font-size: 1.1em; color: #999">docker-compose</a> <a href="/tags/Project-Abyss/" style="font-size: 1.18em; color: #999ca1">Project/Abyss</a> <a href="/tags/Theory/" style="font-size: 1.18em; color: #999ca1">Theory</a> <a href="/tags/cjk-word-handler/" style="font-size: 1.1em; color: #999">cjk-word-handler</a> <a href="/tags/Butterfly/" style="font-size: 1.1em; color: #999">Butterfly</a></div></div><div class="card-widget card-archives">
<div class="item-headline">
<i class="fas fa-archive"></i>
<span>归档</span>
<a class="card-more-btn" href="/archives/"
title="查看更多">
<i class="fas fa-angle-right"></i>
</a>
</div>
<ul class="card-archive-list">
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/12/">
<span class="card-archive-list-date">
十二月 2025
</span>
<span class="card-archive-list-count">3</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/11/">
<span class="card-archive-list-date">
十一月 2025
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/09/">
<span class="card-archive-list-date">
九月 2025
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/08/">
<span class="card-archive-list-date">
八月 2025
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/03/">
<span class="card-archive-list-date">
三月 2025
</span>
<span class="card-archive-list-count">3</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2025/02/">
<span class="card-archive-list-date">
二月 2025
</span>
<span class="card-archive-list-count">3</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2024/12/">
<span class="card-archive-list-date">
十二月 2024
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
<li class="card-archive-list-item">
<a class="card-archive-list-link" href="/archives/2024/11/">
<span class="card-archive-list-date">
十一月 2024
</span>
<span class="card-archive-list-count">1</span>
</a>
</li>
</ul>
</div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站信息</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">39</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">本站总浏览量 :</div><div class="item-count" id="busuanzi_value_site_pv"><i class="fa-solid fa-spinner fa-spin"></i></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2026-01-28T17:00:57.250Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div class="footer-other"><div class="footer-copyright"><span class="copyright">© 2025 - 2026 By zombie12138</span><span class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo 7.3.0</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly 5.5.3</a></span></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="日间和夜间模式切换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js?v=5.5.3"></script><script src="/js/main.js?v=5.5.3"></script><div class="js-pjax"></div><script>
if (document.getElementById('post')) {
var copyright = document.querySelector('.post-copyright');
if (copyright) {
var div = document.createElement('div');
div.className = 'custom-statement';
div.innerHTML = '<span class="post-copyright-meta"><i class="fas fa-circle-exclamation fa-fw"></i>特殊声明: </span> 本篇文章由我个人在空闲时间独立制作。所有观点、看法及内容均为个人意见,不代表任何组织或公司的立场。';
copyright.appendChild(div);
}
}
</script>
<script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>