微信开发总结
历经四周,软件工程(3)第一次大作业完结~撒花~
对于微信开发,之前我一直感觉是一个比较厉害的东西,尤其是在浏览各类公众号时,看到许多高大上的功能,感觉还是很想了解它们到底是怎么实现的,这次大作业也给了我这个机会。
这次大作业过程中,我最想感谢的首先是我的队友刘振阳同学。个人感觉是我这两年多以来每回大作业走马灯般换队友中配合起来最舒服的队友,尤其在前两周实现各类接口的结对编程阶段,两个人的编程还是相当欢乐且高效的,节省了不少Debug时间,也使得我们的进度在前两周一直是比较快的。
另外还需要感谢一下助教陈华榕,尽管说框架中有着不少坑,比如返回的数组没有名称,还有打包数据格式出错等等莫名的坑,但是如果没有最开始结构明晰的框架,要空手写一个基本是不可能的,而且框架的前后端比较分明,对比起自己小学期的同样是Django开发的前后端混乱,感觉收获还是很多的。
感谢完人最后说说自己的收获吧。首先是对于服务器部署过程的进一步熟悉,之前由于曾经需要用服务器跑数据,使得我对ssh、scp指令等都相当熟悉,也有之前的服务器,在服务器的购买上省下了不少的心,上传下载文件也是相当熟悉,因此这次我组代码的部署主要由我完成。期间碰到过各种问题,比如ubuntu的python版本,各种包的依赖关系,还有uwsgi与nginx参数的配置,一个个都是在经过不断地调试、询问、搜索才最终成功的,这一路踩的坑现在回想起来都是成长。
其次便是对数据库操作的进一步了解。在之前小学期的项目中,由于主要编写前端,因此后端方面较为生疏,对于数据库的操作也仅仅停留在之前做SRT时看得懂代码但不会写的水平。这次由于我们两个人之前都是主写前端,也迫使我们自行从头开始研究,代码中也有不少因为之前实验残余下来的痕迹,比如我们最开始多用filter函数少用get函数来避免一些奇怪的问题,后来发现其实没有这个必要,但是由于时间紧迫,许多地方也没有再去修改,尽管不会带来bug,但是使得有些地方的实现比较难看。另外,由于抢票这个活动的高并发的特性,也使得我对数据库锁有了一定的了解,同时对于它的优化也有了自己的见解,在以后在碰到这类问题时也能更好的应对。
总而言之,通过这次微信开发,我点亮了因为之前的项目而未去涉猎的方面的技能树,相比大作业结果来说,这才是之后开发过程中更有用的东西。