- 博客(49)
- 资源 (2)
- 收藏
- 关注
原创 内存网盘 - Go语言实现的WebDAV内存文件系统
本文介绍了一个用 Go 语言实现的内存 WebDAV 文件系统,所有文件仅存在于 RAM 中,进程退出即自动清空,干净利落不留痕。项目支持完整的文件操作(创建、读写、删除、建目录),并新增重命名功能,完美兼容 Windows 资源管理器。启动后可自动映射为 Z: 盘,像本地磁盘一样拖拽、右键改名,体验丝滑。文中用轻松幽默的方式讲解了内存树结构、WebDAV 协议集成、并发安全重命名等核心原理,并完整嵌入三个 Go 源码文件(main.go、memfs.go、webdav.go),开箱即用。
2025-11-13 23:09:34
759
原创 远程桌面管理神器:go程序员的「服务器后宫」管理器
这篇文章介绍了一款用Go语言开发的远程桌面管理器rdpgowalk,专为解决多服务器管理痛点而设计。文章从程序员的实际需求出发,通过分组管理、多标签页、安全加密等核心功能,提升了远程办公效率。技术实现上结合Go语言和Windows RDP COM接口,保证了工具的轻量高效。文章还提供了详细的安装指南和常见问题解答,并展望了未来功能扩展方向。这款工具结合了实用性与技术创新,体现了程序员解决自身痛点的智慧。
2025-11-11 10:04:03
922
原创 积学成文记
摘要:作者通过整理40余篇Go语言学习博文,深刻体会到"厚积薄发"的道理。文章揭示了学习成长如春苗般潜移默化,写作成果需深耕积累的规律,强调治学当务根本、尊重他人劳动成果的重要性。五言绝句"昔日灯前码,今朝笔下春"生动概括了这一治学心得。
2025-11-10 10:05:51
121
原创 FileSync:Go开发一个“佛系“文件同步小工具(附源码)
FileSync是一个用Go语言编写的轻量级文件夹同步工具,具有"佛系"特色。它能将源文件夹内容同步到目标文件夹,自动跳过日志目录(如/logs/),每小时执行一次同步,并支持优雅退出(输入exit命令)。工具通过比较文件修改时间实现增量同步,保留原始文件属性,采用goroutine实现后台运行。虽然功能简单,但体现了Go语言的并发特性,适用于不需要实时同步的场景。文章还提供了改进建议(如实时监听、自定义忽略规则)和完整源代码,适合开发者参考或二次开发。
2025-11-10 08:31:05
1045
原创 打油诗几首
《现代生活剪影》摘要:三首短诗勾勒出当代人的生存困境。"现状"以诙谐笔触描写电话骚扰的困扰;"醉与醒"通过酒意反衬清醒时的精神困顿;"胡思乱想"则道出职场中的纠结心境。全篇以平实语言展现现代人在工作压力与精神追求间的矛盾,既有对现实无奈的调侃,也透露出寻求解脱的渴望,折射出都市人普遍的心理状态。
2025-11-08 22:45:25
107
原创 用 Go 写个“端口扫描器”,100 行代码扫描你家路由器?(别慌,只是看看谁在开门!)
本文手把手教你用 Go 语言编写一个高并发 TCP 端口扫描器,仅需百行代码即可探测目标主机开放的端口。程序采用“生产者-消费者”模型,利用 goroutine 并发扫描、channel 分发任务、sync.WaitGroup 同步退出,并通过 net.DialTimeout 实现带超时的连接探测。支持命令行指定 IP 和线程数,具备基础输入校验与日志记录功能。文章在轻松幽默中讲解了 Go 的核心并发特性,同时强调合法使用原则——技术无罪,滥用有责。源码简洁实用,适合 Go 初学者学习网络编程与并发实践。
2025-11-08 22:27:08
981
原创 从“双击打不开“到“管理员都服了“:用 Go 打造你的专属 .mgx 编辑器
摘要:本文介绍了如何用Go语言开发Windows GUI应用,实现文件关联、权限提升和消除黑窗口。通过Walk库创建原生界面,程序可以检测管理员权限并自动提权,注册.mgx文件关联(包括图标和打开命令)。使用rsrc工具打包manifest和图标,编译时指定windowsgui子系统,最终生成无黑窗口、支持双击打开的专业应用。完整步骤包括环境准备、代码实现、资源编译和最终构建,相比Electron方案更轻量高效。
2025-11-07 22:48:44
915
原创 震惊!Go语言居然可以这样玩Windows窗口,告别臃肿GUI库
摘要: 本文介绍如何用Go语言直接调用Windows API创建原生窗口应用。通过加载user32.dll和kernel32.dll,定义窗口类结构体和消息处理回调函数,演示了注册窗口类、创建窗口和实现基本消息循环的过程。这种底层开发方式可避免第三方GUI库的依赖,实现轻量级高性能的窗口应用。文章详细讲解了WM_PAINT和WM_DESTROY等关键消息的处理方法,并提供了完整的代码示例来创建一个空白窗口。
2025-11-06 18:15:41
1161
原创 我的打油诗集
这里收录了我创作的各类打油诗、随笔和感悟。这些作品记录了生活中的点滴思考、情感起伏和对世事的观察,希望能与读者分享这份平凡却真实的感受。
2025-11-06 13:18:22
723
原创 剪贴板监控记:用 Go 写一个 Windows 剪贴板监控器
本文介绍了一个基于Go语言和Windows API的剪贴板监视器实现。通过调用Windows的"剪贴板查看器链"机制,该程序可以实时监听用户复制操作,并解析多种剪贴板格式(包括文本、文件和特殊格式)。技术要点包括:利用Windows消息机制处理WM_DRAWCLIPBOARD消息、处理ANSI/Unicode编码转换、文件拖放识别以及内存安全操作等。作者强调这仅作为技术演示,提醒用户注意隐私安全。完整代码展示了如何通过系统底层API实现剪贴板监控功能。
2025-11-05 16:16:47
1391
1
原创 一文讲透 Go 的 defer:你的“善后管家“,别让他变成“背锅侠“!
摘要:Go语言中的defer语句就像可靠的管家,会在函数返回前执行任务。文章通过实例解析了defer的关键特性:1) Go 1.22+修复了循环中的闭包陷阱;2) 慎改命名返回值;3) 结构体方法中指针接收者的重要性;4) 高频循环需用匿名函数避免性能问题;5) 正确测量耗时的写法。还列举了文件关闭、解锁等典型应用场景,并总结出三条使用原则:循环安全但逆序执行、不改返回值、高频场景用匿名函数包裹。正确使用defer能写出更简洁安全的代码。
2025-11-05 11:50:24
694
原创 当 Go 遇上 MP3:一个程序员的“声“命探索之旅
本文通过Go语言实现MP3播放器,揭示了音频播放的技术原理。从文件读取、MP3解码到音频输出,详细解析了数据流经的每个环节:使用go-mp3库将压缩音频转换为PCM样本,通过oto库与操作系统交互驱动声卡播放。文章展现了Go简洁语法背后强大的跨平台能力,以及标准库与社区包的协作哲学。最后给出生产级建议,包括路径处理、播放控制和跨平台构建等技巧,体现了Go在技术与艺术交汇处的独特魅力。
2025-11-04 15:58:44
1024
原创 你知道程序怎样优雅退出吗?—— Go 开发中的“体面告别“全指南
在 Go 并发编程中,优雅退出远不止“收到信号就退出”那么简单。本文从最简单的 goroutine 退出讲起,逐步深入到多级流水线场景,揭示了一个常见陷阱:若所有协程都响应 context 取消信号立即退出,会导致 channel 中未处理的数据丢失。真正的优雅退出应采用“两阶段策略”——首先停止生产者接收新任务,然后让中间和消费层通过 for range 自然排空 channel,确保已入队数据全部处理完毕。配合 WaitGroup 等待和超时兜底机制,既能保证数据不丢,又能防止程序卡死。
2025-11-04 11:05:34
1206
原创 用golang解救PDF文件中的图片只要200行代码!
本文介绍了一个用Go语言编写的PDF图片提取工具,可以一键导出PDF中的嵌入图片。该工具通过pdfcpu库解析PDF文件结构,自动定位每张图片的ID、页码等信息,并以规范命名保存到指定文件夹。用户只需输入简单命令即可批量提取图片,解决了手动保存图片模糊、格式混乱等痛点。文章详细讲解了工具实现原理,包括使用unsafe.Pointer访问私有字段、智能命名防冲突等技巧,并提供了完整的安装使用指南和源代码。该工具让PDF中的图片轻松变为可编辑素材,大幅提升工作效率。
2025-11-03 16:51:49
851
原创 200KB 的烦恼,Go 语言 20 分钟搞定!—— 一个程序员的图片压缩自救指南
为解决学生综合素质评价系统“图片不得超过200KB”的奇葩限制,作者用Go语言20分钟开发了一款轻量级图片压缩工具。该工具采用“先降质量、再缩尺寸”的双阶段策略,结合二分查找算法,在保证图像可用性的前提下精准压缩至目标大小。无需第三方依赖,跨平台一键编译,命令行简单调用,彻底告别广告满天飞的在线压缩网站。代码简洁高效,真正体现了“用编程解决生活小痛点”的极客精神。
2025-11-03 11:36:01
719
原创 从“CPU 烧开水“到优雅暂停:Go 里 sync.Cond 的正确打开方式
本文通过短信发送系统的场景,对比了三种实现方案:忙轮询(CPU高负载)、Sleep轮询(响应延迟)和sync.Cond(最优解)。前两种方案存在CPU资源浪费或响应延迟问题,而sync.Cond通过条件变量机制实现了优雅的goroutine挂起与唤醒,既避免资源浪费又能即时响应。适合需要精确控制goroutine暂停/恢复的高并发场景,是Go语言中实现高效并发控制的推荐方案。
2025-11-02 10:33:58
1105
原创 时移世易,篡改天机:吾以 Go 语令 Windows 文件“返老还童“记
摘要:程序员为解决文件夹创建时间暴露工具实际开发时间的问题,使用Go语言调用Windows API修改文件时间属性。文中详解Windows文件三时间属性(创建、访问、修改)及Go语言实现方法,包含完整代码示例,可递归修改目录下所有文件时间。作者强调该技术应合理使用,警惕滥用风险,并指出此方法仅适用于Windows系统。
2025-11-01 14:03:25
812
1
原创 golang圆阵列图记:天灵灵地灵灵图标排圆形
本文探讨了如何通过编程方式将Windows桌面图标排列成圆形阵列的方法。作者发现可以通过Windows API控制"SysListView32"控件,使用LVM_SETITEMPOSITION命令精确定位图标坐标。关键步骤包括:禁用"自动排列图标"功能、计算圆形坐标布局(X = X₀ + R·cos(2πi/N), Y = Y₀ + R·sin(2πi/N)),以及刷新桌面显示。文中还提供了Go语言实现的源码示例,展示了如何通过调用Windows API实现这一功能。
2025-11-01 00:08:35
617
原创 从 4.8 秒到 0.25 秒:我是如何把 Go 正则匹配提速 19 倍的?
本文介绍了短信风控系统从4.8秒到0.25秒的性能优化过程。通过预编译正则表达式和按签名分桶两大优化策略,处理1000条短信的时间缩短了19倍。关键优化点包括: 消除重复编译正则的开销(V2版本提速6.3倍) 利用业务特征减少80%无效匹配(V3版本再提速3倍) 最终实现单条短信处理仅需256微秒,内存分配从4GB降至9MB。文章提供了完整的代码实现和基准测试数据,验证了"消除重复计算"和"减少无效计算"这两大性能优化黄金法则。
2025-10-30 08:52:44
641
原创 用 Go 手搓一个内网 DNS 服务器:从此告别 IP 地址,用域名畅游家庭网络!
《用Go搭建家庭内网DNS服务器:告别IP地址记忆烦恼》介绍了如何使用Go语言快速搭建一个轻量级的内网DNS服务。文章通过miekg/dns库实现了自定义域名解析(如nas.local指向192.168.1.100)和外部DNS转发的混合功能。只需几十行代码,就能让家庭设备通过易记域名访问,无需记忆复杂IP地址。文中详细提供了源码实现、部署方法和避坑指南(如域名需以点结尾、避免使用真实公网域名等),建议将服务部署在树莓派上实现24小时运行。该方案既能学习DNS原理,又能打造实用的家庭网络工具。
2025-10-29 17:59:30
1370
原创 我用Go写了个华容道游戏,曹操终于不用再求关羽了!
程序员用Go语言复刻经典华容道游戏,包含自定义阵法系统、智能求解AI。通过二维数组表示棋盘,设计不同棋子移动逻辑,利用广度优先搜索算法实现自动求解。项目包含简洁界面、多种经典阵法及提醒诗句,完整源码可供下载体验。
2025-10-29 10:53:28
1010
原创 用 Go 接口把 Excel 变成数据库:一个疯狂但可行的想法
这篇文章展示了如何利用Go语言的接口特性将Excel文件作为数据库使用。作者通过实现database/sql驱动接口,使Excel文件能够像传统数据库一样被查询。核心思路是将Excel文件视为数据库(一个文件对应一个库),工作表视为表,首行为列名。文章详细解析了接口实现过程,包括连接、查询解析等关键代码,最终实现通过SQL语句查询Excel数据的功能。这一创新实践不仅验证了Go接口"鸭子类型"的灵活性,也展示了接口设计在解耦和扩展性上的优势,为数据访问提供了新思路。
2025-10-28 09:35:38
976
原创 穿墙术大揭秘:用 Go 手搓一个“内网穿透“神器!
本文介绍了一个用Go语言实现的内网穿透工具。该工具通过公网服务器作为"中间人",实现外网访问内网服务。核心原理是:1)客户端连接公网服务器生成密钥;2)内网代理客户端通过RPC获取密钥;3)双方通过密钥配对建立连接。系统包含tcpProxyServer(公网代理)、tpClient(内网代理)和真实服务三部分,支持远程桌面、NAS访问等场景。文章提供了详细的使用步骤和注意事项,并强调生产环境需加强安全措施。代码通过通道机制实现密钥传递,利用RPC进行控制通信,最终实现双向数据转发。
2025-10-27 20:45:40
947
原创 布隆过滤器(go):一个可能犯错但从不撒谎的内存大师
这篇博客深入浅出介绍了布隆过滤器这一空间高效的概率性数据结构。它通过位数组和多哈希函数实现,具有「可能误判但绝不会漏判」的特点,能用极小内存空间解决大数据量的存在性查询问题。虽然性能测试显示布隆过滤器查询速度比哈希表慢约42%,但其内存效率优势明显,在百万级数据量下仅需几MB空间。文章详细分析了Go语言实现的源码,并通过缓存穿透防御、爬虫URL去重等实际场景,展示了布隆过滤器作为「内存大师」的实用价值,特别适合需要在内存和速度间寻求平衡的大数据场景。
2025-10-27 12:04:44
680
原创 自由通讯的魔法:Go从零实现UDP/P2P 聊天工具
本文介绍了一个基于Go语言的UDP穿透P2P通信系统,由中介服务器和客户端组成。核心原理是利用NAT打洞技术:两个客户端通过中介服务器交换地址信息后,同时向对方发送数据包,触发NAT设备建立映射规则,从而实现点对点直接通信。
2025-10-26 15:13:53
664
2
原创 Go语言实现的简易远程传屏工具:让你的屏幕「飞」起来
本文介绍了一个基于Go语言开发的简单远程传屏工具,采用C/S架构实现屏幕内容的实时传输。服务端通过Windows API捕获屏幕截图并分片发送,客户端接收后在GTK界面显示。项目具有以下特点:1) 使用TCP协议保证传输可靠性;2) 实现了增量更新优化,仅传输变化的屏幕区域;3) 包含基本的身份验证机制;4) 采用异步处理保证界面流畅。虽然存在安全性不足等问题,但作为轻量级工具已能满足基本需求,并为进一步功能扩展提供了基础框架。
2025-10-25 19:57:05
1009
原创 当你的程序学会了“诈尸“:Go 实现 Windows 进程守护术
本文介绍了一种使用 Go 语言实现的 Windows 进程守护方案,通过主程序和守护进程相互监控实现高可用。核心思路是主程序负责业务逻辑,守护进程定期检查主程序状态,发现异常立即重启;同时主程序也会监控守护进程,形成双向保障。方案采用命令行参数区分进程身份,使用 PID 文件记录进程信息,并通过 Windows API 检测进程存活状态。
2025-10-24 17:29:20
1102
原创 验证码识别API:告别收费接口,迎接免费午餐
本文介绍了一个基于多模态预训练模型的免费验证码识别API服务。该项目使用阿里云的Qwen2.5-VL-3B-Instruct模型,通过Flask框架搭建RESTful API接口,能够准确识别各种常见验证码,识别率达90%以上。服务完全免费、资源消耗低,支持Python和Go语言调用,部署简单只需单文件Python脚本。技术方案包括图像预处理、模型推理和后处理流程,适用于自动化脚本突破验证码障碍的需求。
2025-10-24 09:21:33
1581
原创 用 Go 给 Windows 装个“顺风耳”:两分钟写个录音小工具
这篇文章介绍了一个用Go语言编写的Windows录音程序。程序使用winmm库调用Windows多媒体API实现录音功能,并通过wav库将音频保存为WAV文件。主要功能包括:列出输入/输出设备、以8kHz/16位/立体声格式录音、按回车停止录音并保存为output.wav文件。文章提供了完整的Go源代码,并解释了核心实现逻辑,包括音频格式设置、缓冲区处理和WAV文件封装。同时提醒读者注意错误处理、权限问题和跨平台限制。这个小工具适合录制语音备忘等简单场景,展现了Go语言与Windows系统API的交互能力。
2025-10-23 09:21:43
501
原创 无奈!我用go写了个MySQL服务
一位程序员为解决同事的易语言程序线程安全问题,突发奇想开发了一个"伪MySQL服务器"。该项目使用Go语言实现MySQL协议,将HTTP接口伪装成MySQL查询,让32位易语言程序通过MySQL驱动安全调用。
2025-10-22 11:09:40
1346
原创 使用 Go + govcl 实现 Windows 资源管理器快捷方式管理器
Go + govcl 实现 Windows 资源管理器快捷方式管理器 技术要点: 使用 Go 配合 govcl 框架开发 Windows GUI 应用 通过注册表操作 (HKEY_CLASSES_ROOT\CLSID) 添加/删除"此电脑"中的快捷方式 关键注册表项 ShellFolder 的 Attributes 值设置为 1216348424 实现显示 功能说明: 图形界面支持添加自定义快捷方式 可管理已创建的快捷方式 支持指定图标文件和执行路径。
2025-10-21 22:42:47
760
原创 用 Go 手搓一个 NTP 服务:从“时间混乱“到“精准同步“的奇幻之旅
本文介绍了如何用 Go 语言实现简易 NTP 服务端与客户端。服务端监听 UDP 123 端口,解析标准 48 字节 NTP 请求并返回含四个时间戳的响应;客户端则向该服务发起请求,解析服务器返回的 UTC 时间,转换为本地时区后通过 Windows API 设置系统时间。文章强调了权限要求、时间偏差校验及 UTC 与本地时间转换等关键细节,既有趣又实用,帮助读者理解 NTP 协议核心机制,同时提醒该实现仅适用于测试,不可替代权威时间源。
2025-10-21 16:08:46
761
原创 用 Go 手搓一个 Java 构建工具:当 IDE 不在身边时的自救指南
本文介绍了一个用Go语言开发的轻量级Java构建工具buildjar,用于在缺乏IDE和构建工具的环境下快速编译打包Java项目。该工具仅需200行代码,通过命令行参数指定源码目录、依赖库、主类和输出JAR文件,即可自动完成。
2025-10-21 08:49:58
964
原创 深入理解 Windows 全局键盘钩子(Hook):拦截 Win 键的 Go 实现
本文介绍了Windows钩子机制,重点讲解了如何使用Go语言拦截Windows键(Win键)。通过WH_KEYBOARD_LL低级键盘钩子,无需DLL注入即可实现全局按键拦截。文章详细解析了Go代码实现,包括钩子安装、回调处理和消息循环等关键部分,并说明了如何编译运行。最后指出该方法的局限性,如无法拦截某些系统级组合键(如Ctrl+Alt+Del)。该技术可用于开发键盘记录器或热键管理工具,但需注意合法使用。
2025-10-20 08:57:31
737
原创 用 Go 语言实现《周易》大衍筮法起卦程序
本文介绍了一个基于《周易》大衍筮法的Go语言起卦程序实现。该程序通过模拟传统蓍草占卜的"分二、挂一、揲四、归奇"步骤,生成六爻卦象,并根据变爻规则产生本卦与变卦。系统包含卦象数据加载、爻位计算、卦辞解析等功能模块,可输出卦象可视化结果及相应卦爻辞解释。程序遵循《周易》传统占卜逻辑,将古老筮法转化为计算机算法,为研究《周易》提供了一个数字化工具。
2025-10-19 10:27:30
1334
原创 Go 语言400行代码实现 INI 配置文件解析器:支持注释、转义与类型推断
本文将介绍如何使用Go语言实现一个功能完整的INI配置文件解析器。文章首先定义了核心数据结构,包括IniConfig、Section和Key三个结构体,用于内存中表示INI文件内容。接着详细讲解了词法分析器(Lexer)的实现,通过逐字符扫描输入识别出不同类型的Token。然后介绍了语法解析器(Parser)的设计,包括注释处理、键值解析和值类型自动推断等关键功能。最后讲解了序列化(WriteTo)的实现,确保能正确将内存中的配置写回INI格式文本。
2025-10-18 23:01:29
695
原创 高性能 Go 语言带 TTL 的内存缓存实现:精确过期、自动刷新、并发安全
本文介绍了一种基于Go语言的高性能内存缓存实现方案,支持自动过期和并发安全访问。该方案采用每个Key绑定独立Timer的设计思路,避免了传统轮询方案的冗余和误删问题。核心特性包括:统一TTL设置、自动过期清理、读写并发安全、精确过期控制。文章提供了完整的源码实现,包含Set/Get/Delete等基本操作,并通过详尽的测试用例验证了功能正确性和并发性能。该实现特别适合高并发场景下的缓存需求,具有零分配读操作和可控写开销的特点。性能测试表明,方案在多goroutine并发读写下表现稳定,能够有效管理缓存生命周
2025-10-16 13:56:16
1032
原创 Golang + OpenSSL 实现 TLS 安全通信:从私有 CA 到动态证书加载
文章摘要:本文详细介绍了在Windows系统上使用OpenSSL搭建私有CA,为Gin框架的HTTPS API签发服务端证书的全过程。内容涵盖环境准备(OpenSSL和Go安装)、私有CA搭建(通过PowerShell脚本创建证书目录和配置文件)、服务端证书签发,以及实现Gin服务端的动态TLS证书加载功能。重点展示了如何通过Go代码实现证书文件监听和热更新,适用于企业内网、B2B对接等需要私有安全通信的场景。所有脚本和代码可直接运行,提供了完整的解决方案。
2025-10-15 19:18:05
930
选项卡式rdp连接工具
2025-11-11
go语言开发华容道游戏
2025-10-29
我的电脑中创建和管理快捷方式的程序
2025-10-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅