-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
295 lines (235 loc) · 27.8 KB
/
index.html
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
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
<!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>羽殇之舞的个人博客 - 010</title><meta name="author" content="羽殇之舞"><meta name="copyright" content="羽殇之舞"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta name="description" content="大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧">
<meta property="og:type" content="website">
<meta property="og:title" content="羽殇之舞的个人博客">
<meta property="og:url" content="http://gg2002.github.io/index.html">
<meta property="og:site_name" content="羽殇之舞的个人博客">
<meta property="og:description" content="大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://gg2002.github.io/img/avatar.jpg">
<meta property="article:author" content="羽殇之舞">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://gg2002.github.io/img/avatar.jpg"><link rel="shortcut icon" href="/img/favicon.png"><link rel="canonical" href="http://gg2002.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"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: '羽殇之舞的个人博客',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2024-09-24 21:15:50'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.getCSS = (url,id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 6.3.0"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/avatar.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">17</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">8</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div><hr class="custom-hr"/><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></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/img/home_img.jpg')"><nav id="nav"><span id="blog-info"><a href="/" title="羽殇之舞的个人博客"></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><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">羽殇之舞的个人博客</h1><div id="site_social_icons"><a class="social-icon" href="https://github.com/GG2002" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #24292e;"></i></a></div></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" id="recent-posts"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/09/24/pve-needs-to-do/" title="关于 PVE 你不得不做的几件事(雾)">关于 PVE 你不得不做的几件事(雾)</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="2024-09-24T03:46:58.000Z" title="发表于 2024-09-24 11:46:58">2024-09-24</time></span></div><div class="content">记载一下笔者在自己的 PVE 上做了什么防止忘记。
PVE 版本
123456789101112131415161718192021root@pve:~# neofetch .://:` `://:. root@pve `hMMMMMMd/ /dMMMMMMh` -------- `sMMMMMMMd: :mMMMMMMMs` OS: Proxmox VE 8.2.2 x86_64 `-/+oo+/:`.yMMMMMMMh- -hMMMMMMMy.`:/+oo+/-` Kernel: 6.8.4-2-pve `:oooooooo/`-hMMMMMMMyyMMMMMMMh-`/oooooooo:` Uptime: 14 mins `/oooooooo:`:mMMMMMMMMMMMMm:`:oooooooo/` Packages: 792 (dpkg) ./ooooooo+- +NMMMMMMMMN+ ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/09/11/ospp-2024-exp-share/" title="OSPP 2024 经验分享">OSPP 2024 经验分享</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="2024-09-11T18:09:25.000Z" title="发表于 2024-09-12 02:09:25">2024-09-12</time></span></div><div class="content"> 简单版简历
Github: feathercyc
教育经历:
2023-现今:硕士,计算机科学与技术,华中科技大学
项目基本信息
项目名称:图数据库 NebulaGraph 对接数据访问层 OpenDAL
项目导师:Suyan
项目描述:OpenDAL 是一个数据访问层,允许用户以统一的方式轻松有效地从各种存储服务中检索数据。目前 OpenDAL 尚未对接图数据库 NebulaGraph,希望通过这个项目完成 NebulaGraph 和 OpenDAL 的对接,让 OpenDAL 能直接访问 NebulaGraph 存储的数据。
项目链接:https://summer-ospp.ac.cn/org/prodetail/241190422
关于 OpenDAL 社区
OpenDAL 是一个数据访问层,其支持以相同的方式访问多种存储后端,旨在减轻开发人员要为每个服务重新实现访问各种存储后端的工作量。
关于 NebulaGraph 社区
NebulaGraph 是图数据库,其以 vertex,edge 和 tag 的形式 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/09/02/mysql-index-design/" title="mysql-index-design">mysql-index-design</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="2024-09-02T01:26:15.000Z" title="发表于 2024-09-02 09:26:15">2024-09-02</time></span></div><div class="content">https://opensource.actionsky.com/20201111-mysql/
mysql innodb 的聚集索引与非聚集索引之区别
</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/08/24/gsoc-2024-completion-record/" title="GSOC2024 Completion Record with Reflections">GSOC2024 Completion Record with Reflections</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="2024-08-24T16:10:21.000Z" title="发表于 2024-08-25 00:10:21">2024-08-25</time></span></div><div class="content"> What I have done
add some doc
feat: add ci
[chore] change some fn’s and variable’s name
add some iter type
chore: add example and correct README
feat: add tests.rs
feat: add intervalmap tests
chore: change crate name to prepare for cargo publish
I have extracted the interval map impl from Xline, refined this part into a crate, added detailed documentation and testing, and published it as rb-interval-map on crates.io.
fix: correct request validation
chore: transfer utils’s interval map impl i ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/06/14/nas-tool/" title="Nas 自动化追番系统搭建">Nas 自动化追番系统搭建</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="2024-06-14T13:41:20.000Z" title="发表于 2024-06-14 21:41:20">2024-06-14</time></span></div><div class="content">来使用 Nas 搭建一个自动化娱乐设备罢。
购买背景
由于笔者现在电脑设备有好几台,最近出于优化工作流的想法,想把自己的个人资料和一些工作文件丢到一起方便管理;而且笔者去年买的 1TB 和 2TB 固态剩余空间现在都有些捉襟见肘了,想把一些 galgame 和正经游戏丢到机械硬盘里存起来;再而且,笔者也需要一台 24h 运行的性能还过得去的设备来跑一些百度云下载、自己写的爬虫等等的简单任务。
综上所述,奖励自己一台 2k 元的威联通 Nas TS-464c 情有可原。
在此之前,笔者有组过 OpenWrt 软路由和使用树莓派 + 外挂硬盘当文件服务器使用的经历。踩的坑太多了,最近也没什么时间捡垃圾回来自组一台 Nas,索性就买一次成品 Nas。
威联通与群晖是 Nas 老牌厂商了,大家对于群晖的评价是简单易用、高价低配,那么威联通自然就是难用、买硬件送软件的性价比代名词。当然,笔者阅读了大量文章后能感觉出威联通所谓的难用也只是对于计算机小白来说的,对于笔者这种软件开发者而言没什么难度,所以威联通很合笔者口味,当即下单。
实际上,笔者想下单之时(2024 年 6 月 2 日)正好遇上 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/05/10/ospp-2024-proposal/" title="OSPP2024 Proposal">OSPP2024 Proposal</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="2024-05-10T14:11:51.000Z" title="发表于 2024-05-10 22:11:51">2024-05-10</time></span></div><div class="content"> 图数据库 NebulaGraph 对接数据访问层 OpenDAL
申请人介绍
Github: feathercyc
教育经历:
2023-现今:硕士,计算机科学与技术,华中科技大学
Rust 相关经历:
Rust 重写 net-tools 的 arp 命令
该项目使用 rust 语言重写 net-tools 的 arp 命令,涉及技术栈有:
使用 clap 库模仿原 C 语言版的 arp 命令的命令行行为
使用 libc、 nix 库调用 Linux 系统调用
过程宏预处理 help 文档
重构 Xline append entries
Xline 可简单看作 Rust 版 etcd,该 PR 解决了一个 good-first-issue,优化了 append entries 函数的行为,减少了时间复杂度。
Rust 版区间树
该项目实现了一个高效率的、可用于异步运行时下的区间树供 Xline 项目调用,特点如下:
实现了红黑树完整的插入删除操作
使用数组模拟指针解决红黑树父子节点间需要相互引用的问题 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/03/01/gsoc-2024-proposal/" title="GSOC2024 Proposal">GSOC2024 Proposal</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="2024-03-01T16:24:31.000Z" title="发表于 2024-03-02 00:24:31">2024-03-02</time></span></div><div class="content"> Improve Transaction Validation
Project Info
Repo: xline-kv/Xline
Idea: Improve Transaction Validation
Applicant Info
Name: Yuchen Chen
Github: feathercyc
Email: [email protected]
Tel: +86 15616326211
Related PR:
refactor: improve append entries
Education:
2023-Present: Huazhong University of Science and Technology, Computer Science(master)
I really like Rust and Golang, especially Rust has a certain geek flavor. I have just done PingCAP’s tinykv project and am familiar with Raft an ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/03/01/gsoc-2024-proposal-cn/" title="GSOC2024 Proposal-cn">GSOC2024 Proposal-cn</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="2024-03-01T16:10:21.000Z" title="发表于 2024-03-02 00:10:21">2024-03-02</time></span></div><div class="content">如图所示:
考虑STxn-0的put操作(注意,这里的put并不包括STxn-0的子事务如GsTxn-*的put操作),它不应该与图中标为红色的del与put相交,同时,它又可以与图中标为蓝色的del与put相交(换言之,这些背景是绿色的区域需要被排除)。这是因为Then和Else的语义注定了这两个分支只会选择一个执行,所以即使它们重叠了也无所谓。
方案一
首先考虑put与del相交的问题:
最好的办法莫过于构筑一棵包含了所有的del的区间树,然后遍历put进行查询。但如上所说,有一些del是需要被排除的,若是只存区间而不存事务间的父子兄弟关系,这将无法识别该排除什么。考虑到 Xline 作为一个 metadata 数据库,他的事务不应该有很多的嵌套结构以及很多的子事务,使用额外空间存一些信息是应当被允许的。
上面那张图有些复杂,实际上put与del的父子兄弟关系可以简化如下图:
考虑属于STxn-0的Then分支的put,它仍然不能与红色区域内的del相交,但可以与蓝色区域的del相交。
笔者需要解释一下为什么可以这么简化:
目前只考虑del,因此,其他的put就可以先隐藏掉 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2023/12/17/db-paper-readnote/" title="Reading Notes for Papers in Databases">Reading Notes for Papers in Databases</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="2023-12-17T11:04:47.000Z" title="发表于 2023-12-17 19:04:47">2023-12-17</time></span></div><div class="content">近些年兴起的 NewSQL,Google 在 2012 年发表的 Spanner[8]和 2013 年发表的 F1[9]两篇论文,提出将关系模型和 NoSQL
的扩展性相结合,使之既支持关系模型,又具备高可扩展性。Spanner 和 F1 的出现标志着 NewSQL 的兴起,PingCAP 的 TiDB[10]、CockroachLabs 的 CockroachDB[11]和已经闭源的 OceanBase 都是 NewSQL 的典型产品。TiDB 和 CockroachDB 底层都是基于 RocksDB[12]实现,而 RocksDB 又是在 LevelDB[13]基础上发展的单机 KV 存储引擎。
KV 数据库种类繁多,以 DBEngine 上面列出的为例,就包含 60 多种,虽然种类繁多,但按照其底层的存储模型基本分为四大类,LSM-Tree[14]模型、B/B+Tree 模型、哈希模型和一致性哈希模型。
以 LSM-Tree 为存储模型的 KV 数据库主要有 LevelDB[14]、RocksDB[12]、Badger[15],以 Btree 为存储模型主要有 LMDB[16]、 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2023/12/14/golang-std-function/" title="golang 标准库实现简记">golang 标准库实现简记</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="2023-12-14T09:03:07.000Z" title="发表于 2023-12-14 17:03:07">2023-12-14</time></span></div><div class="content"> sort
大体思路是:
先算出 logN,在递归次数不超过 logN 的情况下,数据量大一点使用快排,数据量小一点使用希尔排序。
快排本身取 Pivot 哨兵时不采用随机取,而是用 Tukey’s ninther 算法取数组中位数。
当递归次数超过 logN 时,这种数据分布一般就是基本有序的。比如Leetcode 912.排序数组最后的几个测试用例,全 2 或者倒序,快排会达到O(N2)O(N^2)O(N2)的时间复杂度。这时对当前数组进行堆排序。
以上参考自
https://boilingfrog.github.io/2022/03/06/go中的sort包/
</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><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"><div class="is-center"><div class="avatar-img"><img src="/img/avatar.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">羽殇之舞</div><div class="author-info__description">大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧</div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">17</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">8</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">0</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/GG2002"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/GG2002" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="mailto:[email protected]" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #24292e;"></i></a></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="/2024/09/24/pve-needs-to-do/" title="关于 PVE 你不得不做的几件事(雾)">关于 PVE 你不得不做的几件事(雾)</a><time datetime="2024-09-24T03:46:58.000Z" title="发表于 2024-09-24 11:46:58">2024-09-24</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/09/11/ospp-2024-exp-share/" title="OSPP 2024 经验分享">OSPP 2024 经验分享</a><time datetime="2024-09-11T18:09:25.000Z" title="发表于 2024-09-12 02:09:25">2024-09-12</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/09/02/mysql-index-design/" title="mysql-index-design">mysql-index-design</a><time datetime="2024-09-02T01:26:15.000Z" title="发表于 2024-09-02 09:26:15">2024-09-02</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/08/24/gsoc-2024-completion-record/" title="GSOC2024 Completion Record with Reflections">GSOC2024 Completion Record with Reflections</a><time datetime="2024-08-24T16:10:21.000Z" title="发表于 2024-08-25 00:10:21">2024-08-25</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/06/14/nas-tool/" title="Nas 自动化追番系统搭建">Nas 自动化追番系统搭建</a><time datetime="2024-06-14T13:41:20.000Z" title="发表于 2024-06-14 21:41:20">2024-06-14</time></div></div></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/2024/09/"><span class="card-archive-list-date">九月 2024</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/08/"><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/06/"><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/05/"><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/03/"><span class="card-archive-list-date">三月 2024</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/12/"><span class="card-archive-list-date">十二月 2023</span><span class="card-archive-list-count">5</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/11/"><span class="card-archive-list-date">十一月 2023</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/2023/10/"><span class="card-archive-list-date">十月 2023</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">17</div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">30.4k</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="2024-09-24T13:15:50.508Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2020 - 2024 By 羽殇之舞</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></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"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>