自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

程序猿老樊的博客

学而知不足,思而得远虑,悟而能后进,吾之小博,乃工作学习点滴记录之用!

  • 博客(1132)
  • 资源 (52)
  • 收藏
  • 关注

原创 老程序员解Bug的通用套路

       程序员在很多人的印象里是一份严(ku)谨(bi)的职业,也是一个被搞怪吐槽乐此不疲的职业,程序员们面对复杂的代码敲打电脑时连眉头都不会皱一下,但是有一个词却是他们痛苦的根源,它就是Bug。       记得刚毕业入行时,我们老大派给我和另外一个新来同事的第一件事就是修Bug,要不是在学校敲过几年代码,还真不知道如何下手!和我一起进公司的另外一个同事完全就是以“看戏者”的身份,看我搞了...

2018-06-06 09:25:29 12307 25

原创 C++17新属性详解

C++17的入选特性有:(1).非类型模板参数的 auto      模板参数分为两种,一种是类型模板参数,也是我们用得最多的一种:template <typename T, typename U>auto add(T t, U u) { return t+u;}     里面的 T 和 U 都是类型模板参数。另一种是非类型模板参数,它可以让不同的字面量成为模板的参数:te...

2018-05-27 21:59:38 54262 5

转载 C++大牛的博客

1. C++大牛的博客    Bjarne Stroustrup的博客: Bjarne Stroustrup’s HomepageBjarne Stroustrup,不认识的可以去面壁了,没有他,就没有我们现在的饭碗。Bjarne Stroustrup是丹麦人,目前任教于TAMU。他的Homepage和他的书籍The C++ Programming Language一样

2018-01-21 21:37:00 5750 1

原创 C++模板详解

一.C++模板的定义:       模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。模板是一种对类型进行参数化的工具;二.使用模板的目的:   能够使得程序员编写与类型无关的代码。比如编写了一个交换两个整型int 类型的swap函数,这个函数就只能实现int 型,对double,字符这些

2017-05-31 21:19:42 2424 3

原创 Qt的5种常用布局搭建

Qt布局详解: 界面开发首先要对整个界面进行布局,使窗体上的所有的控件必须有一个合适的尺寸和位置。那么做出来的界面才看起来美观。那么如何对界面进行布局呢?Qt提供了一些类负责排列窗体上的控件,主要有:QHBoxLayout,QVBoxLayout,QGridLayout,QFormLayout,QStackLayout。(布局管理类)这些类简单易用,无论在代码中还是用Qt Design

2016-09-30 09:06:16 5485 1

原创 优秀程序设计的18大原则

优秀程序设计的18大原则1、避免重复原则(DRY - Don’t repeat yourself)编程的最基本原则是避免重复。在程序代码中总会有很多结构体,如循环、函数、类等等。一旦你重复某个语句或概念,就很容易形成一个抽象体。2、抽象原则(Abstraction Principle)与DRY原则相关。要记住,程序代码中每一个重要的功能,只能出现在源代码的一个位置。

2016-07-11 17:07:57 6276

原创 非递归二分查找算法原理及实现

二分查找算法是一种用于在有序数组中查找特定元素的高效算法。其基本原理是通过不断将查找范围缩小一半来快速定位目标元素。

2024-09-08 22:26:53 942

原创 编写shell脚本将文件中重复的行删除

使用sort+uniq/awk/sed可以来完成。 方法一:利用sort以不重复的方式打印出文件所有的行并排序-u,表示unique。sort -u file方法二:利用sort先对文件按行排好序之后再交由uniq处理。sort -k 指定列,-t指定列分隔符。sort -k 1 -t ':' file|uniq方法三:利用sort+awk来完成。sort file | awk '{if ($0!=line) print;line=$0}'if ($0!=line) print;表示当前行是否等于上一行,不

2024-09-08 22:26:41 343

原创 DASH、HLS和MP4视频的区别?

为了流畅和高效的视频流,每个片段的比特率根据任何给定时刻可用的带宽进行调整。DASH(基于 HTTP 的动态自适应流媒体)是一项革命性的技术,可在在线访问视频和音频文件时提供无缝、不间断的观看或收听体验。借助 MPEG DASH 流,观众可以从网络服务器请求内容,而无需缓冲延迟,从而在他们的设备上获得最佳的流媒体体验。这是可能的,因为 DASH 能够根据网络条件动态选择应该交付哪个版本的内容,从而允许自适应流式传输。它通过根据可用带宽自动选择内容的最佳流媒体版本,使视频能够在没有缓冲延迟的情况下流式传输。

2024-08-31 23:43:46 624

原创 C++线程池管理

管理C++线程池涉及创建、调度和终止线程的机制,以有效地处理并发任务。以下是一个基本的线程池管理示例,包括线程池的创建、任务分配和线程池的销毁。

2024-08-31 20:13:50 524

原创 C++线程池

线程池是一种管理和复用线程资源的设计方法,旨在提高程序的并发性能和资源利用效率。它的基本原理是通过预先创建一定数量的线程,并将这些线程放入一个“池”中,当有任务需要执行时,从池中取出空闲线程来执行任务,任务完成后,线程回到池中等待下一个任务。3. enqueue函数用于向线程池中添加任务,并返回一个std::future对象,以便获取任务的结果。2. 每个线程运行worker函数,该函数从任务队列中取出任务并执行。4. main函数演示了如何使用线程池来执行两个简单的任务。

2024-08-31 20:12:56 479

原创 Shell脚本的常见应用场景及示例

Shell脚本在不同场景中的应用。根据具体需求,脚本可以变得更加复杂和功能强大。Shell脚本是系统管理员和开发者日常工作中不可或缺的工具。

2024-08-31 20:12:17 390

原创 Shell的常用参数

$0 ---- 当前程序的名称,实际上是一个内部参数,不同于$1,$2....因为它必须有!$# ---- 传递给程序的总的参数数目,也就是那个传说中的数组大小$? ---- 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。$* ---- 传递给程序的所有参数组成的字符串。$@ ---- 以"参数1" "参数2" ... 形式保存所有参数$$ ---- 本程序的(进程ID号)PID$! ---- 上一个命令的PID  命令行指令$ test.sh f1

2024-08-30 22:20:53 568

原创 VAD算法

VAD(Voice Activity Detection,语音活动检测)算法是一种用于检测音频信号中是否存在语音活动的技术。它在许多语音处理应用中起着关键作用,包括语音识别、语音增强、噪声抑制和语音编码。VAD算法的基本目标是区分语音和非语音(噪声、静默等)部分。

2024-08-25 22:59:30 311

原创 telnet登录到bmc

在基板管理控制器 (BMC) 上使用Telnet是一种不太常见且不太安全的做法,因为Telnet以明文方式传输数据,包括密码。因此,强烈建议使用更安全的协议如SSH。:确保你知道BMC的IP地址。通常可以通过服务器的BIOS设置或者通过网络扫描工具找到。: 在连接到BMC后,你将被提示输入用户名和密码。输入正确的凭据以登录。ogin: password: : 如果凭据正确,你将成功登录到BMC,可以开始执行管理任务。

2024-08-18 22:39:26 220

原创 C++多态性与虚函数相关算法总结

下面是一个完整的示例,展示了如何使用虚函数实现多态性:/*1、利用虚函数,实现triangle(三角形),square(矩形),circle(圆)的面积计算函数show_area。

2024-08-11 22:25:21 743

原创 C++继承和派生类相关算法

*1、利用虚基类,消除“两性人”中的冗余数据:姓名、年龄,并编程实现之。

2024-08-11 22:16:45 854

原创 sshpass远程执行脚本

在使用 sshpass 命令调用 ssh 时,通常建议使用 -t 选项来分配为 ssh 命令启动的伪终端。而 -tt 选项是在 -t 的基础上增加了一次远程命令的强制性 tty 分配,它的意思是在远程主机上分配一个强制性的 tty 终端,无论是否需要。其中,密码是登录远程主机所需要的密码,用户名是远程主机的用户名,远程主机IP是远程主机的IP地址,命令是要执行的命令。首先,需要安装sshpass工具。其中,用户名是远程主机的用户名,远程主机IP是远程主机的IP地址,命令是要执行的命令。

2024-08-04 23:41:09 1179

原创 Linux Shell远程执行命令

例如 ssh user@node cd /local ls 则 ls 只会执行 cd /local 命令,ls命令在本地执行,加了双引号或者单引号,则被括起来的命令被当做ssh命令的一个参数,所以会在远程连续执行。远程执行的内容在"< < remotessh " 至" remotessh "之间,在远程机器上的操作就位于其中,注意的点:

2024-07-29 22:42:34 1523

原创 mate-terminal -x bash -c “./test.sh exec bash” & 的作用是什么?

总结下来,这个命令会在一个新的 MATE 终端窗口中启动一个 Bash shell,并在该 shell 中执行 `./test.sh` 脚本,并传递 `exec bash` 作为参数给 `test.sh`。假如 `./test.sh` 的内容是通过 `exec` 启动一个新的 shell 或其他程序,那么该新的程序会取代原来的 Bash 进程。- `bash -c`: 这表示要运行一个新的 Bash shell,并通过 `-c` 选项指定要执行的命令字符串。

2024-07-29 22:22:32 265

原创 C++指针相关算法总结

* 1、在主函数中输入10个字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。(用指针实现)*/for(i=0;i

2024-07-28 21:08:58 935

原创 互联网大裁员背景下C++程序员该如何突围?

学习C++是一项有挑战性的任务,因为它是一门功能强大且复杂的编程语言,但是只要我们有恒心,且能理论结合实践认真对待,那么成为C++高手也不难。假如你没有背景也没有资源,那就努力靠自己,用奋斗扬起生活的风帆,攀登智慧的巅峰,叩开成功的大门,点燃光辉灿烂的明天,永远相信“三分天注定,七分靠打拼”。

2024-07-28 20:56:44 859

原创 Shell脚本中一次传入多个IP

在 Shell 脚本中,我们可以通过命令行参数传递多个 IP 地址。确保我们的脚本有执行权限,我们可以使用。命令来赋予执行权限。

2024-07-28 20:26:49 180

原创 C++模板相关算法总结

*1、利用C++的模板机制定义单向队列类模板、链表类模板,并实例化应用之。*//*单向队列类模板*/private:T front;T rear;T pop();front = 0;rear = 0;

2024-07-28 20:12:01 720

原创 C++ I/O流 相关算法总结

1、建立一个二进制文件,并对其进行各种操作。struct i_Data //每个学生记录含准考证号、姓名、英语成绩共3个字段int score;if(!for(i=0;i

2024-07-28 20:11:58 951

原创 C++结构体与共同体相关算法总结

结构体用于将不同的数据类型组合在一起,每个成员都有自己的内存空间,成员之间互不影响。共同体(也称为共用体)用于将不同的数据类型组合在一个内存空间中,所有成员共享同一块内存。这意味着在一个时间点上只能有一个成员有效。/* 1、用指针和结构体实现一双向链表,并实现其相应的增、删、遍历功能,并在实例中应用它。public://头指针,当前指针//初始化函数//插入函数//删除函数//遍历函数。

2024-07-21 21:17:44 743

原创 C++运算符重载相关算法

*1、定义一个二维向量类Vector,并在该类中用成员函数方式重载一元运算符++(前、后缀)和二元运算符+。this->x=x;this->y=y;++y;Vector s;s.x=x++;s.y=y++;return s;Vector sum;return sum;++v1;

2024-07-21 21:17:32 651

原创 C++数组类算法总结

* 1、将一个数组中的值按逆序重新存放,例如,原来顺序为:a、b、c、d。要求改为:d、c、b、a。*/back(a);int i=0;while(*p!='\0')p++;//把指针定位到字符串末尾i++;//统计字符个数cout

2024-07-14 22:53:04 531

原创 C++函数类算法总结

* 1、写一函数用“气泡法”对输入的10个字符按由小到大的顺序排列。*/for(i=0;i

2024-07-14 22:49:20 766

原创 C++异常处理算法总结

可以定义自己的异常类,通常继承自或其派生类。public:1、自己写一个程序,在某种条件下抛出各种类型异常(如:整数、字符串、类对象、引用等),再捕捉这些异常,并进行相关处理,保证自己的程序不被中断,让它继续执行。public:class Range{ //异常类1int index;//异常类2int len;len=si;int num=10;n

2024-07-07 22:53:16 827

原创 C++控制语句算法总结

在C++编程中,控制语句是控制程序执行流程的重要部分。它们包括条件语句、循环语句和跳转语句。

2024-07-07 22:53:14 744

原创 C++使用库Vecotr和自己手写数组的优缺点对比

C-style 数组和 std::vector 各有优缺点,应根据具体需求选择适合的工具。对于需要高性能和固定大小的场景,C-style 数组是不错的选择。而对于需要灵活性、安全性和丰富功能的场景,std::vector 更加适合。了解并掌握这两者的使用,可以帮助我们编写更加高效和健壮的 C++ 代码。

2024-06-30 22:48:46 770

原创 CUDA编程的注意事项和使用流程详解

CUDA编程是一种高效利用GPU进行并行计算的技术,但也需要开发者具备良好的并行编程知识和经验。通过本文,希望大家能够更好地理解CUDA编程的基本流程和注意事项,从而编写出高性能的并行程序。随着硬件和软件的发展,未来CUDA编程将会更加普及和易用,为各类计算密集型应用带来更多的性能提升。

2024-06-30 21:57:01 1005

原创 NVIDIA GPU 的使用场景及应用

以上只是一个简单的示例,更复杂的应用包括使用 cuDNN 进行深度学习加速、使用 TensorRT 进行推理优化等。每种 API 都有其具体的功能和使用方法,通常需要结合特定的使用场景和需求进行选择和使用。:启动 CUDA 内核,其中 numBlocks 是启动的块数,blockSize 是每个块中的线程数。以下是一些主要平台和使用场景,以及常用的 API 接口和 C++ 代码示例。__global__:标识 CUDA 内核函数,它将在 GPU 上运行。

2024-06-30 21:56:59 801

原创 C++使用GPU进行矩阵数据计算加速

使用GPU进行矩阵数据计算加速可以显著提高计算效率,尤其是在处理大规模矩阵运算时。以下是一个简单的示例,演示如何使用CUDA(Compute Unified Device Architecture)在C++中进行矩阵乘法运算。CUDA是NVIDIA开发的并行计算平台和编程模型,允许使用GPU加速计算任务。分配矩阵的主机内存,初始化矩阵数据,调用CUDA核函数进行计算,然后将结果从设备内存复制回主机内存。这是在GPU上运行的代码。每个线程计算矩阵C中的一个元素。包括分配、复制和释放内存,确保内存使用有效。

2024-06-23 22:10:32 793

原创 OpenMP使用详解

OpenMP 提供了简单而强大的并行编程能力,适合在共享内存系统上实现高效的并行计算。通过合理使用 OpenMP 指令,可以显著提高程序的执行效率。

2024-06-23 22:01:41 1043

原创 C++求一个数据集的最大值和最小值详解

求一个数据集的最大值和最小值是常见的数据处理任务之一,主要用于了解数据的范围和分布情况。原理非常简单:遍历整个数据集,记录当前遇到的最大值和最小值。假设在处理一个温度传感器的数据集,想要知道一天中记录的最高和最低温度。通过这种方式,我们可以快速找出数据集中最大和最小的值,并应用于各种领域的数据分析任务中。(5).完成遍历后,最大值和最小值变量即为数据集中的最大值和最小值。(3).如果该元素大于当前记录的最大值,则更新最大值。(4).如果该元素小于当前记录的最小值,则更新最小值。

2024-06-23 21:45:46 612

原创 Dll与exe的区别及使用详解

DLL(Dynamic Link Library,动态链接库)和EXE(Executable, 可执行文件)是两种不同类型的文件格式,主要用于不同的目的。DLL中虽然包含了可执行代码却不能单独执行,而应由Windows应用程序直接或间接调用。由于DLL能被应用程序动态载入内存。所以,应用程序可以在需要时才将DLL载入到内存中,这让程序的可维护性变得很高。比如QQ的视频功能需要升级,那么负责编写QQ的程序员不必将QQ所有代码都重写,只需将视频功能相关的DLL文件重写即可。

2024-06-16 20:26:29 1060

原创 C++网络编程方面的开源项目

合理的选择开源库能让我们快速的开发出可靠的软件,大大的节约开发时间和开发成本。因此,对开源库的特点和应用场景的掌握是非常重要也是非常必要的。

2024-06-16 20:26:12 809

原创 uint64_t result 强制转换为std::vector<uint8_t> buffer

std::vector uint64ToByteVector(uint64_t value) 是一个接受 uint64_t 值并返回 std::vector 的函数。字节序: 上述代码采用小端序。如果需要大端序,则将 buffer[i] 改为 buffer[7 - i]。类型转换: 使用 static_cast 确保从 uint64_t 转换到 uint8_t 安全。

2024-06-09 22:52:53 552

Navicat安装指导及安装资源

Navicat安装指导及安装资源2024最新版,博主个人机器亲测自用版本! Navicat是一款流行的数据库管理工具,它支持多种数据库的连接,如MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL以及SQLite等。Navicat提供了一个直观的界面,使得数据库的管理、开发和维护变得更为简单便捷。其功能包括数据库的结构同步、数据备份恢复、查询编写执行、报表生成等。Navicat的用户群体包括数据库管理员、开发人员和分析师等。 2024年的最新版Navicat带来了更多的功能改进和性能提升。以下是Navicat 2024最新版的安装指导和获取安装资源的方法。

2024-03-23

VS2013,2015完全卸载工具

VS2013,2015完完全卸载工具,下载解压,执行exe文件即可使用!

2017-10-20

vs加载Qt插件

qt-vs-addin-1.2.3-opensource工具,vs原网站下载,自测可用!

2017-10-20

网络通讯测试小工具

usr-tcp232-test,支持多种网络通讯和协议的小工具!很好用!

2017-10-20

npcap网络插件

npcap单机循环网卡插件,非常好用,解决有限资源下的网络验证

2017-10-20

Wireshark网络抓包工具

Wireshark,最好用的网络抓包工具之一,支持UDP,TCP,HTTP及上千种通讯协议

2017-10-20

剑指offer Python版本经典代码集合

剑指offer Python版本经典代码集合

2017-06-01

rdesktop安装包

rdesktop,包括安装包和pdf安装步骤

2017-06-01

vncserver和vncviewer

VNC64位和32位安装包,包括客户端和服务端,VNC-6.1.0-Linux-x64-RPM.tar.gz,VNC-6.1.0-Linux-x86-RPM.tar.gz,亲测可用!

2017-06-01

正版VS2017exe安装下载

正版VS2017exe安装下载

2017-03-20

Qt快速入门

Qt快速入门资料个人整理,分享给初学者,希望对大家有帮助!

2016-09-22

Linux_C编程一站式学习_最终版

Linux_C编程一站式学习_最终版,很全很详细!与大家共享!

2016-05-30

大数据资料集锦

Hadoop集群监控与Hive高可用,Hadoop现场演示与编程过程,hadoop中文版API,HAWQ, 分布式SQL数据库引擎原生基于Hadoop HDFS,QCon-曹龙-Hadoop2.0应用-基于Yarn的淘宝海量数据服务平台V03,高可用性的HDFS-Hadoop分布式文件系统深度实践,海量数据处理——hadoop,基于Hadoop的分布式搜索引擎关键技术,理解大数据企业级 Hadoop 和流数据分析, 云计算分布式大数据Hadoop实战之路--从零开始(第1-10讲)

2016-03-30

Hadoop技术全套图书

Hadoop技术全套图书,在Windows上安装Hadoop教程.pdf,hadoop伪分布配置自写.doc,hadoop伪分布配置自写.doc,Facebook的实时Hadoop系统.pdf,Hadoop权威指南(第2版).pdf,hadoop的首次使用.docx,个人收集,与大家分享!

2016-03-21

Hadoop云计算技术介绍

Hadoop云计算技术介绍,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop深度实战

Hadoop深度实战,详解Hadoop实战,与大家分享!

2016-03-21

Hadoop权威指南(中文版)(带书签)

Hadoop权威指南(中文版)(带书签),个人觉得不错的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop权威指南(第2版)

Hadoop权威指南(第2版),很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop命令手册

Hadoop命令手册,很详细很全的Hadoop命令资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop集群之—常用MySQL数据库命令_V1.0

Hadoop集群之—常用MySQL数据库命令_V1.0,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop集群之—MySQL关系数据库_V1.0

Hadoop集群之—MySQL关系数据库_V1.0,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Apache_Hadoop入门第一步

Apache_Hadoop入门第一步,很详细很好的Hadoop入门部署资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

《实战Hadoop--开启通向云计算的捷径》源码

《实战Hadoop--开启通向云计算的捷径》源码,很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

Hadoop源代码分析(完整版)

Hadoop源代码分析(完整版),很详细很好的Hadoop资料,与大家分享,下载后给个赞,谢谢!

2016-03-21

数据仓库ETL建设宝典

数据仓库ETL建设宝典,最新最全的ETL建设方案和详解!与大家分享!

2016-03-10

3种常用代码检查审核管理工具

三种常用代码审核管理工具安装包,跟大家分享!

2016-03-09

云计算详解及经典架构

云计算详解及经典架构,与大家分享!

2016-03-09

jQuery瀑布流经典布局源码

jQuery是一套跨浏览器的JavaScript库,简化HTML与JavaScript之间的操作。Jquery瀑布流布局经典布局原码,适用于推广网站,网上商城等架构,希望对大家有帮助!

2016-01-28

大数据集群部署手册(最新最全)

大数据集群部署手册(最新最全),个人已经验证过了!希望对大家有帮助!

2016-01-28

最新人脸识别C++源码

Face_Demo_SDK(最新人脸识别源码)技术,包含源码,可执行文件安装包,详细使用说明!

2016-01-11

MySQL命令大全

MySQL命令大全,很好,很详细的一本mysql资料!

2015-12-28

Linux下C语言开发集锦

Linux下C语言开发集锦,汇集经典案例,分享给大家!

2015-12-23

Linux+C函数库参考手册

Linux+C函数库参考手册,详解linux的常用函数用法,很全!

2015-12-23

linux网络编程详解

linux网络编程详解,看了很多linux网络编程的书,就这本很经典,在此,与大家分享。

2015-12-23

linux shell 编程详解

linux shell 编程详解,这是一步绝好的shell编程的经典资料,与大家分享,感谢作者!

2015-12-23

linux操作系统原理及应用详解

linux操作系统原理及应用,详解linux架构及工作原理.

2015-12-23

Redhat centos

Redhat centos宝典,适合初学者

2015-12-23

SUSE Linux 10宝典

SUSE Linux 10宝典,适合初学者

2015-12-23

LINUX认证权威指南-第三版,个人觉得本书不错,可以看看!

LINUX认证权威指南-第三版,个人觉得本书不错,可以看看!

2015-12-23

Linux系统命令行基本操作详解

Linux系统命令行基本操作,很详细,PPT详解,图文结合,更容易理解,适合初学者!

2015-12-23

空空如也

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

TA关注的人

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