Featured image of post 使用C++协程+liburing的HTTP server 和 epoll 的 HTTP server 性能对比

Uring和epoll性能对比

使用C++协程+liburing实现了一个简单的 HTTP server,并与epoll版本进行了性能对比。测试结果显示,liburing在高并发场景下表现出更优的性能,尤其是在处理大文件时,QPS提升显著。

Featured image of post 用go实现一个支持SSH隧道转发 (SSH port forwarding) 的 redis-cli 工具

用go实现一个SSH隧道转发的redis-cli工具

本文介绍了如何使用Go语言实现一个支持SSH隧道转发的Redis客户端工具。通过SSH隧道转发,可以安全地访问内网的Redis实例,解决了无法直接在公网中访问云上Redis实例的问题。文章详细讲解了SSH隧道转发的原理、Go代码实现以及Redis协议解析,帮助读者理解并应用这一技术。

Featured image of post 一文讲清楚所有IO,同步IO,异步IO,阻塞IO,非阻塞IO,IO多路复用,网络编程

一文讲清楚所有IO

深入解析同步IO、异步IO、阻塞IO、非阻塞IO及IO多路复用的概念、区别与应用场景,结合C语言代码示例,帮助开发者全面理解Linux网络I/O模型

Featured image of post linux中io_uring和C++协程的结合,实现真正的异步I/O。简单的TCP echo server

C++协程+io_uring实现异步IO

介绍了如何在C++中结合使用协程和io_uring来实现异步I/O操作。通过一个简单的TCP echo服务器示例,展示了协程如何简化异步编程,提高代码的可读性和维护性。

Featured image of post C++20协程,入门,基础,异步 - QX's blog

C++20协程入门篇

全面解析C++20协程的原理与实现,涵盖Promise、Coroutine Handle、关键字用法及状态机设计,深入探讨协程的生命周期管理与异常处理。通过详细的代码示例,展示协程在异步编程中的实际应用,帮助开发者掌握C++协程的核心概念与高效使用技巧。

Featured image of post C++中的移动语义与完美转发,C++中的右值引用、std::move和std::forward的使用方法及其实现原理,结合实例讲解RVO

C++中的移动语义与完美转发

深入探讨C++中的右值引用、std::move和std::forward的使用方法及其实现原理,结合实例讲解RVO(返回值优化)的工作机制,帮助开发者高效管理资源。

Featured image of post C++变量生命周期,结左值引用和右值引用,引用折叠,这次就来浅谈一下C++中变量的生命周期 - QX's blog

C++变量生命周期

C++中变量的生命周期与作用域是有差别的,再结左值引用和右值引用,引用折叠,这次就来浅谈一下C++中变量的生命周期。

Featured image of post Go支持泛型和排序的list,实现一个支持泛型和排序功能的链表。通过归并排序算法为链表添加排序功能的实现过程,对比插入排序的实现方式

Go支持泛型和排序的list

介绍了如何实现一个支持泛型和排序功能的链表。首先回顾了Go自带链表的源码,包括Element和List结构体以及insert、remove、move等核心操作函数。接着详细阐述了通过归并排序算法为链表添加排序功能的实现过程,展示了sort、mergeSort和merge等函数的代码,并对比了之前插入排序的实现方式。文章还分析了归并排序的时间复杂度和空间复杂度,探讨了在数据量较大时的适用性。最后总结了此次实现的目的和收获

Featured image of post Hexo迁移到hugo指北|Hugo配置|自定义|美化

Hexo迁移到hugo指北|Hugo配置|自定义|美化

本文介绍了从 Hexo 到 Hugo 的博客迁移过程,包括配置文件设定、自定义主题、添加阅读进度条、友链页面等实用技巧。涵盖 Stack 主题的自定义样式调整和页面优化,帮助博客作者提升网站加载速度和个性化定制体验。