自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

神神秘秘

写点什么吧,不然真的很无聊

  • 博客(53)
  • 收藏
  • 关注

原创 zookeeper C API client 如何设置digest鉴权验证

为 /1 目录添加权限,目录可以任意指定,只对当前目录起作用。root可以理解为明文用户,cdwra含义为缩写。c 可以创建子节点, d 可以删除子节点(仅下一级节点), r 可以读取节点数据及显示子节点列表,w 可以设置节点数据, a 可以设置节点访问控制列表权限。其中digest是scheme,root:111是id (credential,root可以理解为明文用户,111可以理解为明文密码) :perm。该函数执行成功后,即可访问需要鉴权验证的目录。path填写需要设置权限的路径。

2024-04-08 21:09:03 261

原创 ethernet II 帧的故事

Ethernet II 帧解析

2023-11-25 20:57:32 510

原创 clickhouse分布式之弹性扩缩容的故事

基于客户端实现的clickhosuse集群动态扩缩容

2023-11-20 10:34:30 1797

原创 gun ld bug

ld链接器 bug

2023-09-24 10:59:27 204

原创 asio中的锁到底严不严重

asio内部锁使用细节

2023-09-11 21:01:45 143

原创 git submodule指定特定分支或者tag

git submodule跟踪 指定分支和tag

2023-09-09 16:44:38 962

原创 一波七折之寻找遗失的容器ip

宿主机上如何用代码获取容器ip

2023-08-12 21:22:04 405

原创 系统时间往前改动导致std::condition_variable wait_for失效问题

系统时间往前改动,直接导致 std::condition_variable wait_for超时失效

2023-06-09 17:51:56 1425 2

原创 高可用组件keepalived 如何以非root方式运行

以非root运行keepalived

2023-04-16 16:59:52 1020 2

原创 nginx stream 4层代理如何分多个 子配置文件

搜了一圈,没有想要的。

2023-04-15 22:03:41 862

原创 半透明反向代理 (基于策略路由)

基于策略路由的 半透明反向代理

2023-04-09 15:16:33 443

原创 从异步封装角度解读c++20 协程

从封装角度解读c++20 协程

2023-02-08 23:32:33 265

原创 从运行角度解读c++20 协程

从运行角度解读c++20协程

2023-01-04 22:55:30 1086 9

原创 从使用角度解读c++20 协程

从使用角度解读c++20协程

2023-01-02 14:34:55 1079 4

原创 如何判断自身是否处于容器

如何判断自身是否处于容器中

2022-12-31 18:17:11 491

原创 如何避免c++ singleton跨共享库 可能会出现多个‘单例实例‘

如何避免c++ singleton跨共享库 可能会出现多个'单例实例'

2022-12-18 23:06:08 296

原创 k8s高可用集群部署(二进制、containerd)

同步k8s更新后部署的坑

2022-12-11 21:14:47 1295 1

原创 开源 github flow的版本发布

开源 github flow 版本发布

2022-11-13 18:27:03 453

原创 利用bcc/memleak分析内存膨胀

程序内存异常

2022-10-30 20:25:26 1446 1

原创 devops实战之gitlab源码仓库搭建

gitlab搭建,配置邮件发送

2022-10-03 11:12:38 796

原创 service 自我升级遇到的问题

服务自我升级,脚本被杀,无法完成

2022-10-01 01:05:47 651

原创 面向“类设计” = 抽象?

伪抽象

2022-06-04 20:29:01 154

原创 wireshark之npcap-1.50及以上版本在winserver2008-r2-sp1和win7上的问题

前言wireshark在windows上的抓包虽然用的也是libpcap,貌似都绕不过libpcap,但其实还需要额外的驱动配合才能完成。以前有个winpcap,但是自从2013年就开始就不更新了,wpcap官方也推荐用npcap来代替。所以现在windows上默认使用的就是npcap最近写的抓包程序用的是npcap-1.60,然后再winserver2008-r2-sp1跑不起来,原因是找不到网卡列表为什么找不到当然是npcap没有正常工作,具体原因如下:Npcap-1.50更新有个描述,Npc

2022-04-09 11:37:32 3277 2

原创 在win10上面利用vs2022编译wireshark

版本选择我选用的master最新分支,因为cmake时会下载一些第三方库。如果用tags的分支,自动下载的第三方库有些因为版本号对不上,导致cmake出错,反正用来研究的,索性不折腾,直接用最新master代码。wireshar编译需要以下必须的选项: * Perl * Python3 * Qt(required version >= 5.9.8)编译步骤切记不要用Cmake gui源码目录下新建一个文件夹build,cd到build文件夹。打开vs的native tools com

2022-02-07 18:06:48 1159

原创 linux下用vscode断点调试,完美查看变量

1、gdb enable pretty printing 2、本机gdb 启动 本机进程 调试3、本机gdb attach 本机进程 调试4、本机gdb 连接远程gdbserver attach远程进程 调试

2021-10-18 10:14:29 5491

原创 zookeeper3.6版本后,如何编译包含ssl的 C API client

zookeeper c api client编译之痛从3.6.0开始,C API client的编译,不用ant compile了,改为mvn compile,关键官方的readme还是介绍用ant compile,神坑。zookeeper-jute文件夹下 用mvn compile,即可得到zookeeper.jute.h和zookeeper.jute.c。如果想启用ssl,cmake编译时启用WITH_OPENSSL就可以了。ssl准备工作特别说明:下面操作会涉及到大量密码输入,强烈建议用一个

2021-05-11 21:07:20 778 1

原创 ubuntu如何创建自己的systemd服务

1、sudo nano /lib/systemd/system/login.service2、写入如下最常用的内容[Unit]Description=A login serviceAfter=network.target [Service]Type=simpleLimitCORE=infinity #开启服务的coredumpLimitNOFILE=65536 #设置服务的最大文件描述符数Restart=always#TimeoutStopSec=2000ExecStart=/hom

2021-04-11 11:02:56 1361

原创 ubuntu server 20.04 systemd服务如何生成core文件

最近服务挂了,毛都没给我留下。明明配置ulimit -c unlimited,而且还特地在 .bashrc 中加入。被ubuntu server 20.04的core生成机制给坑了一把。首先查看服务的core file size到底是个啥。cat /proc/服务进程的pid/limits ,发现这个服务的Max core file size的Soft Limit 是0。果然是0。经过查询发现,全局设置的limit对systemd服务进程不起毛作用,有效设置是在 服务.service 文件中配置。.

2020-10-14 22:43:26 1542

原创 分析linux程序的内存泄露的利器 valgrind

valgrind这款免费软件时linux上一款强大的调试和分析工具。其中一个较为厉害的功能就是内存泄漏分析和定位。使用valgrind分析内存泄漏时需要请注意:1、尽可能的让程序处于全符号和未优化状态运行。这样的话,valgrind甚至可以定位到导致内存泄露的那一行。最不济也可以定位到泄露位置的前后几行,很方便的可以分析泄露位置。2、让程序正常退出。如果是一直运行的服务的话,可以捕获ctrl+c或者ctrl+v,然后再事件响应回调中让服务正常退出。这样即可极大减小valgrind的误报率。.

2020-09-06 12:53:48 226

原创 mysql_init return null ? mysql_real_connect error unknown host?

如标题所示,mysql c libmysql_init 和mysql_real_connect 莫名其妙报这种 摸不着头脑的错误。请检查你的mysql_init 是不是并发在调用,你没看错,这个API不能并发调用,如果并发调用需要加锁保护。我原以为mysql_init返回的 句柄不能并发使用,想不到连这个API都不能并发使用记录下来,以此为鉴...

2020-06-10 21:27:34 416

原创 ubuntu20.04之mysql8.0.20的mgr踏坑之路

环境:ubuntu20.04 mysql8.0.20mgr(Mysql Group Replication)坑逼之路开始:1、配置文件路径的坑首先我的 mysql8.0.20是安装的,不是编译的。有些相关路径和网上不一样。有可能直接安装导致的,也有可能是版本太新导致的。mysql的配置文件放置路径过多,真他妈多。到底哪个目录是第一读取的呢?mysql8.0.20 的配置文件路径我是靠 故意配错里面的内容让mysql报错 而发现的。网上一大堆 说是 /etc/my.cnf,在我的实...

2020-05-25 00:29:18 1122

原创 leetcode 21 合并两个有序链表 (简单)

将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:0->2->3, 1->2->5输出:0->1->2->2->3->5解题思路:构造一个空节点,指向head。一个循环中 遍历链表A和B,逐个节点value比较大小,追加到空节点后。谁(链表)的节点被追加到空节点后,谁(链表)的head =head->next,另一个head不变。 复杂度O(n+n),即O(n)。只..

2020-05-13 13:02:21 132

原创 leetcode 138 复制带随机指针的链表(中等--困难)

给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。要求返回这个链表的深拷贝。我们用一个由n个节点组成的链表来表示输入/输出中的链表。每个节点用一个[val, random_index]表示:val:一个表示Node.val的整数。random_index:随机指针指向的节点索引(范围从0到n-1);如果不指向任何节点,则为null。输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]...

2020-05-12 23:48:52 157

原创 leetcode 86 分隔链表(中等)

给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5解题思路:构建2个临时节点,临时节点less链接小于x的node,临时节点more链接大于等于x的node。最后less的尾部指向more->next,m.

2020-05-11 12:09:12 141

原创 leetcode142 环形链表(中等)

给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。下图有环,返回节点2解题思路:...

2020-05-10 12:01:40 135

原创 leetcode 160 链表相交点(简单)

编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:正在上传…重新上传取消在节点 c1 开始相交。输出节点C1解题思路:从等长位置,同时遍历,如果有交点,一定会有 pA==pB解法1:求出2个链表长度,长的链表 表头先向后偏移,确保和短的链表 表头处于一个位置。在一起遍历。代码如下:struct node { int value; node* next; };node* get_intersection_node(node* headA, nod

2020-05-09 14:21:32 163

原创 leetcode 92 指定范围反转链表(中等)

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。说明:1 ≤m≤n≤ 链表长度。示例:输入: 1->2->3->4->5->NULL, m = 2, n = 4输出: 1->4->3->2->5->NULL解题思路:1、构造一个dummy节点 指向头结点,为了可以在头节点指针发生变化的时候,直接用dummy->next定位到头节点,如下:dummy->1->2->3->...

2020-05-09 11:38:26 211

原创 leetcode 206 反转链表 (简单)

反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解答

2020-05-08 16:05:21 118

原创 zookeeper场景解密

zookeeper 这个分布式强一致性组件都知道是用来搞分布式系统的,这玩意常用的场景有哪些呢?1、分布式锁分布式锁分为独占锁和序列锁。独占锁就是大家一股脑地去抢,全靠人品。如果A的人品好,A每次都能抢到,那其他的B,C.....只能仰天长叹。。。oh fuck。序列锁就和上面不一样了,序列就代表是有序的。我拿到锁XXX后,我再释放。我再去申请机会,等下我一定还能XXX。机会是均等...

2020-03-29 21:56:32 216

原创 zookeeper的ACL权限

ACL是做什么的对于ZooKeeper,开发人员往往负责管理访问控制的权限,而不是管理员。子节点并不会继承父节点的访问权限。2者的acl毫无关联。ZooKeeper通过访问控制表(ACL)来控制访问权限。一个ACL包括以下形式的记录:scheme:auth-infoscheme对应了一组内置的鉴权模式。auth-info对应了特定模式所对应的方式进行编码的鉴权信息。如果创建...

2020-03-29 14:56:13 509

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除