文档
对技术的一点儿感触
最近接触了一个初始项目,感觉现在的应用开发已经是流水线式的生产线了,
传统上开发一个应用需要准备数据库,后端系统,前端UI,CI/CD运维等等一整套,而现在好多东西都直接是云上的服务, 即调用不同的API就完事了,根本不用操心数据存哪,怎么连接,怎么运维。 甚至就连是写代码都可以是云上,不需要配置本地开发环境,通过codespace就能完成开发工作。
技术的发展真的太快了,一不留神就很容易被时代所抛弃,新的服务,新的工具层出不穷,让程序员这个角色也一直在被升级被革命。
挺好的,时代在进步,能够让创业者/开发者更聚焦在自己的想法和业务上,而不是陷入在琐碎的技术细节中。但是这样一来,程序员的价值就大打折扣了。 以往好多的开发都需要资深的工程师来具体处理,但是现在呢,全是使用云上的标准服务,根本不用顾虑太多的细节,老板自然也就不需要资深的程序员的。
但事情也是两面性的,毕竟这些事情给程序员减负了,能够让一个普通的程序员能够有机会快速的搭建一套完整的应用生态,有各种专业的服务,大大的降低了全栈开发的门槛,能够集中精力思考应用给用户提供什么。 所以对于程序员来说,应该提升自己的视野,聚焦与业务与快速开发,而不是深入技术。
就拿这个站点的数据库建设来说把,最开始也是在本地创建了安装了mongoDB,后来又把整个数据库迁移到了docker中,然后前端的app也是计划在docker中完成自动化部署。 到时候同步和升级的时候只需要sync最新的代码 然后启动不同的docker container就可以了了,甚至这一步也可以通过CI/CD工具来实现。理想是好的,但是现实稍微有那么点儿不完美,当我在部署web代码到docker中时候,因为有部分代码需要预渲染,在build过程中要访问数据库,需要container之间的通信,而我的所有开发环境有时在WSL2下面的,使得我的网络环境略微有点儿复杂, 对于container之间的通信失去了耐心。 于是花费了大概十分钟在mongoDB Altas中创建了云端数据库,将数据导入进去,修改我数据库的连接参数,一套云端的数据库就搭建完成,再也不用顾虑我不同环境下创建数据库/连接数据库的窘状了。
使用云端的数据库给我带来了灵感,也节约了大量的时间,真香! 新东西还是要勇于去尝试的。
但是又有一个问题,就是万一网络断了怎么办,尤其是国内的网络环境,访问国外的服务全凭运气,即便我有想法把中间的服务层也放在firebase上面,也必须要仔细斟酌。