19 岁年度总结
恍惚间,竟然已经 20 岁了。
19 岁这一年,我除了编程还是编程。就简单叙述一下这一年的事件吧,让 AI 生成了小标题,改善了一下名词堆砌和标点符号,其余纯手敲
2024.10(第一次真的喜欢上编程)
其实挺巧的,就在去年的这个时候,我喜欢上了编程,喜欢上了 Go 和 Python。
先得感谢我的兼班豪哥:大一班会上他告诉我们 GitHub 和一些学习网站,我才第一次知道什么叫开源、什么叫 Git。
关于 Go 呢,当时我还处在被 C 折磨得死去活来的状态。恰好撞上字节青训营,又恰好我相中了后端(前端对我来说像“用代码画画”,我是真画不出美感;而后端的描述又天花乱坠)。就在那时,我第一次配好了 Go,第一次跑起一个 web 程序(字节给的:调用在线词典 API 做命令行查词)。
说实话我那时候啥也不懂,但就是有一种难以言表的愉悦。像小时候第一次握笔写字、第一次用筷子——一种对“自己创造能力飞跃”的不可思议。尽管我当时像小学生在听高中知识,但仍然受益匪浅:我第一次听见代理协议、第一次听见 JSON 这种数据格式,第一次摆脱课本苦涩的语法,看见一个活生生的 app。
同时,结营要求算法题数量,从 C 到 Go,我第一次真正享受到了“写起来顺手”的便利。可以说,Go 是我第一个实实在在觉得喜欢的语言,到现在仍是我挚爱。
2024.11(上头到离谱)
这时我第一次在力扣上做题,忘不了“两数之和”,忘不了当时怼着 AI 问:为啥这代码能运行?class 是啥意思?为什么没有 main 函数?哈哈。
那又是什么让我喜欢 Python?
这个时间段,Anthropic 发布了 Claude 3.5 Sonnet。我在油管第一次看见 Claude 官网的 artifact 实时预览——我当时大吃一惊,不亚于看见原子弹在我眼前爆炸。后来我花了不少力气整到了个镜像站,同时也第一次用上 ChatGPT。
我能力依旧差劲得很,但我想做一个自己的开源项目,我也想在 GitHub 上贡献出自己的代码。
或许是一时兴起,或许是认知有限。那时我见过的小工具基本就是爬虫、下载器。我一行 Python 都不会写,但我拷打了一星期 Claude,做出了人生第一个开源仓库:一个简陋的 QQ 音乐下载器。
想起来还是很欣喜:当时我甚至三天加起来没睡够五小时,但身心完全不疲惫,脑子里全是“这里加一个什么、那里加一个什么”的奇思妙想。
但现实总是残酷的。随着代码越来越多、越来越绕,我那时也不懂怎么拆模块、怎么把逻辑理顺,AI 也开始跟不上我的需求,项目就这么不了了之。
不过也就是在这时,我第一次真正上手了 Git,第一次知道 Python 的虚拟环境、面向对象、类和方法,也第一次接触到做前端页面和静态站点发布这种玩法。尽管当时很菜,甚至把虚拟环境都传上 GitHub,但回想起来也会不自觉轻哼:那是我真的在“长出技能”。
2024.12(服务器 + 域名,开始折腾)
这时我第一次知道 DNS、Docker、Linux、API、反代、代理,也第一次拥有了自己的服务器和域名。
服务器怎么来的?当时 GitHub 学生包认证过了,Azure 送了一台,DO 送了一台。
服务器拿来干啥?因为我的镜像站跑路了,而我又了解到了“调用 API 和大模型对话”。我去找市面上的客户端,前前后后用了 CherryStudio、Chatbox,但它们的多端同步都太烂了,于是我开始找 web 程序。
当时很多 webui 只能用一种固定接口格式,我转向另一个热门:LobeChat。我那会儿一行命令行都看不懂,硬生生跟 AI 扯皮扯了四天,加上域名备案——我一行自己写的代码都没有,但我部署了一个最简陋的 Nginx 反代 Docker 容器。
那是我第一个部署到公网的 web 程序,第一个带数据库的程序,也第一次折腾 VPN 这种东西。从那一刻开始,“代码不是只在我电脑里跑”,它第一次真的上了网。
2025.1-4(断电:玩麻了)
期末月紧张复习,然后沿袭了高中的陋习:寒假一直在玩,一行代码都没看。第二学期回来学校,又花了一个多月调整回来。
现在回头看:热情会过期,习惯才续航。
2025.5(蓝桥杯:两周把自己逼疯)
大概是这个时候,我备赛大学第一个比赛:蓝桥杯。说起来很庆幸,犹豫到最后还是报名了。
这个月我认认真真补算法和数据结构。两周时间像在补一张“刷题地图”:
- 先把基础结构过一遍,搞清楚它们各自擅长干嘛;
- 再把常见思路练到条件反射——比如处理数组时怎么更省、更快,窗口怎么滑更舒服;
- 需要维护“当前最优/最差”时怎么用一个结构把它稳住;
- 遇到树和网格就用搜索把路走一遍;
- 碰到需要“合并归类”的就想办法把集合管起来;
- 后面再接触到更“像工程”的东西:怎么找最短路径、怎么在很多选择里回头试错……
第一次不是背名字,而是能把它们连起来用。
紧张的两星期,最后拿了省一、国优。我简直是疯了, 我竟然忘记报名四级[苦涩]。
其实不止这些,这个月我还接触到了 agent、MCP 这些概念,顺便把“模型如何调用工具、如何记住上下文、如何把流程跑起来”理了一下:我开始意识到让模型“能干活”不是一句提示词那么简单,它需要工具、状态、流程。但很可惜,期末又来了。
2025.6(期末。略)
紧张刺激的期末,没啥好说的。
2025.7(犀牛鸟:第一次被现实教育)
压抑了一个月,特别想编程,是一种久别胜新婚的别样心情。忙忙碌碌一个月天天睡五小时,家都没回,但这个月其实没做出什么好成果。
这时候我报了腾讯犀牛鸟项目,选了最贴近的:做“腾讯文档表格转网页”的 MCP。报的时候心高气傲,写的时候生死难料。
实现原理看起来并不复杂,但难的是业务细节:
- 表格太大、内容太多,模型的上下文装不下;
- 图表颜色、样式对不上;
- 我前端又不熟,连布局都调不好,只能开着调试工具一点点试。
最后代码一路膨胀成屎山,还是没能按时把它做成我想要的样子。
这对我是一记重击,也让我第一次真切意识到:打铁还需自身硬,AI 能写出来的上限,取决于使用者的水平。
这段期间我第一次用上 Claude Code。它很强,但也做不到完全独立。我也第一次比较系统地接触“架构”这种东西:怎么分层、怎么拆模块、前后端怎么配合,以及测试、领域建模这些听起来很“工程”的概念。另一方面,为了省成本我还做过一个小工具,把不同平台的接口格式互相转换——这种小活反而特别能涨经验。
2025.8(运维爽 + 数模疯)
总算归家,休息了一周。紧接着一周,我捣鼓起服务器、域名和 Linux。
本来是用 WSL,后来给自己电脑装 Linux,美滋滋学运维和操作系统;结果被高分屏折磨眼睛,最终还是选择 SSH 连服务器 + WSL。
这时已有服务器性能不够,于是我重金购入一台 4c8g。结果性能反而过剩:那不行,得想办法压榨。
于是我在上面部署面板、搭建域名邮箱、博客、API 中转站、看电影的网站、PDF 工具站等等。捣鼓半天服务器负载竟然还不到 10%,力竭了——但不得不说,我对 DNS、HTTP、Linux 命令和系统的理解,确实大大提升。
八月中旬我又想起来:哎呀,报了数学建模比赛。紧张刺激备赛、提前回学校和队友整真题,最后也有所收获:省一。
数模真的是一个你打了一次就相思的比赛。
三天加起来睡 10 小时,最后一天完全没睡直到提交。
2025.9(生病,直接暂停)
我精神本来就挺萎靡,被数模摧残之后本来想潜心钻研基础知识:算法、计网、MySQL、Redis……结果居然生了一场大病,导致博客断更,雄心壮志刚开的公众号也鸽掉了。
2025.10(想法很大,能力跟不上)
台风加国庆短暂休养,状态又回到巅峰。雄心壮志冒出来两个想法:
- 做微信机器人,主动提醒上课时间地点、待办事项等功能。结果被封了几次号,说我用脚本外挂,我老实了。
- 做 AI 面试网站,想加点个人画像、智能评分啥啥啥。捣鼓半个月后我发现:
- 市面上太多现成品,没有那种成就感;
- 而我的项目步伐迈太大,导致我跟不上 AI 写到哪,最后停摆。
这个月就这么结束了。我学到啥了?漫无目的刷算法题、背八股——不行,我不能这样。
于是我重新捡起书:Go 语言圣经、设计模式、图解 HTTP……我突然发现,曾经看不懂的文字,在经历了十几个异想天开的 vibe coding 项目停摆之后,仿佛有了血肉。那些曾经云里雾里的感觉,竟然大大减轻了,我开始觉得**“看得见、摸得着”。**
2025.11(第一次手搓:终于有掌控感)
这是我第一次真正意义的手搓项目。
耗时三天:跟着文档和论坛经验,敲出来第一个登录注册、货币兑换、评论点赞的简单后端;加了登录态、缓存、把服务跑起来、把数据库连上。虽然是基础功,但这是我第一次完整地自己:写配置、读配置、定义数据结构、把服务和数据库用容器编排起来、把路由一条条写清楚。
天啊,这完完全全是和用 AI 另一种体验。
如果说 vibe 是快餐式的爽,每一步都容易脱离自己掌控的无奈;那么“古法编程”就是一种极致的享受感——一种真正能掌控自己作品的快乐。与此同时,我才真正串联起以前稀稏疏疏的知识体系,才知道中间件到底是怎么用的。
我现在的态度是:
- 学习的话:请细细品味官方文档,让 AI 当老师教自己,而不是当包工头指派 AI。
- 开发的话:别惦记古法,老老实实拥抱 AI——生产里,快速上线更重要。
又浅浅打磨几天,夯实技术栈后,我决定做一个简历上能放的项目:展示技术栈,而不是产品价值。挑挑选选,还是做了最传统的“高并发高可用电商秒杀平台”。
十来天,手搓 + AI,大概 4500 行代码。明明比以前纯 AI 搓的代码量少很多,但我第一次有了“掌控感”:我说得清每一步为什么这么设计、出了问题该从哪查、瓶颈大概会在哪出现。
我把秒杀最难的几件事拆开逐个解决:
- 并发下也不能乱:下单、生成订单号这种事得稳,不能撞车、不能重复。
- 库存不能靠祈祷:关键步骤要尽量做到“要么成功要么失败”,别留下半吊子中间状态。
- 流量像洪水:不能所有请求都直接冲数据库,得想办法把尖峰削平,让系统按自己能扛的节奏处理。
- 验证要靠打:我开始做压测,亲手把它压到报警,再回去对症优化。
- 第一次真正理解“正确”和“性能”的取舍:事务在保护什么,一致性到底怎么保证,什么时候该强一点,什么时候该放一点。
直至今天我仍在做这个项目:准备正式上线、正式压测、正式自己打爆自己的服务器。然后——天啊,四级大人放过我,期末考大人放过我。
一点碎碎念(关于 AI 和学习)
我觉得代码能力的成长就在一次次循环中:
- 从觉得嚼文字味如嚼蜡,于是去写代码实践;
- 从写代码业务卡壳、某个地方需要优化,于是又回去嚼文字、夯实基础;
- 一圈一圈循环,再加上其中不断出现的新组件、新概念,慢慢丰富自己的计算机世界。
这是需要内驱力的。主动接纳知识和被迫接纳知识,完完全全不一样。
当我缺少成就感、缺少大局方向感的时候,我根本没办法进步,只觉得在受罪。这时候,AI 能快速给我展示一个程序从 0 到 1 的过程:成就感来了,兴趣来了,我就愿意去写。
但当我过度依赖 AI,我又会饱受“无法真实掌控项目”的懊恼:我意识到自己必须配得上代码,才能为代码负责。
我该怎么形容这种感觉呢——AI 写代码的时候信息量是爆炸的,它会强制让我的知识视野变大。但这像一块逐渐膨胀的奶酪:体积在变大,内部却充满洞。洞就是知识之间的空隙。你不填满,知识就是一座座孤岛,是死水;你就构建不出完整体系。
填洞只能靠自己:看书、看文档、理解联系。于是成长确实是螺旋上升的:实践应证理念,理念指导实践。
我很庆幸有 AI。它像一个不会抱怨、行走的巨型搜索引擎,允许我短时间刨根问底,接纳我一次次笨拙的提问。
最后
最后,还是祝我生日快乐吧。
希望下一年能拿到心仪的 offer,保证博客不断更,英语不过期,坚持算法与八股(别鸽),每天进步一点点。
如果你看完之后对你有帮助,我很开心