草梅友仁的技术栈学习历史

关于草梅自己的技术栈的总结其实之前已经写过了,见 2020-02-20 草梅友仁对技术栈的思考

目前相比那时,在前端方向学习了 uni-app、electron、react,后端方向学习了 docker,也算是小有进步。

下面就是反思一下自己为什么会学习这些技术栈。

从一开始,学习 html+css+js 的目的就是为了建设一个自己的网站,后来觉得用纯 js 写太累了,难以复用,因此学习 vue 框架来建设网站。在这个过程中,意识到 js 在大型项目中不太合适,没有类型提示真的很容易写出幺蛾子,因此后来全面转战 typescript。由于觉得写 css 太累了,因此学习了一下 scss。

由于写前端的时候懒得写后端,因此学习了 leancloud 这个云数据库,免后端操作爽歪歪。

而后端方向,一开始学习 node.js 的目的就是为了写一个自己的后台,用于机器人插件的数据统计。

学习 express 是因为 node.js 原生开发太累了。

学习 nest.js 是因为使用 express 进行开发还是有所不便。

之后认为 mysql 和 node.js 的相性有点差,觉得 MongoDB 这样的非关系型数据库(文档型数据库)更加好用。

在这个过程中,出于对 https 的追求,因此从一开始的 node.js 做反向代理转到了 nginx 做反向代理。

出于对效率的追求,学习了 redis 进行缓存。

最后,在配置一台新服务器时觉得配置环境好 TM 麻烦,因此决定学习 docker 容器技术,将运行环境和项目代码直接打包到一起,实现一键部署。

学习 go 也是出于同样的原因,毕竟 go 可以实现无操作系统就能运行。

在一次写新项目的时候,希望对返回值进行一个统一的格式处理,此时意识到 express 存在先天缺陷,无法处理这个问题,又因为 nest.js 无法编译为一个文件,所以选择了 koa2。经过实践后认为 koa2 的洋葱中间价模型确实有它的优势