3月12到3月28这一段时间,我用node + nest + mysql + redis + bootstrap v3 的方案做了一个小项目。此文记录这一段时间的一些收获和感想。
目录
0x00
第一感觉,降智,真的降智。
框架好用,真的好用,但是在帮我们做了很多东西的同时,也局限了思维。
首先是开发中遇到的第一个大坑——Authentication。nest给出了一种解决方案——基于token的passport。好用吗?确实好用,基于OAuth2规范,非常适合用作跨域无状态API认证,但是不怎么适合做单网站的认证。我在这上面浪费了大把的时间,去搜索token认证的优劣,甚至构思了一套很看似缜密实际漏洞百出的认证系统。it sucks。最后,还是自己手写了守护器,使用基于session认证的方案。
0x01
第二感觉,团队协作是真的困难。
这也是我喷OJv4的一个点,大家都在自己造轮子,代码质量没保证。起初想弄OJV5,考虑人要少,也是基于此。
前端是最难受的,三个初学的女生写出来的东西基本没法看,尤其是D。写得最差,吃得最多,还最能跳。前端在我写Express模板的时候重写了一大半。
你永远叫不醒一个装睡的人。
此次,后端基本由我一个人完成,代码量10K。W负责查验和调试。女生后面并没有交给她们任务。
任务分配上,我认为只有我明白需要怎么干才能去分配,所以这一次很多事都是我一个人在做。我怕我分配后,因为我对项目的不熟悉而无法保证代码质量。
SSX is building.
0x02
第三点,新技术的应用。
这一次,前端继续使用了老掉牙的bootstrap v3,以弥补前端开发过弱的缺陷。页面内的css和js还是满天飞。我也不希望看到,但是目前并没有更高效的解决方法,新的技能要能使用还是需要一点时间的。
我希望是我最后一次用这么土的解决方案。 但愿吧。 直到去年我还在继续用amazeui……
0x03
投入回报比。
时间有限,应该用来做最有价值或者最有意义的事情。这也是我迟迟不开始写OJV5的理由。时间的投入值得去好好计算一下。
比起来,OJV5是一个付出极大,收获并不如意的项目。我做的好,我花了很多时间,某些人会很开心地换过去并且获得好处;我做的烂,花了很多时间而且没有成果,这下可有笑话看了。
与其花大把的时间在上面,不如将注意力转投在算法上面。最次,能有实际收获的东西。
0x80
这种程度的开发,就是把自己搞成了廉价劳动力。
迫真
本作品使用基于以下许可授权:Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.