c++之什么是智能指针

普通指针存在的问题 如何解决 官方库里给的方法

July 17, 2022 · 1 min · Lambert Xiao

什么是eventfd

July 17, 2022 · 0 min · Lambert Xiao

c-野指针和悬空指针

野指针 看代码 void *p; // 此时p为野指针 “野指针”可能指向任意内存段,因此它可能会损坏正常的数据,也有可能引发其他未知错误 正确做法 void *p = NULL 悬空指针 看代码 void *p = malloc(size); free(p); // p为悬空指针了 free(p) 之后,p指针仍然指向之前分配的内存,有可能会引发不可预知的错误 正确做法 void *p = malloc(size); free(p); p = NULL

July 7, 2022 · 1 min · Lambert Xiao

文件系统-fd究竟是啥

一句话终结

June 30, 2022 · 1 min · Lambert Xiao

网络-NAT打洞

洞次打次,洞次打次

June 24, 2022 · 1 min · Lambert Xiao

网络-ssdp协议

基于udp+http协议,在upnp中被使用到

June 21, 2022 · 3 min · Lambert Xiao

Linux-dd命令

生成文件的好用工具

June 16, 2022 · 1 min · Lambert Xiao

Linux-strace

查看系统调用的神器

June 16, 2022 · 1 min · Lambert Xiao

Golang-Coredump设置

定位crash问题少不了

June 14, 2022 · 3 min · Lambert Xiao

实现一个p2p网络都需要会什么

坚持更新

June 14, 2022 · 1 min · Lambert Xiao

数据库分库、迁移

能不接触数据库尽量不接触

June 14, 2022 · 1 min · Lambert Xiao

[Writing]使用libp2p来构建点对点网络

在filecoin中发现这个库,读读源码,学习学习

June 13, 2022 · 6 min · Lambert Xiao

CMake和Automake

在C和C++的开源项目里没少见他俩

June 10, 2022 · 1 min · Lambert Xiao

golang-pprof使用

pprof能做什么 pprof能提供正在运行的go程序的各项维度指标,可以帮助我们很好的了解程序的运行状态,如内存的使用,cpu的消耗,是否发现死锁等 pprof提供的profile profile 解释 cpu 默认进行 30s 的 CPU Profiling,得到一个分析用的 profile 文件 goroutine 查看当前所有运行的 goroutines 堆栈跟踪 block 查看导致阻塞同步的堆栈跟踪 heap 查看活动对象的内存分配情况 mutex 查看导致互斥锁的竞争持有者的堆栈跟踪 threadcreate 查看创建新OS线程的堆栈跟踪 怎么拿到对应的profile文件 当在服务里引入pprof包之后,可能通过http访问的方式拿到profile文件 wget - O analysis.pprof http://${ip}:${port}/debug/pprof/${profile} 怎么分析 以heap.pprof举例 // 查看常驻内存的使用情况 go tool pprof -inuse_space heap.pprof // 查看常驻对象的使用情况 go tool pprof -inuse_objects heap.pprof // 查看内存临时分配情况 go tool pprof -alloc_space heap....

June 8, 2022 · 2 min · Lambert Xiao

算法-两数之和变种

面试流利说遇到了,做得磕磕绊绊

June 7, 2022 · 1 min · Lambert Xiao

iptables和netfilter

iptables, netfilter, 5链3表

May 16, 2022 · 1 min · Lambert Xiao

MongoDB查询计划

什么是查询计划

May 8, 2022 · 10 min · Lambert Xiao

MongoDB索引检索图解

亿点点图

May 7, 2022 · 1 min · Lambert Xiao

MongoDB覆盖索引

什么是覆盖索引

May 7, 2022 · 2 min · Lambert Xiao

MongoDB

分片模式下数据分发流程 mongos在启动后,其内部会维护一份路由表缓存并通过心跳机制与Contg Server (配置中心) 保持同步 业务请求进入后,由mongos开始接管 mongos检索本地路由表,根据请求中的分片键信息找到相应的chunk,进一步确定所在的分片。 mongos向目标分片发起操作,并返回最终结果 避免广播操作 需要向所有的分片查询结果 单分片故障会影响整个查询 保证索引唯一性 分片模式会影响索引的唯一性。由于没有手段保证多个分片上的数据唯一,所以唯一性索引必须与分片键使用相同的字段,或者以分片键作为前级。 如下面的选择可以避免冲突。 (1) 唯一性索引为:{a:1},分片键采用a字段。 (2) 唯一性索引为:{a:1,b:1}, 分片键采用a字段。 分片均衡 手动均衡 自动均衡

May 6, 2022 · 1 min · Lambert Xiao