用一个词总结 2024:「野蛮生长」。
什么都想学,什么都想做,什么都想试。精力像是不要钱一样地挥霍。现在回头看,这一年做了太多事,多到有些不真实。
数据与爬虫
年初写了 BOSS 直聘爬虫。起因是想看看市场上都在招什么样的人——作为一个大二学生,对「找工作」这件事的焦虑来得比想象中早。
用 Python 爬取招聘数据,然后做清洗和可视化。写着写着发现,数据分析比爬虫本身有意思多了。pandas 处理数据的优雅、matplotlib 画图的直觉、finebi 做商业智能报表的丝滑——这些东西让我第一次觉得「用代码讲故事」是一件很酷的事。
57 个 Star。说实话超出预期很多。可能大家都想知道市场行情吧。
AI 热潮
2024 年绕不开 ChatGPT。
我做了两个相关项目:search_api 给 ChatGPT 镜像站提供免费的联网搜索能力——因为当时 OpenAI 的 Browsing 功能还没开放,很多国内镜像站需要一个轻量级的搜索 API。16 个 Star,帮助了不少站长。
ChatGPT-Next-Mj 是另一个折腾:把 ChatGPT 和 Midjourney 打包在一起,用 Next.js 写了个私有化部署方案。那段时间每天都在折腾 API Key 轮询、Docker Compose、反向代理。宿舍的灯熄了我还在调 CORS 配置,手机照着屏幕的光,室友翻了个身说「你能不能早点睡」。
第一次做平台
年中做了一个完整的 Cai-API 接口开放平台——前端用 React + Ant Design Pro,后端用 Spring Boot + Dubbo + Nacos 微服务架构,还写了配套的 Java SDK。API 签名认证、流量统计、网关转发,一整套走下来,第一次体验了「做平台」和「做工具」的区别。这个项目让我从前端和脚本的舒适区跳进了 Java 后端的深水区。
比赛
夏天参加了电子设计竞赛,选了 E 题三子棋。我负责视觉检测部分——用 OpenCV 做棋盘识别和棋子定位。tic-tac-toe-ai 的代码不算优雅,但鲁棒性确实不错。赛场上灯光很差、棋盘反光严重,但我们的识别算法稳稳跑过去了。那一刻的成就感比拿奖本身更让人兴奋。
然后是数学建模。连续熬了四十八个小时,MATLAB 代码写到眼花,论文排版改了不知道多少遍。MCM-Notes 记录了清风数学建模课程的笔记。建模教会我一件事:很多时候,解决问题的关键不是写出最优解,而是在有限时间内给出一个「够好」的方案。
服务器被黑
然后——
我的服务器被黑了。
MongoDB 被勒索攻击。所有数据被清空,留下一个叫 READ_ME_TO_RECOVER_YOUR_DATA 的数据库,要求支付 0.01 BTC 赎金。
那一刻是真的慌了。博客数据、项目配置、数据库备份——全没了。我盯着那个勒索信息看了五分钟,脑子里一片空白。
好在之前做过一次手动备份(虽然不是最新的),数据恢复了大部分。事后我花了整整一个周末做安全加固:MongoDB 绑定 127.0.0.1、关闭远程访问、开启认证、配置防火墙规则、设置自动备份脚本。
这件事教会了我一个道理:安全不是可选项,是基础设施。 就像你不会盖完房子再考虑要不要装锁一样。
年底
年底的时间花在「补课」上:Docker 容器化、Git 工作流(Rebase vs Merge 的圣战终于站了队)、Vue 3 的组合式 API、Redis 缓存策略。把之前零散的知识点串成了一条线。技术栈从 Python 脚本小子,逐渐扩展到了全栈的雏形。还写了个赛博木鱼——网页版自动功德机,纯粹是为了好玩。
里程碑
- wps_script 突破 100 Stars 🎉
- bosszhipin_spider 拿到 57 Stars
- 参加电赛和数学建模,体验了四十八小时不间断编程
- 经历并存活了一次服务器入侵事件
- GitHub 年度贡献图终于不再是一片荒漠
技术栈
Python · TypeScript · JavaScript · Java · Vue 3 · Spring Boot · Docker · Redis · OpenCV · MATLAB
什么都学,什么都用,什么都折腾。很杂,但每一样都是用真实项目练出来的。
开源
这一年最大的感悟:开源不只是把代码推到 GitHub 上。写清楚 README、认真回复 Issue、Review 别人的 PR、定期维护——这些「代码之外」的事情,才是开源的核心。wpsscript 有了稳定的用户群,searchapi 帮助了不少 ChatGPT 镜像站。被需要的感觉,是最好的动力。
电子垃圾
- 一台二手的云服务器(后来被黑了那台,RIP)
- 一块 ESP8266 开发板(冲动消费,当时还不会用)
- 域名续费 ¥45
- 无数个深夜和泡面
关于这一年
2024 年活得像一棵野草——没什么规划,但拼命往上长。回头看,很多事情做得很粗糙,很多代码写得不够好。但那种「什么都想试试」的冲劲,可能是这个年纪最珍贵的东西。
不要怕折腾。折腾是年轻人成长最快的方式。
「世界上只有一种真正的英雄主义,那就是在认清生活的真相之后依然热爱生活。」——罗曼·罗兰