1. 始源
最早的时候在折腾Hexo,不知道在哪里看到别人的说说,一眼爱上了,然后开始整,最先尝试的是「Artitalk.js」,不过体验不太好,因为不知道为什么始终会在 F12 里报错,没办法正常用。所以之后转投了林木木老师的「哔哔点啥」,部署在腾讯云的云函数,顺便发现「Flomo」这个神级应用,开始用这种方式记录一些日常想法。但是当时年龄不够,腾讯云的 Serverless 绑定域名似乎是要备案,反正只是部署了个 Demo,过了一段时间就Deprecate了🙂。
话说后来Serverless全面收费,最舒服的那个套餐也没了。所以,当初换平台似乎是个不错的选择。
2. 初见
然后,我就读到了这一篇文章 Hi,Memos,再次产生了对这类自部署小应用的兴趣。于是在买服务器之后立刻装了Memos。
参考 这篇文章
当时顺手装的 v0.18,没注意太多,这也为后来的一些问题埋下了伏笔。
3.变局
我的 Memos 总体经过了两次升级,第一次是 v0.18
–> v0.20
,第二次是v0.20
–> v0.23
。两次升级的原因都有点幽默。
第一次的时候是为了用 v0.19
的 API,所以就无意识地直接升级了。结果升级以后发现这个版本有一个奇怪的问题,在加载 SPA 的时候有一个大得惊人的wasm
从本地加载。要不是我的服务器只有 3Mbps 带宽我还看不出来🤪,当时开一个页面要接近 20s 的白屏加载,虽然说主要用 API,但是当时还没有完善各个段的生态,所以纠结了很久还是不想忍受这种糟糕的感觉,于是再次升级到 v0.20
解决!其实只要能缓存手感都完全不一样。
第二次则是因为听到的一些事,所以决定备份一下,于是把目录下的数据库文件拷了一份下载到本地一看,不对劲,打不开!然后慌乱中一通乱操作把服务错删了,再次启动的时候已经数据库报错了。事后分析,是我太憨憨没经验,没有停止服务就直接备份正在运行的文件😅
第二次出事后,发现最新一版的数据还是丢了,然后上一版的数据还在,差距不太大,就尝试把那个数据库弄过来。因为备份习惯不好,服务器上的各个目录下似乎都有一份文件,但是大部分都不太可用🥲乖乖去学习吧。然后最后不想慢慢调整数据库了,就干脆上到 v0.23
了。
结果刚更新,发现之前用的林木木老师的单页应用(基于 Memos 的 api)不兼容!关键已经不好回退了。所以硬着头皮去找找兼容的方案。最后在一位博主 @浪子 的站点上找到了适合新版本的方案,花了三个周末改来改去,最终还是结合了两位老师的版本搞了现在这一版,等高考之后再来慢慢改样式吧~
4.理念
有一说一,Memos 本身有一定的思辨性。
在好的方面,它开放,它方便。我不太愿意把它当成 Flomo 的平替,而是另一种产品思路。Flomo 服务需要记录的用户,保证稳定与易用。而 Memos 则是以开源的姿态欢迎我们利用它去做有意思的事,最简单的就是 SPA。而且它和 Minecraft Java 如出一辙,把更多的权利交给社区。比如我现在使用的手机端 MeoMemos
,就是一个很好的例子。它不仅完全免费,而且 UI 很有东西,ios 版是部分的 swift 原生,安卓则是 Material 原生,观感很舒服(不过动画有点生硬,尽管平时很少看到)。近期的更新再次震惊到我了:
非常感谢这些开发者。希望我也能在明年加入他们~
在坏的方面,更多是对开发团队的不满。似乎在 Memos 的版本历史上,最常见的就是“数据库结构变化” “API 不兼容” 在我使用的这几个版本中几乎每个版本都有API 的“breaking change”,尤其是 v0.20
–> v0.23
–> v0.24
这三次,让我既没法用更早的一些第三方应用,也没有机会用更新(短期内不准备更新 Memos)。我从一个小白的角度看,似乎 Memos 更适合留下一个 fallback 的策略。我也想自己写一个api 适配,但是我没时间,而且 Memos 官方没有完整的新版 api文档🤣。还有一个比较幽默的问题,就是 api 会返回所有的 memo,无论你设置的是公开还是自己可见。
除此之外,Memos 在版本际的数据库结构变化也有点大。升级是正常的,但是官方似乎从来没有给出辅助版本迁移的工具。等我!我考完高考就来做!
未来过去成灰,
都为新生陪葬,
命运将我流放,
那又 怎样?
————《何者》
感谢:
我的引路人 @林木木
江湖救急 @浪子
好的开发团队 @Flomo @usememos @MeoMemos