自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ALex_zry的博客

努力变强才能娶到白富美

  • 博客(228)
  • 问答 (1)
  • 收藏
  • 关注

原创 深入Linux Core文件生成与自定义命名规则

Linux 作为广泛使用的运行平台,在程序运行崩溃时能及时记录 错误信息,是很方便的查询问题的方式,这里对怎么使用 Linux下的 错误信息记录 core文件,进行总结介绍。

2024-06-17 10:59:08 341

原创 在编译的两个.o文件中有对同一个头文件的引用,因此在链接时出现结构体重复定义的问题怎么解决

在C++编程中,我们经常需要在多个源文件中使用相同的数据结构或类型定义。如果不小心,这可能会导致编译器在编译过程中多次定义相同的类型,进而在链接时引发错误。本文将介绍如何使用Include Guards来避免这个问题,并提供Shell命令的示例。

2024-06-16 23:52:31 352

原创 [hiredis 的Redis执行语句返回结果类型全说明

1345621234567891011121314这段代码是C语言中的宏定义,用于在Redis客户端库hiredis中定义一些错误类型和回复类型。

2024-06-16 23:49:51 393

原创 深入理解 CMake 的 `cmake --build` 命令

是一个强大的工具,它简化了编译过程并提供了与构建系统的深度集成。通过一些高级选项和扩展代码,你可以定制构建过程以满足特定的需求。希望这篇博客能帮助你更好地理解和使用 CMake 的这一功能。分享一个有趣的学习链接。

2024-06-16 23:47:05 419

原创 CMake 命令行使用指南:创建构建目录与编译项目

的目录(如果它不存在的话),并在该目录下生成必要的构建文件。文件在当前目录下,并且想要创建一个名为。选项指定了源代码目录的路径。表示当前目录,即源代码目录。选项指定了构建目录的路径,这条命令会创建一个名为。

2024-06-16 23:44:02 328

原创 对gRPC中常见的 grpc::CreateChannel()这个类所创建的对象所包含的属性做详细介绍

在 gRPC 中,函数用于创建一个对象,这个对象代表了与 gRPC 服务端的连接。这个函数是客户端用来初始化与服务器通信的起点。

2024-05-27 00:17:17 508

原创 技术分享:深入C++时间操作函数的应用与实践

在软件开发中,时间是无处不在的一个概念,无论是日志记录、定时任务还是用户界面,时间的处理都至关重要。C++标准库提供了一套完整的工具来帮助我们处理时间相关的操作。本文将详细介绍几个时间操作函数的使用场景、代码实现以及它们在实际开发中的应用。

2024-05-27 00:08:37 269

原创 C++中的类型查询:探索typeid和type_info

在编程的世界里,了解和操作数据类型是至关重要的。Python 通过内置的type()函数提供了一种简单的方式来查询变量的类型。然而,在 C++ 这种静态类型语言中,类型信息通常是在编译时就已经确定的。尽管如此,C++ 标准库还是提供了一些机制来在运行时查询和操作类型信息。在这篇技术分享中,我们将探讨 C++ 中的typeid和type_info,以及如何使用它们来获取类型信息。

2024-05-26 23:56:00 329

原创 如何使用Python上传文件到FTP服务器

通过上述步骤,我们成功地创建了一个Python脚本,它可以自动上传文件到FTP服务器,并在上传过程中显示进度条和超时等待显示。这不仅提高了文件上传的透明度,还增强了用户体验。希望本博客能帮助您理解如何在Python中实现FTP文件上传,并应用到您的项目中。分享一个有趣的学习链接。

2024-05-26 23:53:19 405

原创 解读 MySQL 容器信息:`docker inspect` 字段详解

Config: 容器的配置摘要,包括命令、环境变量、卷、工作目录等。: 容器的网络设置,包括网络模式、端口映射、网络接口等。Config: 包括容器的配置摘要,如命令、环境变量、卷、工作目录等。Config: 包括容器的配置摘要,如命令、环境变量、卷、工作目录等。理解命令的输出可以帮助您更好地管理和调试 Docker 容器。通过这些详细的信息,您可以获得容器的配置、状态、资源使用情况等关键数据,这对于维护和优化容器化应用至关重要。分享一个有趣的学习链接。

2024-05-26 23:48:19 1392

原创 使用 Docker Compose 接管现有容器的文档

在使用 Docker 容器技术时,有时我们可能需要 Docker Compose 来接管并管理已经存在的容器。这通常发生在容器手动启动或由其他部署流程创建后,我们希望利用 Docker Compose 来简化未来的管理任务。使用 Docker Compose 接管现有容器是一个简单的过程,涉及停止现有容器、重命名以避免名称冲突、启动 Docker Compose,以及清理旧容器。通过这种方式,您可以利用 Docker Compose 的强大功能来简化容器的管理和维护。分享一个有趣的学习链接。

2024-05-26 23:40:43 344

原创 docker-compose 自动管理 数据库

Redis 是一个开源的内存数据结构存储系统,用作数据库、缓存和消息代理。容器化 Redis 可以简化部署和管理过程,提高开发和生产的效率。Docker Compose 可以帮助我们轻松地定义和管理 Redis 容器。通过,您可以轻松地管理数据库容器,实现自动化部署、维护和备份。这不仅提高了运维效率,还确保了数据库环境的一致性和稳定性。始终记得定期备份您的数据,并根据需要调整文件中的配置。而通过管理 Redis,您可以轻松地部署、维护和备份 Redis 数据。确保定期备份您的数据,并根据需要调整。

2024-05-26 23:37:56 578

原创 【VsCode】通过tasks.json中的problemMatcher属性的fileLocation子属性设定问题的输出内容

这个问题是起因在我想把代码指向的相对路径更改为使用宏的绝对路径便于编译调试,但是在一次调试过程中有一个编译时报错,点击报错内容项时,却显示找不到路径文件。报错详细内容显示是 即:代码路径+绝对路径。那么这里的错误就已经很明显了,“现在VS 认为错误的查找路径应当是相对路径,并且拼接格式是 代码路径再拼接编译时路径。接下来就是解决问题需要了解的内容。我从VS的官方帮助手册和开放源码中找到了解决方法,现在整理记录下来。

2024-05-20 21:51:22 782

原创 Linux 更新man说明手册,man中文手册

新安装的centos7,发现man手册不完全。

2024-05-19 23:05:13 202

原创 Linux怎样更新Centos下Gcc版本支持C17?Centos7快速安装gcc8.3.1 可支持C++17(附gcc相关链接整理)

centos7直接yum安装的那个gcc版本为4.8.5,对于大多数的需求来说都是低了。现在最新的版本可能到9了,9.2 9.3的安装教程我在网上都搜到过,但是似乎9的版本都需要make和make install?编译时间得小半天吧,有时候还会有各种奇怪的报错。所以要求不是特别严格的话可以看看8.3.1版本,我不是很清楚它和这种费时巨大的在使用的时候会不会缺胳膊少腿的,但是我目前用着还行。

2024-05-19 23:04:13 1047

原创 Linux 下centos 查看 -std这个编译时命令 是否支持 C17

gcc --version,可以查看版本号,笔者的电脑,gcc的版本号是8.3.0,然后查看8.3.0是什么时候发布的,查出是2019年发布的,从而推断出是支持,但是不是十分肯定,所以接着看第二种方法。实际工作中,可能会遇到c++的一些高级特性,例如std::invoke,此函数是c++17才引入的,如何判断当前的gcc是否支持c++17呢,这里提供两种办法。上图中,红色方框-std=表示支持的标准项,可以看到c11,c17之类的。centos 本身自带的版本是不支持到C17的。2.直接man gcc。

2024-05-19 22:58:52 192

原创 Linux技术分享:Linux设置软链接

分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。

2024-05-19 22:56:52 188

原创 yum出现Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile解决方法

这里的DNS设置内容,不一定是这个,要根据实际情况使用,比如,我之前是用的就是 114.114.114.114 这里你可以使用DNS2 来添加新的内容,这样一来,就可以同时使用多个DNS地址了。如果是静态网络,则在/etc/sysconfig/network-scripts/ifcfg-eth0文件中添加。如果配置的DHCP动态网络,则在/etc/resolv.conf文件中添加。

2024-05-19 22:53:45 485

原创 Linux yum 运行时提示编码问题错误

分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。这个报错是编码问题导致的。

2024-05-19 22:51:21 758

原创 Linux yum 使用时提示 获取 GPG 密钥失败Couldn‘t open file RPM-GPG-KEY-EPEL-7

把gpgcheck=1 改为gpgcheck=0 即可,意思是在安装的时候不进行源的检查。分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。这个就是安装的时候会检查key这个可以再repo文件中关闭即可。

2024-05-19 22:50:47 144

原创 Linux Ubuntu crontab 添加错误 提示:no crontab for root - using an empty one 888

第一次使用crontab -e命令====时会让我们选择编辑器,很多人会不小心选择默认的nano(不好用),或则提示;这时候我们要重新选择编辑器crontab -ecrontab -e。

2024-05-19 22:50:03 432

原创 Linux gdb调试的时候没有对应的c调试信息库怎么办?

在centos7上面gdb调试程序时候,报错信息是:解决方案:1 先修改"/etc/yum.repos.d/CentOS-Debuginfo.repo"文件的 enable=1;2 执行3 执行这里就说明了没有对应的调试信息库。

2024-05-19 22:49:08 309

原创 Linux 用户使用sudo时 显示xxx is not in the sudoers file.This incident will be reported.的解决方法

1.切换到root用户下,su -3.编辑sudoers文件找到这行L,在他下面添加(这里的xxx是你的用户名)ps:这里说下你可以sudoers添加下面四行中任意一条第一行:允许用户youuser执行sudo命令(需要输入密码).第二行:允许用户组youuser里面的用户执行sudo命令(需要输入密码).第三行:允许用户youuser执行sudo命令,并且在执行的时候不输入密码.第四行:允许用户组youuser里面的用户执行sudo命令,并且在执行的时候不输入密码.

2024-05-19 22:48:23 370

原创 工具分享:VsCode注释神器,koro1FileHeader

他是有官方Wiki的。项目在GitHub上开源。以下摘录部分wiki,用作介绍分享在这里插入代码片。

2024-05-19 20:16:23 341

原创 经验分享:C++ error:‘syscall’ was not declared in this scope

其实这里就已经说明了,设计到的文件信息,所以之后的话,可以依照这个经验,来看看他所提到的文件中有无对应内容,这样可以减少查找的范围。分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。这里我的编译环境是使用VsCode 进行的远端编译,远端服务器是Linux系统。通过对源码的学习,在头文件中找到如下内容,: syscall.h 的源码,说明了。如上所言,内部是一些宏定义。

2024-05-19 20:12:35 281

原创 Linux技术资源分享:探索Linux软件包的宝藏:沙皇下载平台体验

沙皇下载是一个专为Linux用户设计的软件包下载平台。它提供了一个集中的资源库,让用户可以轻松地找到并下载所需的软件包。这个平台以其简洁的界面和丰富的资源库而受到用户的欢迎。Linux的世界是广阔和多元的,沙皇下载平台正是这样一个能够连接用户和软件资源的桥梁。如果你也是Linux的爱好者,我强烈推荐你访问沙皇下载,探索这个Linux软件包的宝藏。分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。

2024-05-19 00:09:58 129

原创 Redis性能测试实操记录与分析

通过对Redis性能测试的实操记录和分析,我们对Redis的性能表现有了更深入的了解。这种性能测试可以帮助我们评估Redis在不同负载下的表现,并根据测试结果采取相应的优化策略,以确保Redis在实际应用中能够满足性能需求,并提供高速的数据存储和缓存解决方案。

2024-05-19 00:05:58 348

原创 Linux top命令详解:持续监听进程运行状态

ps 命令可以一次性给出当前系统中进程状态,但使用此方式得到的信息缺乏时效性,并且,如果管理员需要实时监控进程运行情况,就必须不停地执行 ps 命令,这显然是缺乏效率的。为此,Linux 提供了 top 命令。top 命令可以动态地持续监听进程地运行状态,与此同时,该命令还提供了一个交互界面,用户可以根据需要,人性化地定制自己的输出,进而更清楚地了进程的运行状态。

2024-05-18 23:59:30 801

原创 Linux技术工具:bpftrace介绍

bpftrace基于eBPF技术实现轻量级、低性能开销的监控和分析,使用简单易懂的声明式语言进行脚本编写,可以快速创建和运行复杂的跟踪脚本。在进入事件中,它记录当前时间戳,并将其存储在名为start的关联数组中,该数组的键是正在进行的系统调用的名称。bpftrace使用简单易懂的声明式语言进行脚本编写,可以快速创建和运行非常复杂的跟踪脚本,以便捕获并分析各种有关进程、文件系统、网络、内存、CPU等方面的事件和统计信息。bpftrace还拥有丰富的文档和社区支持,并得到了广泛的应用和推广。

2024-05-18 23:46:03 820

原创 通过ELRepo修改CentOS 7内核版本的详细步骤

在Linux系统中,内核版本决定了硬件支持和系统性能。有时,为了获得更好的性能或新特性,我们需要升级或更换内核。本文将详细说明如何在CentOS 7系统上通过ELRepo仓库安装更新的内核版本。

2024-05-18 23:44:21 429

原创 技巧分享:Git怎么修改已经提交版本的版本注释

在vscode 的使用过程中,git 作为一个版本管理非常方便的工具,十分适合用来管理长期项目,配合 gitlens 可以逐行查看代码的历史记录,并且,只要不发布,理论上这就是一个私有仓库。但是在使用过程中,常有生成的注释并不完美,在需要修改的时候,gitlens并没有给出理想的操作界面,为了解决这个问题,我们可以使用git 原生支持的命令完成这个目的。分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。命令支持换行注释,可以在文本文件中写好然后拷贝到命令行,或者使用。

2024-05-18 23:36:00 165

原创 selinux的安全策略可以影响ntp的方式

默认情况下,NTP使用UDP端口123进行通信,SELinux 策略需要允许NTP守护进程访问该端口。例如,可以创建一个策略,只允许受信任的NTP服务器与本地系统通信。:SELinux 提供了详细的日志和审计功能,可以帮助管理员监控和分析NTP守护进程的行为,以及检测任何潜在的安全问题。:SELinux 还可以限制NTP守护进程可以执行的操作,例如,是否可以打开套接字、是否可以读取或写入特定的设备等。:如果SELinux策略设置得太严格,可能会与NTP的正常操作发生冲突,导致NTP无法正常同步时间。

2024-05-18 21:41:29 308

原创 ntp协议为什么不能主动同步超两年的时钟差异?是由哪些配置决定的

NTP(网络时间协议)并不是不能主动同步超过两年的时钟差异,而是客户端可以配置一个选项来决定是否允许进行大的时间校正。这样做的原因是因为如果时间差异过大,可能是由于某一端的时间被故意手工设置用于调试,或者时钟出了故障,自动纠正可能会造成业务风险,因此建议手动检查1^。在进行NTP配置时,应谨慎操作,以确保不会引入错误的时间同步行为,特别是在处理大时间差异时。如果需要允许NTP进行大于默认限制的时间跳跃,应确保理解可能的风险,并在必要时进行适当的手动干预。:可以用于禁用特定的NTP功能或服务器。

2024-05-18 21:40:19 314

原创 当自身需要使用的 gcc版本 和Linux 默认版本 存在大版本差异时怎样处理

解决多版本gcc 编译器依赖冲突问题

2024-05-15 15:33:31 914

原创 gRPC Status 状态码枚举类型 介绍文档 (更新 gRPC Status 状态码 实操 代码技巧介绍)

在构建 gRPC 服务时,正确处理和返回错误状态对于确保服务的健壮性和易用性至关重要。以下是如何在 gRPC 服务中实现自定义返回状态,并遵循错误处理的最佳实践以及如何进行测试的一些示例。自定义返回状态允许我们提供详细的错误信息,帮助客户端开发者快速定位问题,并采取适当的行动。例如,如果数据库查询未返回结果,我们可以返回一个NOT_FOUNDreturn ::grpc::Status(::grpc::StatusCode::NOT_FOUND, "在数据库中没有找到数据");

2024-05-14 17:54:45 1201

原创 Linux下怎么快速部署MySQL服务,并使用

分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。启动镜像,使用宿主机的共享网络,设定管理员账户密码是root。

2024-04-23 00:46:52 261

原创 Linux怎么安装czmq(物联网消息通讯轻量级消息队列)

分享一个有趣的 学习链接:https://xxetb.xet.tech/s/HY8za。

2024-04-23 00:43:48 294 3

原创 C++orm使用插曲——MySQL保留字

经过调查发现,类似于key这样的内容是一个保留字,在 SQL 中,同样的,这里把相关的类似保留字都列出来,防止再出现类似的问题。,你需要使用反引号将其包围起来,以便正确执行查询。这段的代码实际是对数据库表封装的一个工具模板。是一个保留字,如果你的表中有一个列名叫做。这里我将key 修改为了。

2024-04-23 00:41:14 394 1

原创 spdlog 日志库部分源码说明——日志格式设定,DIY你自己喜欢的调试信息,你能调试的远比你想象的还要丰富

前言最近,在使用spdlog日志库,但是不如自己使用std::cout 输出的方便,想要调整spdlog的格式化输出,但是网上缺少这块比较完整的资料,现在将这部分说明。本章节主要说明创建日志后怎样格式化输出,以及可以的格式化输出有哪些。准备#define LOG_CHARCK_HOUR 0 // 每日创建日志的小时值(24h)#define LOG_CHARCK_MINE 0 // 每日创建日志的分钟值(24h)std::shared_ptr<spdlog::logger> my_

2024-04-23 00:37:29 1395 2

原创 spdlog 日志库部分源码说明——让你可以自定义的指定自动切换日志时间

针对 网络上spdlog日志库目前存在的使用方式固定,不能发挥这个库本身应有价值的情况,这里对一些支持场景进行说明,以供初学者省去阅读源码的时间,直接上手使用。

2024-04-22 14:07:29 578

空空如也

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

TA关注的人

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