- 博客(55)
- 收藏
- 关注
原创 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
1917
1
原创 系统时间往前改动导致std::condition_variable wait_for失效问题
系统时间往前改动,直接导致 std::condition_variable wait_for超时失效
2023-06-09 17:51:56
1953
4
原创 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
3827
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
1529
原创 linux下用vscode断点调试,完美查看变量
1、gdb enable pretty printing 2、本机gdb 启动 本机进程 调试3、本机gdb attach 本机进程 调试4、本机gdb 连接远程gdbserver attach远程进程 调试
2021-10-18 10:14:29
6820
原创 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
998
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
1598
原创 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
1946
原创 分析linux程序的内存泄露的利器 valgrind
valgrind这款免费软件时linux上一款强大的调试和分析工具。其中一个较为厉害的功能就是内存泄漏分析和定位。使用valgrind分析内存泄漏时需要请注意:1、尽可能的让程序处于全符号和未优化状态运行。这样的话,valgrind甚至可以定位到导致内存泄露的那一行。最不济也可以定位到泄露位置的前后几行,很方便的可以分析泄露位置。2、让程序正常退出。如果是一直运行的服务的话,可以捕获ctrl+c或者ctrl+v,然后再事件响应回调中让服务正常退出。这样即可极大减小valgrind的误报率。.
2020-09-06 12:53:48
284
原创 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
494
原创 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
1203
原创 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
178
原创 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
203
原创 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
171
原创 leetcode142 环形链表(中等)
给定一个链表,返回链表开始入环的第一个节点。如果链表无环,则返回null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。下图有环,返回节点2解题思路:...
2020-05-10 12:01:40
180
原创 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
238
原创 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
255
原创 leetcode 206 反转链表 (简单)
反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解答
2020-05-08 16:05:21
183
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人