2025技术成长复盘:解决问题的365天

又到年底,是时候坐下来,给自己这一年的技术成长做个复盘了。这一年我写了37篇技术博客,总阅读量超过了10万,这在去年我是不敢想的。与其说这是成绩单,不如说这是一份真实的"开发者成长记录"------记录了我如何从一个遇到问题就上网搜索的程序员,慢慢成长为能够独立设计、实现、优化完整工具的开发者的过程。


一、年初的起点:解决问题的小工具

今年1月份,我开始尝试在Qt中解决一些实际问题。那时写的文章很具体:《QTcpSocket中设置接收缓冲区大小》《QDateTime引用技术全解析》,都是开发中遇到的具体问题。我当时想得很简单:遇到问题,解决了,就把过程记下来,下次再遇到就不用重新搜索了。

这其实是大多数开发者刚开始写博客的状态------为了自己以后方便。不过事情很快发生了变化。

2月份,我试着在本地部署了DeepSeek模型,那篇文章意外地火了,有3574个阅读量。这让我意识到,原来很多人跟我有同样的需求------希望在本地环境运行AI模型,而不是完全依赖云端服务。这不仅仅是技术好奇心,而是实实在在的需求:数据隐私、离线使用、成本控制。

但坦白说,那时我的方法还很原始,主要是跟着教程走,遇到报错就一点点查,能跑起来就算成功。

二、上半年的转变:开始设计完整的工具

到了5、6月份,我的博客开始出现明显的变化。我不再只是解决单一问题,而是开始设计完整的工具

这个转变其实有个故事背景。当时工作中遇到一个很实际的问题:我们团队经常需要处理大量的遥感影像,手动一张张调整分辨率、统一格式,既枯燥又容易出错。我花了几个周末时间,基于Qt和GDAL做了一个多线程影像重采样工具。

这个工具做出来,同事们都觉得很实用。后来我想,为什么不把这个过程写下来呢?于是就有了《基于Qt和GDAL的多线程影像重采样工具》这篇文章。让我意外的是,文章阅读量很快超过1200,有20个点赞,18个收藏。

读者在评论区问的问题也变了。以前是"这个报错怎么解决?",现在是"能支持更多格式吗?""批量处理时内存怎么优化?"这说明大家不只是想看我怎么解决问题,更想知道如何设计一个可靠的、能实际使用的工具

受这个启发,我又陆续做了几个实用工具:

  • 一个能批量调整图片DPI的工具,处理上千张图片也不卡

  • 一个从配置文件自动生成数据录入界面的系统,改配置就能出新界面,不用重写代码

  • 一个跨平台的全局输入监控方案,在Windows、macOS和Linux上都能用

这时候我开始明白一个道理:好的技术文章,背后一定有个真实的问题要解决。 读者关心的不是你用了多酷的技术,而是你的方案能不能解决他们的实际问题。

三、技术栈的拓展:从桌面到AI

如果说上半年我主要在深耕Qt和C++,那么下半年我明显开始了技术栈的拓展。

7月份,我在项目中需要处理大量文本相似度计算。直接写循环比对太慢,标准库的方法处理中文又有问题。我找到了RapidFuzz-CPP这个库,它用SIMD指令加速,速度提升了7-9倍。我花时间研究了它的源码和原理,写成了《RapidFuzz-CPP:高效字符串相似度计算的C++利器》。

这篇文章的技术细节可能不是所有人都关心,但它反映了一个很重要的工作方法:当遇到性能瓶颈时,不要只想着优化自己的代码,先看看有没有现成的、更好的轮子

9月份是转折点。我连续写了三篇基于Qt的工具文章,但方向各不相同:

  1. Word文档导出器:因为工作需要把数据导出为格式规范的Word文档,我基于Qt和QuaZIP做了一个工具,支持DOCX、ODT、HTML三种格式

  2. 全局输入监控:研究不同平台的钩子技术,为开发远程控制类应用做准备

  3. Qt本地化深度解析:为软件国际化做的技术储备

这三篇文章看似没有直接联系,但其实都在回答同一个问题:一个专业的跨平台桌面应用,除了核心功能,还需要哪些技术支撑?

四、最近的突破:把复杂AI技术"平民化"

真正让我觉得今年有突破的,是最近写的一篇文章------《VibeVoice 0.5B本地部署与全链路应用技术解析》。

这其实源于一个简单的想法:现在的AI语音合成效果很好,但大多都是云端服务,要么收费,要么有延迟。能不能在普通电脑上跑一个高质量的语音合成模型?

VibeVoice只有0.5B参数,算是轻量级模型,但在我的GTX 1660显卡上测试,延迟能做到16毫秒级别,效果相当不错。我花了近两周时间:

  • 研究了它的混合架构(AR模型生成粗略频谱,Diffusion模型精细处理)

  • 尝试了不同的量化方案,在效果和速度间找平衡

  • 实现了基于WebSocket的流式合成服务

  • 反复测试,把平均延迟优化到5秒以内(从输入文本到听到声音)

文章发出来后,虽然才几个小时,但已经有125阅读、6点赞。更重要的是,有读者私信问我具体的部署细节,他们想把这个技术用到自己的项目中。

这让我想起了年初部署DeepSeek的经历。同样的需求(本地化AI),但这次我能提供的不再是"能跑起来就行",而是一套完整的、经过优化的、可以直接用在生产环境中的方案

五、回头看:这一年我到底学会了什么?

第一,解决问题的方法升级了。

以前我是"遇到问题→搜索→试错→解决",现在是"分析问题本质→设计解决方案→选择合适技术→实现→测试优化"。比如做影像处理工具时,我首先分析了团队的真实工作流程,然后设计了批处理、进度反馈、错误恢复等功能,而不仅仅是实现一个重采样算法。

第二,开始关注用户体验。

做Word导出工具时,我不仅考虑功能实现,还考虑了样式定制、内存优化、跨平台兼容性。有读者告诉我,他用我的方案替代了公司之前买的商业组件,每年省了几万块授权费。这种反馈比任何点赞都让我觉得有价值。

第三,学会了在深度和广度间找平衡。

我主要的技术栈还是Qt/C++,但我不再局限于此。我学了Python来部署AI模型,研究了不同操作系统的底层API,甚至还涉及了Office文档格式标准。专业领域要深,但解决问题的工具箱要广。

第四,理解了"文档即资产"。

这37篇博客,就是我最宝贵的技术资产。它们不仅帮助了别人,更重要的是,在我自己需要回顾某个技术点时,我能快速找到当时的思考和解决方案。有两次面试,面试官直接说"我看过你的博客",这比简历上的任何描述都有说服力。

六、一些遗憾和不足

当然,这一年也有很多做得不够好的地方。

最大的遗憾是深度还不够。虽然涉及了很多领域,但在每个领域都还没有达到"专家"水平。比如在AI模型部署上,我更多是应用现有方案,对底层原理的理解还不够深入。

时间管理也是个问题。 写一篇高质量的技术文章,从构思、编码、测试到写作,往往需要十几个小时甚至更久。有时候工作忙,博客更新就不规律,最长间隔了快两个月。

还有就是缺乏系统性。我的博客文章之间关联性不强,更像是独立的技术点。有读者建议我可以写系列文章,比如"Qt工具开发实战"系列,从简单到复杂,这样学习路径更清晰。

七、给明年的自己定几个小目标

  1. 深入一个方向:在Qt+AI这个交叉领域,做出一个真正有深度的项目。比如开发一个集成了本地AI能力的智能写作助手,或者基于语音交互的桌面应用。

  2. 写一个系列:计划写一个"现代C++桌面应用开发"系列,从基础到进阶,系统地分享我的经验。预计10-15篇文章,每篇解决一个实际问题。

  3. 帮助更多人:今年有几十位读者通过博客联系我,咨询技术问题。明年我想更主动一些,比如在社区定期做技术分享,或者录制一些实操视频。

八、一些真诚的建议给正在成长的开发者

如果你也在写技术博客,或者想提升自己的技术水平,我有几个建议:

1. 从解决自己的问题开始

不要一上来就想写"高大上"的专题。就从你今天工作中遇到的问题开始,把解决过程详细记录下来。真实的问题最有价值。

2. 不要怕展示不完美

我的很多工具第一版都很简陋,但我还是把初始版本和迭代过程都写了出来。读者想看的不是"大神从不犯错",而是"普通人如何一步步做出好东西"。

3. 技术要实用,不要炫技

我用过很多技术,最后选择Qt和C++不是因为它们最时髦,而是因为它们在桌面应用领域最成熟、生态最好。选择技术要像选择工具,合适比先进更重要。

4. 坚持比天赋重要

我写作水平很一般,文笔平平。但因为我坚持写真实的技术实践,慢慢积累了一批认可我的读者。有时候,持续输出比单篇爆文更有价值。

写在最后

回头看看这一年写的37篇文章,从年初的QTcpSocket缓冲区设置,到最近的VibeVoice本地部署,每一篇都记录了一个实际问题的解决过程。

技术成长没有捷径,就是遇到问题,解决问题,然后反思总结。周而复始,不知不觉中就进步了。

这一年,感谢所有阅读、点赞、评论、收藏我文章的读者。你们的每一次互动,都是对我最大的鼓励。

明年,我会继续在技术博客这条路上走下去。希望能写出更多对大家有帮助的文章,做出更多实用的工具。

技术之路很长,我们一起慢慢走。

相关推荐
神仙别闹2 小时前
基于QT(C++)+MySQL实现(窗体)学生信息管理系统
c++·qt·mysql
U-52184F692 小时前
C++ 实战:构建通用的层次化数据模型 (Hierarchical Data Model)
开发语言·c++
charlie1145141912 小时前
深入解构:MSVC 调试机制与 Visual Studio 调试器原理
c++·ide·windows·学习·visual studio·调试·现代c++
Trouvaille ~2 小时前
【C++篇】把混沌映射成秩序:哈希表的底层哲学与实现之道
数据结构·c++·stl·哈希算法·散列表·面向对象·基础入门
肆悟先生3 小时前
3.14 函数的参数传递
c++
wunianor3 小时前
[高并发服务器]DEBUG日志
linux·运维·服务器·c++
天赐学c语言3 小时前
12.19 - 买卖股票的最佳时机 && const的作用
c++·算法·leecode
.小墨迹5 小时前
C++学习之std::move 的用法与优缺点分析
linux·开发语言·c++·学习·算法·ubuntu
努力学习的小廉5 小时前
【QT(五)】—— 常用控件(二)
开发语言·qt