eboer's Boat

Neboer's Blog isn't Only About Technique
dummy

Nboat2项目开发笔记
建站前后端开发 940

关于网站建设的细节,本来就有很多想说的,正好届nboat2上线之际稍微聊一聊开发那点事

目录

序言

这篇是Neboer的个人站里的第一篇大博文。可能很多人还对Nboat2项目不是很了解,不过没有关系,关于网站我一定会介绍清楚。在序言部分也就是第一篇文章里不会涉及到太多的技术内容,任何人都可以阅读。如果你想了解更多建站的细节,我后续写的文章里会逐渐介绍开发的各个细节,欢迎大家持续关注。

为什么自己做博客

可能很多人不解一向号称“面向实现”的Neboer想做博客网站为啥要自己写,简直像是脑子坏掉了(,你看自己的代码又难以维护,做出来的效果又没有那些专业的主题漂亮,也容易出现各种bug或漏洞等等……其实我倒是没有想那么多。事实上对我来讲,自己做一个博客这种事更多的意义在于做的本身而并不在于它的“实现”,我更享受按照自己的想法实现程序的过程。这么做其实也在于“实现一个愿望”,那就是拥有一个在各个方面来讲都是真正意义上的自己的站点——从前端设计到后端实现,从域名的购买到服务器维护等等,我自己也比较珍惜这样的经历吧。

自己做博客确实会浪费很多的时间,在V2的群里也有人提到过这么做还不如专注于提升一下自己文章的质量,毕竟博客的“皮”做得再好也就是“面子工程”,真正的优质内容才是我应该追求的目标,不然就成了“金玉其外,败絮其中”。他的话切中肯絮(这成语从今年的高考作文《生活在(二叉)树上》上学来的(大雾)),对此我的观点是,对内容和“封皮”不应该设定不同的参考标准(cover lives matter(雾)),文章的内容质量固然是我要追求的东西,但是对网站本身的设计和制作也很重要,虽然专业的博客一定比我自己写的程序要好,但是我并不想直接拿来主义草草了事。我甚至将这个站点的开发暂时放在了第一位,我想有一个自己设计的、适合自己的创作环境对于自己的创作行为本身就是一种激励。这种思想不仅仅适用于个人博客的建设,也适用于更加开放的内容平台,比如网文、微博或者空间。

当然,在网站逐渐成形的期间,我也会继续做博文的。而且别忘了,这个网站不仅仅是博客,直接套用现有的框架一定会或多或少的限制它的功能,而这也是我不愿意看到的。而且我个人并不缺时间,会好好的打磨这个网站和里面的每一篇文章的。

Neboer无论是讲话还是写东西都有一个很大的毛病,就是特别喜欢长篇大论,这个毛病慢慢改,各位看官请多做忍耐,如果真的觉得写的罗嗦到无可忍受,或者发现文章中出现的技术或语言错误,再或者想对文章有什么提议和看法等等,欢迎到右上角给我发邮件指出来,或者未来博客做好了留言板和评论区的时候留言评论,谢谢你们。

Nboat

Nboat2的开发是基于Nboat的基础之上的,在讲Nboat2之前不如先说一说Nboat的故事。

Nboat是在去年年末(2019.12)开的仓库,那个时候应该是要放假的前期,如果非要说一个原因其实就是受到同部门的同事的影响,我也觉得要有一个自己的博客。在此之前其实一直对建博客这件事情没什么感觉,还记得很早部门考核的时候一定要填写一个个人主页,我就随手在开源中国上随便建了一个主页填了上去,现在回想一下觉得应该在csdn上建一个(笑)。部门那边一直以来都有很多人有自己的网站,那个假期之前我觉得这么建一个站点也是很不错的,而且"Neboer"这个名字也比较适合做域名,我个人竟然觉得非常好听,便试着查了一下,确实可以注册购买,便先行一步把域名“neboer.site”买了下来。这里推荐一下阿里云,各种域名什么的真的很便宜,我个人也懒得折腾,就在这上面注册了这样一个网站。

那个时候刚刚接触Go语言,觉得golang直接编译成程序,性能很强,所以就用golang作为开发语言做了一阵。可是后来golang的问题也逐渐显示出来。我觉得很大一部分原因是因为我刚刚接触这个语言就用它做这么大的一个程序,出现问题很难一下子解决;而且golang确实还是不够久,用到的一些依赖出现的问题比较多,尤其是HTML Template,虽然用起来蛮好用,但是支持的模板语法不够灵活,给实际开发带来了一定的困难。我还是喜欢那种Python式的scheme-less语言,相比之下golang放弃了挺多东西,感觉仅仅是为了性能的话有点亏;最后的原因可能就是没有设计好数据库存储的结构,再加上golang对数据格式的要求很严格,导致后期的开发不太舒服。在不断的换库、尝试之后,还是强行的放出来了一个能用的版本,然后在github的项目主页上插上flag:Nboat即将迎来重构,就转移阵地到新学期了,Nboat倒是一直在搁(鸽)置(子),咕咕咕咕。

Nboat2 - 准备

Nboat2的开发倒是最近两周的事情。“假期我要做的第一件事就是重写这个网站”,我曾经对我的pong友Eibon这样说过。去年我在写下“Nboat重构计划”这几个字的时候,其实并没有想到我会放弃所有nboat的源代码,不用golang用nodejs重写一个网站出来。不过用node开发也并不是一下子决定的,当时也考虑了很多因素,突然想为什么我一开始想要用go来开发……性能又不是决定语言的第一因素,事实上选择一个合适的语言应该更为重要。我觉得最适合开发这个网站的语言是js,配合node框架,再用一个模板引擎,同时充分发挥后端mongodb数据库存文档的优势……这个配合简直不要再好。于是立即开坑,开始安排。

域名和服务器都是现成的,cdn也暂时用cf的(后来换成了阿里的),问题一致指向了写代码上面,下一篇文章就介绍整个nboat2的程序结构和设计目的,谢谢大家,求三连(。