Leiym Blog

一生想做浪漫极客

cgdb使用小结以及gdb调试死锁方法

"cgdb"

cgdb 使用小结 安装 源码下载地址 :https://cgdb.github.io/ 安装依赖: $ yum -y install ncurses-devel flex texinfo readline-devel 编译安装: $ ./configure --prefix=/usr $ make $ sudo make install 使用文档:https://...

cmake中链接pthread报未定义错误的原因

"cmake"

解决方法 在CMakeFile中添加 SET(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-pthread") 可解决。 原因 可见编译选项中指定 -pthread 会附加一个宏定义 -D_REENTRANT,该宏会导致 libc 头文件选择那些thread-safe的实现;链接选项中指定 -pthread 则同 -lpthread 一样,只表...

wireshark 实时解密TLS数据方法

"wireshark"

必要条件 能够获取服务器私钥文件 不使用 ECDHE 作为秘钥交换算法 wireshark配置步骤 1.编辑 -> 首选项 -> Protocols -> SSL。 选择 SSL debug file,点击browse.. 选择debug文件保存位置。随便新建一个空文件即可。这个文件中会记录wireshark解密相关的log,如果解密失败的...

性能监控工具nmon & FlameGraph

"performance test"

nmon nmon 是一个能够监测CPU、内存、IO等系统资源使用情况的工具,既能够像top那样实时显示,也能支持录制一段时间的数据,并通过excel来绘制图表。 安装(Centos 7) $ yum install epel-release && yum install nmon 实时显示 运行 $ nmon 会看到下面的显示: 下面的按键列表对...

TLS协议与编程浅析

"TLS"

对称加密,非对称加密,数字证书,数字签名 对称加密:采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。 非对称加密:采用两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。 对称加密与非对称加密在SSL中的应用: 对称加密速度快,占用...

Poco::TimedNotification 使用小结

"Poco TimedNotification"

概览 TimedNotificationQueue 是一个以时间为优先级的先入先出通知队列。队列中保存的是 Notification ,并按照 Timestamp 排序。它适用于执行不定周期的任务,比定时器更加灵活。 用法 主要接口 //将通知以时间戳先后存入队列 void enqueueNotification(Notification::Ptr pNotification...

docker 使用笔记

"docker notes"

docker 常用命令 docker run --name <name> -it <image> /bin/bash 启动容器 docker start/stop/restart <container> 开启/停止/重启容器 docker exec -it <name/ID> bin/bash 进入容器 ctrl p +...

Poco::Util::Timer 使用小结

"Poco::Util::Timer"

Poco::Util::Timer 是一个线程安全的可变时长的定时器,相较于Poco::Timer,其更为灵活。设计思想借鉴了 Java 1.3 的 java.util.Timer 类 总览 Poco::Util::Timer 设计中核心数据结构是 Poco::TimedNotificationQueue ,它是一个时间队列,以入队的时间戳为优先级出队列。 Poco::Ut...

elk stack 配置总结

"devops"

elk stack 总结,包括filebeat,logstah,elasticsearch,kibana等总结性文档 filebeat 配置文件: filebeat: prospectors: - paths: - /var/log/envoy/access.log tail_files: true include_lin...

disruptor C++ 用法浅析

"disruptor"

disruptor 是一个高性能的异步处理框架,支持多线程间共享数据。disruptor 最初在JAVA上实现,这里介绍了disruptor C++ 版本实现的用法。 设计思想 disruptor 的底层数据结构是一个首尾相连的环(ring buffer),并且只维护一个用于指向下一个可用的位置的游标。 当需要写入时,disruptor 会分配一个空间,并将指针更新为该空间...