神社的储物间

去年3月,正是疫情最为猖獗的时候。社会原有的秩序被打破:学校停课,工厂停转,上班族也被迫在家待着。

现在想起来,这一段时光似乎依然触手可及。桌上放的口罩,电脑里网课的声音,学校门口的测温枪,医院门口的发热患者通道,如此真实。

也正是那段无聊的日子,使我萌生了想做点什么的想法。

在一位好朋友的安利下,我成功入坑了一个阿里云服务器,并开始接触网页制作技术(也就是html5,css3)。

于是,我便想做一个属于我自己的网站。

首先是首页。我偶然看到了一个不错的模板,在一位热心人的帮助下,我很轻松就得到了它的源码。

“有了首页,要不要再做些什么?”正好,那时收集到了一些工具和资料,于是最终决定,做一个储物间。与此同时,因为那时我还是信息部副部长,我还做了一个教程站,想帮他们学习一些计算机相关的知识。

最初,这些网页都是我用html5纯手写出来的。每次更新的时候,都要上传到服务器上(所以也就熟悉了Linux),我甚至写了个自动上传脚本。不过总归是很麻烦。

后来,我的那位好朋友又提出要做一个社员管理系统。那是我第一次正式接触PHP。在发现它的语法很像C语言后,我就很顺畅地上手了。

那时,我甚至不知道,我所谓的“储物间”,其本质上就是一个博客,所以我长期同时维护着三个子网站(除了前面两个,还有一个wordpress博客)。

后来,教程站停止维护了。教程都迁移到了博客里。再后来,服务器环境出问题了,重置之后数据库热备份的数据不能恢复,差点丢了所有的心血(虽然没写多少)。于是对于wordpress和数据库,我也不太想接触了。这期间,我一直在用PHP升级我的储物间。先是添加了一个文章编辑器,后来又添加了个文件管理工具……后面又添加了一些其他的服务器管理功能。于是经过不断迭代,我出了前6个版本。

在决定写第七个版本之前,我看了下乱成一堆的储物间目录,决定只用一个PHP脚本实现所有功能;抛弃数据库,文章都以markdown文件形式储存。同时在那位好朋友的提醒下,我幡然醒悟,原来,所谓的储物间,就是博客啊。

推出第七个版本之后,我一直在用面向过程的思路去写。虽然也很好用,不过每当我需要更改一些功能的时候,总觉得很麻烦。

于是,便有了这一版博客:神社的储物间v7.2.0

特性

在做到纯粹的面向对象的同时,我也坚守了我的想法:所有内容写在一个文件里,不过组件确实是解耦合的。我不但做到了,而且感觉做得比较整齐。

在新增功能以及改动原来功能的时候,我深切体会到了面向对象优势之巨大。现在这个版本,即使添加了很多功能,程序也基本没有bug。只要做好每个组件,明确每个函数的使用范围,就基本不会出问题了。

后续

费了老大劲,虽然是把这个版本做出来了,不过在接触了新技术之后,还是感觉有些地方做得不太好。比如移动端UI的适配不是很好,前后端的分离做得比较乱,旧版的一些已经不太好用的功能依旧没有重写更新。

不过总而言之,这是一个里程碑式的版本。因为经过我的认真思考之后,重新规划的程序结构清晰了许多。

写这个博客系统的目的不光是找些事做,记录一些东西,同时也是为了记录我的PHP学习历程。

作为我的第一个能称得上很有用的程序作品,我会一直优化它,升级它——

即使,这只是一个出生在博客已经不为人所关注的时代,小得不能再小,基本没有人会看的,一个简简单单的博客。

深夜瞎想

最近(2022.11.15)又换回hexo了一段时间。怎么说呢,又找回了那种纯粹写作的感觉。只需要在编辑器里写好,剩下的只需要跑一下deploy脚本,就能把所有东西扔到网站上了。特别是搭配上github pages,实在是妙不可言。

遂重新思考这个动态站还有没有意义。不过很快我就发现这是一个蠢问题:就算没意义我也会去维护它的,这就是代码的乐趣啊。

最近又接触了下docsify,学了下前端路由,发现之前的“前后端分离”,其实就是模板引擎后端渲染而已。静态站的速度实在是美好,以至于我有点想尝试下纯前端+PHP API了(当然用别的也行,Golang就不错)。

而且以前的代码量之所以巨大,就是因为考虑了在线编写的需求。现在自己一般不会这么干了,所以这部分用其他方式解决就好。这样,只保留核心代码,应该能整个更好点的博客系统出来。

  1. 增加类docsify的纯前端站点
  2. git文章管理
  3. 保留模板渲染引擎,为了兼容性和实现4
  4. 增加生成静态站的功能,最好还能支持github pages
  5. 前端加点功能:代码块高亮,tex支持
  6. 整个前端编辑器,用API提交文章到后端
  7. 写一个核心类,其他功能写成插件的形式,拓展性整好点
  8. 后端代码可以用好几种语言写,写完互相翻译
  9. 试试.NET CORE?
  10. 想想怎么支持各种主题吧
  11. 评论区该怎么做呢?
  12. 数据库……还是算了吧
  13. 加点有意思的页面?
  14. 邮件支持要不要整上呢
  15. 整个发送到储物间工具,资料一秒入库
  16. 其他hexo的好玩的东西,比如文章加密,各种没啥用的东西
  17. 哦对了还有安全也得考虑一下
作者

xeonds

发布于

2021-07-28

更新于

2024-07-14

许可协议

评论