From 037d91c7c3b2db1ebbb98122798ef4508705fcb0 Mon Sep 17 00:00:00 2001 From: GG2002 Date: Fri, 15 Dec 2023 21:40:38 +0800 Subject: [PATCH] 23.12.15 push --- 2021/11/24/J1900-setting/index.html | 4 +- 2023/09/24/cmu-15445-1/index.html | 4 +- 2023/10/12/cmu-15445-2/index.html | 4 +- 2023/11/06/cmu-15445-3/index.html | 4 +- 2023/12/01/codetop100note/index.html | 124 +++++++++- 2023/12/04/raft-interview-exp/index.html | 231 ++++++++++++++++++ 2023/12/04/single-db-interview-exp/index.html | 205 ++++++++++++++++ 2023/12/14/golang-std-function/index.html | 176 +++++++++++++ archives/2021/11/index.html | 4 +- archives/2021/index.html | 4 +- archives/2023/09/index.html | 4 +- archives/2023/10/index.html | 4 +- archives/2023/11/index.html | 4 +- archives/2023/12/index.html | 4 +- archives/2023/index.html | 4 +- archives/index.html | 4 +- img/codetop/lc199.png | Bin 0 -> 100047 bytes img/raft/consistency.jpg | Bin 0 -> 19850 bytes index.html | 57 ++++- tags/15445/index.html | 162 ++++++++++++ tags/golang/index.html | 162 ++++++++++++ tags/leetcode/index.html | 4 +- .../raft\345\215\217\350\256\256/index.html" | 162 ++++++++++++ 23 files changed, 1297 insertions(+), 34 deletions(-) create mode 100644 2023/12/04/raft-interview-exp/index.html create mode 100644 2023/12/04/single-db-interview-exp/index.html create mode 100644 2023/12/14/golang-std-function/index.html create mode 100644 img/codetop/lc199.png create mode 100644 img/raft/consistency.jpg create mode 100644 tags/15445/index.html create mode 100644 tags/golang/index.html create mode 100644 "tags/raft\345\215\217\350\256\256/index.html" diff --git a/2021/11/24/J1900-setting/index.html b/2021/11/24/J1900-setting/index.html index 5b8245c..53d20c0 100644 --- a/2021/11/24/J1900-setting/index.html +++ b/2021/11/24/J1900-setting/index.html @@ -161,7 +161,7 @@ } } detectApple() - })(window)

记一次折腾J1900的经历

第一次整软路由,笔者正处于大创报账时期,虽然不知道能不能报上去,反正挑了个合适价位的J1900的软路由买回来一阵折腾。由于怀着着折腾的心思,买的是裸主机,这意味着内存和硬盘都没有自带,同时openwrt系统就更不用说了,肯定得自己装上去。在收货当天笔者就开始了各项工作,结果还是花了好几天踩坑才将一切搞定,故记下这次极其耗神的工作。

+ })(window)

记一次折腾J1900的经历

第一次整软路由,笔者正处于大创报账时期,虽然不知道能不能报上去,反正挑了个合适价位的J1900的软路由买回来一阵折腾。由于怀着着折腾的心思,买的是裸主机,这意味着内存和硬盘都没有自带,同时openwrt系统就更不用说了,肯定得自己装上去。在收货当天笔者就开始了各项工作,结果还是花了好几天踩坑才将一切搞定,故记下这次极其耗神的工作。

软路由是什么

按笔者目前理解,软路由就是一台至少带了多个网口的过时主机,CPU、内存、硬盘等基本一应俱全。笔者手里这台就是J1900CPU、四网口的一台软路由,双十二期间价钱720+就拿下来了。
拥有复数个网口后,只要在主机上装一个openwrt系统,再给网口分配LAN口和WAN口,这台主机就是软路由了。换言之,只要有两个网口,任何电脑都可以改成软路由,只是功耗等不尽相同罢了。
与软路由相对的就是——硬路由,也就是一般我们称呼的路由器,软路由一般应用在有线网中,至于无线网则会靠额外连接一个无线AP来实现,而硬路由则集成这两项功能且更简单易用,当然价钱多少会高上一点。
J1900_joker.jpg

J1900路由器介绍

先来张内部结构图:
Inked20220325164917_LI.jpg
图中的已经装好了内存条,可以看到硬盘上圈出来的分别是网卡接口(WIFI),msata硬盘接口(MSATA)和SATA硬盘接口,网卡口和msata接口一摸一样以至于笔者搞混了很多次,咨询了客服后才发现主板上的白字。。

按这篇博客的说法,网卡模块可以直接无视,只建议直接再买一个无线AP而不是无线网卡,毕竟有四个网口。

@@ -222,4 +222,4 @@

通过ssh连接至J1900路由器

进入192.168.0.1路由器管理界面,从上边栏进入 /系统/Software,点击SSH访问。
J1900_003.jpg
最后点击保存并应用
这一步主要是处理mentoHUST在路由器上运行命令行时显示中文乱码,cmd下中文则会正常显示,当然一般大家买路由器也是没有屏幕的(笔者使用的是之前树莓派遗留下来的屏幕),所以也需要配置ssh以访问路由器进行一些操作。

至此,完结撒花

-

文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2021/11/24/J1900-setting/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
\ No newline at end of file +
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2021/11/24/J1900-setting/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
\ No newline at end of file diff --git a/2023/09/24/cmu-15445-1/index.html b/2023/09/24/cmu-15445-1/index.html index 9b038fe..e80a85b 100644 --- a/2023/09/24/cmu-15445-1/index.html +++ b/2023/09/24/cmu-15445-1/index.html @@ -161,7 +161,7 @@ } } detectApple() - })(window)

CMU15445 C++学习笔记-其一(Project 0)

换设备了之后hexo源文件丢失了,笔者竟然忘记(没意识到)可以在github仓库里新开一个hexo branch存放源文件。

+ })(window)

CMU15445 C++学习笔记-其一(Project 0)

换设备了之后hexo源文件丢失了,笔者竟然忘记(没意识到)可以在github仓库里新开一个hexo branch存放源文件。

前言

这篇文章里写好的注册课程提交课程流程笔者就不写了。

CMU 15-445/645 (Spring 2023) Database Systems 通关指北

笔者想学C++但找不到做完会有成就感的项目所以一直耽搁着没学,Modern C++的名声在外让笔者同样畏惧。虽然笔者看了许多C++的源码也学会了不少语言,但是Modern C++这座大山一直没敢爬,这是本科的情况。

@@ -183,4 +183,4 @@

1
2
3
auto Clone() const -> std::unique_ptr<TrieNode> override {
return std::make_unique<TrieNodeWithValue<T>>(children_, value_);
}

这句代码中的std::make_unique(children_,value_);就是通过值复制的方式传递函数参数的,要真的达到笔者说的那种效果,应该将代码改为std::make_unique(std::move(children_),std::move(value_));,当然,这是错误的,这么做就办不到COW了,毕竟内存中就应该存在这个节点的两个备份,一份被读,一份被写。

看上去很麻烦,但也没办法。那么这段代码中的其他std::move起到一个什么作用呢?自然就是真正的节省内存了,毕竟无论是std::map还是value本身,=赋值操作也都是值复制,这里不使用std::move应该也没什么问题,就是内存开销大点,过了构造函数那块内存自然就被释放掉了,主要还是课程本身限制必须使用std::move。

-

文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/09/24/cmu-15445-1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
\ No newline at end of file +
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/09/24/cmu-15445-1/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
\ No newline at end of file diff --git a/2023/10/12/cmu-15445-2/index.html b/2023/10/12/cmu-15445-2/index.html index 19b4385..f273d2e 100644 --- a/2023/10/12/cmu-15445-2/index.html +++ b/2023/10/12/cmu-15445-2/index.html @@ -161,5 +161,5 @@ } } detectApple() - })(window)

CMU15445 C++学习笔记-其二(Project 1)

0.png
大力出奇迹,函数大锁。
1.png
修改了NewPage,在写入Evict的页释放了函数大锁,主要目的是测试bug。
2.png
在FlushPage的时候释放函数大锁加页锁,在DeletePage写入Delete的页时释放了函数大锁,结果更差了。
3.png
// 分配一个空闲block;
// buf_pool_mutex_enter;
// 持有page_hash x lock;
// 检查page_hash中是否已被读入,如果是,表示另外一个线程已经完成了io,则忽略本次io请求,退出;
// 持有block->mutex,对block进行初始化,并加入到page hash中;
// 设置IO FIX为BUF_IO_READ;
// 释放hash lock;
// 将block加入到LRU上;
// 持有block s lock;
// 完成IO后,释放s lock;

-
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/10/12/cmu-15445-2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
\ No newline at end of file + })(window)

CMU15445 C++学习笔记-其二(Project 1)

0.png
大力出奇迹,函数大锁。
1.png
修改了NewPage,在写入Evict的页释放了函数大锁,主要目的是测试bug。
2.png
在FlushPage的时候释放函数大锁加页锁,在DeletePage写入Delete的页时释放了函数大锁,结果更差了。
3.png
// 分配一个空闲block;
// buf_pool_mutex_enter;
// 持有page_hash x lock;
// 检查page_hash中是否已被读入,如果是,表示另外一个线程已经完成了io,则忽略本次io请求,退出;
// 持有block->mutex,对block进行初始化,并加入到page hash中;
// 设置IO FIX为BUF_IO_READ;
// 释放hash lock;
// 将block加入到LRU上;
// 持有block s lock;
// 完成IO后,释放s lock;

+
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/10/12/cmu-15445-2/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
\ No newline at end of file diff --git a/2023/11/06/cmu-15445-3/index.html b/2023/11/06/cmu-15445-3/index.html index 5091f36..5581164 100644 --- a/2023/11/06/cmu-15445-3/index.html +++ b/2023/11/06/cmu-15445-3/index.html @@ -161,5 +161,5 @@ } } detectApple() - })(window)

CMU15445 C++学习笔记-其三(Project 2)

array_ 是零长数组,解释参见(https://blog.csdn.net/gatieme/article/details/64131322)初始化的时候在内存里是不占空间的,但是它真正能使用到的空间就是固定的 page 大小减去前面成员变量之后所剩的空间。因为实际上 BUCKET_ARRAY_SIZE 是固定的,为了不使内存溢出,注释也强调了不要在下面再加别的成员了(所以挺困惑我的一点就是既然总的 page 空间大小和数组 size 都定下来了,为什么不直接在初始化的时候就申请那么大的空间呢)

-
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/11/06/cmu-15445-3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
\ No newline at end of file + })(window)

CMU15445 C++学习笔记-其三(Project 2)

array_ 是零长数组,解释参见(https://blog.csdn.net/gatieme/article/details/64131322)初始化的时候在内存里是不占空间的,但是它真正能使用到的空间就是固定的 page 大小减去前面成员变量之后所剩的空间。因为实际上 BUCKET_ARRAY_SIZE 是固定的,为了不使内存溢出,注释也强调了不要在下面再加别的成员了(所以挺困惑我的一点就是既然总的 page 空间大小和数组 size 都定下来了,为什么不直接在初始化的时候就申请那么大的空间呢)

+
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/11/06/cmu-15445-3/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
\ No newline at end of file diff --git a/2023/12/01/codetop100note/index.html b/2023/12/01/codetop100note/index.html index 0fdda03..d8d1a53 100644 --- a/2023/12/01/codetop100note/index.html +++ b/2023/12/01/codetop100note/index.html @@ -7,7 +7,7 @@ - + @@ -58,7 +58,7 @@ isHome: false, isHighlightShrink: false, isToc: true, - postUpdate: '2023-12-03 00:26:26' + postUpdate: '2023-12-15 20:55:11' }

raft面经(?

按理说,做完了6.824理应对Raft了如指掌,可那是11个月前了,如今的笔者只能依稀记起来lab中印象较深的几个坑(其实也记不太清了。

+

所以可证明,做完lab\not=面经全会。

+

为了让面试官不阴阳怪气\委婉\盛气凌人地跟笔者说——同学,你的项目是有借鉴Github吗?——记录一下笔者从各大网站搜罗而来的Raft协议面经。

+

CAP 是什么?Raft 实现了 CAP 中的哪两个

+

CAP(Consistency, Availability, Partition tolerance)。CA只有单机实现,毕竟分布式系统必须有Partition tolerance。
+一致性细分类

+
    +
  • 弱一致性——最终一致性(无法实时获取最新更新的数据,但是一段时间过后,数据是一致的) +
      +
    • Gossip(Cassandra,Redis的通信协议)
    • +
    • 优先保证AP的 CouchDB,Cassandra,DynamoDB,Riak(一个都不了解)
    • +
    +
  • +
  • 强一致性 +
      +
    • Paxos
    • +
    • Raft
    • +
    • ZAB
    • +
    +
  • +
+

据PingCAP所分享:

+
+

一些常见的误解:使用了Raft或者paxos的系统都是线性一致的(Linearizability,即强一致),其实不然,共识算法只能提供基础,要实现线性一致还需要在算法之上做出更多的努力。以 TiKV 为例,它的共识算法是 Raft,在 Raft 的保证下,TiKV 提供了满足线性一致性的服务。

+
+

所以,怪怪的问题。

+

Raft和其他共识协议相比的优缺点

+

不会

+

Raft过程

+

什么时候做日志压缩

+

这是LSM-Tree的内容,不会。

+

为什么 Raft 的 RPC 需要带上任期号,举例不带任期号导致的错误场景

+

如果Raft给一部分节点发送数据操作的过程中突然宕机了怎么办?

+

超时重选

+

Raft优化

+

prevote阶段

+

no-op解决figure 8

+

Raft 集群发生网络分区会怎么样

+

Raft成员变更

+
+

https://zhuanlan.zhihu.com/p/359206808

+
+
    +
  • 要么一次性严格限制只变更一个节点。
  • +
  • 如果实在想一次变更多个节点,那就不能直接变更,需要经过一个中间状态的过渡之后才能完成同时变更多个节点的操作。第一次从C_Old变成{C_Old,C_New}节点集合,第二次从{C_Old,C_New}变成C_New。
  • +
+

Raft具体实现(比如etcd)有哪些值得借鉴的

+

如果有多个节点竞选Leader怎么办?

+

Raft leader 选举过程

+

分布式系统中如果有多个分区,每个分区都有一个Leader,现在将分区合并有多个Leader如何处理?

+

怎么区分Leader分别属于第几轮选举的?(Leader选取的轮次计数)

+

Raft算法中如果Leader宕机后怎么办?

+

如果 Raft 集群超过半数节点挂了会怎么样

+

上层业务如何使用 Raft?(面试官想的是和 etcd 那样单独作为一个存储服务

+

Raft 如何高可用

+

KV 存储如何容错

+

multi-Raft实现

+

multi-Raft 怎么分片,分片怎么迁移

+

multi-Raft 原理(用哈希分片好吗?)

+

TiDB的架构

+

项目的性能怎么样?最难的是什么?

+

Percolator 原理

+

一致性Hash算法是什么?

+

环形hash,负载均衡。

+

一致性Hash的缺点是什么?

+

数据不平衡——虚拟节点解决

+
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/12/04/raft-interview-exp/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
最新文章
\ No newline at end of file diff --git a/2023/12/04/single-db-interview-exp/index.html b/2023/12/04/single-db-interview-exp/index.html new file mode 100644 index 0000000..a6dfac1 --- /dev/null +++ b/2023/12/04/single-db-interview-exp/index.html @@ -0,0 +1,205 @@ +15445面经(? | 羽殇之舞的个人博客 + + + + + + + + + + + + +

15445面经(?

这里应该会记录单机数据库内核开发的相关面经。

+

你是怎么实现LRU的,实现过程中大概用了什么数据结构?

+

什么时候对内存中的帧frame bitmap - 1 操作,也就是 unpin?

+

实现B+树索引用到了什么数据结构,你能简单说说吗?

+

如何从B+树中删除一个节点,并保证树的平衡。

+

什么是Executor火山模型,结合Select说说?

+

你能说说怎么实现Nested Loop Join, Hash Join的?

+

看你提到了死锁避免算法,那你说说什么是死锁?

+

BufferPool中脏数据如何写入(flush)磁盘?

+

什么场景下使用B+树更适合?

+

B+树的优缺点是什么?

+

介绍一下Executor火山模型?有什么优缺点?如何改进?(优化算子树、改用Pipeline模型)

+

介绍一下Pipeline模型?为什么相比火山模型更快?(可以跑满CPU流水线)

+

你知道Pipeline有哪些具体的应用吗?(Doris和Tiflash)

+

Tiflash是函数下推,为什么要函数下推?(列式向量计算、让计算和存储更接近)

+

介绍一下Hash Join是怎么实现的?

+
    +
  • 追问:有没有考虑过Hash对 id/key 进行散列后得到的值很分散,那么得到的Hash Table很大,内存占用会很大?你的测试数据集规模有多大,有做过压测吗?查看实际的内存占用。
  • +
  • 回答:换用其它Hash函数,被面试官说并不是Hash函数的问题。
  • +
+

你知道死锁出现的4个前提条件吗?

+
    +
  • 回答:互斥条件、请求和保持条件、不可剥夺条件、循环和等待条件
  • +
+

你是如何使用Wound-Wait算法预防死锁的?

+
    +
  • 回答的核心是:不要让线程一直等待,如果一直等待则需要根据Wound-Wait算法Kill掉相关线程。
  • +
  • 老读不杀新读,老读杀新写,老写通杀。
  • +
+

为什么要用B+树而不用其它的树如红黑树?B+树有什么优势?

+

如何实现三种隔离级别?(RU、RC、RR)

+

什么是幻读?

+

加锁避免幻读的时候是单行加锁还是多行加锁?

+

什么是死锁?你是如何实现全局的Lock Manager管理R/W锁,如何使用Wound-Wait算法避免死锁的?

+

Wound-Wait算法避免死锁时如何避免某些线程饥饿状态,即某些线程经常性的被Kill?

+

MySQL是因为什么才能支持索引的最左前缀

+
    +
  • B+树
  • +
+

MySQL建表要考虑什么情况,以及什么时候会出现索引失效

+
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/12/04/single-db-interview-exp/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
目录
  1. 1. 你是怎么实现LRU的,实现过程中大概用了什么数据结构?
  2. 2. 什么时候对内存中的帧frame bitmap - 1 操作,也就是 unpin?
  3. 3. 实现B+树索引用到了什么数据结构,你能简单说说吗?
  4. 4. 如何从B+树中删除一个节点,并保证树的平衡。
  5. 5. 什么是Executor火山模型,结合Select说说?
  6. 6. 你能说说怎么实现Nested Loop Join, Hash Join的?
  7. 7. 看你提到了死锁避免算法,那你说说什么是死锁?
  8. 8. BufferPool中脏数据如何写入(flush)磁盘?
  9. 9. 什么场景下使用B+树更适合?
  10. 10. B+树的优缺点是什么?
  11. 11. 介绍一下Executor火山模型?有什么优缺点?如何改进?(优化算子树、改用Pipeline模型)
  12. 12. 介绍一下Pipeline模型?为什么相比火山模型更快?(可以跑满CPU流水线)
  13. 13. 你知道Pipeline有哪些具体的应用吗?(Doris和Tiflash)
  14. 14. Tiflash是函数下推,为什么要函数下推?(列式向量计算、让计算和存储更接近)
  15. 15. 介绍一下Hash Join是怎么实现的?
  16. 16. 你知道死锁出现的4个前提条件吗?
  17. 17. 你是如何使用Wound-Wait算法预防死锁的?
  18. 18. 为什么要用B+树而不用其它的树如红黑树?B+树有什么优势?
  19. 19. 如何实现三种隔离级别?(RU、RC、RR)
  20. 20. 什么是幻读?
  21. 21. 加锁避免幻读的时候是单行加锁还是多行加锁?
  22. 22. 什么是死锁?你是如何实现全局的Lock Manager管理R/W锁,如何使用Wound-Wait算法避免死锁的?
  23. 23. Wound-Wait算法避免死锁时如何避免某些线程饥饿状态,即某些线程经常性的被Kill?
  24. 24. MySQL是因为什么才能支持索引的最左前缀
  25. 25. MySQL建表要考虑什么情况,以及什么时候会出现索引失效
最新文章
\ No newline at end of file diff --git a/2023/12/14/golang-std-function/index.html b/2023/12/14/golang-std-function/index.html new file mode 100644 index 0000000..665528d --- /dev/null +++ b/2023/12/14/golang-std-function/index.html @@ -0,0 +1,176 @@ +golang标准库实现简记 | 羽殇之舞的个人博客 + + + + + + + + + + + + +

golang标准库实现简记

sort

+

大体思路是:

+
    +
  • 先算出logN,在递归次数不超过logN的情况下,数据量大一点使用快排,数据量小一点使用希尔排序
  • +
  • 快排本身取Pivot哨兵时不采用随机取,而是用 Tukey’s ninther 算法取数组中位数。
  • +
  • 当递归次数超过logN时,这种数据分布一般就是基本有序的。比如Leetcode 912.排序数组最后的几个测试用例,全2或者倒序,快排会达到O(N2)O(N^2)的时间复杂度。这时对当前数组进行堆排序
  • +
+
+

以上参考自
+https://boilingfrog.github.io/2022/03/06/go中的sort包/

+
+
文章作者: 羽殇之舞
文章链接: http://gg2002.github.io/2023/12/14/golang-std-function/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 羽殇之舞的个人博客
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
\ No newline at end of file diff --git a/archives/2021/11/index.html b/archives/2021/11/index.html index 151ea24..76c1175 100644 --- a/archives/2021/11/index.html +++ b/archives/2021/11/index.html @@ -55,7 +55,7 @@ isHome: false, isHighlightShrink: false, isToc: false, - postUpdate: '2023-12-03 00:29:34' + postUpdate: '2023-12-15 21:40:13' }
标签 - 15445
2023
15445面经(?
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
最新文章
网站资讯
文章数目 :
8
本站总字数 :
11.8k
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/tags/golang/index.html b/tags/golang/index.html new file mode 100644 index 0000000..fba5459 --- /dev/null +++ b/tags/golang/index.html @@ -0,0 +1,162 @@ +标签: golang | 羽殇之舞的个人博客 + + + + + + + + + +
标签 - golang
2023
golang标准库实现简记
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
最新文章
网站资讯
文章数目 :
8
本站总字数 :
11.8k
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file diff --git a/tags/leetcode/index.html b/tags/leetcode/index.html index b6c3fc2..57c739e 100644 --- a/tags/leetcode/index.html +++ b/tags/leetcode/index.html @@ -55,7 +55,7 @@ isHome: false, isHighlightShrink: false, isToc: false, - postUpdate: '2023-12-03 00:29:34' + postUpdate: '2023-12-15 21:40:13' }
标签 - raft协议
2023
raft面经(?
avatar
羽殇之舞
大三上开始摸鱼的博客,不会真的有人看吧,不会吧不会吧
Follow Me
最新文章
网站资讯
文章数目 :
8
本站总字数 :
11.8k
本站访客数 :
本站总访问量 :
最后更新时间 :
\ No newline at end of file