自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fireplusplus的博客

逆水行舟

  • 博客(170)
  • 收藏
  • 关注

原创 Linux内核常见的丢包场景有哪些

一个数据包在网络中传输的过程中,是没法保证一定能被目的机接收到的。其中有各种各样的丢包原因,今天来学习一下数据包经过 linux 内核时常见的丢包场景。

2024-04-14 11:34:09 924

原创 Linux是怎么发送一个网络包的?

一个网络包的发送,始于应用层,经层层协议栈的封装,终于网卡。今天来循着一个网络包的足迹👣,深入学习一下 Linux 下发送数据的处理流程。

2024-03-31 15:02:38 995

原创 Linux收到一个网络包是怎么处理的?

一个网络包的接收始于网卡,经层层协议栈的解析,终于应用层。今天来循着一个网络包的足迹👣,深入学习一下 Linux 下接收数据的处理流程。

2024-03-24 18:57:22 1235

原创 epoll怎么就高效了?

万字长文,从内核源码学习 epoll 的高效之处~

2024-03-17 14:15:04 1508

原创 Linux动态追踪——perf

动态跟踪工具 perf 的使用~

2024-03-13 10:57:09 1101

原创 Linux动态追踪——ftrace

动态跟踪工具 ftrace 的使用~

2024-03-10 18:19:00 1244

原创 Linux的进程调度实现

经常被问到进程的调度算法有哪些,什么先进先出、短进程优先、时间片轮转、多级反馈多列等等算法能说一大堆?那具体的,linux内核使用了什么样的算法,且来探究一下。

2024-03-09 20:40:20 1148

原创 QUIC来了!

这是什么!好快啊~

2024-03-04 19:23:38 1396

原创 一个聊天系统

聊天应用每个人都用过,但一千个人心中就有一千个聊天应用。这篇博客就来探讨一下聊天系统的设计。如何设计一个聊天系统,首先需要搞清楚,要设计一个什么样的聊天系统。

2024-03-02 19:12:22 954

原创 通用计数系统

当要求设计一个通用计数系统,并给出接口与核心功能。

2024-02-28 20:55:16 1025

原创 LRU缓存

​有人从网络读数据,有人从磁盘读数据,机智的人懂得合理利用缓存加速数据的读取效率,提升程序的性能,搏得上司的赏识,赢得白富美的青睐,进一步走向人生巅峰~

2024-02-05 20:09:50 1602

原创 气抖冷~这破网

​当我们刷短视频刷的飞起的时候,突然加载不出来了,还可以骂运营商~当我们写一个网络应用,除了骂运营商,还能做什么?

2024-02-01 12:24:16 1001

原创 发生内存泄漏后

不慌,小场面~

2024-01-26 11:38:51 966

原创 关于linux中断

一文看linux硬件是如何打断软件?

2024-01-20 10:20:19 1021

原创 当我们谈上下文切换时我们在谈些什么

在多猫系统中,上下文切换时很常见的事情。。。

2024-01-17 15:41:32 1014

原创 从uptime看linux平均负载

从前遇到系统卡顿只会top。。接下来怎么搞呢?

2024-01-17 09:57:42 880 1

原创 C++ future/promise/thread/async/packaged_task入门

std::promise、future、thread、async、packaged_task这些到底是个啥?

2024-01-11 21:18:59 867 2

转载 C++11内存模型

转载学习

2024-01-11 17:23:15 63

原创 C++多线程打工人

为啥写这个,今天面试问到了~

2024-01-11 16:35:36 951

原创 HTTP打怪升级之路

上个世纪80年代末,有一天,Tim Berners-Lee正在工作,他需要与另一台计算机上的同事共享一个文件。他尝试使用电子邮件,但发现电子邮件不能发送二进制文件。Tim Berners-Lee意识到,他需要一种新的协议来共享二进制文件。

2024-01-04 17:38:53 1080

原创 DH群密钥交换算法

超简单的安全密钥交换算法~

2024-01-03 15:15:29 942

原创 一个简单的Client Base框架

开源代码Chromium可以给我们客户端的架构提供很多参考与借鉴,本文即是一个基于Chromium的mssage_loop事件机制与task投递流程,改造的一个更加简单易用的基本框架。

2024-01-01 16:35:07 402

原创 长链接与在线文件

发文件太慢,不妨试试在线文件吧~

2023-12-26 22:29:37 55

原创 从malloc到跑路

给不了你内存,可别怪我心狠手辣~

2023-06-10 19:30:13 753 2

原创 少年,你可听说过MVCC?

切!这谁没听过,不就是多版本并发控制么~

2023-05-28 13:43:06 2529

原创 git仓库迁移

git仓库迁移方法

2023-03-27 22:27:32 456

原创 零拷贝技术-内核源码剖析

小师妹说零拷贝就是快~

2023-03-05 11:37:38 423

转载 浅谈-协程

协程入门

2023-02-19 11:33:36 255

原创 智能指针循环引用——你真的懂了吗?

起初,没有人在意这场灾难,这不过是一个指针的丢失、一个bug,一个服务器的宕机,直到这场灾难和每个人息息相关......

2022-12-17 14:50:39 1787

原创 TCP伪装

给UDP穿个外套吧

2022-12-04 12:23:35 1487

原创 c++事件总线模型

一种简单的事件总线模型。

2022-06-29 21:50:33 1361

原创 从malloc到内存管理

malloc是谁?malloc是怎么分配内存的?malloc分配的是什么内存?

2021-07-25 23:03:03 345

原创 数据安全与虚拟网卡的应用(三)

墨迹了大半年,终于把这个玩意墨迹的差不多了。整体的结构跟当初设计的还是有一些偏差的,一部分原因是因为懒,另一部分原因是没人关注没动力,随便搞搞吧。

2021-06-19 13:08:39 250

原创 数据安全与虚拟网卡的应用(二)

上次写到我们打开了一个虚拟网卡,得到的其实是一个文件描述符。考虑到我们后面还会有其它的文件描述符需要统一管理,为了方便,我们得提前实现好管理描述符的逻辑。Let‘s do it !

2021-04-24 17:49:56 210

原创 数据安全与虚拟网卡的应用

最近逛github偶然发现了自己之前写的一段创建tun网卡的c代码,才发现它孤零零的在那儿躺了很久,想着怎么不让它继续孤单下去,于是就有了现在这篇文章:30天用c实现一个代理,也算物尽其用了吧。

2021-01-31 23:24:30 239

原创 MySQL InnoDB存储引擎-事务篇

前言  说到数据库事务,想到的就是要么都做修改,要么都不做。或者是ACID的概念。其实事务的本质就是锁和并发和重做日志的结合体。那么,这一篇主要讲一下InnoDB中的事务到底是如何实现ACID的。原子性(atomicity) 一致性(consistency) 隔离性(isolation) 持久性(durability)一.隔离性隔离性的实现原理就是锁,因而隔离性也可以称为并发控制、锁等。事务的隔离性要求每个读写事务的对象对其他事务的操作对象能互相分离。再者,比如操作缓冲池中的 LRU

2020-12-27 14:53:54 174 2

原创 MySQL InnoDB存储引擎-锁篇

锁机制用于管理对共享资源的并发访问。InnodDB存储引擎中,会在数据库内部的多个地方使用锁,从而允许多种不同资源的并发访问。比如:操作缓冲池的LRU列表,删除、添加、移动LRU列表的元素,为了保证一致性,必须有锁的介入。数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性。InnoDB存储引擎锁的实现提供一致性的非锁定读、行级锁支持。行级锁没有额外的开销,并可以同时得到并发性和一致性。锁的类型行级锁InnoDB存储引擎实现了两种如下的行级锁:共享锁(S Loc

2020-11-28 16:17:04 214 1

原创 MySQL InnoDB存储引擎-索引篇

历时两个月,利用地铁上飞驰的时间,终于把《MySQL技术内幕 InnoDB存储引擎》这本书看完了。这本书通篇讲了比较多InnoDB存储引擎底层实现的逻辑,包括跟其它数据库厂商实现的对比,令我这样的初学者看起来还是比较头大的,但不妨碍其成为一本优秀的科普书。虽然最近一直加班一直爽,但还是利用晚上的碎片时间把一些比较重要的知识整理了下分享出来,写完之后还是感觉美滋滋的^_^。

2020-10-31 11:38:55 555 1

原创 linux下的动态库注入

前言最近在维护公司的一个服务X,服务X因为协议设计的不够安全,存在被攻击的风险,所以修改协议提升安全性就显得势在必行了。然鹅,该项目涉及到多个版本,将改动合入到各个版本引起的开发及测试工作量颇大,最终讨论后决定通过动态库注入的方式进行修改。何为动态库注入动态库注入是指在程序启动或运行的时候,通过某种手段加载另一套接口库,替换原有依赖库中的函数。这样可以达到改变程序功能而又不对原有代码进行修改的目的。如何做linux下有一个环境变量叫LD_PRELOAD,动态链接器在载入一个程序所需的所有

2020-10-14 23:13:56 1587 2

原创 HTTPS: 基于HTTP+SSL/TLS的安全通信协议

何为HTTPSHTTP(HyperText Transfer Protocol )是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。HTTPS(HyperText Transfer Protocol over Secure Socket Layer),从其名字也可以看出,是在安全套接层之上的HTTP协议。其中的S可以理解为SSL/TLS协议,其中TLS又是SSL的改进版本。HTTPS的安全数据传输就依赖于SSL/TLS协议。为什么

2020-09-03 00:02:38 2537 1

空空如也

空空如也

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

TA关注的人

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