- 博客(468)
- 收藏
- 关注
原创 Golang底层原理剖析专栏汇总
汇总目录Golang内置Log包的基本使用Golang日志库Zap基本使用Golang日志切割归档Golang关键字type的两种用法GolangFlag基本使用浅谈Golang并发控制WaitGroup浅谈Golang上下文Context浅谈Golang通道channel浅谈Golang线程安全的sync.Map浅谈Golang广播sync.Cond浅谈Golang对象池sync.pool浅谈Golang原子atomicGolang底层原理剖析之string类型与字符编码Gol
2021-11-17 01:05:23 2608 4
原创 系统设计场景题—MySQL使用InnoDB,通过二级索引查第K大的数,时间复杂度是多少?
这个问题是某大厂面试官提出的,比较考验面试者对MySQL理解程度。本文将此问题记录下来,尽量深入浅出的把所有细节讲清楚。
2022-12-23 21:17:51 1824 1
原创 TinyKv Project3 PartB Multi-raft KV
project3B 要实现 project3A 的上层操作,即 LeaderTransfer 和 Add / Remove 的具体应用,涉及到 ConfChange。同时,3B 还要实现 region 的 split。
2022-09-26 16:33:35 1619
原创 TinyKv Project3 PartA Multi-raft KV
Project3是整个项目最难的部分,3a是对3b的铺垫,比较简单,就是对之前的代码增加领导禅让
2022-09-24 22:40:41 1660
原创 TinyKv Project2 PartC RaftKV
project2c 在 project2b 的基础上完成集群的快照功能。分为五个部分:快照生成,快照分发,快照接收,快照应用,日志压缩。
2022-09-24 15:15:53 1889
原创 TinyKv Project2 PartA RaftKV
project2部分又分成了a、b、c三个小部分。可以说从project1到project2,难度剧增。本文介绍project2的Part A的内容。开始做project2a之前,需要`多读几遍论文`,否则其中的细节会让你非常头疼。而熟悉了论文之后,很多地方按照论文所叙述的去实现即可。比如日志复制与选举安全性。
2022-09-20 22:45:27 3034 1
原创 TinyKv Project1 Standalone KV
project1还是比较简单的,project2的难道就陡增了。对于project1来说,本文更多的还是讲一些不了解的概念。在每一个project1开始之前,仔细阅读文档。
2022-09-18 01:50:23 2525
原创 C++文件服务器项目—数据库表设计 与 后端接口设计—6
到本文为止,该项目的前置知识已经写的差不多了。本文规划了数据库表的设计 和 后端与前端接口的设计,接下来就可以编写fastcgi程序进行运行了。
2022-09-12 01:00:00 1488
原创 C++文件服务器项目—FastCGI—4
本文重点介绍FastCGI的概念、如何编写FastCGI程序,以及nginx如何配合fastCGI使用。
2022-09-08 13:19:32 3379 5
原创 C++文件服务器项目—FastDFS—1
本文的核心重点是介绍FastDFS的概念、构成、配置文件、启动与上传下载的实现。后续将逐步介绍nginx,mysql,redis,fastcgi等内容。
2022-09-05 19:56:05 4513 3
原创 C++11异步操作future和aysnc 、function和bind
本文介绍异步操作future和aysnc 与 function和bind
2022-09-01 16:22:26 1810 3
原创 C++左值/右值、左值引用&/右值引用&&、移动语义move、完美转发forward
C++11 在性能上做了很大的改进,最大程度减少了内存移动和复制,通过右值引用、 forward、emplace 和一些无序容器我们可以大幅度改进程序性能。
2022-08-30 21:39:04 1460 1
原创 C++智能指针[ shared_ptr / unique_ptr / weak_ptr ]介绍与使用
本文介绍[ shared_ptr / unique_ptr / weak_ptr ]的使用,以及shared_ptr 引用计数和weak_ptr 弱引用计数。
2022-08-29 00:00:00 1343 1
原创 偷懒的网络框架libevent、libev框架介绍
本文对libevent的api进行深入的讲解,并剖析libevent的evbuffer源码。
2022-08-19 02:15:24 2896 1
原创 优雅的处理 accept= -1 出现errno = EMFILE 文件描述符达到上限 的问题
优雅的处理 accept= -1 出现errno = EMFILE 文件描述符达到上限 的问题
2022-08-18 01:36:46 2737 1
原创 定时器方案之红黑树与最小堆、时间轮详解
定时器在后端服务器开发过程中,是非常重要的一个组件,因为不可避免的会有许多延时任务需要被处理。那么到底该如何来组织大量的定时任务呢?
2022-08-09 15:11:36 2775 1
原创 手把手教你纯c实现异常捕获try-catch组件
本文用纯c的代码,实现异常捕获try-catch组件。阅读本文需要时刻牢记setjmp和longjmp的对应关系。
2022-08-04 22:41:13 3293 5
原创 Linux线程私有数据Thread-specific Data(TSD) 详解
Linux线程私有数据Thread-specific Data(TSD) 详解。本文将详细介绍pthread_key的用法以及pthread_key的原理。pthread_key在《ntyco协程》中,以及后续文章《try catch的实现》都有用到。跟我一起学习的读者务必搞懂原理。......
2022-08-02 22:00:58 4023 2
原创 C语言volatile关键字、内嵌汇编volatile与编译器的爱恨情仇
本文将详细介绍 C语言volatile与编译器的爱恨情仇,附带介绍一下内嵌汇编volatile的作用;不介绍volatile的原理。注意,本文口语描述的volatile默认是C语言volatile关键字。
2022-08-01 23:44:36 2900 2
原创 图文结合,手把手教你ubuntu18-live-server-amd64服务器版的安装、配置静态ip以及换源
本文介绍ubuntu18的安装,配置静态ip与dns,换源。
2022-07-29 21:15:32 1106 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人