自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(217)
  • 资源 (5)
  • 收藏
  • 关注

原创 ChatGPT基础(二) ChatGPT的使用和调优

1.能够联系上下文进行回答ChatGPT回答问题是有上下文的,它可以在我们的反馈和补充信息中不断的优化自己的答案; 因此我们可以通过反复细化调整自己的问题,获得最终想要的答案。2.能够感知和理解使用者的情绪ChatGPT能够理解使用者的情绪,我们可以通过施加情绪压力,让ChatGPT表现的更好;比如说我们可以这么下达带情绪的指令:“领导让我明天出一份关于**的工作规划,我都急死了,你能帮我梳理一下吗?”

2024-04-12 18:22:38 1111 3

原创 ChatGPT基础(一) GPT的前世今生

Generative pre-trained transformers(GPT)生成式预训练转换模型是大语言模型的一种(Large Language Model–>LLM)。它是用于自然语言处理的人工神经网络,可以在未经标记的语料上进行训练并能在基础的信息上生成出全新的内容。

2024-04-07 13:32:50 1174

原创 国产操作系统镜像资源汇总

在软件和操作系统国产化浪潮中出现了很多有特色的国产化操作系统,常见的包括银河麒麟、UOS、中科方德等,同时每个操作系统针对不同的芯片架构也有很多版本。这在适配上就会带来很多麻烦,因为我们需要搭建不同版本的开发环境和适配环境。为了解决适配的难题,这里收集了各个版本的国产操作系统镜像资源,方便大家搭建对应的开发环境和调试环境。

2024-04-05 11:43:01 68

原创 音视频技术应用方向概述

在现在的软件开发过程中,音视频技术已经成了一个不可或缺的功能模块了,通过音视频技术我们可以实现各种各样的业务功能。音视频相关的技术应用有很多细分领域,受我们的知识和业务限制我们了解的可能不是很全面,这里梳理一下音视频技术应用和发展的方向。

2024-04-01 11:26:34 426

原创 C++异常问题排查调试策略

此文主要讨论的问题是那些偶现的、没有特别征兆的、排查起来比较困难的问题的排查和解决思路。WinDbg是Windows操作系统上的一款强大的调试工具,可用于分析和调试应用程序、内核和驱动程序的崩溃和错误。有些时候程序的异常状态可能不是崩溃,而是资源的异常占用,这时候我们就需要使用一些工具来分析程序的性能瓶颈,然后针对程序的瓶颈进行优化和修复;1.重现bug: 记录问题发生的步骤,记录用户的输入信息,问题发生的软硬件信息,包括操作系统类型、软件版本信息以及各种配套组件的版本等。

2024-03-20 18:18:52 725

原创 IDA反汇编工具详解之菜单栏和基本操作

如果一个程序位置引用了另一个包含可重复注释的位置,则该注释会在第一个位置回显,默认情况下回显的注释以灰色文本显示;IDA允许你随意修改任何名称,并处理在整个反汇编代码清单中扩散名称变更的所有细节. 按 N 打开变更对话框 或 右击需要修改的名称在菜单中选择Rename选项。添加注释的方式: 1.菜单 Edit->comment 添加注释 2. 按键’:’ 添加常规注释 按键’;如果你希望恢复某个变量的默认名称,打开更名对话框,在输入框中输入一个空白名称,IDA将为你生成默认的名称。

2024-03-20 18:12:29 757

原创 IDA反汇编工具详解之工程和窗口

程序员使用编译器、汇编器和链接器中的一个或几个创建可执行程序的过程叫做编译过程(代码输入 --> 可执行程序输出)使用反汇编器和反编译器回溯编译过程来撤销汇编和编译过程,输出汇编语言或高级语言的过程叫做反汇编(机器语言输入 --> 汇编语言或高级语言输出)

2024-03-19 18:36:12 951

原创 Qt插件之输入法插件的构建和使用(二)

输入法的主界面本质上是一个QStackedWidget容器,将各个类型的输入键盘插入到容器中,然后根据业务需要切换不同的输入键盘。 主要的输入键盘包括:中文输入键盘、英文输入键盘、特殊符号输入键盘、手写输入键盘。

2024-03-08 18:47:05 347

原创 Qt插件之输入法插件的构建和使用(一)

常见的输入法有三种形式: 1.系统级输入法 2.普通程序输入法 3.程序自带的输入法 系统级输入法就是咱们通常意义上的输入法,和操作系统绑定使用系统的输入法框架进行开发,在任何程序当中都可以使用,比如在windows系统下基于TSF/IME框架开发的输入法,在Linux系统下基于fcitx框架开发的框架。此类输入法通用性强功能强大,但开发难度也高。

2024-03-06 19:20:17 371

原创 Qt+libhv实现各类网络通信方式(TCP-UDP-HTTP-WebSocket)

为了实现程序的跨进程和跨主机通信,我们通常会采用网络通信进行数据传输。常用的通信方式包括TCP/UDP、HTTP、WebSocket等,这些网络通信方式各有优劣有的是短连接有的是长连接,应用场景也有差异。在实际开发中我们需要掌握各种通信方式的实现方式来应对不同的场景,这里我们介绍一下如何通过QT+libhv库实现各类通信方式。这些功能模块可以很方便的集成到我们的QT项目中。

2024-03-03 17:40:00 306

原创 细说MSVC和MinGW生成库的差异及如何相互调用

两个编译器的C++ ABI是不兼容的所以无法识别对方导出的符号完成链接,但是可以用C语言进行中转,C的ABI在所有编译器中都是相同的,也就是说把VC动态库所有导出接口都改为 extern “C” 形式即可,这样生成的动态库,MinGW和MSVC都可以相互链接。由于MSVC生成的静态库和MinGW生成的静态库ABI(Application Binary Interface)无法兼容、使用的标准库也不同(MinGW使用的GNU标准库、MSVC使用的微软标准库),所以两个编译器生成的静态不可以跨编译器相互调用;

2024-02-22 19:01:37 388

原创 通过傅里叶变换进行音频变声变调

在游戏或者一些特殊场景下为了提高娱乐性或者保护声音的特征,我们会对音频进行变声变调处理。

2024-02-21 19:46:19 423

原创 FFmpeg进阶-给视频添加马赛克效果

很多时候为了隐藏视频中的敏感信息如人脸、身份证号、车牌号等,我们会采用马赛克算法对视频帧中的一部分内容进行处理。这里介绍一下如何采用FFmpeg实现马赛克效果。2.像素替换:对于每个小块,算法会将其像素值替换为同一小块内的平均像素值或随机像素值,使得图像内容在该区域内变得模糊不可识别;1.分块处理:首先将图像划分为多个小块或区域。

2024-02-20 19:31:10 548

原创 通过C++程序实现光驱的自动化刻录和读取

数字存储媒体快速发展的今天,光驱的使用已经不像以前那样普及了。但是在数据备份、安装软件和操作系统、旧设备兼容等领域还有在使用。

2023-12-28 19:51:55 1411 3

原创 AI大模型的基础知识点汇总

近几年AI领域的技术发展突飞猛进,毫无疑问AI已经成为了先进生产力的代表。作为一名普通程序员如果对相关技术不闻不问,等待自己的只能是淘汰。这里以一个小白的视角,梳理了近些年AI前沿的一些技术和那些大家容易忽视的基本概念,也算是给自己一个入门吧。

2023-11-19 16:49:11 855

原创 思考的起点(一): 事实与判断

事实与判断是思考的主要组成部分,深入理解事实与判断的基本概念,了解其应用可以提升个体的思考质量;

2023-11-05 14:47:05 377

原创 SQL基本语法用例大全

SQL(Structured Query Language), 数据库的标准语言。 SQL语言的功能包括数据查询、数据操纵、数据定义和数据控制四个部分。 六个核心动词: SELECT、CREATE、INSERT、UPDATE、DELETE和REVOKE 每条SQL语句均由一个谓词(Verb)开始, 该谓词描述这条语句要产生的动作, 例如SELECT或者UPDATE关键字, 谓词后紧接着一条或者多条子句(Clause), 子句中给出了被谓词作用的数据或者谓词动作的详细信息。 每个查询语句都要有

2023-10-11 19:44:41 872 1

原创 MinIO的基础概念和用法大全

MinIO是一款高性能、分布式的开源对象存储系统, 它是一款软件产品。 MinIO公司旨在解决非结构化数据增长的需求, 开发了流行于业界的开源云存储软件MinIO。虽然MinIO是100%开源的, 但它既是一家公司又是一个开源项目。它采用GNU AGPL v3开源证书, 拥有GNU AGPL代码的版权, 同时还是MinIO项目的主要贡献者, 可独立对MinIO进行维护。

2023-10-11 19:39:20 2433

原创 深入理解算法的时间复杂度

时间复杂度就是一种用来描述算法在输入规模增长时所需执行时间的度量,即描述算法运行时间随问题规模增加而增长的速度,它是对算法执行时间的上界估计,通常通过O符号表示。时间复杂度描述了算法的效率和执行速度,可以用来对比不同算法的性能。备注:1.时间复杂度描述的是算法在最坏情况下的运行时间。这是因为最坏情况下的时间复杂度是对算法性能的上界估计,能够保证算法在任何情况下都能在该时间范围内完成。2.在实际的算法分析中,通常还考虑最好情况和平均情况下的时间复杂度。

2023-09-19 19:42:01 691 2

原创 通过JS脚本检查浏览器对视频编码的支持情况

在开发包含音视频功能的前端项目的时候,很多时候我们需要通过web组件播放一些音视频文件。但是和一些万能的播放器不一样,很多音视频封装格式、编码格式浏览器并不支持。因此,我们在播放视频之前需要检查浏览器是否支持对应的编码格式。这里就介绍一下如何通过js脚本检查当前浏览器是否支持某个编码格式。

2023-09-14 19:06:17 750

原创 video标签自动播放音视频并绘制波形图

video标签想自动播放,需要设置三个可选属性分别是muted、autoplay、controls,muted负责让音视频播放静音,autoplay让音视频自动播放,controls属性负责显示对应的控制菜单。html中的标签可以用来播放常见的音视频格式,支持的格式包括:MP3、Ogg、WAV、AAC、MP4、WebM、AVI等,当然支持的格式也和浏览器和操作系统有关。如果想要绘制音视频播放过程中的音频波形图,我们需要拦截对应的音频上下文,分析绘制对应的音频数据。// 创建音频上下文。

2023-09-07 19:39:32 2030

原创 Linux各类性能分析工具用法详解

在Linux性能分析和优化过程中,选用一个好的工具能极大的提高自己的工作效率。这里以Brendan Gregg的Linux性能工具图谱为线索,梳理了Linux系统下各个模块的性能分析工具,并对部分常用工具的用法进行了详细说明。掌握这些工具,可以极大的提高开发者程序性能优化的效果和效率。

2023-08-28 09:33:40 903

原创 vim编辑器用法详解

Vim(Vi IMproved)是一个功能强大的文本编辑器,是Vi(Visual Editor)的一个增强版本。它以其高度可定制性、强大的编辑功能和广泛的插件支持而闻名。这里介绍一下Vim编辑器的那些使用技巧,熟练使用这些技巧可以大大提升在Linux品台下文本编辑的效率。

2023-08-21 20:36:07 720

原创 使用libvncserver库快速搭建VNC服务端

libvncserver是一个开源的VNC服务器端库,可以集成到C/C++应用程序中,实现允许远程用户通过VNC客户端来显示和控制本地计算机的功能。libvncserver提供了一些功能强大的API,可以方便地与其他应用程序集成。它支持多个操作系统平台,包括Linux、Windows、Mac OS X和FreeBSD等,提供了多种VNC协议的实现。

2023-08-18 22:58:33 1812 5

原创 Linux平台下搭建GB28181服务器(WVP+ZLMediakit)

GB28181(国标28181),全称为《中华人民共和国公共安全视频监控联网系统技术要求》,是中国国家标准委员会发布的一个针对公共安全视频监控领域的标准框架。该标准指导了视频监控设备之间的联网互通,统一管理和控制,并提供了一套包括设备接入、设备管理、视频传输、事件告警等功能要求。

2023-08-11 09:24:03 3916 1

原创 Docker Compose用法详解

Docker Compose使用YAML文件来定义多服务的应用。Docker Compose是一个用于定义和运行多容器Docker应用程序的python工具。它允许您使用一个单独的配置文件来定义和配置多个相关容器的服务,以便它们可以一起协同工作。在Compose文件中使用${ENV_VAR}的方式引用环境变量,这样,Compose会自动加载.env文件中的环境变量,并将其传递给服务。直至今日,Docker Compose仍然是一个需要在Docker主机上进行安装的外部Python工具。

2023-08-10 18:09:52 541

原创 编写Dockerfile构建Docker镜像

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

2023-08-03 13:23:27 168

原创 Linux平台下构建TigerVNC项目

VNC是一种远程图形化桌面协议, 而TigerVNC(Tiger Virtual Network Computing)是VNC协议的一个实现。通过TigerVNC应用,我们可以实现跨平台的远程桌面控制。

2023-08-02 18:41:36 559

原创 Windows平台下构建TigerVNC项目

VNC是一种远程图形化桌面协议, 而TigerVNC(Tiger Virtual Network Computing)是VNC协议的一个实现。通过TigerVNC应用, 我们可以实现跨平台的远程桌面控制。

2023-08-02 18:30:23 1218 3

原创 Docker容器映射Redis和MySQL到本地

Docker容器因其快速、轻量级、可移植性、隔离性和安全性、可弹性扩展等诸多特性,在程序交付和部署的时候使用非常广泛。但是容器中数据无法持久化,当容器关闭或者删除的时候其中的数据就会丢失。所以很多时候我们会将Docker中的数据目录挂载到本地, 实现程序数据的持久化存储

2023-08-02 09:49:23 725

原创 frp反向代理应用的用法和配置

Frp是一款基于Go语言的反向代理应用, 支持多种协议包括:TCP、UDP、HTTPS、HTTP、STCP、XTCP等, 通过使用Frp我们可以很轻松的实现内网穿透。 下面介绍一下这几种协议在Frp中的用法。

2023-07-18 09:28:01 934

原创 Frp协议编译构建和基本使用

Frp项目是一个基于Go语言开发的反向代理项目。它允许用户将位于NAT内网和防火墙里的本地服务暴露给互联网,目前支持的的通信协议包括:TCP、UDP、HTTP、HTTPS。使用Frp协议我们可以将请求通过域名转发到内部服务。 frp现在还支持P2P连接模式。

2023-07-15 14:26:26 835

原创 Windows批处理/Shell脚本常用指令

Linux/Windows平台下的各种常用脚本命令和对应的处理流程

2023-07-15 14:15:56 1304

原创 AI大模型知识点大梳理

AI大模型是指具有巨大参数量的深度学习模型,通常包含数十亿甚至数万亿个参数。这些模型可以通过学习大量的数据来提高预测能力,从而在自然语言处理、计算机视觉、自主驾驶等领域取得重要突破。AI大模型的定义具体可以根据参数规模来分类

2023-06-12 21:37:09 14841 5

原创 音视频领域的未来发展方向展望

全景音视频技术是近年来崛起的技术,它可以为用户营造更为真实的身临其境的视听体验。未来,全景音视频技术有可能成为音视频领域的重要发展方向,可以应用于娱乐、游戏、广告、培训等各个领域。

2023-06-09 09:24:09 2747

原创 Docker命令大全与脚本使用

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。docker的镜像概念类似虚拟机的镜像。是一个只读的模板,一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。

2023-06-08 09:15:43 193

原创 TS视频封装协议详细说明

TS(Transport Stream) 是一种常见的视频封装格式, 主要用于数字电视和在线视频传输领域。优缺点如下所示:优点:1.容错性强: 传输过程中发生丢包或错误信息丢失的情况, 可以快速恢复, 保障数据的完整性。2.支持随机访问: TS格式对数据进行了分段, 每段可以单独访问和控制, 实现了视频的随机访问。3.实时性好: TS 封装格式采用分段传输的方式,每个数据片段的大小相对较小,可以有效降低延迟,实现了实时数据传输。

2023-05-28 15:48:01 2194

原创 FFmpeg进阶: 音视频常用开源库

在音视频应用开发过程中我们会用到各种各样的开源库来提升开发效率,这里对各种常用的开源库进行了汇总,方便大家参考使用。

2023-04-05 10:04:04 1179 1

原创 Innosetup打包脚本常用设置大全

Innosetup是一款常用的打包软件,可以用来制作windows平台下的安装包。这里介绍一下通过Innosetup制作安装包的时候,那些常用设置。

2023-04-03 20:52:44 2490 1

原创 FFmpeg进阶:各种输入输出设备

简单总结了一下ffmpeg中常用的输入输出设备,有需要的欢迎参考

2023-04-01 17:54:55 1745

SoundTouch 源码 + VS2015/VS2017/MinGW 静态库

SoundTouch 库资源,可以轻松的实现音频的变声变调操作; 包含项目源码以及在VS2017/VS2015/MinGW下生成的静态库 可以拿来直接集成到自己的项目中。同时资源中提供了库源码,可以根据自己的需要编译生成对应的库;

2024-02-23

libvncserver 动态库(包含mips架构、arm架构、x86架构)

libvncserver 在各个CPU架构下编译的动态库 使用该库可以快速的搭建一个VNC服务端 在信创环境下编译该库 支持各个信创环境,kylin \ UOS 配套文章介绍了该库的用户

2023-08-18

SDL+FFmpeg库实现音视频同步功能

通过FFmpeg库和SDL库实现了音视频操作,简单的一个播放器

2022-10-23

VS2017编译的POCO库包含MySQL和OpenSSL(MT编译静态库)

采用VS2017完全编译的Poco库包含所有模块,静态库

2022-08-25

在ARM架构的Linux系统上编译的ptlib-2_10_9_4库

ARM架构上编译的ptlib库,静态库可以直接拿来使用

2022-08-18

windows版本的ptlib2_10_9_4静态库采用VS2015编译包含64位和32位

ptlib2_10_9_4编译还是比较费劲的,这个包里包含了32位和64位的静态库,编译器采用的是是VS2015

2022-08-18

Qt实现AES加密和解密

Qt自身没有对应的对称加密算法,这里提供一个加密实现,拿来就能用

2022-01-22

OpengGL 参考资料和Demo

OpenGL的详细教程以及对应的Demo教程

2021-11-20

C++读取ini文件.rar

C++语言读写ini文件

2021-07-07

Poco-VS2015-Mt.rar

VS2015编译好的完全Poco库拿来就能用

2021-06-29

C++编码风格指南参考资料.rar

C++编码风格指南参考资料

2021-06-27

空空如也

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

TA关注的人

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