- 已编辑
转眼一年过去,从 0xffff.cf 到 0xffff.one,也正是有大家一直以来的关注、讨论与沉淀的支持之下,网站才坚持至今。过去由于我个人一直处于大学中最为忙碌(各种琐事缠身)且迷茫的阶段,未能有足够的时间与精力完善本站。一年多来,在我们一点一滴的讨论的积淀之下,渐渐带来了一定的影响,对于打破身边同学对于计算机学科的迷茫也产生了一点儿效果。作为站长,我最近的许多事情渐渐安顿下来,未来也主要投身于 Web 相关技术的研究,所以也可以说是能集中精力于本站的维护与优化上了。
网站到目前为止仍然有许多问题,主要集中在这几方面:
- 网站的框架问题,本站基于的 Flarum 从发起至今已经五年,仍然处于 beta 版的不稳定状态,目前已经发布了 beta.9 版本,相比于本站目前用的 beta.7 版本,其中插件 API 经历了较大的改动,需要重新基于新的版本改进与部署。而且,目前这个项目主要的发起人选择了离开,发了个 farewell,投身了新的项目的开发中,社区维护的力量明显地不足。
- 功能上,我们缺少的功能还很多,比如说暗色主题、数学公式,比较友好的附件、剪切板贴图上传、大图显示等等。
- 基础设施,访问速度的问题,由于域名的原因,暂无法实现使用大陆的服务器,过去网站是用 CloudFlare 的免费 CDN 与我个人的一个位于美国的 VPS 跑起来的,在大陆的访问速度还是比较慢,虽然说在魔改了许多东西之后速度有了一些改善,但还不够稳定。特别是针对移动端的环境,仍然有许多不足。
- 开发部署流程比较原始,还是通过 SFTP 上传的方式部署到网站中的,即使有版本控制,对于一些修改也难以跟踪和完善,而且环境的搭建也纯手动(比如说现在我已经忘记了当时部署网站时安装和配置过什么)。
经过一段时间的思考,目前打算对本站做出如下一些改进:
基础设施上:
- 搬迁到更好的服务器,提高响应速度(目前已经准备好一个位于 hk 的服务器)
- 考虑到服务器的带宽不足,通过稳定的 CDN 实现静态资源加载。(买了阿里云的 CDN)
程序架构、开发流程上:
- 运行环境采用 Docker 部署,与代码分离。通过 docker compose 容器编排的方式,把 Nginx、PHP、MySQL 等需要的程序环境统一地配置起来,网站代码则存放在宿主机中,避免直接配置环境产生的副作用。
- 通过 Traefik 实现网站的反向代理,支持证书、http2、与 Docker 容器的对接等工作。
- 重建代码库,以新版的 Flarum 脚手架为起点,记录每一点的改动。
- 引入 CI (持续集成),在 git push 之后能自动化地完成代码同步,composer 依赖安装,网站的更新与构建等工作。
对于一些通用功能插件,预期是通过本站的不断完善的动力与产出,丰富插件生态,回馈 Flarum 社区。目前已经将一些待改进的插件 fork 到了我们的 Github 组织,在本站的改进中,一些通用的改进会同步到这里。
在代码与基础的开发流程明确下来以后,未来也将会进一步地优化各方面的体验、SEO、完善网站的 PWA,提升首屏加载的速度等等(特别是微信环境下的速度)。
若你对本站的维护或 Web 相关的技术有兴趣,欢迎交流,也可以加入我们的讨论群,或是通过其它的方式联系我~
大家对于网站的更新、功能的完善有没有什么想法呢?