自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 浅显易懂的「Raft」分布式共识算法

raft直译是‘筏子’,和这篇讲述的主题关系就如同雷锋和雷锋塔,Raft是一种共识算法,用于在分布式系统中实现一致性。它是由Diego Ongaro和John Ousterhout在2013年提出的,旨在解决分布式系统中复制状态机的问题。ok,新的问题来了,什么是复制状态机?望文生意通过复制来保证各个机器之间的一致性每个机器处于有限个状态(身份)进行工作复制状态机(Replicated State Machine)是一种在分布式系统中实现容错性和一致性的技术。

2023-12-21 14:43:15 1563 1

原创 IO密集服务的设计指北

以消息队列中间件为例

2023-12-20 18:52:42 1096 2

原创 智能指针C++详解 C++11

为什么不用裸指针裸指针在声明中并没有指出,裸指针指涉到的是单个对象还是一个数组。裸指针在声明中也没有提示在使用完指涉的对象以后,是否需要析构它。换言之,你从声明中看不出来指针是否拥有(own)其指涉的对象即使知道需要析构指针所指涉的对象,也不可能知道如何析构才是适当的。是应该使用delete运算符呢,还是别有它途(例如,可能需要把指针传入一个专门的、用千析构的函数) 即使知道了应该使用delete运算符,参见理由1'还是会发生到底应该用单个对象形式("`delete`")还是 (`delete[]`)

2023-08-29 15:15:10 242 1

原创 C++中json的创建和使用「nlohmann/json库」

看完必会实现将 JSON 数据与 C++ 对象相互转换的功能 ,例如对象、数组、字符串等。本文将针对 nlohmann/json 的集合和字典功能进行讲解,并介绍如何从 JSON 对象中解析特定字段。文末有实体代码 将创建一个足够复杂的json字段用于了解其他普通类型是怎么加入和创建的。

2023-04-15 14:03:47 9076

原创 路由如何通过IP转发数据包

在数据传输的整个过程中,路由器使用IP地址来识别路由数据包1. 当一台计算机发送数据包时,它首先会将数据包中的目标IP地址设定为接收方计算机的IP地址,然后将数据包发送到本地网络。2. 当数据包到达本地网络中的路由器时,路由器会检查数据包中的目标IP地址,并与自己的路由表进行匹配,以确定数据包应该转发到哪个网络接口。3. 如果目标IP地址属于本地网络,路由器会将数据包直接传递给目标计算机。否则,路由器会将数据包转发到下一个路由器。4. 每个中间路由器都会重复上述步骤,检查数据包中的目标IP

2023-03-01 21:48:12 2764

原创 127.0.0.1虚拟网络接口

Linux的本地回环接口是一种虚拟网络接口,通常表示为"lo",用于将数据包从同一主机的一个网络应用程序传输到另一个网络应用程序。当数据被发送到本地回环接口时,操作系统将数据包传递给网络协议栈的上层,并将其视为来自外部网络的数据包。然后,协议栈将数据包传递给应用程序,应用程序对数据包进行处理,并将响应数据包发送回协议栈。协议栈再将响应数据包返回到回环接口,操作系统将其传递给应用程序。例如在不同的应用程序之间进行通信,或者在同一台机器上的不同进程之间进行通信,这可以提高应用程序的性能和可扩展性。

2023-02-25 15:59:03 2209

原创 进程 Linux环境下的进程概念及如何使用

进程·进程和程序的概念·进程的创建·进程的终止·监控子进程·管道和FIFO·exec( )族Linux环境变成阅读笔记

2022-12-16 11:22:43 296

原创 Linux系统编程_目录操作调用

Linux文件系统的目录调用「文件系统」·「Linux系统编程」opendir()····readdir()····struct stat{···}

2022-12-15 17:05:07 151

原创 C++中的const关键字

const关键字const对象默认为文件作用域const 对象的引用const对象的动态数组C++允许定义类类型的const数组指针和const的关系typedef 定义的指针常量constexpr关键字

2022-12-15 16:58:39 111

原创 西邮Linux小组22-20纳新面试题目及题解

学长寄语:长期以来,西邮Linux兴趣小组的面试题以难度之高名扬西邮校内。我们作为出题人也清楚的知道这份试题略有难度。请别担心。其次,相比于题目的答案,我们对你的思路和过程更感兴趣,或许你的答案略有瑕疵,但你正确的思路和对知识的理解足以为你赢得绝大多数的分数。最后,做题的过程也是学习和成长的过程,相信本试题对你更加熟悉的掌握C语言的一定有所帮助。祝你好运。我们FZ103见!

2022-11-18 15:51:00 4345

原创 快速上手gdb

GDB 常用调试技巧 文章末尾有总结的命令

2022-11-04 10:20:28 539

原创 setjmp() longjmp() 执行非局部跳转

setjmp()调用为后续longjmp()调用的执行确立了跳转目标. 该目标正是程序发起setjmp()调用的位置,

2022-10-28 15:05:54 159

原创 文件系统I/O缓冲-Linux

stdio库、文件系、磁盘 I/O缓冲

2022-10-19 17:00:00 1098

原创 变参宏、宏“套”宏 宏的初级理解

与’#'类似 ##运算符 可用于类宏函数的替换部分并且 ## 还可以用于对象宏的替换部分. ##运算符把两个记号组合成一个记号例如 #define XNAME(n) x ## n()在上文中 XNAME(n) 在于编译阶段被转换为 名为 *x’n’*的变量同理()printf(#n,);在#define定义的文本中 若要将printf(“x中的#n 替换成程序员定义的’n’需要这在代码中应以 “#n” 的形式定义。

2022-10-19 00:57:46 202

原创 C/C++ 宏函数初级理解

* 在进入宏函数前,所有 宏参数 会先进行一次 预扫描 (prescan),完全展开**未用于**拼接标识符 或 获取字面量 的所有参数* 在宏函数展开时,用(预扫描展开后的)参数替换 展开目标里的 同名符号* 在宏函数展开后,替换后的文本会进行 二次扫描(scan twice),继续展开 结果里出现的宏* 所以,CONS()先展开参数,再传递给 _CONS() 进行 实际拼接

2022-10-18 21:48:01 269

原创 系统文件IO

深入理解系统文件IO笔记

2022-10-17 17:15:24 925

转载 进程相关函数调用

进程相关函数调用

2022-10-14 11:10:09 753 1

原创 FILE operation

基本的文件操作的函数 与 文件操作的实例

2022-10-13 13:10:35 291 1

原创 栈 操作 C

【代码】栈 操作 C。

2022-09-05 16:06:01 98

原创 单链表操作(不带头 不循环) C语言

包括 新增节点,头插,尾插,头删,尾删,打印链表,删除指定节点,替换数据。

2022-08-31 11:07:25 160

原创 力扣:最大子数组和——C实现

最大子数组和:一个整数数组nums,找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。样例:(图片来自力扣)

2022-08-29 21:11:10 307 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除