MoreRSS

site iconXiaoZongLin | 肖宗林修改

网名:林林。学生,初二开始写博客,在维护(或曾经维护过)“开往-友链接力”和“中文博客列表导航”项目。
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

XiaoZongLin | 肖宗林的 RSS 预览

西电信安协会招新系统 Golang 后端开发小记

2026-02-05 18:07:31

大概是,今年 1 月份与协会的 CopperKoi 同学把协会的招新系统重新做了一版。CopperKoi 用 Vite 写前端,他和我用 Golang 写后端。后端用 gin 处理请求,用 gorm 对接数据库。文章到这里就结束了。

招新系统公测截图

接下来是废话时间。

CopperKoi 真的是一个很厉害的大佬。

吹,接着吹

迎新页面(一般每年由大一同学建设)

引自某个文档

大概就是这样,今年我们在使用的招新系统有一些功能需要改进,但我找不到代码仓库,协会服务器里的站点文件夹里赫然堆着 Flask 大代码,明显不是今年用的这个。又听学长说历来都有大一新生写招新页面的传统,就来了。

CopperKoi 此前跟我聊过前端。当我问他愿不愿意带飞我做一个招新页面时,他欣然答应了。此前写过一些关于流程和数据库的设计图,CopperKoi 也写了接口文档,开整!

Golang 写完之后可以直接部署成二进制文件,这一点比 Python 方便许多。虽然能做到这一点的语言很多,Python 也有 Pyinstaller,不过没用过。

我们在开发的过程中有一些迷,这里记录一下。

前后端分离了怎么用 X-CSRF-Token 来防 csrf:好像光想着要放 csrf 了,但我们不是前后端分离了吗?😅后来 CopperKoi 想到前端把 JWT 放在 Authorization Header 不依赖 Cookies 就可以让 csrf 几乎不可能实现。

腾讯的 CodeBuddy 写代码是真的快。我刚开始边翻文档边写代码速度好慢,把文档交给 ai 没过多久路由就都写好了。目前公测没有报告出 ai 代码的问题(只有我灵机一动犯的错)。但是 ai 写代码和我一样有时会出现想当然的错误。

ai 的幻觉(幸好我略微熟悉代码)

密码怎么传输?我原本以为在后端 bcrypt 的基础上前端用 sha256 加密之后传输会安全一点,并且将这个设计补充到文档里。但当我问 Deepseek 时,它给出了不同的意见(聊天链接)。“sha256 碰撞都来了。”CopperKoi 经过一番研究之后采用了 Deepseek 的建议,传输明文密码,传输过程中的安全由 https 来保障。

没过几天,CopperKoi 的前端也写好了。测试的时候公告的置顶接口出现了一个很奇妙的问题。

接口原本用来绑定 body 的模型

接口通过 Params 获取要置顶 / 取消置顶的公告的 uuid,通过 ShouldBindJSON 函数将 body 绑定到模型上。Pinned 布尔值为真则置顶公告,为假则取消置顶。

但是我在测试的时候发现:置顶公告的功能可以跑通,但取消置顶都会报告“参数校验失败”的错误。欸,明明 body 的结构符合要求啊。然后,就出现了惊天大瓜。

看到这个回答我脑子都宕机了

六百六十六。我和 CopperKoi 都看呆了。当我们把这个发给学长时,他给我们分享了这个。

When I send a JSON request with the value true it works, but when I send the same request with false I get the following error.

In summary you need a pointer or custom type to know if the value exists due to Go’s static nature.

Bool binding required Bug · Issue #814 · gin-gonic/gin

然后学长跟我们介绍了一件事情。

对于一些可以 nil 的字段而言,静态检查十分重要。GORM 的默认主键自增是从 0 开始的,不是从 1 开始,而你初始化系统用的第一个账户大概率是 admin 账户,账户 id 大概率也是 0。如果因为某些 bug,鉴权中间件没绑上 id……所有人都是 admin 了,而且 go 不会有任何错误汇报。

寄。但我们主键用 uuid 好像把这个坑绕过去了。(不然高低也要踩一回)

给 CopperKoi 提建议的时候我可得劲啦!我给 CopperKoi 提了:将性别从 input 改为单选框、textarea 没有限制宽度可以拉出容器边框、简历显示不出来等等…我们改、测得差不多之后就把代码部署上去让协会里的人公测。

在公测之前,我灵机一动:要不把里面能提的东西都提到 env 里面吧,把参数硬写在代码里不太优雅。然后我看到了 JWT 的 secret…让程序从 env 里面获取 secret。我真是个甜菜!(操作没错,但我的环境变量是用 .env 设置的)

想当然地让程序从 env 里获取密钥

在公测的那天晚上,服务就被学长攻破了。

学长通过修改 JWT 越权访问面试官才能访问的接口

学长通过 gpt 发现的。

jwtSecret =[]byte(os.Getenv("secretKey")在包初始化阶段执行,而 env 是在 main.go 里godotenv.Load()才加载;结果 jwtSecret 可能为空字符串。攻击者可用空密钥自行签发 JWT,伪造 role=interviewer 直接接管所有受保护接口。

gpt如是说

把 secret 硬编码在代码里就把这个漏洞 fix 了。

CopperKoi/XDSEC-Recruitment-System:协会2026招新系统前端
Xiaozonglin/xdsec-join-2026: 西电信安协会2026招新系统后端

西电信安协会招新系统 Golang 后端开发小记最先出现在林林杂语

关于辞去“开往友链接力”项目维护组负责人的辞呈

2026-02-03 15:59:00

亲爱的开往项目社区,
尊敬的项目创始人逊狼,
维护组、巡查组的各位同事们:

我在此宣布,我将在不久后辞去开往项目维护组负责人一职。

在我负责开往项目各项事务的四年多来,我受到了来自维护组的同事、博主、网友以及家人的鼓励和支持。他们的支持让我备受鼓舞,坚持在维护项目这条路上走下来。能与各位一起改进开往项目,是我的荣幸。在这里,我对与我并肩处理项目事务的维护组成员、利用零碎时间为项目做贡献的巡查组成员、向我们提出宝贵意见的社区成员、在我遇到困难时给予支持的家人,以及所有使用开往、向我们反馈问题的访客,表示由衷的敬意和衷心的感谢。

在大家的共同努力下,开往官网变得更加美观,跳转页更加多样,项目的知名度也稳步提升。截至撰写本辞呈时,项目仓库的 Star 数量已经突破 1500 个。我在浏览博客留下评论时,偶尔遇到认出我的博主;也欣慰地看到,许多博主将开往作为发现同好、串门交流的窗口。这一切都让我深感自豪。

为确保项目平稳过渡,我已制定以下计划:

  1. 项目现状:项目的代码、议题和讨论均托管在 GitHub 上,目前服务稳定,状态良好。
  2. 继任者:根据项目运维规定,并经过慎重考量,我提名 Kegongteng 接任项目维护组的负责人。他自 2024 年 4 月起加入维护组,长期负责项目的文案工作,熟悉项目各方面的情况。我对他稳步推进改革、沉着应对挑战的能力充满信心,并将全力支持他完成过渡。
  3. 过渡期:接下来的一段时间里,我将作为顾问协助 Kegongteng 熟悉各项职责,日常决策将由他牵头负责。
  4. 权限移交:开往的组织权限将在本周内完成移交。域名、服务器等关键基础设施的移交方式,将由维护组后续根据需求共同商议决定。

在项目的成长过程中,我们听到了来自社区的各种声音,其中既有鼓励也有批评。这些不同的视角,始终是推动开往前行的宝贵动力。我深信,一个健康的开源项目正是在倾听、讨论与迭代中不断完善的。此刻,虽然我选择卸下负责人的职责,但这份对项目“孩子”般的珍视之情丝毫未减。我将继续以社区成员的身份,关注并支持开往的未来发展。大家仍可通过我的社交媒体或个人博客与我联系。

我对开往项目的未来充满信心,我相信项目将迎来更辉煌的篇章。

最后,再次致以我最诚挚的谢意。

祝好,

林林

关于辞去“开往友链接力”项目维护组负责人的辞呈最先出现在林林杂语

博客访问体验量化评估方法的失败探索尝试

2026-01-26 23:32:12

1. 前言

在浏览博客的过程当中,有一些博客以其花里胡哨的设计掩盖其贫瘠的内容。今天在友情链接串门的时候发现博友发了一篇《老派博主的博客体验笔记》,将访问体验这个东西又搬到台面上讨论。文章评论区多是吐槽文中提及的这种花里胡哨的设计。若是吐槽,我没办法发出什么有新意的评论。如何建立一套量化评估博客访问体验的方法,给出一个能够代表博客访问体验的数值,这让我感兴趣。

本文预期达成以下目标:

  • 给出一个量化博客访问体验的公式
  • 给出公式中一些权重值的支撑实例
  • 建立一个测试博客访问体验的网站,给出得分和改进建议

你可以直接跳到本文的后言

2. 影响因素

网页设计的过程中应当有效管理视觉配色、规范设计排版样式和精简 Tab 标签信息等事项1。结合各位大佬发的文章(《谈谈不受欢迎的博客技术特征》《关于无后端 web 服务的优化方案和思路》《中文博客倡议》等),容我粗略总结博客访问体验的影响因素,也就是评估应该纳入考量的东西。

  • 访问所需时间(域名解析耗时、TTFB、FCP、LCP等)
  • 不必要的特效(鼠标移动、评论区打字时的特效)
  • 与博客功能没有关联的设计(华丽的背景大图、看板娘、弹窗、切换标签页改标题、悬浮音乐播放组件、广告过滤程序检测器)
  • 影响阅读的设计(难以阅读的艺术字体、颜色对比度、文字大小、无订阅源)
  • 烦人的限制(禁止复制、右键、F12)
  • 没什么内容的文章还弄 AI 摘要
  • 移动端的适配

访问所需时间以及与浏览器有关的指标基本都可以用代码来测。下面由我对影响因素进行逐一分析。

2.1 访问所需时间

为了探究访问所需时间的几个指标的影响,我对 100 个博客进行了测试,由于网络条件,我只测试成功了 36 个,拉了一张表出来。

序号 博客名称 URL 总耗时(s) TTFB(s) LCP(ms) DOM加载(ms)
1 TomyJan 的博客 https://blog.tomys.top 29.044 0.040 19951 2232
2 不淡定的实验室 https://xd.sh.cn 27.441 0.366 18673 2303
15 御坂の地下室 https://misakamoe.com 9.494 2.110 4320 4876
18 花开陌上 https://moshanghua.net 9.160 1.590 4050 4108
35 夏日鱼塘 https://www.summerpond.cn 6.176 0.089 1676 1550
36 MBRjun-Blog https://www.libmbr.com 5.879 0.044 1257 1313
表一 36 个博客的访问耗时、TTFB、LCP 和 DOM 加载耗时

上表中的第 1 个博客虽然测出来的总耗时较长,但是实际访问似乎在 1500ms 前就将主体内容(网站名称、简介、背景图片)加载出来了,后面不知道在加载什么东西。自动播放音乐 + 弹窗广告 + 切换标签页改标题 + 看板娘,后面可以用这个网站做测试(也是 buff 叠满了)。第 2 个网站也是,前 1500ms 就把文章列表这些内容加载好了,后面请求 gravatar 头像的时候拖了 14 秒……感觉是这些没用的资源把 LCP 抬高到原本不属于它的高度。虽然无语,但是这两个例子说明页面加载的总耗时没办法代表我们访问博客时的实际体验。TTFB 能稍微体现访问网站刚开始空白加载的时间,但代表性不大。DOM 加载时间的差别我访问时是感受不到的。

啊,感觉找的这几个指标都挺废的(虽然指标优秀的博客访问体验的确挺好)。于是,我问 Deepseek:

你知道有什么指标可以用来描述页面加载的流畅程度吗?有些网页 1500ms 前就把主体内容加载出来了,但是后面在加载一些无关紧要的东西,拉长了加载时间,LCP 也不低。

它向我推荐 Speed Index 和 TTI 这两个指标,「页面内容视觉填充的速度」和「页面完全可交互的时间」,感觉是我想要的指标。拿这两个指标再测一下,拉一个表。

排名 博客名称 URL Speed Index(ms) TTI(ms)
1 Foxhole https://blog.southfox.me 15903 10541
2 异国迷宫的十字路口 https://blog.fivezha.cn 14955 3264
3 ADD-SP‘s Blog https://www.addesp.com 14402 11609
56 杜老师说 https://dusays.com 2137 1519
57 夏日鱼塘 https://www.summerpond.cn 1731 1591
58 MBRjun-Blog https://www.libmbr.com 1429 1317
59 Declan’s Blog https://blog.haojin.li 1092 1092
表二 部分博客的 Speed Index 和 TTI

不得不说,这两个指标还真「有点东西」。Speed Index 高的博客相比于 Speed Index 低的博客页面加载感觉会慢一点。TTI 在一些 Speed Index 比较高的博客反而比较低,例如表一的第 1 个博客,Speed Index 为 13580ms,而 TTI 却为 2144ms,有一些资源加载很慢,但页面主体加载比较快,访客访问很快就可以与页面交互了。因此,TTI 比 Speed Index 更能够描述页面主体的加载速度。

故,我们可以粗略定义一个基于访问速度的因子:

Factor=100×2.52.5+ln(1+TTI1200+Speed Index1800+TTFB×1000350)\text{Factor} = 100 \times \frac{2.5}{2.5 + \ln\left(1 + \frac{\text{TTI}}{1200} + \frac{\text{Speed Index}}{1800} + \frac{\text{TTFB} \times 1000}{350}\right)}

我们可将 Factor 视作 TTI(ms)、Speed Index(ms) 和 TTFB(ms) 的函数,函数具有以下性质:

  • 单调递减:随着性能指标变差(TTI↑、SI↑、TTFB↑),因子↓
  • 值域:(0, 100],理论上不可能达到100,易于理解
  • 对数让 Factor 更贴近人眼的感受

我又双叒给这个 Factor 拉了一张表。

排名 博客名称 URL Factor
1 MBRjun-Blog https://www.libmbr.com 69.84
2 ncc 的个人网站 https://www.zqcnc.cn 69.49
3 杜老师说 https://dusays.com 67.77
4 夏日鱼塘 https://www.summerpond.cn 67.76
5 SkYe’s Blog https://www.mrskye.cn 64.98
23 F 君的博客 https://blog.fkun.tech 50.95
24 静静的小窝 https://wznmickey.com 49.95
25 HandSonic‘s Blog https://handsonic.top 47.67
26 提莫酱的博客 https://www.timochan.cn 46.75
27 人家故里 https://fx7.top 46.45
表三 Factor解析式方案一实测数据

原本还有另外一个解析式来增大不同博客 Factor 的区分度,但是测了一遍「属实」是太有区分度了,没用这个。既然做了,公式和数据贴在这里。

Factor=max(0,100(TTI50+Speed Index100+TTFB×200)0.7)\text{Factor} = \max\left(0, 100 – \left(\frac{\text{TTI}}{50} + \frac{\text{Speed Index}}{100} + \text{TTFB} \times 200\right)^{0.7}\right)
排名 博客名称 URL Factor
1 f2h2h1’s blog https://f2h2h1.github.io 89.97
2 飞刀博客 https://www.feidaoboke.com 86.93
3 爱吃肉的猫 https://meuicat.com 85.81
4 晓雨杂记 https://www.lihaoyu.cn 85.78
5 MBRjun-Blog https://www.libmbr.com 85.72
100 BOB’S BLOG https://www.itbob.cn 76.54
101 Revincx 的小破站 https://blog.revincx.icu 76.31
102 a.d博客 https://blog.aiheadn.cn/ 76.16
103 刘郎阁 https://vjo.cc 76.12
104 树洞笔记 https://www.x8xx.cn 76.05
105 无用笔记 https://www.xhily.com/ 76.00
251 希望的博客 https://www.xiwangly.com 56.69
252 空鸣深语 https://blog.deepchirp.com 56.56
253 陌子夕生活记 https://mozixi.com 56.28
254 异国迷宫的十字路口 https://blog.fivezha.cn 55.99
255 夜庭記 https://musenxi.com 55.95
304 F 君的博客 https://blog.fkun.tech 30.51
305 阿云的宝库 https://www.yunxge.cn 28.91
306 imba久期的博客 https://imba97.com 28.76
307 Sakitami 的集装箱 https://blog.skihome.xyz 19.38
308 海蓝岛 https://hailandao.com/ 9.80
表四 Factor解析式方案二实测数据

2.2 不必要的特效和设计

原本以为这一块的检测做起来会比较容易,没想到 Deepseek 给出的几版代码误报都很严重,比如误报禁止 F12,误报对比度不足,报告标题文字过大等等……(已晕厥)

程序在检测看板娘、弹窗的时候采用的方式有限,只是通过检测 live2d、waifu、kanban、看板娘、pio 等关键词来实现。

图一 检测结果

FactordesignFactor_{\text{design}}初始化为 100 分,然后按照不同类型的问题扣减不同的分数。

图二 分数生成代码

由两个因子组成总分数。

Scoretotal=Factorperf×Factordesign100Score_{\text{total}} = \frac{Factor_{\text{perf}} \times Factor_{\text{design}}}{100}

3. 搭建测试网站

使用 Flask 弄了一个小网站,可以输入一个博客,会给出博客的分数。然后我拿我自己的博客进去测了一下:不合格。(事已至此,已成艺术)

图三 拿我自己的博客进去测试一下

4. 后言

对比前言提出的预期目标,本文既没能给出一个令人信服的公式,也没能搭建一个可以对访问体验进行测量的框架。本文所做实验是相当失败的。

本文没能正确评估这项工程的复杂性。打开一个网页给人的主观感受不是一两个指标所能反应的,总有博客与实验预期格格不入。探测悬浮组件、鼠标特效也缺乏有效的方案。指标只能反映出过程的某个侧面。我在对比数据的过程中,有时感觉不到数值差异巨大的博客给我感受上的差别。

若有人能够对博客的访问速度、内容质量、页面设计进行量化,并用作对博客进行筛选的指标,那量化的东西就不再是好的了。“当一项指标成为目标时,它就不再是一个好指标了。”古德哈特就像这些指标的诅咒。我失败了,就没脸说量化这个东西是个徒劳。愿意尝试这个东西的人也不会把这篇文章当回事。模拟不出来是我菜,不是不行。

本文的用处可能远没有谈论博客体验的博文用处大。

抱歉,各位读者。

附录与参考文献

Xiaozonglin/webpage-visit-feeling-score: 博客访问体验量化评估方法的失败探索尝试

  1. 孙聪妮.视觉元素在网页设计中的应用与研究[J].卫星电视与宽带多媒体,2019,(19):56-57 ↩

博客访问体验量化评估方法的失败探索尝试最先出现在林林杂语

整活:基于对等原则的流量交换系统

2026-01-16 17:18:10

起因是我在“开往-友链接力”项目审核的时候,偶尔遇到一些博客站长非常在意自己的流量,在审核通过之前不把链接挂上去,觉得提前挂是开往占了便宜。被恶心到了,于是我想着做一套基于对等原则的流量交换系统(也就是一个链接跳转),这样链接双方给彼此的流量就是接近的,谁也不占谁的便宜。

这个系统的功能非常简单,只需要给一个跳转的路由传从哪里来和到哪里去,加一些判断逻辑就可以了。下午四处查文档花了一点时间。

系统具有以下特性:

  • 静默跳转:跳转时没有提示页面,非常丝滑
  • 非对等阻拦:当流量不对等时对跳转进行阻拦,将访客送回原地址,决不让另一方占任何便宜,做到真正的对等

流量在交换的过程中可以有20%的透支,也就是一个方向的流量大于另一个方向流量的1.2倍才会阻拦,避免频繁出现阻拦的情况,优化访客体验。

代码实现得比较简单,计数机制没有区分是不是同一个访客,没有针对访客滥用刷次数建立防护机制。

跳转过程非常丝滑,访客感受不到有中间页面
当流量出现不对等时,中间页面会将访客送回原页面

“开往-友链接力”项目本来就是一个流量交换项目。且不论流量对不想靠博客赚钱的博主有什么意义,如果吝惜自己那可怜的流量又想要别人链接给自己流量,这跟贫穷的守财奴有什么区别?

项目地址:Xiaozonglin/swap-system-based-on-equality-principle: 基于对等原则的流量交换系统

整活:基于对等原则的流量交换系统最先出现在林林杂语

生日(贰)

2025-12-26 00:18:16

但在此时此刻,你的出生是值得被庆祝的。

在之前的 《生日》一文中我写到过这样一句话。

一年中平平凡凡的日子那么多,可“生日”对每个人来说似乎都是特别的。记住别人的生日,常被视为拉近关系的一种方式——可我连父母的生日都记不牢。有一个例外:我清晰地记得“他”的生日,就在我生日的后一天,也就是第一个月的第五天。

如今我与他,大概已是“形同陌路的朋友”。为他写一篇文章很难,也写不真实。我曾为高中班里一位同学写过博客,那好歹是两年间的见闻与经历拼凑而成;而对他,我手头只有一部分残缺的聊天记录,以及他在社交频道里的零碎推文。我看的动画不多,但听说“朋友”是个很重要的概念。朋友究竟是什么呢?我曾把他当朋友吗?他又是否曾把我当朋友?

我已不记得我们是如何相识的了。翻看他博客里的截图,才确定是三年前的一月。我们在微信上热聊了好几个夜晚,交流福建与山西的习俗,我吐槽这里一下雨就能下一个月,问他那里下雪吗,考他为什么福建沿海降雨反而不如内陆多……对当时的我而言,北方的一切都新鲜而遥远;他也耐心地与我聊着,无话不谈。他喜欢打“舞萌”,那大约是一种音游。他曾喜欢过“散兵”——而散兵的生日,恰巧是第一个月的第三天。

他有一位很优秀的女朋友,据说从小学习信息学竞赛。

我和他曾互相写过一次信。我寄给他一张与他女朋友相关的厦门大学明信片,那是特地从出租屋抽屉里翻出,塞进书包的。今年三月,他从太原回寄了一封,信里提到他们高二做果酒果醋的实验,也向我流露他对成绩的焦虑。那时我已无法在周末去邮局寄信,便用活页纸写了回信,拍照发他。“转到文科已经不现实,焦虑没用,重要的是行动,行动啊!”我这样写道。他或许是听进去了。

那封信里,他还问我关于双相情感障碍的看法。今年二月时,他曾突然问我:“抗抑郁药推荐药店还是就诊医院买?”我一时错愕。“真的要到吃药的地步吗?”我问他能不能尝试心理咨询,他说不行;能不能请假调整,也不行。我便不知再说什么——他仿佛被困在一扇门里,没有钥匙。

“你看搞笑吗?一对恋人,男的是边缘型人格障碍,女的是双相情感障碍。”后来,他在群聊里发出一长串聊天记录,里面全是他与她、他与她父母、她与她父母之间错综复杂的对话。我默默看着,望而生畏。

他在频道里发诊断报告,发朋友圈,还有那只带着划痕的手。

大概我们之间已无话可聊。他开始对我已读不回。“感觉你最近经历了很多混乱的事。希望你能找到自己的‘轨迹’,或者至少收获一份稳定平和的心情。”他没回。“新头像是自己画的吗?”他没回。“如果物理或生物有问题,随时可以问我,我这阵子都在的。”他依然没回。

高考后的暑假,我曾写信给另一位笔友倾诉:“他们不会抛弃我了吧?我向两位即将升入高三的网友表明了答疑的意愿,他们从此再不回复……”那时我不理解。笔友却宽慰我:“他们可能不想在网友面前谈学习,又不好直接拒绝,只好暂时搁置你的提议。”

今年九月,我又提笔给他写了一封信,回忆之前热聊的夜晚,也表达对他已读不回的嗔怨。信从西安飞往南京,再转至太原。“信收到了吗?”“看到了。”回答依然寥寥。

至于他生活的全貌,他从未向我展开太多。近来,他又开始在朋友圈发“舞萌”的截图。我看到他与高中朋友、老师的合影——不知何时,他好像已从门里走了出来。

圣诞节,圣诞老人会把礼物悄悄放进孩子的袜子里。多美的故事。生日,生日——诞生之日。

我依然记得他的生日,在第一个月的第五天。虽然我们已走散在各自的生活里,但那个曾经无话不说的冬天,那些交换过的气候与习俗、明信片与信纸,依旧在记忆中落着细雪。也许某些人出现,就是为了陪你走一段路,看一段风景;路尽之时,不必追,也不必忘。只要记得,我们曾真诚地相遇过——而你的诞生,至少在某个平凡的夜晚,曾被另一颗心郑重地庆祝过。

我们见过。我,记得你生日。

生日(贰)最先出现在林林杂语

2025年终总结

2025-12-12 23:11:51

来北方上学的一项期待就是看雪,西安的雪泡汤了几次,今天终于把雪下下来了。雪很细,原本以为雪是白的,像冰淇淋一样,结果雪落到衣服上是小冰晶。

又来到每年本博客的固定节目:年终总结。

时间会冲淡很多事情。几个月前我遇到了我愧对的那个人,当我向他为了三年前的事情道歉时,「这有什么大不了的,都过去了」。啊,原来他并没有像我这样对我之前的无耻行径耿耿于怀。

今年的春节是最短的春节,今年的暑假是最长的暑假。在这之间,是我的高三。那里有到现在还保持联系的很好的同学,很好的老师,还有难评的学校。在那,我几次想「要不结束生命吧」,后面又坚持了下来。福建好像是这样的:我们老师跟我们说「奇怪,感觉不单单是你们没卷,其他学校也还在摆」。我们班主任非常贴心,并没有把我们的体育课砍掉。在看物理或者英语题目糟心的时候,就把作业放到一边,自己或者跟一个同学绕着操场走圈,边走边聊一点内容:比如彦卿能怎么配队,匹诺康尼新剧情是什么样的,每个属性都有什么角色等等。

暑假买了一个国际版的《我的世界》,但因为太菜了没玩下去。考了一个驾照,学了学Python Flask(至今仍然是我唯一会的技术栈),做了一段兼职,领到了自己的第一份工资。来大学是我第一次坐飞机,头一回来到九千米的高空,头一回出福建省。

上了大学之后,生活类文章的数量肉眼可见地变少了,有的也只是我在频道的只言片语。抖音占据了我的空闲时间,让我没有空闲时间用来思考没用的东西。我曾经想着写一个对话体的文章,但刚开头就没坚持下去。技术类文章也很少,毕竟也没有什么时间在研究技术,文章草稿箱里还有一篇SQL注入的半成品躺着。

到了大学,抽到了银狼,选了彦卿,不知道什么时候就淡游崩铁,回坑原神了,连着把须弥、枫丹、纳塔和诺德卡莱目前出的剧情过了一遍,又没有什么好玩的了。玩《都市天际线2》,游戏大体不错,但刁民很多,设计鸡肋,在有一个存档达成所有进度之后就很久没再玩了。「赛博阳痿」,是这么说的吗?

参加了院辩论队的面试,一面跟学长聊辩题,二面打一场比赛。参加了宏辞新生赛的其中一场。参加了辩论队的一次团建,一起玩狼人杀,这是到了大学唯二跟别的同学一起笑。

参加了院团委和两社团的联合招新,加入了赛博阳光志愿者队。参加了几个志愿服务活动,帮院团委完成一些任务。

参加了信安协会的两轮招新,给协会的周报系统提交了一两次代码(不是自己写的)。

看了《疯狂动物城2》和《罗小黑战记》两部电影。

2025年终总结最先出现在林林杂语