2024年2月21日

摘要: 如何在 libevent 中读取超过 4096 字节的数据 bufferevent 是 libevent 中相对高层的封装,较 event 使用起来方便很多。 之前有一个需求,需要从服务端读取数据进行操作,为了防止数据过大,在 bufferevent 的 read_callback 中循环调用 bu 阅读全文
posted @ 2024-02-21 18:31 文一路挖坑侠 阅读(247) 评论(0) 推荐(3) 编辑

2024年2月7日

摘要: 如何基于 spdlog 在编译期提供类 logrus 的日志接口 实现见 Github,代码简单,只有一个头文件。 前提 几年前看到戈君在知乎上的一篇文章,关于打印日志的一些经验总结; 实践下来很受用,在 golang 里结构化日志和 logrus 非常契合,最常见的使用方式如下。 logrus.W 阅读全文
posted @ 2024-02-07 16:23 文一路挖坑侠 阅读(166) 评论(0) 推荐(1) 编辑

2024年1月23日

摘要: 2023 的一些技术总结 今年主要发力的两个板块 对网络的探索 对业务代码优化的思考 对网络的探索 整个过程围绕着一个主题 “如何在一个机器内构建一个虚拟 VXLAN/VLAN 网络”。 netns netns 是其中最关键的技术,使用非常简单,主要用来解决隔离问题 VXLAN 的不同 VNI 的相 阅读全文
posted @ 2024-01-23 23:24 文一路挖坑侠 阅读(530) 评论(0) 推荐(5) 编辑

2022年11月28日

摘要: 环境 实现机器为VMWare的虚拟机,操作系统为 Debian-11(无桌面版本),内核版本为 5.10.0,指令集为 AMD64(i7 9700K),编译器为 GCC-10. 代码 Lab 的代码克隆自 https://pdos.csail.mit.edu/6.828/2018/jos.git Q 阅读全文
posted @ 2022-11-28 11:35 文一路挖坑侠 阅读(275) 评论(0) 推荐(1) 编辑

2022年3月26日

摘要: #重构代码的一些想法 最近需要新写一个业务模块,这个业务模块和两年前自己写的一个业务功能高度类似,就想着能不能拿过来改改就行。这个业务模块使用 golang 实现的,是我写的第一个 golang 代码。 以上为背景,但是代码拿过来后发现通用性太差,虽然业务有相似的地方,但是小改达不到自己的期望,于是 阅读全文
posted @ 2022-03-26 21:59 文一路挖坑侠 阅读(97) 评论(0) 推荐(0) 编辑

2022年3月5日

摘要: std::vector 源码分析 从源码视角观察 STL 设计,代码实现为 libstdc++(GCC 4.8.5). 由于只关注 vector 的实现,并且 vector 实现几乎全部在头文件中,可以用一个这样的方法里获取比较清爽的源码 // main.cpp #include <vector> 阅读全文
posted @ 2022-03-05 18:02 文一路挖坑侠 阅读(925) 评论(0) 推荐(1) 编辑

2021年6月28日

摘要: rust漫游 - 写时拷贝 Cow<'_, B> Cow 是一个写时复制功能的智能指针,在数据需要修改或者所有权发生变化时使用,多用于读多写少的场景。 pub enum Cow<'a, B: ?Sized + 'a> where B: ToOwned, { /// Borrowed data. Bo 阅读全文
posted @ 2021-06-28 19:06 文一路挖坑侠 阅读(1189) 评论(0) 推荐(1) 编辑

2021年6月9日

摘要: rust learning day 1 (2021/05/27) 学了常量,变量,数据类型,控制流,所有权 char 的宽度是4字节,一个 unicode 的宽度 控制流条件都不要括号 rust 中的元组使用和 c++ 中的非常相似 // clang++ test.cpp -std=c++11 && 阅读全文
posted @ 2021-06-09 16:54 文一路挖坑侠 阅读(443) 评论(0) 推荐(1) 编辑

2021年5月23日

摘要: wrk 及扩展支持 tcp 字节流协议压测 高性能、方便使用的 HTTP(s) 的流量压测工具,结合了多个开源项目开发而成: redis 的 ae 事件框架 luajit openssl http-parser 减少造轮子、复用他人的成功项目,赞👍;我们定制化也走这条路线,代码见此。 要支持 tc 阅读全文
posted @ 2021-05-23 15:26 文一路挖坑侠 阅读(805) 评论(0) 推荐(0) 编辑

2020年11月3日

摘要: 一次 KVM 虚拟机磁盘占满的排查过程 KVM 虚拟机系统为 CentOS,文件系统为 XFS。 现象如下: 使用 df -h 命令发现磁盘剩余空间为30k(总大小为30G),使用 df -i 发现 inode 可用数量为 800(总数为18w,正常状态为1000w+) 虚拟机为初始状态时,磁盘空间 阅读全文
posted @ 2020-11-03 17:53 文一路挖坑侠 阅读(1759) 评论(0) 推荐(0) 编辑

导航