- 博客(555)
- 资源 (26)
- 问答 (2)
- 收藏
- 关注

原创 打造高效炫酷终端全攻略
摘要 本文全面介绍如何打造高效酷炫的终端环境,重点对比了主流Shell的特点,并深入解析Zsh及其生态系统。Zsh作为功能强大的现代Shell,具备智能命令补全、自动建议、语法高亮等核心特性,配合Oh My Zsh插件框架可实现高度定制化。文章推荐使用Powerlevel10k主题美化终端,并提供字体配置建议。此外,还介绍了tmux终端复用工具与Zsh的完美搭配,最后附赠一键安装脚本,帮助开发者快速搭建完整的终端工作环境。这套方案将显著提升命令行工作效率和视觉体验。
2025-06-04 10:01:43
710

原创 Kafka安全机制详解(认证、鉴权、配置、代码示例)
本文以版本为示例,配合Zookeeper,全面的讲解与Kafak安全机制相关的认证、鉴权、配置、C++/Python/Java代码示例。
2025-04-21 09:30:00
1657

原创 netstat 命令详解
netstat命令是常见的查看网络信息的命令,主要包括网络连接的信息、路由表的信息、网卡的信息和广播的信息等;本次不会讲解如何使用netstat命令,详细的使用方法请参见:man netstat本次主要聊一聊网络连接的信息,当使用netstat -anop命令时,输出如下:那么,这些信息主要是什么意思呢?待我一一道来。Proto协议的类型,主要有tcp、tcp6、udp、unix、udplite、raw、sctp等,当然可以通过传相应的协议类型给netstat命令而仅仅显示某种类型的协议,如:
2022-03-01 14:25:08
9638
3

原创 systemctl systemd.service
Namesystemd.service — Service unit configurationSynopsisservice.serviceDescriptionA unit configuration file whose name ends in ".service" encodes information about a process controlled and supervised by systemd.This man page lists the configu
2021-12-15 12:29:48
684

原创 编写使用systemctl管理的service服务
上文介绍了systemctl命令是基于Systemd系统的,本文主要简单的介绍一下如何编写一个可以使用systemctl命令管理的后台进程(daemon进程),使用systemctl命令管理进程(服务)主要有以下好处:1、可以方便的查看进程的状态2、可以方便的启动、停止、重启、reload进程3、可以方便的配置进程是否随系统启动而启动,并且可以配置复杂的依赖关系(如:在某个服务启动后启动)4、可以方便的指定以某个用户的身份启动等等。service文件一般分为三个部分:Unit用来定义 Uni
2021-12-14 23:16:18
3030

原创 Systemd and sysemctl
系统结构Systemd 的设计目标是为系统的启动和管理提供一套完整的解决方案,具体的结构如上图所示。Systtemd不是一个命令,而是一组命令,这组命令涉及系统管理的多个方面。Systemd的相关命令systemctl#查看版本$ sudo systemctl --version# 重启系统$ sudo systemctl reboot# 关闭系统,切断电源$ sudo systemctl poweroff# CPU停止工作$ sudo systemctl halt# 暂停
2021-12-14 21:03:13
2127

原创 实战探究!C++ 20 标准都发布了哪些重要特性?
目前gcc 10.2可以支持部分C++20标准,编译的时候需要使用编译选项:-std=c++2a待我升级编译器之后分章节详解主要特性的概念、示例。敬请各位关注,干货马上到来Constraints and concepts (约束和概念)在类模板和函数模板编程中,主要用于对模板参数的结束和限制,这种约束和限制发生在编译期,编译错误不在那么晦涩难懂了。在模板编程中,可以限制模板参数的类型或具用某种特性,如:可以限制为整型、数值型、bool型、或必须支持hash特性、或某个类的派生类型等。在C++2
2020-12-23 09:28:13
10167
32

原创 常见的拖垮中小公司技术团队的10宗罪
某人曾说过,“What does not kill me,makes me stronger.”根据周围公司的情况,总结了拖垮中小公司技术团队的主要因素,当然,你也可以使用下面的手段,把你现在的公司拖垮(与本人无关),正所谓术高莫用,年轻人,耗子尾汁:1、外行管内行大部分公司,老板本身不懂技术,有些老板略懂业务,更多的老板是更懂市场,老板找一个会包装自己但没有做过开发的人来管理技术团队,那位说老板不傻,只能说在他懂的范围内不傻,在他不懂的范围内很多老板看不透彻,让一个没有写过一天代码的人管团队会出现什
2020-12-16 18:13:44
13370
43

原创 tmux常用命令及快捷键
Ctrl+a激活控制台;此时以下按键生效?列出所有快捷键;按q返回d脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出c创建新窗口关闭当前窗口数字键切换至指定窗口p切换至上一窗口n切换至下一窗口l在前后两个窗口间互相切换w通过窗口列表切换窗口重命名当前窗口;这样便于识别修改当前窗口编号;相当于窗口重新排序f在所有窗口中查找指定文本”(我改成了s,与vim一致)
2020-11-19 10:20:05
3885
1

原创 手把手教你配置linux下C++开发工具——vim+ycm(YouCompleteMe),支持基于语义的自动补全和第三方库补全(史上最简单、史上最透彻、史上最全的终极解决方案)
截止到目前,vim稳定版本已经到了8.2+,ycm(YouCompleteMe的简称)最新版本与几年前的安装配置截然不同了。之前网上很多教程也教不得法,生搬硬套,没有讲透彻。所以,才下定决心写一篇自认为史上最简单、史上最全的教程出来。一、准备工作 1、安装python(ycm需要使用python3.6以上的版本,这里选择python3.8.5): 1.1、进入download目录:cd download 1....
2020-10-23 12:57:01
14912
31

原创 没有core文件时定位segfault at 0 ip 的问题(一)
C/C++编写的程序,崩溃后有时不能生成core文件(即使设置了ulimited),所以往往不知道发生了什么事情,生产环境根本不允许研发小朋友去调试,日志有时候看不出问题了。(如果生成了core文件,或通过日志能定位到问题所以,则可略过此文章)。本文章专门针对于没有生成core文件、不能通过日志分析问题的情况首先,写一段测试代码吧,不用怀疑,这段代码肯定是有问题的#include <iostream>#include <cstdio>#include <mem
2020-07-28 18:18:51
4840
1

原创 从U盘安装centos7(史上最简单的终极解决方案)
1、下载最新版本的centos(目前是centos 7.6) https://www.centos.org/download/ 由于我是安装服务器,所以选择了Minimal ISO(只有900多MB)2、制作Centos安装盘(准备一个空白的1GB以上的U盘) 2.1.安装UltraISO 2.2.安装完成后点...
2019-03-10 17:48:46
226121
167

原创 Python3 list 排序函数详解
Python3 list 排序函数详解一、列表的sort排序函数函数原型: list.sort(key=None,reverse=False)函数功能:对原列表进行排序,完成排序后,原列表变为有序列表。默认情况(不传入任何参数时)按字典顺序排序。函数参数:(1)key: 主要是用来进行比较的元素,只有一个参数,具体的函数的...
2018-05-28 18:55:03
40705
6
原创 c++中锁类型对比与实战
C++多线程编程中的三种锁机制对比:std::lock_guard适合简单的互斥场景,RAII机制保证自动解锁;std::unique_lock功能更灵活,支持延迟锁和条件变量;std::shared_lock(C++17+)专为读多写少场景设计,允许多线程并发读取。性能上,lock_guard最快,unique_lock因额外功能开销稍大。实战中应根据具体场景选择锁类型:简单保护用lock_guard,条件变量用unique_lock,读多写少用shared_lock,高并发写可分片优化。合理使用这些锁能
2025-06-04 10:04:44
272
原创 systemctl实现定时任务(比crontab好用)
摘要:本文介绍如何通过systemd实现kline_dumper服务的定时重启。首先创建三个配置文件:主服务(kline_dumper.service)、重启服务(kline_dumper-restart.service)和定时器(kline_dumper-restart.timer)。其中定时器设置每10分钟触发一次重启操作,重启过程包含10秒延迟。配置完成后执行systemctl命令启用服务,并通过list-timers和status命令验证状态,使用journalctl查看日志。该方法比crontab
2025-05-30 10:29:50
218
原创 undefined reference的问题(同时链接静态,动态库可能导致的问题)
项目中,往往会同时链接.a文件和.so文件,当项目比较庞大的时候,就会出现很难保证.a文件的链接顺序的情况,由于.a文件对链接顺序有较高的要求,所以可能会出现即使指定了相应的.a。
2025-04-30 11:01:12
270
原创 Kafka集群从无认证模式平滑的升级到认证模式
Kafka本身在设计上是SASL/SSL,所以连接到 broker 的客户端都必须先认证,认证成功后才能进行操作(读/写)。这种机制让部分topic需要认证,部分topic不需要认证就变得不可行了。因为在升级过程中,不可能要求所有的客户端同时进行认证模式的切换,一旦启用了认证,那么没有切换,或没有切换成功的那些客户端就无法正常读写数据了,势必就影响到生产。
2025-04-25 09:00:00
790
原创 data compression and decompression on the server/client side that based on the libwebsockets
【代码】data compression and decompression on the server/client side that based on the libwebsockets。
2025-04-17 10:15:00
262
原创 How to install Kafka and Zookeeper on Ubuntu
【代码】How to install Kafka and Zookeeper on Ubuntu。
2025-04-17 09:30:00
962
原创 c++code coverage tools working with cmake
【代码】c++code coverage tools working with cmake。
2025-03-05 16:03:14
314
原创 什么是SSL及SSL的工作流程
SSL(Secure Sockets Layer,安全套接层)是一种保护互联网通信安全的加密协议,用于确保数据在客户端和服务器之间传输时的保密性、完整性和身份验证。它已被TLS(Transport Layer Security,传输层安全协议)取代,但很多场景仍习惯称其为SSL。数据加密:防止数据在传输过程中被窃听。数据完整性:防止数据被篡改。身份验证:确保通信方的身份可信。
2025-01-17 14:41:51
1116
原创 SSL/TLS的数据压缩机制
在现代TLS/SSL实现中,数据通常不会在传输前由TLS协议本身进行压缩。如果需要压缩,通常由应用层负责(例如HTTP压缩),而不是SSL/TLS协议本身。
2025-01-17 14:38:09
974
原创 The difference between exit/abort/_Exit/return/quick_exit
【代码】The difference between exit/abort/_Exit/return/quick_exit。
2025-01-14 17:49:50
768
原创 Step-by-step guide to learn c++
Learning C++ can be both exciting and rewarding. Here’s a step-by-step guide and recommendations for books to help you get started:“Programming: Principles and Practice Using C++” by Bjarne Stroustrup“C++ Primer (5th Edition)” by Stanley B. Lippman, Josée
2025-01-14 17:44:40
778
原创 The BR(Brotli) Compressed Data Format
Purposefilters.. Scope+--------+|76543210|+--------+0 1^ ^| |unsigned.block.duplicate.copy.(1).
2025-01-13 15:16:10
4147
原创 Broti(BR) Algorithm Overview
Brotli is a lossless compression algorithm optimized for web use. It is particularly effective for text-based data like HTML, CSS, and JavaScript, offering high compression ratios with efficient decompression. Developed by Google, Brotli combines modern co
2025-01-13 11:24:16
702
原创 boost multi_index_container详解(这一篇就够了)
有序STL容器无法提供此功能,这通常会导致不优雅的变通方案:例如,考虑确定ID在[0,100]范围内的员工的问题。的每个索引都使用自己的迭代器类型,这些类型与其他索引的迭代器类型不同。此外,细心的程序员必须考虑到搜索区间的下界和上界必须兼容:例如,如果下界是200,上界是100,则上面代码生成的迭代器。任何类型都可以用作索引的标记,尽管通常会选择与其关联的索引描述性名称。的类似物,事实上,它们确实复制了其接口,尽管 Boost.MultiIndex 的一般约束导致了一些细微的差异。
2025-01-09 17:44:14
1531
原创 How to Generate a Self-Signed Certificate Using OpenSSL?
https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-22-04https://tecadmin.net/step-by-step-guide-to-creating-self-signed-ssl-certificates/https://www.ssldragon.com/how-to/openssl/create-self-s
2024-12-23 16:04:10
152
原创 tmux default keys
bind-key -T prefix C-b send-prefixbind-key -T prefix C-o rotate-windowbind-key -T prefix C-z suspend-clientbind-key -T prefix Space next-layoutbind-key -T prefix ! break-pa
2024-12-12 13:48:24
243
xpub_xsub.rar
2020-11-05
find_package_simple.rar
2020-09-10
基于boost的序列化与反序列化
2018-09-07
2020CPP-Summit.rar
2021-01-21
SaveTreeNodesToXML
2007-08-15
gcc10源码及依赖库第三部分(下载完成第一、二、三部分后,解压即可编译)
2021-01-20
gcc10源码及依赖库第二部分(下载完成第一、二、三部分后,解压即可编译)
2021-01-20
gcc10源码及依赖库第一部分(下载完成第一、二、三部分后,解压即可编译)
2021-01-20
pub_sub.rar
2020-11-04
client_server.rar
2020-11-04
req_rep.rar
2020-11-04
vimrc(C++IDE,YCM)
2020-09-08
vim的配置文件vimrc
2020-09-03
centos7的yum源
2019-02-20
可停靠的窗口
2008-05-30
您好,想问一下如何提高自己的算法设计能力,谢谢!
2016-07-22
如何避免jvm垃圾回收的抖动问题
2016-06-25
TA创建的收藏夹 TA关注的收藏夹
TA关注的人