从零到一:抠出我的夜行官网
那段时间,我真是被公司那一堆堆复杂的项目搞烦了,什么微服务、什么K8S,听着头疼。我就寻思,能不能给自己搞个东西,简单粗暴,晚上看起来舒服,不那么刺眼,这才有了这个“夜行官网”的想法。
我这人比较轴,别人都说现在搞网站不用框架那是开玩笑,但我偏不信这个邪。我就想用最原始的办法,看看能走到哪一步。
第一步:确定土办法的技术栈。
我直接把那些花哨的库都扔一边了。前端就是老三样:HTML、最基础的CSS,加上一点点原生JavaScript来处理交互。后台我选了那个轻巧得跟个小板凳一样的NodeJS,也不搞啥数据库了,直接用JSON文件当存储,够简单?
我这人做事讲究实干,直接就撸起袖子干了。
-
先是设计颜色。既然叫夜行,那必须得是黑底白字。但我发现,纯黑太闷,纯白太晃眼。我花了好几个晚上,就盯着屏幕,把背景色调成了那种深灰偏蓝的颜色,文字颜色用的是稍微有点灰度的白。来回调整,就是为了保证在关灯的环境下,看我的网站眼睛不会累。
-
接着是结构搭建。我把官网掰成了三个模块:一个首页用来引路,一个记录页用来展示我的实践心得,还有一个关于我,放点我平时吹牛皮的话。代码结构我写的非常糙,文件夹命名都是最直观的,没整那些英文缩写,打开谁都认识。
-
处理数据存储。因为我压根不想去操心数据库的配置和维护,我直接在NodeJS里写了个简单的读写接口,把所有要展示的实践记录都塞进了一个名叫的文件里。每次有新记录,我就手动改这个文件。虽然听着很蠢,但是速度快,维护成本几乎为零。
第二步:上线部署,踩坑不断。
网站写完了,接下来的活儿才是真折磨人。以前这些都是运维小哥负责,现在全是我自己来。我从网上找了个价格最便宜的云主机,那配置,慢得跟蜗牛爬一样。
我把代码打包,用工具上传。刚开始运行,老是报端口冲突。我查了半天日志,才发现是服务器上跑的其他不知道啥程序占了我默认的80端口。我气得直拍桌子,给我的NodeJS程序换了个四位数的偏僻端口,才算跑起来。
最要命的是访问速度问题。虽然我的代码很轻,但服务器性能太差,第一次加载还是慢。我当时灵光一闪,想起以前听说过一个“缓存”的概念。我没搞那些复杂的CDN,我就在NodeJS的程序里,设置了一个超级简单的内存缓存。程序启动的时候,先把读进来放有人访问的时候,直接从内存里吐出去,不碰磁盘。这一招下去,访问速度立刻就飞起来了,点哪里都是秒开。
第三步:实现效果与自我
那天晚上,我对着这个黑黢黢的官网,心里那叫一个舒坦。它没用什么先进技术,没搞什么复杂架构,就是安安静静地挂在那里,忠实地履行着一个“官网”的职责。它证明了一点:很多时候,那些复杂的技术都是给大公司准备的,对于我们这些想搞点自己东西的人来说,用最原始的办法,把基础打扎实,照样能把事情办成。
这个“夜行官网”跑得稳稳当当,从没出过岔子。我用自己的实践证明了,不需要堆砌那些名词,也能搞出好用的东西。这比那些天天在会议室里吹概念的强多了。