需求:限制用户一段时间内的发包数量。
实现:想了不少方案,最终决定使用 时间轮
实现。
ChatGPT 横空出世,让我重新思考:什么才是最好的编程语言。
现在流行的编程语言有:PHP / JAVA / C / C++ / C# / Python / Rust / GO(排名不分先后),谁才是最好的?
2023 是多事的一年,忙里偷闲也阅读了一些技术书籍。
一致性哈希算法,是后端比较常用的一种数据路由策略。本文介绍一下它的算法原理,以及使用场景。
sqlite 是轻量级数据库,适用于小型的数据存储应用场景。
在 Linux 系统测试了一下 sqlite 的模糊查询功能:从 100w 条数据里(文件夹/文件名称),模糊查询字符串。
最近阅读了 C++ 智能指针的部分实现源码,简单总结和记录一下 std::share_ptr/std::weak_ptr 内部结构和工作原理。
很多朋友以为 Redis 是单线程程序,事实上它是 多进程 + 多线程
混合并发模型。
本文使用的 Redis 版本:6.0.20。
动态多态虽然使用灵活,但在某些性能要求极高的应用场景,虚函数调用的性能开销往往显得不那么友好。
所以为了实现多态功能,除了动态多态,我们也可以考虑 静态多态
,通过模板方式实现类似多态的功能。
右值引用/万能引用/引用折叠/移动语义/完美转发。
这一串关键字很容易把人整晕~,要理解它们需要寻找突破口:右值引用
。
通过 wireshark 抓取 HTTPS 包,理解 TLS 1.2 安全通信协议的握手流程。
重点理解几个点:
会话密钥
进行内容对称加密通信,避免传输会话密钥被中间人窃取。证书链
验证该证书,以此确认服务端身份。在 Centos 上配置 C++ 多线程网络库 muduo 的 vscode + gdb 调试环境。
前两章探索了 C++ 多态的 虚函数调用链路 和 继承关系,本章将探索 虚析构
的工作原理。
具有虚析构多态特征的类对象,被释放时:
上一章 简述了虚函数的调用链路,本章主要探索 C++ 各种继承关系的类对象的多态特性。
在查阅 C++ 多态 资料时,发现一篇硬核外文帖子:What is the VTT for a class。为了方便学习,我整理了一下,转载到此,侵删哈~
本文通过测试和结合 std::vector::emplace_back 实现源码,去理解它的功能和作用。