Published on

2025 年终总结

预计阅读时长:14分钟
Authors
  • avatar
    Name
    Roitium

前言

打下标题时,满心感慨。这一年确实是很奇怪、或者说经历很丰富的一年。

我今年年初曾写过一段话:

我觉得我某些方面的个人经历比大部分人是要丰富一些的,但在这些歪门经历中,坏事偏多吧。很多时候我做一些冒失、不着逻辑的事反而有个底层逻辑:反正人生就这么长,不管好事坏事,不管有什么后果,为什么不去试试呢?最坏又能坏到什么地步呢?起码有趣,不是吗?

人不要脸,天下无敌

现在来看,我的观点依然不变,用 Linus 老爷子(原来已经要叫老爷子了吗...)的一句话说就是:Just For Fun. (说来我应该去看看 Linus 的自传了,明年一定!)

第一幕:技术

今年在技术方面确实成长了不少,就具体的技术点来说,我了解了:

  1. React Native 开发(以及 Android 原生库开发)
  2. 一点点 Android Jetpack Compose 开发
  3. React 开发
  4. 一点点 js 后端开发(ElysiaJS)
  5. 一点点 Flutter 开发

可说技术栈太空洞了,不妨让我们来看看具体今年写的项目:

BBPlayer

这可能是我自初中开始写代码以来,完成度最高、耗时最长、最复杂的项目了。

给不了解的朋友介绍一下:这是一个使用 React Native 开发的第三方 Bilibili 音乐播放器。不仅支持登录账号后直接播放收藏夹、追更合集内的内容。也支持创建本地歌单添加歌曲。同时支持从网易云获取歌词,以及更多有趣的小功能。

好了,推销完了。我几个月前写了一篇博文:,就接着讲讲之后发生的事吧。

从零开始的 Android 原生库开发

是的,在两个月前,我是完全不会 Kotlin 开发的,甚至对这个语言有恐惧:好难的语言,莫名其妙的语法糖,复杂的结构化并发。以及 Android 开发对我来说本来就是一个未知领域。我实在是没有勇气去接触这门语言,于是我对自己说:「给 BBPlayer 重写原生库这件事,就放到高考后吧」。

可是命运真的很奇怪。在一个月前的一个午后,我如往常一样打开电脑,鬼使神差地打开了 Android Studio 和 Android Media3 的开发文档。就这么一边和 Gemini 聊,一边完成了 BBPlayer 音频原生库——Orpheus(名字来源于希腊神话,我觉得超酷!)的雏形。

这里有一点很有意思的细节想提一嘴(技术相关,不感兴趣可以略过):我原本在读 RNTP 的源码时,他用了复杂的方法去保活/重启 js 线程,以便发事件可以及时收到回调。可是我在读 react-native-audio-pro 的源码时,他并没有这么做,只是简单的使用了 React Native 自带的事件发送方法。他的做法一下点醒了我:是不是在新版的 React Native 中,完全不需要那些保活措施了,那(对我而言)开发难度将会大幅降低。写了第一个测试版本后,事实证明确实如此。这也给我了一个提醒:很多库的一些 workaround 实际上来自于很深厚的历史遗留,有时候,反而可以大胆地尝试一些简单方法,说不定会有奇效。(好像没有人愿意看我这个 nerd 的自言自语🥲)

令我没想到的是,我在不到一周的放学回家时间里就完成了原生库的编写+ BBPlayer 内部集成的工作。我确实被自己的效率震撼到了。现在的 BBPlayer,得益于基于 Media3 封装的 Orpheus,切歌更加流畅、下载功能更加健全,js 层减少了大量的复杂逻辑(因为所有的播放队列、下载管理逻辑都移到原生层了,并且 Android 都提供有现成的成熟库)

所以真的,不要害怕,大胆去尝试,最坏不就是写不出来代码然后回滚到原来的版本吗?

一点小成就?

随着,v2 版本的不断完善,12.25 号,我突然想到:不如在 twitter 上随便宣传一下?于是我发了这条推文:

twitter

令我没想到的是,这条推文真的火了...评论区里,我收到了上百人的鼓励与支持,我第一次意识到:原来,我是可以创造出能帮助到人们的东西的。我也第一次感受到:原来能帮助到别人,是这么舒服的一种体验。

而 GitHub star 数,也来到了 250。这是我之前从未敢想过的数字。而今天,我却达到了。软件的使用人数——或许只是因为这几天风头正盛吧,也达到了单日 350 人。在这个世界上,有 350 个素不相识的人每天正在使用着我创造出的东西,这种感觉真的很奇妙。

或许,或许,或许,我终于能够拉住无数个夜晚中自卑、自弃的自己,对他说:“你或许还真的挺不错的,至少,没有你想象的那么垃圾。”

Nodal

这是我近期新开的一个项目,是一个供我自己个人使用的日记软件,目前三部分同步进行开发:

  1. 服务端:我将其称为 Headless-Nodal,是使用 ElysiaJS + DrizzleORM 开发的无头 memos 服务。同时支持附件管理。目前对接了 Supabase Storage。
  2. Web 端:目前的 web 端预计技术栈为 React Router + Vite。但我的重点还是放在 Android 客户端开发上。
  3. Android 端:使用 Jetpack Compose 原生开发。你基本可以认为我就是为了「学习 Jetpack Compose」这瓶醋,包了「Nodal 项目」这个饺子...

浅浅地学了一下 Jetpack Compose,感觉真的和 React 蛮像的。remember = useState,launchedEffect = useEffect。靠近原生写起来真的很爽啊,Android 的 api 是真的很丰富。

第二幕:个人

特大喜讯

先播报一则喜讯:今年真的是哈哈了😅,我原以为是我的抑郁好了,只是稍微有点焦虑。但是滚去精神科,告诉我是抑郁转双相了😅

也算能够解释一些现象了,甚至我都觉得,我一些不理性的决策就是在双相轻躁狂期作出的。

可这药吃起来确实不太好受,像是把人封进了一个气泡中,开心无法真的感受到开心,难过也无法真的感受到难过,还每天都晕乎乎的。

与焦虑抗衡的一年(两年,或整个高中)

无数个白天黑夜,我都想着自己什么都不会、人生要完蛋了。我焦虑到手抖,想着社会上的失业潮、就业难问题,不知道自己毕业后要怎么办。

当然,这些听起来会很可笑,因为这只是我在焦虑状态下大脑臆想出来的灾难性后果。

然后我不久前才知道,我很久以来的莫名其妙腹泻、肚子疼,可能只是焦虑带来的胃肠躯体化症状。我不知道我是该庆幸还是悲伤。

我无数次地试图推演我可能的人生路径,试图告诉自己别焦虑了,你或许没那么烂。

可是我自己都无法接受,在我心里,我是个烂到极限的人,我真的无法做到自爱。(天啊,你会发现我上下文都是相互矛盾的,上面那个说要自我安慰的人去哪了?是的,我整个内心确实是一团乱麻)

[数据删除]

今年,我因为巨大的[数据删除],迫不得已开始尝试进行[数据删除],这真是一种很奇怪的人生体验...... 但很可惜,相关内容我无法详细说明。猜猜是什么?

第三幕:RAA(Roitium Annual Award 🤪)

延续去年的优良传统,今年我也继续给自己喜欢的动漫、游戏、以及各种东西颁奖!

游戏

今年比去年玩的游戏少了不少,但依旧有不少想推荐的:

最佳国 gal:「恋爱绮谭:不存在的夏天」

神中神的作品😭😭😭,在我心目中可以排名第一的国 gal。能让口口声声说着自己是友跨顺直男翻车的申必武器。

最佳催泪作品:「播种之谣」

OST 巨好听。很平实的单线亲情类作品,画风超级好看,张张都能做壁纸的程度。另外三代同堂真的太美好了!

最佳 gal:「变态监狱」

是的,今年我的年度最佳 gal 就给「变态监狱」了!!超级好玩!剧情一点也不俗套。OST/OP/ED 也真的很好听。尤其喜欢「I can't be a superstar」这首!

动漫

今年一有空似乎都在写代码(我 BBPlayer 项目的纯开发时长达到了 450h... 如果算上查文档资料和学习的时间,可能要将近 900h... 相当于每天有 2h 都在干开发相关的事),动漫没看多少,但是依旧推荐几个。

「恋人不行!」

神!!!神!!!神!!!op ed 也好听!剧情挺搞笑,画风豪堪!孩子喜欢。

「夏日口袋」

我承认我有游戏滤镜加成,但真的还算不错吧。

「章鱼噼的原罪」

看了第一集才发现我原来应该看过漫画...致郁系,没怎么触动到我,但是不影响好看。

其他

最佳软件:「Animeko」

我今年最喜欢的软件就是 Animeko!超好用的看番软件,支持同步 Bangumi 账号数据。UI 也很好看。基本不用担心数据源,默认的就很丰富了,支持 bt、在线站两类资源类型。

btw, 这还是个 KMP 软件,我也在考虑要不要学下 KMP

最佳开发软件:WebStorm

虽然我很喜欢 VSCode,可是自从再次尝试了 WebStorm,就很难回得去了()

(自评)最佳文章:「寻找下一次高考」

今年也写了不少文章,感觉写的还不错的是这一篇:,狠狠地骂了一下应试教育。

结语

怎么话唠 Roitium 一不小心又写这么多... 好了,这就是今年的年终总结了,明年再见吧!(如果 Roitium 还有明年的话)