布隆过滤器
摘要: 布隆过滤器 https://www.cnblogs.com/yzsn12138/p/17014415.html 布隆过滤器用于防止缓存击穿。 位图 bitmap 是一种高效的且占用内存很小的判断某个值存在与否的数据结构。它用二进制的某一位去表示某个值是否存在。 比如我们需要统计10亿用户是否签到,正
1
0
0
C++管理资源的三五零法则
摘要: C++管理资源的三五零法则 三法则(The rule of three) 三原则指出:如果一个类需要自定义析构函数、拷贝构造函数或拷贝赋值运算符,则需要一并实现这三个。 析构函数(Destructor) 释放类中管理的资源,防止资源泄漏。 形式:~ClassName(); 拷贝构造函数(Copy C
10
0
0
C++轻量级RPC框架的设计与实现
摘要: C++轻量级RPC框架的设计与实现 https://github.com/Meha555/tinyrpc 项目概述 RPC是远程过程调用(Remote Procedure Call)的缩写,可以通过网络从远程服务器上请求服务(调用远端服务器上的函数并获取返回结果)。简单来说,客户端程序可以像调用本地
29
0
0
HTTP 1.0、HTTP 1.1 和 HTTP 2 的主要区别
摘要: HTTP 1.0、HTTP 1.1 和 HTTP 2 是 HTTP 协议的不同版本,每个版本都引入了新的特性和改进。以下是它们的主要区别: 1. HTTP 1.0 发布时间:1996 年 特点: 短连接:每次请求都需要建立一个新的 TCP 连接,请求完成后立即关闭连接。 无状态:每个请求都是独立的,
19
0
0
Git遇到SSL证书问题
摘要: Git遇到SSL证书问题 问题现象 git clone/push时,出现:server certificate verification failed. CAfile: none CRLfile: none 解决方案 先要了解一下Git配置中和SSL有关的几个关键属性: http.sslVerify
191
0
0
Go语言调试
摘要: Go语言调试 Go 语言支持 GDB、LLDB 和 Delve 几种调试器。其中 GDB 是最早支持的调试工具,Delve 则是专门为 Go 语言设计开发的调试工具。在调试 Go 程序时,Delve 是 GDB 的更好替代方案,它比 GDB 更了解 Go 的运行时、数据结构和表达式。 注意:以下调试
30
0
0
Linux删除多余内核
摘要: Linux删除多余内核 使用 apt dist-upgrade 升级系统后,有时会更新新的内核。我们可以把旧的内核删掉来释放磁盘空间。 查看当前的内核信息 # 查看当前正在使用的内核 uname -a # 查看系统当中的所有内核 apt list *linux* --installed # 或 ls
206
0
0
C++20 span
摘要: C++20 span 概念 std::span<T, Extent> 类模板就是一块连续内存的视图(类似于 std::string_view ),简化原本C风格的基制指针+长度的使用方式。 模板形参: T :元素类型;必须是完整对象类型且非抽象类 Extent :连续序列中的元素数,默认为动态长度(
30
0
0
RESTful API介绍
摘要: RESTful API介绍 理解RESTful架构 - 阮一峰的网络日志 (ruanyifeng.com) 概念 REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为“表征状态转移”或“表现层状态转化”。 总结一下什
25
0
0
g++链接报错:undefined reference to typeinfo of xxx
摘要: g++链接报错:undefined reference to typeinfo of xxx 问题背景 在项目中遇到了这样一个问题:C++文件编译都OK,但链接的时候报错:undefined reference to typeinfo for xxx。 std::typeinfo 是C++中的RTT
169
0
0