Roselia-Blog-NEO

Roselia-Blog 的一个新分支

Jan 15, 2018

见习魔法师

不久前刚说本博客分为两个Channel,现在我突然发现这两个Channel的关系是不定的,并没有哪一个Channel严格比另一个先进。这两个Channel之间的最大区别就是:

1. Mohuety(蓝色)部署在Github-Page上,是真·全静态页面,条件允许的话,甚至不需要API Server(例子:在这里),手动管理也没什么不好的嘛(笑),问题是没有SEO。(SEO问题也是后来才开始考虑的)。

2. Roselia(紫色)部署在VPS上,这个看IP就能看出来,原本也是将静态页面和动态内容分开,本质上和Mohuety没有区别。SEO处于放飞自我的状态?并不是,之前也有相关的尝试,只针对搜索引擎的爬虫做出相应的渲染。现在使用了Roselia-Blog-NEO,就不用再做特殊判断了。

Roselia-Blog-NEO

在Github的页面上,我添加了NEO branch,NEO主要是针对NEO问题做出了一点想法。主要做法是对页面的第一次请求加载的不仅是渲染后的页面,同时带有了模板,后续的操作(加载上/下一页,前/后一篇文章)都是再通过AJAX加载,再进行本地渲染。双模版的引入使得减少请求量成为可能,(希望能够)使得服务器的吞吐量更大。

当然你可能会问:至于这么恐慌吗,是什么样的请求量使你一开始就这么优化,你的服务器难道是加在单片机上的?对此我无可奉告。

闲话

好啦,其实这个Blog我一开始以为是Python项目,但是写着写着这个其实变成了一个Javascript项目。这个博客一开始就用了奇怪的技术,使得不少其他系统根本没有考虑的问题,或者说是其他系统早已解决,甚至是根本不存在的问题,到了这里有点让人头疼。为什么这么设计,就是第一篇博文中提到的,沉迷于前后端分离。其实没有必要这么做,除非我开始动手做APP了,这个决定才显得比较睿智。例如Cookie,Roselia-Blog不使用Cookie作为验证手段,不然Mohuety整个网站不会存在,也不能仅让原项目改动JS里面的一行就能解决问题。转而验证方式储存在local storage中,这样造成的问题就是NEO在处理私有文章是要再进行加载。而Python的框架有对Cookie有完整的解决方案,从结果上看我似乎做了很多无用功,多写了很多脚本,还顺便学了一门新的语言。但是最后我做到了前端和后端逻辑的解耦,前端是一个Web-APP,可以部署在公共空间上,后端是API-Server,架构在云服务器上,可以没有那么大的吞吐量。这样虽然在博客上看来不是十分有用,但是兴许他可以用在其他方面呢?退一步说,换一个皮肤,多皮肤共存也是十分方便呢(笑)。从这个层面上讲,NEO失去了它原本的特色……

还有……

距离上一篇写更新的已经过去了好久了,Roselia-Blog本身也更新了不少东西,不知从何讲起了,那么就提一点吧。基于localStorage,多页交互变得十分简单。目前多页交互看起来还是赏心悦目的,体现为在登录/登出时会在全站所有页面触发特殊的交互,在状态改回来时还能还原,但是因为用户系统暂不开放,你们看不到了hhhhh

其实你们可以到GitHub上看代码,脑补这一行为。

P.S.

原博客没有删,仍然可以正常运转:Roselia-Blog-Legacy