<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[希望我的博客，能帮上你解决学习中工作中所遇到的问题]]></title><description><![CDATA[希望我的博客，能帮上你解决学习中工作中所遇到的问题]]></description><link>https://blog.youkuaiyun.com/it_xiangqiang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; it_xiangqiang]]></copyright><item><title><![CDATA[QT 实现QLineEdit输入的时候自动补全功能（附完整源代码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/151219270</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/151219270</guid><author>it_xiangqiang</author><pubDate>Fri, 05 Sep 2025 11:45:33 +0800</pubDate><description><![CDATA[QT 实现QLineEdit输入的时候自动补全功能（附完整源代码）]]></description><category></category></item><item><title><![CDATA[QT 实现实现动态画折线图（附完整源代码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149980528</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149980528</guid><author>it_xiangqiang</author><pubDate>Wed, 06 Aug 2025 20:50:49 +0800</pubDate><description><![CDATA[本文介绍了使用Qt框架（Qt 5/6）实现动态折线图的方法。通过QWidget+QPainter自绘方式，实现了动态添加数据点（模拟实时数据）和图表自动刷新的功能。文章提供了完整的代码实现，包括main.cpp、dynamiclinechart.h和dynamiclinechart.cpp三个核心文件，演示了如何绘制坐标轴、折线以及处理动态数据更新。该方法使用QTimer定时刷新，通过QVector存储数据点，并实现滑动窗口效果。文中还说明了如何将模拟的正弦波数据替换为实际数据源，适用于需要实时展示动态数据]]></description><category></category></item><item><title><![CDATA[C语言实现带通滤波器的DSP(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367768</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367768</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 20:36:29 +0800</pubDate><description><![CDATA[本文介绍了用C语言实现IIR二阶带通滤波器的数字信号处理方法。主要内容包括：1) 使用Biquad结构设计巴特沃斯滤波器，给出了系数计算公式和归一化处理；2) 详细说明了滤波运算过程及状态更新方法；3) 提供了完整的可编译代码示例，包含参数设置、测试信号生成和滤波处理；4) 说明了如何根据带宽要求计算Q值。该实现适用于音频处理等场景，可通过修改截止频率和采样率参数适应不同需求。文章还简要比较了IIR与FIR滤波器的实现差异，为DSP领域开发者提供了实用的参考方案。]]></description><category></category></item><item><title><![CDATA[C语言实现sqrt函数的三种方法(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367185</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367185</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 20:17:29 +0800</pubDate><description><![CDATA[本文介绍了C语言实现平方根函数的三种方法：牛顿迭代法通过迭代公式逼近精确解；二分法利用区间不断缩小范围；标准库函数直接调用math.h中的sqrt。每种方法都提供了完整代码实现，包括错误处理（负数输入）和精度控制（1e-8）。文章还展示了整合三种方法的测试程序，适合面试准备和学习数值计算。牛顿迭代法和二分法是常见面试考点，而直接调用库函数是最简便的实现方式。所有代码可直接运行测试。]]></description><category></category></item><item><title><![CDATA[C语言实现状态机的三种方法(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367106</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367106</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 20:13:58 +0800</pubDate><description><![CDATA[本文介绍了C语言实现状态机的三种方法：1）switch-case方法，通过分支语句实现状态转换，适合简单场景；2）状态转移表法，使用二维数组定义状态转换规则，便于维护复杂状态机；3）函数指针映射法，将状态封装为独立函数，实现面向对象风格。每种方法都提供了完整代码示例，展示了从状态定义到转换处理的具体实现。根据状态机复杂度可选择不同方案，switch-case适合简单逻辑，转移表适合中等复杂度，函数指针法则适用于需要封装状态行为的场景。]]></description><category></category></item><item><title><![CDATA[JavaScript语言实现一个完整的Promise(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367068</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149367068</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 20:11:47 +0800</pubDate><description><![CDATA[本文实现了一个符合Promise/A+规范的简化版Promise类，包含核心功能和常用静态方法。主要特点包括：1) 三种状态管理(PENDING/FULFILLED/REJECTED)；2) 支持异步执行和回调队列；3) 实现then方法的链式调用；4) 包含resolvePromise处理逻辑避免循环引用；5) 提供catch、finally方法；6) 实现静态方法resolve/reject/all/race。代码通过setTimeout确保异步执行，并处理了值穿透、异常捕获等边界情况。该实现可作为理解]]></description><category></category></item><item><title><![CDATA[go语言实现原子操作实例(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366771</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366771</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 20:08:58 +0800</pubDate><description><![CDATA[本文介绍了Go语言中sync/atomic包的原子操作使用，通过一个并发累加计数器的实例演示了原子操作的应用。示例中启动10个goroutine对计数器执行1000次原子加1操作，最终确保结果正确为10000。文章还列举了其他常用原子操作函数如Add、Load、Store和CAS等，并指出原子操作适用于简单数值类型的并发场景，复合类型操作建议使用sync.Mutex。该技术可有效解决并发编程中的竞态问题。]]></description><category></category></item><item><title><![CDATA[go语言实现raft协议(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366525</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366525</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 19:59:05 +0800</pubDate><description><![CDATA[本文介绍了一个简化版的Raft协议Go语言实现，主要关注Leader选举和心跳机制。代码实现包括Raft节点结构、三种状态(Follower/Candidate/Leader)转换、随机选举超时和心跳检测等核心功能。通过Go通道模拟RPC通信，节点可以发起投票请求、处理心跳消息并完成Leader选举。测试代码创建了5个节点的集群，运行后会随机选出Leader。该实现未包含持久化、日志压缩等生产级特性，仅用于学习Raft基本原理，可作为理解分布式一致性算法的入门示例。]]></description><category></category></item><item><title><![CDATA[go语言实现大文件读取(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366423</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366423</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 19:53:45 +0800</pubDate><description><![CDATA[本文介绍了两种使用Go语言高效读取大文件的方法。第一种是按行读取，适合处理文本文件，通过bufio.Scanner逐行扫描；第二种是分块读取，适合二进制文件或高性能场景，通过固定大小的缓冲区读取4MB数据块。两种方式都能避免一次性加载整个文件到内存，适合处理GB~TB级别的大文件，并提供了完整的示例代码和性能统计。最后对比了两种方法的适用场景，强调内存可控性对大文件处理的重要性。]]></description><category></category></item><item><title><![CDATA[go语言使用切片实现环形队列--支持多协程(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366339</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/149366339</guid><author>it_xiangqiang</author><pubDate>Tue, 15 Jul 2025 19:49:32 +0800</pubDate><description><![CDATA[go语言使用切片实现环形队列--支持多协程(附完整源码）]]></description><category></category></item><item><title><![CDATA[go语言实现simHash算法文本查重 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932158</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932158</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:51:04 +0800</pubDate><description><![CDATA[本文介绍了一个用Go语言实现的SimHash算法用于文本查重的示例。代码包含三个核心部分：1)基于正则的简单分词功能，2)SimHash签名计算（使用MD5哈希生成64位特征向量），3)通过汉明距离比较文档相似度。示例展示了如何计算三段中文文本的SimHash值并比较其汉明距离，距离≤3-5可认为文本相似。文章指出该算法适用于大文本查重，建议对中文分词可优化使用专业分词库，并可根据需求调整汉明距离阈值或引入TF-IDF加权。代码提供了完整的实现，包括分词、哈希计算和相似度比对功能。]]></description><category></category></item><item><title><![CDATA[go语言实现平滑重启 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932125</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932125</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:49:08 +0800</pubDate><description><![CDATA[Go语言实现平滑重启（Graceful Restart）的核心是使用文件描述符继承技术。父进程监听端口，重启时启动子进程并传递监听socket，子进程接管后父进程优雅关闭。示例代码展示了基于net/http包实现的HTTP服务器方案，通过SIGUSR2信号触发重启，SIGTERM/SIGINT优雅退出。该方案完全使用标准库实现，适用于Unix平台的HTTP/TCP服务，能实现服务不停机升级。测试时可通过kill命令发送USR2信号触发重启，观察PID变化确认服务已平滑切换。Windows平台因不支持fd继承]]></description><category></category></item><item><title><![CDATA[go语言实现数据库的批量更新 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932104</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932104</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:46:30 +0800</pubDate><description><![CDATA[本文介绍了使用Go语言实现数据库批量更新的方法，主要针对MySQL数据库并通过CASE WHEN语句实现高效更新。文章提供了完整的代码示例，包括建立数据库连接、准备数据、构建批量更新SQL语句（使用CASE WHEN语法）和执行更新操作。该方法通过一条SQL语句更新多条记录，比逐条执行更高效。注意事项包括：替换实际数据库连接信息、确保表结构已创建、安装MySQL驱动等。该方案适用于需要更新不同字段值的批量操作，可显著提高性能。]]></description><category></category></item><item><title><![CDATA[go语言实现yaml文件节点动态解析 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932075</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932075</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:44:44 +0800</pubDate><description><![CDATA[本文介绍了在Go语言中使用gopkg.in/yaml.v3包动态解析YAML文件的方法。通过yaml.Node结构递归遍历YAML层级，支持解析对象、数组和基础类型节点，不依赖预定义结构体。文章提供了完整示例代码，包括读取YAML文件、节点遍历函数和路径输出，适用于配置探查和通用YAML处理场景。该方法可灵活扩展，如将路径和值保存到map等数据结构中，适合需要动态解析任意YAML结构的应用场景。]]></description><category></category></item><item><title><![CDATA[go语言实现实时聊天系统 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932038</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932038</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:43:00 +0800</pubDate><description><![CDATA[本文介绍了使用Go语言实现的简易实时聊天系统。服务端基于gorilla/websocket库，实现WebSocket连接管理、消息广播功能；前端采用HTML+JS，提供简单的聊天界面。系统支持多客户端实时通信，用户可输入用户名和消息进行交互。文章提供了完整的代码实现，包括服务端消息处理逻辑和前端WebSocket连接代码，并说明了如何运行该系统。该实现适合学习WebSocket通信原理或小范围局域网使用，但未包含生产环境所需的安全和稳定性功能。]]></description><category></category></item><item><title><![CDATA[go语言实现一个人员管理系统案例 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932013</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148932013</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:40:48 +0800</pubDate><description><![CDATA[本文介绍了一个用Go语言实现的简单人员管理系统。系统采用控制台交互方式，实现了人员信息的增删改查功能，包括添加人员、查询所有人员、按ID查询、修改信息和删除人员。代码使用结构体存储人员信息，包含ID、姓名、年龄和联系方式等字段，并通过全局slice进行管理。程序提供了清晰的主菜单界面和输入提示，适合Go语言初学者理解项目开发流程。文章还包含完整的源码和使用说明，并建议可以进一步扩展持久化存储等功能。该系统代码结构清晰，易于理解和扩展。]]></description><category></category></item><item><title><![CDATA[go语言实现本地文件及目录监控(附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148931987</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148931987</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:39:21 +0800</pubDate><description><![CDATA[这篇文章介绍了如何使用Go语言的fsnotify库实现本地文件和目录监控功能。程序能够递归监控指定目录及其子目录，实时检测文件的创建、修改、删除和重命名操作，并将变动信息输出到终端。文章包含完整的源码实现，详细说明了如何递归添加监控、处理文件系统事件以及运行程序的方法。同时提供了使用说明，包括依赖安装和运行示例（如监控/tmp/test目录）。最后指出该方案具有跨平台支持（Linux/macOS/Windows），并建议在生产环境中需要完善错误处理等额外功能。]]></description><category></category></item><item><title><![CDATA[go语言实现aes_cbc_pkcs5padding_base64_utf8 加密解密 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148931964</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148931964</guid><author>it_xiangqiang</author><pubDate>Thu, 26 Jun 2025 19:37:54 +0800</pubDate><description><![CDATA[本文提供了一个完整的Go语言实现AES-CBC加密解密的解决方案，支持PKCS5填充和Base64编码。代码包含加密函数AesCBCPKCS5EncryptBase64和解密函数AesCBCPKCS5DecryptBase64，能够处理UTF-8字符串。实现要点包括：使用标准库的PKCS7Padding（兼容PKCS5）、16/24/32字节的密钥长度、16字节IV、以及严格的错误检查。测试代码演示了完整的加密解密流程，并提醒开发者在实际应用中应安全生成密钥和IV。该实现可直接用于需要AES-CBC加密的项]]></description><category></category></item><item><title><![CDATA[go语言实现base62编码 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148434100</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148434100</guid><author>it_xiangqiang</author><pubDate>Wed, 04 Jun 2025 20:16:23 +0800</pubDate><description><![CDATA[该博文为原创文章，未经博主同意不得转载。本文章博客地址：https://cplusplus.blog.youkuaiyun.com/article/details/148434100。你可以根据需要自由修改 base62Charset 的顺序，但编码和解码时要保持一致。上述实现利用 math/big 支持任意长度字节切片的编码和解码。Base62 编码通常用于短链接、唯一标识等场景。]]></description><category></category></item><item><title><![CDATA[go语言实现三重DES加密算法 (附完整源码）]]></title><link>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148433879</link><guid>https://blog.youkuaiyun.com/it_xiangqiang/article/details/148433879</guid><author>it_xiangqiang</author><pubDate>Wed, 04 Jun 2025 20:02:36 +0800</pubDate><description><![CDATA[下面是一个用Go语言实现三重DES（Triple DES, 3DES）加解密的完整示例代码。Go标准库crypto/des和crypto/cipher已经提供了3DES相关的支持。本示例采用CBC模式，并使用PKCS5Padding填充。]]></description><category></category></item></channel></rss>