
项目
3297 字 / 14 分钟
GitHub Contributions
近一年提交了 1475 次
我给我自己贴的标签是 TypeScript 全栈开发。但我对这个称呼其实并不自信,所以后面加了小字「存疑」。因为我知道自己的能力和经验都不足以支撑起「全栈」这个词语。
发展路径
在我写的项目当中,几乎 90% 都是 TypeScript 生态的。尽管也用过 Python、Java 甚至 Rust,但 90% 以上都是 Agent 写的,只是为了完成特定的任务才去做的,比如大作业、比赛的项目等,都是一次性的。所以就不把它们算作熟练掌握的语言了。我最先接触的领域就是前端,这点在我的 GitHub 主页有提到,大概是 2022 年左右。
至于后端,那时只了解一些基本的概念,写过一些简单的 Demo,2023 年接触了 PHP 和 Node.js。一直到 2024 年才第一次用 TS 写了个 Nest 项目。也是从 2024 年开始我才陆续接触除了前端以外的领域,比如 DevOps。2025 年帮老师干活的时候体验了一下若依,最大的感受就是 Java 真臃肿,所以没走 SpringBoot 这条方向。
不过建站和运维我反而接触的比较早,大概是 2020 年,毕竟不存在门槛。那会用 Typecho 和 WordPress 搞了个和学校相关的网站,也算是打开了计算机的大门了。也得益于这一点,后续反过来学习 Web 领域的知识时压力并不大。我这种从建站反过来到 Web 的可能确实不多。Anyway,如果非要说一个我最熟练的语言,可能是 CSS。
此外,因为我接触前端时还是 2023 年初,LLM 几乎没有能力独立编写前端,CSS 只能纯靠手调。就算是现在的 Agent,在 UI 设计方面也很难一句话生成出「有美感」的界面。不过现在 LLM 的发展速度确实很惊人,一月一变样。GPT 3.5 发布后的三个月,大概是 2023 年 1 月,我第一次接触了 GPT。当时只是拿来应付 VB 期末考的。震撼的是,GPT 3.5 给我的答案真的能跑。完全不可思议的,我当时对 AI 完全没有印象。当时我也不了解 YOLO、CNN,只是当成小爱同学、Siri 这类近乎于不可用的助手。在我不了解机器学习之前我甚至还以为是简单的 IF-ELSE 弄出来的状态机。
2023 年我还找了个 GPT Plus 的合租。2025 年开始自己单独开了个账号续费,现在还在用。不过震惊归震惊,当时用 AI 一直都没什么危机感,那时我一直是当作 Tutor 去问问题的,项目复杂度一高就搞不定了。其实一直到 2025 年上半年我都没什么危机感。直到下半年 Vibe Coding 概念的出圈和 Claude 4、GPT 5 的问世让我有了一丝危机感,拿「人还是要做架构设计」这种大道理来骗自己,属于是自欺欺人了。
我已经从很多地方听到了这句话,但不见得说这句话的人架构能力有多么优秀。真正的架构取舍、实现细节和性能问题都是需要一点点磨出来的,Agent 接手的越多,我越是不安。但该用还是得用,我彻底拥护 AI 大人。从 GPT 3.5 问世到现在不过短短四年,虽然也不短了。
要不要转到嵌入式、硬件开发去?
专科的学长和我闲聊的时候曾说他自己「转到嵌入式,人家是全栈,我是全会」。在几个月前我还真的在想要不要仔细考虑一下这个事,于是我的毕设刻意选择了需要嵌入式实现的部分。但做完毕设以后,事实告诉我,我做不到。从零开始换一条赛道需要更长的时间积累。或许我能做的也只是让 Agent 写固件代码,自己点个按钮刷进去就好了。
除了代码,嵌入式更需要的或许是有能在现实中解决电气连接或是物理问题的能力。线有没有插稳、空气湿度太高、静电、灯不亮、数据没通过串口过来、GPIO 接反,这些问题都是毕设中我碰到的问题,从头积累经验可能太累了。
正因为此,实在想不到我的能力是什么。所以我只能给自己安一个全栈的 Tag,GPT 安慰我说「做好最后一公里的事也是一种能力」,希望是吧。如果未来能考上公或是考上研,那自然最好。最近,我也偶尔会幻想一下自己换到另一个行业会是什么样的。销售柠师傅?电工柠师傅?
里程碑
这里列几个有里程碑意义的项目,不过不怎么多,估计一只手数得过来。写的小工具或者意义不大的项目就不列出来了。
- 自己 Minecraft 服务器的 Wiki 和门户站(2022)。因为当时自己 MC 服务器有 MediaWiki 维护的需求,作为服主的我前前后后设计了很多版首页的 UI 方案。在设计的过程中,接触到了 HTML、CSS、JavaScript 和 PHP(MediaWiki)。
两年后的 2024 年 7 月,为了设计服务器门户站,我第一次接触了 Vue(第一次选的 Vue 2),用 Vue 实现了我前端学习史上第一个标准的(包管理器)前端项目。不过这个项目后续没有上线,因为功能有点混乱,想着后续花时间改改,但一直拖到现在了。
总之,给自己 MC 服务器设计的过程中也被迫学习和接触了不少知识,除了前端还有一些网站运维和建站的知识。 - 中职时期给班上人和自己写的考试刷题系统(2024),基于 Nest + Vue + TS 的前后端分离的 Web 项目。其实初版是传统 JavaScript + PHP 简易后端组成的,现在的 Nest 框架是 2024 年暑假重构的时候才选的。
网站一直更新到 2025 年中(下一届学弟学妹们也要用,但学弟学妹们没有下一届了,所以就停更了),目前已经 Public Archive 了。
但这是我第一次用正经的后端框架写的标准后端项目。而且还完整的从编写、上线、测试到用户反馈的过程(班上同学和学弟学妹们)。虽然目前回头看也有一点黑历史。 - 给 Wiki.js 写的覆盖 CSS(2024),纯 SCSS 项目,GitHub Star 数最多的一个项目。技术上没有什么值得拿出来说的,放在这当个纪念。或许这也是我最出名的项目,加我的蛮多 Coder 都是因为这个项目,也有一些是关于 Wiki.js 或者是 MediaWiki 部署的问题来的 —— 或许正在看这个页面的你也是从这里来的吧?
- 自己的介绍网站(2024),也就是本站。第一次接触 Nuxt 全栈框架后写的项目,不过除此之外并没有很出彩的地方。—— 哦!有的,出彩的地方正是我超天才般的 UI 设计啊!认真地。我确实比较满意。别说我是 Agent 写的,Agent 只负责我已经想好的内容。本站所有 UI 都是我一点点调的,不要侮辱我,要攻击我可以直接说我是 SB,不要喷我的项目,谢谢!
- 自己 Minecraft 服务器的 Portal 站(2026),基于 Nuxt 的 Web 项目。其实有一个失败的前身项目。等我过段时间做完了,再回来详细补充内容。就当作 Placeholder 吧。
学习范式
但是做了这么多项目,只会感觉越来越悲观。我曾经下意识的以为,只需要把基本的语法知识掌握,大部分难题可以迎刃而解。但现实告诉我并不是这样。所谓「掌握知识」,并非只是记住一套 API 的调用规则,或者熟练背诵几段 TypeScript 的高级类型体操和设计模式。我以前真的下意识的认为,只要搞懂了 Vue 的响应式原理或者 Node.js 的事件循环,就能在工程里横推一切,我还真买过这些课程。我也天真的认为,算法和数据结构,只需要知道大概的原理就好了,反正在社交场合中可以作为彰显自己技术能力的谈资。
事教人一次会。一到真实场景就露馅了。比如从零构建一套前后端分离的架构、处理 CI/CD Workflow,甚至只是在重构项目时把底层从 SQLite 迁移到 PostgreSQL。我才慢慢的意识到,语法只是扳手,最核心的能力其实是对整个系统的把控,即「工程直觉」。现在的我永远无法理解为什么当初自己会遵循一套这样毫无逻辑的学习范式。仔细推敲一想,其实非常不合理。或许只有在现在才能有时间和精力好好的总结和复盘。以前还贱兮兮的喜欢看不起别人的项目。自大的时候看什么都觉得简单、自己也能做到(还好我已经把那些令人尴尬的言论和小作文全部隐藏了)。
在我学习高数时才发现,似乎得把所有条件理清楚,仔细分析可能出现的情况。这本质上和项目开发没有很大的区别。人的确会下意识地美化和掩盖自己的行为,出现问题时简单糊弄过去就行了。或许,这些问题的根源正是我从小以来没有培养良好的学习习惯和复盘习惯导致的。世界可能是一个巨大的混沌系统,学习本身就是一件很累的事情,是一件需要持续投入、耗费大量精力的事情。但「会不会」只有自己知道。
遗憾的是,最近我才意识到:学习是必须要输出的。自己不去复盘、回忆、总结,怎么可能快速提升自己的能力?我所谓的「项目经验」,可能只是多年经营网站的过程中,无意识间积累的经验,当回头去看对应的知识点的时候,理解只是水到渠成的事。但这种单纯依靠实践而不总结的学习速度实在是太慢了。但如果想要进步,就必须付诸行动。随着了解的深入,越能感受到自己的渺小。事实上我只是一个连做 i18n 都需要问 LLM 的人,Nuxt 的打包和 HMR 更新问题偶尔都会让我花很久的时间,每一个环节和细节都需要考虑到,即便现在的开发生态已经是高度抽象的。
虽然我的标签里写着 DevOps,但 DevOps 的领域太复杂了,可能我折腾一天,也只能是刚配好一个 Workflow,当中间出现什么意外的时候,有需要花费很久的时间去处理。虽然我知道,这是学习的必经之路。当我给自己贴上 DevOps 这个标签的时候,确实有一种强烈的背德感,我确实在给自己贴标签。更不用说 Web、TypeScript。这些其实是我不自信的表现之一。Engineer 确实是一个责任感很重的词。
优雅的处理细节和边界条件是一个很难的事情,从这个角度来看,我只是一个卑微的代码缝合工。再换个角度来看,人又何尝不是大语言模型呢?
技术广度
扯远了。其实除了 TypeScript、Web 以外的语言和领域,我也多多少少接触过一些,毕竟我第一个系统学习的语言是 C(2021 年),虽然了解的不多。稍微列几个用过的语言在下方。
- 用 Java 写过一些 Minecraft Mods 和 Plugins(Agent 协助)。
- 用 Rust 写过一个比赛的 Web 项目(Agent 协助),后续是国三。
- 用 Python 写过一些 Excel、自动签到或是 ML 训练的脚本(部分 Agent 协助)。此外,因为专升本的专业课包含 Python,所以复习了一两个月 Python 的基本语法。
- 用 C 做过基于 ESP32S3 的毕设。
简单列一个掌握程度表的话,是这样的:
- T0(最熟悉的):HTML、CSS、TypeScript(含 JavaScript)。
- T1(比较熟悉):Java、Python。
- T2(看着眼熟):Android 开发(上过一段时间的课,做过几个大作业)、Rust、C、C++。
我 GitHub 上占比最高的应该是 Vue 和 TypeScript。有时候忙活了一整天,打开 Profile 一看到满满的绿点点就会很有成就感,哈。不过我也在想 PR 和 Issues 率是不是太低了,毒舌 GitHub 对我的评价非常准确,极其准确。
2026 年 6 月 29 日 1:50
3297 字 / 14 分钟