2025年终总结
前置声明:本图文存在AI修饰
code
先来看看来自https://git-wrapped.com/生成的git总结,它其中的一个背景音乐Acoustic Indie Folk (Years) | Pixabay 确实很好听

相比去年肯定是更活跃了,而且更熟悉现代化的git工程管理与团队协作,真正明白了比如说action、issue都是干什么的。借助GitHub Actions我实现了插件开发-发布的自动化流程,还提交PR修复了Waline路由与静态文件索引的问题,从单纯的开源工具使用者变成了能为社区添砖加瓦的贡献者。
我为编程启蒙游戏RustedWarfare做了VSCode上辅助编写mod的插件,得到了很多modder的支持;除此之外还开发了3个实用工具:专为Chen式ER图设计的chen-er npm包(适配数据库设计课程场景)、hexo快捷提示插件hexo-tips,以及Minecraft Fabric模组Webmapview(内置网页地图浏览功能),这个模组还收到了国外用户的主动催更,算是做出了有实际用户的开源项目。
我的博客主题Stalux 也得到了许多人的认同,不仅搭建了演示站和代码仓库,还成功为此申请到了软件著作权,收获颇丰。今年还入门了Rust语言(门槛虽高但体验到了高效可靠的特性)、体验了国产编程语言Moonbit,也深耕Tauri2.x桌面应用开发,解决了拖拽事件失效、多窗口阻塞、GNOME46+通知无效等3个核心问题,形成了可复用的技术方案。
专业学习沉淀
作为计算机专业学生,今年把课堂知识和博客笔记深度结合,梳理出了结构化的专业知识库:从计算机组成原理的冯·诺依曼体系、进制转换,到计算机图形学的基本图形生成算法(还做了Canvas实践报告);从数据库原理的E-R模型设计技巧,到编译原理的NFA转DFA、LL(1)文法分析;还有离散数学的代数系统、群环域等核心知识点,都通过AI辅助+手动梳理形成了可复用的笔记。
基于数据库课程需求开发的chen-er npm包,也让我把理论落地成了实用工具;同时我也反思了《Web编程技术》这类课程中“大学教育与社会脱节”的问题,结合自己野路子自学的经验,对技术学习有了更深度的思考。
Linux折腾
对于轻薄本来说,Windows如今变得越加臃肿,同时由于AI热潮,硬件成本上涨,与其换电脑,不如换操作系统。久仰Linux大名,作为一名计算机专业的学生,我不怕麻烦,折腾也是一种乐趣,选择了最广泛使用的Linux桌面发行版Ubuntu。
从攻克 Ubuntu 24.04 系统下多个软件适配难题:通过「偷梁换柱」解决 Packet Tracer依赖缺失、成功安装 Vivado 2018.3(兼容课程设计需求)、修复智能卡验证异常与Windows磁盘访问问题,到优化系统使用体验——比如Grub界面美化、侧边栏IP信息展示、配置Docker容器(调整Windows下安装位置),甚至搞定了Tauri2.x在Ubuntu下的跨平台适配问题,我学到了许多Linux使用与运维知识,不过内核知识还是算了吧。
此外还配置了Thetis物理密钥(实现Ubuntu系统FIDO U2F登录),把Linux的安全和实用特性都摸了一遍。
许可与合规
今年,我进一步了解了自由软件运动和开源软件运动,梳理 MIT 与 GPL 协议兼容性,也关注了AI时代的灰色法律地带——比如《人工智能生成合成内容标识办法》,并在博客中明确了AI生成内容的标注规则。
我自己带有软著的主题也差点陷入了fancybox的违规陷阱,这让我清晰地意识到「开放源代码≠开源」,在使用任何开源资源时,务必逐字了解LICENSE条款,做到许可合规。同时也规范了自己一些项目的版权声明,还处理了几起博客文章未经授权转载的版权维护问题。
信息自由与安全
面对来自内外的严峻信息安全威胁,比如防火长城的信息泄露、网络平台审查加深,我决定深耕个人信息安全领域:无意间接触并实践了GPG文化,了解了签名、加密的简要原理,不仅用GPG实现了邮件加密(应对网络审查与安全风险),还通过GPG公钥在知乎上结识了同好并交换了邮箱。
此外还做了不少安全实践:用开源auth验证器替代有密钥导出缺陷的微软验证器、分享钓鱼邮件/Steam盗号人机钓鱼链接的防范技巧、提醒网贷诈骗与学信网骗局,也探寻了某插件的敏感信息泄露问题,算是把安全意识落到了实处。
为了突破信息茧房,我也主动了解了世界各地的新闻媒体,试图从不同视角看待问题,比如关注到俄罗斯用户无法访问Cloudflare的国际网络动态、支持Z-library的筹款活动(为了知识共享)。
游而戏而乐
今年的娱乐生活依旧丰富,既看了《我的世界》大电影、《猪猪侠20周年电影》这类有纪念意义的影片,也在游戏世界里拓展了视野:通关Ubuntu系统Steam适配的《夺命邮差2》、试玩开源沙盒游戏Luanti、体验国产游戏《海岛机器人农场》,还有《kenshi》这款宏大的自由朋克游戏、《无主之地》充满幽默讽刺的射击游戏等等。
算下来,从小时候的FC时代到现在的3A大作,我大概玩了三五百款游戏,有印象、有记录的就有二百多个,游戏不仅是放松方式,也让我接触到了不同的世界观和技术适配场景(比如Linux下的游戏兼容)。
除了游戏,也记录了不少生活碎片:国庆留校复习课程+参与升旗仪式、程序员节(1024)参与GitHub认证并薅了麦当劳29.9元巨无霸套餐的羊毛、骑行赶集体验,还致敬了运维节(7x24)、纪念GNU 42周年(反思AI时代自由软件的精神);作为淘宝店主,还吐槽过「群众计算机素养堪忧」的日常,让生活多了些鲜活的记录。
网站运营迭代
今年是我的博客建站一周年,从初期摸索到形成稳定更新节奏,365天的技术与生活成长都沉淀在这里。我尝试做了友链图谱(基于六度理论可视化友链关系)、以及之前的静态说说页面、自定义友情链接页等核心功能;也做了不少性能优化:首页文章懒加载(解决DOM节点过多问题)、hexo资源压缩(用hexo-all-minifier)、修复Bing搜索结果消失与索引优化、解决GitHub Actions文件时间戳丢失问题,让博客的体验和运营效率都上了一个台阶。
快码加编
技术开发、专业学习、网站运营、网络安全、生活兴趣、开源贡献,这六个维度构成了我的2025——从想法落地成有软著的产品,到沉淀结构化的知识体系,再到通过博客和开源社区分享价值,这一年的折腾和沉淀都有了实实在在的结果。
对2026,我的祝愿是:继续把「落地、沉淀、分享」的关键词贯彻到底,把更多技术想法变成可用的工具,在开源社区里做更多有价值的贡献,也在技术之外保持对生活的热爱,快码加编,步履不停~

/** * 快码加编 🐎 - TypeScript版核心函数 * 【核心寓意】:以「策马扬鞭」喻「编码加速」,「码」通「马」双关,呼应2026新年愿景 * */interface CodeHorseResult { /** 状态寓意:编码进程的精神内核,「加速中」象征持续奋进不躺平 */ status: string; /** 目标寓意:承载2025落地成果、2026开发计划的具体锚点 */ target: string; /** 速度加成寓意:「×N倍」象征技术熟练度提升、工具链优化带来的效率跃迁 */ speedBoost: string; /** 核心寄语寓意:「快码加编」的具象化表达,每一个!都是「扬鞭」的动作隐喻 */ msg: string;}
/** * 快码加编执行函数 * @param code 编码目标【寓意】:可传入2025的成果(如"Stalux主题获软著")或2026的规划(如"开源量产"),是「策马」的方向 * @param speed 加速倍率【寓意】:默认10,数值越高代表「加鞭」力度越强,隐喻技术积累、工具优化带来的开发效率提升 * @returns 编码加速结果【寓意】:封装「目标-速度-状态」,象征每一次编码都是有方向、有节奏、有成果的「策马前行」 */function horse(code: string, speed: number = 10): CodeHorseResult { // 基础寄语:「快码加编」核心文案 + 目标锚点,寓意「方向明确,策马有向」 const baseMsg = `快码加编 🐎:${code || "敲码不歇,步履不停!"}`;
// 感叹号重复:每一个!都是「扬鞭」的动作隐喻,speed越高,扬鞭越频,加速感越强 const boostMsg = baseMsg + "!".repeat(speed);
// 逐字符打印:「策马奔腾」的动态体感,寓意编码不是一蹴而就,而是步步进阶、持续加速 let printIndex = 0; const timer = setInterval(() => { process.stdout.write(boostMsg[printIndex] || "\n"); printIndex++; if (printIndex > boostMsg.length) clearInterval(timer); }, 50 / speed); // 速度越高打印越快:寓意「技术越熟练,开发越高效」
// 随机激励语:选自2025的核心经历(开源、Linux、插件开发),寓意「以过往经验,激励未来前行」 const motivateWords = [ "bug退散,效率拉满!【寓意:2025踩过的坑,都成2026的避障术】", "一行代码,千行功成~【寓意:2025的小工具开发,沉淀为2026的大成果】", "开源有我,代码不躺平!【寓意:从工具使用者到社区贡献者的身份进阶】", "2026继续折腾,代码狂飙!【寓意:延续Linux折腾精神,技术探索不止步】" ]; const randomMotivate = motivateWords[Math.floor(Math.random() * motivateWords.length)];
// 延迟打印激励语:「扬鞭后冲刺」的节奏,寓意沉淀之后再发力,厚积薄发 setTimeout(() => { console.log(`💨 【加速加成】${randomMotivate}`); }, 1000 / speed);
// 返回成果状态:封装目标、速度、状态,寓意「每一次编码加速,都有可落地的成果」 return { status: "编码加速中", target: code, speedBoost: `×${speed}(快马加鞭版)`, msg: boostMsg };}
// 调用示例(贴合2025年终总结场景,每一个调用都是「2025成果回顾+2026目标展望」)horse("搞定Stalux主题开源并拿下软著", 15); // 15倍速:寓意「核心成果,加速沉淀」horse("Ubuntu 24.04软件适配全通关", 20); // 20倍速:寓意「折腾越深入,效率越翻倍」horse("2026实现开源量产", 25); // 25倍速:寓意「新年新目标,策马再扬鞭」
留言评论