为什么我要重写一个博客

十二月 15, 2016
turned_in 随想

最近花了点零零碎碎大概四五天的时间 , 用 Django 写了一个博客 。这个想法其实从我学习第一堂编程课就开始有了, 之所以一直没有动手, 最开始的原因是完全没有任何技术储备 , 到后来稍微有那么点能力后 , 又觉得博客这种太无技术门槛 , 所以一直搁浅到现在。坦率讲 , 假如现在别人来问我在写什么, 而我却告诉他我在写一个博客系统, 这会让我觉得是一件很丢脸的事情, 尤其在大家都开始玩分布式, 机器学习的年代里。

回想从大一到大二 ,虽然用过基本上所有主流开源博客系统。 从最早的 Jekyll 开始折腾 ,后来看到 Ghost 能够线上撰写文章 , 于是又转到 Ghost , 再之后发现 Hexo 也不错 , 又回到静态博客。这期间又各种变换博客主题 , 总之我花在研究博客本身的时间远远大于记录文字的时间。直到大二下的时候 , 我作死在 hexo 里配了一堆gulp的优化任务 , 包括压缩 css, js,html, 上传压缩 images, 最终导致我写完一篇文章后需要运行15分钟以上的脚本才能把博客部署出去。更而甚之, 由于本来的代码被我 hack 过很多地方, 而我原本就是从别人的project里fork过来的, 别人也hack过很多我不知道的地方 , 导致最终哪边出了问题我需要花费很长时间去修复, 所以我后来的几个月里一打开哪个目录心里就有一股恶心冒上来。

步入大三以后, 我渐渐开始反思往日里这些折腾的意义。的确在不停地探索新大陆的路途中, 我们会为解决了各种各样的问题而感到兴奋 , 但是这种兴奋就像是玩游戏看小说一样, 它对自我的提升是过于宽泛的。显然对于大部分人可能并没有宽裕的条件能够真的让自己在程序世界里翱翔, 总归需要有一个明确的目标, 然后收窄自己兴趣的广度。

另一件让我看到这种瞎折腾的荒谬的事是最近几个月学了下 Vue 和 React , 但是学完以后我却发现自己还是不会写前端。就对我个人而言 , Vue 和 React 并未解决我任何一个问题。而这个结果的原因完全在于我也不知道为什么我得去用它们来帮我解决问题, 甚至于我其实自己也并不清楚我的问题是什么。一个很大的误区是, 不知道从什么时候开始, 我形成了一个前后端彻底分离再套个webpack打包的做法是政治正确的 , 像Django, ROR 那种模板语言是将被淘汰的。但现在我回过头在于看这些观点, 却发现其实都是有失偏颇的。这有点让我觉得自己像一个追求非主流的杀马特一样。

我一直自嘲自己感觉越来越老了, 一个原因是因为我的确越来越不喜欢折腾了。我上一台 Mac 的zsh 里我至少装了 20 个插件, 而我现在的这台就装了一个 git 和 z 。之所以就装了这两个是因为在上一台 Mac 里 , 我事实上也只真正意义地用到了这两个插件而已 :) 。 我经常在一些论坛看到许多人求推荐插件, 推荐主题, 推荐教程, 推荐书籍, 但真正有意义的后续的技术讨论, 坦率讲, 极少极少。我只能以自身惨痛的经历去揣度大概大家都是起了个步没了后续。

不过也并不是所有的折腾都是毫无收获的。比如我最近在折腾 Nginx , Openrestry 这些东西, 的确让我对操作系统的很多细节了解了不少, 而这种了解是那种能够让我挺直腰杆走在路上的知识性积累, 而并不是依赖于哪个公司的API做了个什么看似酷炫的东西。

说了那么多 , 为什么又要重写个轮子呢 ....... 虽然其他人可以花一分钟时间就能基于一个开源软件实现一个比我酷炫得多的Blog , 但其实大家都忽视了一个后期维护和扩展的问题。我见过无数博客里贴满了各色教程, 教你如何给一个静态博客添加评论功能, 评论功能发抽了又要如何解决, 完了以后还有HTTPS不兼容问题需要如何Hack , 访客统计又要加什么js实现等等。我曾经也热衷于搞这种Hack , 并对完成一个访客统计而得意扬扬。但是最近我实在是厌倦了这种完全没有意义的折腾 , Fuck it 。

现在我可以极其轻松地花10分钟加一个搜索功能 , 花2分钟加一个访客统计, 20分钟加个评论功能 。并且整个代码都在我的把控下 , 想怎么改版怎么改版, 顺便还能用一些感兴趣的后端技术。并且我也毫不犹豫地选择了 jquery , 我再也不想去回想那些前后端分离的日子 。显然我现在就没有任何需求需要去分离, 我也感受不到目前火爆的任何技术对我的帮助能超过jquery。我也不用安慰自己说虽然你用的很痛苦,但是现在就流行这么写啊 。

不过 , 我倒是发现由于代码过于好改, 导致我会不经意地给自己添加新需求, 然后重新回到了折腾的路上 ...... 看来人生真的很艰难啊 。