SkyWT

1/5/2025

Weekly #23:2025,出发

This blog post is only available in Simplified Chinse.

🌆 封面图:2025 的第一次日出

2025 的第一次日出

📑 Weekly 复刊词:吾一周一省吾身

人必须不断地、周期性地审视自己。这种审视必须通过外化表达的方式才能完成,也就是写作。

而一周是较为合适的时间单位。一周是一年的 2%,是一生的1/4000。如果你把一年,甚至一生的每一周画到一张纸上,每个格子代表一周,你会发现原来这么少。《四千周》这本书就送了一张这样的格子纸。长期来看,以周为单位计算时间流逝的长期进程,非常适合量化。而一周(一般来说)有工作日和休息日,也能给我们足够的自由时间。

虽然我平常一直活跃在 Twitter,但这毕竟是个短文平台,字数限制让人无法进行长文输出与深度思考(除非开 Premium)。因此,我依然在我的博客进行每周回顾。

上一期 Weekly #22 终结于2024 年 10 月 20 日,后来的两个多月都没有更新。其实是因为 22 周之后我开始旅游,去了广州、深圳、香港玩,后两周断更了。而一个习惯一旦经历了两次放弃,就会迎来可怕的习以为常,导致一直拖更到现在……

正好,这也是 2025 的第一周。我确定了两件往往「重要而不紧急」的事,需要长期坚持:阅读和周记。阅读是输入,周记是输出。如果我能坚持写一年的周记,那就太酷了。

🎯 我的 2024,我的成长

过去的 2024 年,我觉得我感受到的一个主题是:「成长」。

回想 2024 年年初的我,当时的自己对未来一片迷茫,还在想着或许考研,但明明内心非常不愿意,这只是在逃避对未来选择的思考。当时的自己甚至还没开始考虑和了解未来其他的可能性。因为在 HNU 大量平庸而无聊的同学身上,很难看到其他可能性。

这一年经历的事情可真多:

  1. **决定不读研。**下定决定后,一切都豁然开朗。
  2. 人生的第一份大厂实习。
  3. **AdventureX。**👉 Weekly #9:AdventureX —— 热爱为主,搞钱为辅
  4. **旅游。**西安、南昌、杭州、上海、武汉、广州、深圳、香港、浏阳。
  5. **开始将 Twitter 作为主力的社交平台。**从零开始涨到将近 3k fo。Connect 了不少很有意思的朋友。
  6. **春招&秋招。**面试、刷题、背八股。
  7. **签订三方。**毕业去向基本尘埃落定。

经历了这一切,现在的自己,已经是个完全不同的人了。无论是对职业、行业、技术、社会的理解,还是社交能力,相比 2024 年初的自己,都有了进步。

相比 2024 年以前基本都在学校「上课、学习」的循环,今年尝试了很多新事物,也认识了很多新朋友。正是这一切拓展了我对未来想象的边界,让我看到更多可能性。所以,2024 给我带来的「成长」相较以往更为显著。

之前在学校里的时候我会想:我们的时光一周一周地逝去,留下了什么呢?这一切有什么意义呢?这也是我开始写 Weekly 的初衷:希望时光留下印记。现在我发现,这些逝去的时间留下的最大的意义就是「成长」。我们的时间是我们最宝贵的资产,而「成长」就是对未来的投资。

2025,希望我能持续「成长」。

☕️ 告别「咖啡因崩溃」

暑假在某厂实习的时候,经常临近晚饭时间我都会突然感觉非常累——不仅是心理上有一种有些崩溃和绝望的情绪,身体上也会感觉腰酸背痛。本周偶然的一天睡眠不足,早上的咖啡和一整天的 coding,让我在下午复现了这种感觉。

现在才知道,这种感觉可能是「咖啡因崩溃」引起的。

人体内的腺苷是引起困意的因子,腺苷与受体结合让人犯困。人清醒的时间越长,积累的腺苷越多;而充足的睡眠则会清除腺苷,将其含量降低到很低的水平。

咖啡因的作用原理则是阻止腺苷与受体结合,但并不会减少腺苷的量。因此,传统说法里说「咖啡能够提神」其实有误导倾向。待咖啡因经过8小时左右被代谢,和受体结合的腺苷数量会在短时间内大量增加,使人反常地进入劳累状态。这就是「咖啡因崩溃」。回想之前实习的时候,我几乎每早都在麦当劳喝咖啡,而睡眠时长没有得到保证,加上一些工作压力,导致频繁发生的「咖啡因崩溃」。

这些源于《我们为什么要睡觉》这本书。本书深深改变了我的睡眠观,非常推荐!书中还指出:咖啡因是人类有史以来被无监管地滥用得规模最大的精神兴奋剂。如果你需要咖啡因才能让自己达到最佳状态,这说明你的睡眠不足。

咖啡因不是一种保健品。相反,它是世界上使用最广泛的(被滥用的)精神兴奋剂。它是全球第二大贸易商品,仅次于石油。咖啡因的摄入代表了有史以来针对人类进行的历时最久、规模最大的无监管药物研究之一,也许只有酒精能与之匹敌,而且现在仍是如此。

2025,让我们告别咖啡因,好好睡一觉吧。

⚙️ Daydreamer 1.0 的失败之处

我目前运行的这个基于 Astro.js 的博客系统,我命名为 Daydreamer,开源在 GitHub。大概完成于一年前。最后一次功能上的更新是在 7 月,之后就基本没有较大的维护。

现在看来,Daydreamer 的设计是有诸多失败之处的。

首先是技术选型上。由于当时对 Node.js 后端生态较为狭隘的认识,后端选择了几乎停止维护的 Koa.js 和较为过时的 TypeORM,这两项现在看来都是较为失败的选择。TypeORM 年久失修,各种奇怪的 bug 一大堆;Koa.js 也长久缺乏维护,生态匮乏。

前端的技术选型也一言难尽。选用了 Sass 并大量使用 mixin,现在看来都不如直接使用 CSS 变量方便。基于此封装的组件库 DayDesign,也继承了这一失败的设计。由于我倔强地不愿意使用任何组件库,而是选择自己实现所有组件,而我又缺乏相关经验,导致前端组件里充斥着大量不合理的抽象和大量不优雅的实现。很多知识都属于「你不知道你不知道」的类型,经验是需要慢慢积累的。

使用 Astro.js 也是非常不合适的选择。我做的明明是一个前后端分离的博客系统,对于获取博客文章都有明确的 API,但我却选择了使用 Astro.js 这一以 SSG 为主的框架,选择在构建时请求 API 获取所有文章,静态生成网站。构建的过程发生在 GitHub Action 的 runner 里,后端则部署在境内腾讯云服务器上,间歇性的网络问题和构建时较高的并发,经常带来麻烦。(尽管如此,Astro.js 本身是一个很好用的框架,我很喜欢)

这也导致了极其怪异的文章发布流程:写好一篇文章后,我要在数据库里插入这条记录(是的,没写后台,直接在数据库里发文章 😂),然后上 GitHub Action 重新构建,等几分钟构建完毕后(产物会在 pages 分支)再在我的服务器上 pull 下 pages 分支的文件,这才完成了网站内容的更新。无论是新发布一篇文章,还是更新友链,凡是更新任何内容(除了评论区),都要重复这样的构建流程。这实在不是一个很好的实践。

设计上也有不少不满意的地方,比如过大的 navbar、缺乏动效,等等。

除此之外,这个系统并没有自带图床。我直接将之前使用的 Typecho 博客系统(blog.skywt.cn)文章编辑时的图片上传功能临时当作图床来用,结果一「临时」就用了一年。这导致这期间发布的文章里所有的图片都来自域名 blog.skywt.cn……

我喜欢折腾的心永远不愿意停歇。因此,几乎每年,我都会重新设计和开发自己的网站。现在我在基于 Next.js 写一个新的博客系统,或者我更喜欢称之为「个人 CMS」。暂定名为 Daydreamer Next。汲取了上述教训,我希望新的设计尽可能优美。使用了 Supabase 和 MinIO,有完整的图床、管理面板,将会支持多语言、SSO 登录,以及更多好玩的功能。Coming soon~

🌟 Bookmarks

大家的 2024 总结:

🎆 新年快乐。下周见!

Post a New Comment

Please login to leave a comment.