欢迎回家¶
站在科技、工程、人文的交叉点,眺望人类的未来。
科研¶
Multi-View Clustering(2022.9-)¶
多视图聚类比较简单,只能说作为入门科研的锻炼。目前为学术界做出的贡献就是审了两篇稿,
Project Linear¶
0.0 时代(-2021.4)¶
设计图是 PS 画的,前端是 Xamarin 写的,但 Xamarin 已经很少有人用了,难以开发。
1.0 时代(2021.4-2021.9)¶
Linear 的 1.0 版本基于微信小程序,当时想得很简单,干就完了,每个人负责一些组件,先写了前端,然后就写后端,勉勉强强可以跑了。
1.5 时代(2021.9-2022.12)¶
微信小程序受到比较大的限制,因此以比较快的速度迁移到 uni-app。这个框架本质是一套小程序平台统一的 API,自己又做了一套类似小程序 API 的运行时,直接作为 APP 安装在手机上——说人话就是 WebView 套壳。之后跌跌撞撞地写 Vue 2,花了大半年时间做了个基本完整的版本开始内测,结果 bug 巨多,而且大多数不是我们自己的 bug 而是框架的“特性”,非常受不了。
2.0 时代(2022.12-2023.3)¶
升级版本有三个原因:
- 前端混乱,因为当时没有模块化的意识,也没引入 TypeScript,逐渐累积的代码让人抓狂,而 Pinia 等又只在 (Vue3)[https://vuejs.org/] 里存在
- 基于 Node.js 的自建框架也越来越难维护,招人也很难
- 设计师耗时一个月打造了一套全新的,现代化的白色主题 UI
因此开始用 uni-app 再做新版本,结果还是因为经验不足又把代码写烂了。
3.0 时代(2023.3-)¶
我们有幸联系到相似软件的开发者,了解到 Flutter 工具的优势和在大厂中的广泛应用,也认识到 Flutter 代表的高性能前端框架、Spring Boot 代表的标准化开发模式的巨大优势,因此开始用 Flutter + Spring Boot 重写整个服务。
Action(2015-)¶
Action 是最早的一款语言 Cosplay 软件,不仅开创了语 C 软件的先河,而且定义了很多“术语”。但不幸的是,后起的逗戏等软件原封不动地爬 Action 的数据,之后入不敷出的 Action 不得不遗憾停服。中间经历了一次短暂重启-停服后,由 2020 年起重新开始内测。代码又悠久的历史,能跑,但主要问题出在权限管理上,Android 的权限系统已经发生了很大的变化,华米 OV 魅又进行了二次开发,二开重灾区就是软件权限,Action 本身的权限管理就出了问题。而且命令式、MVVC 模式也都存在,就差 Compose 就真成历史书了。
重大经验教训¶
- 技术选型:合适就行,高性能高并发高可用“三高”架构都是被逼出来的,不要在用户只有不到一万人时就试图构思一个百万人的架构,没有真实的业务场景,设计出的架构都是纸上谈兵,不仅对业务没有帮助,反而会拖垮进度
- 写测试就是以复杂对抗复杂,划分模块、编写测试样例会增加许多代码,但是相比于不增加代码带来的项目本身的不可预测性,这已经很不错了。
- 有什么不懂的,找个懂的人问问
关于我¶
详见 About Me{#4001fa298ad9696d16adea582ef10725}。