个人总结---微信抢票应用

为期两周实则一周的本学期第一个大作业结束(一周国庆放假不知道怎么就没了)

在这里对这一周匆忙又充实(折磨致死)的完成过程做一个总结。有这么几个方面给我留下了深刻的印象:

1.在服务器上进行开发

      本次作业由于是基于微信开发的,所以有一个微信服务器与自己服务器交互的过程,而之前对服务器最多的了解也就是把小项目部署到git公共服务器上,所以对于我这种小白,首先碰到的问题就是给我一个崭新的服务器,我完全不知道要干什么。在这里要非常感谢大神黄同学,将每一步都详细的写到了博客里,并且亲自解决了很多细节问题,这里大致总结一下步骤。本次是基于django开发的,数据库使用的是mysql,所以和在本地配置环境一样,在服务器上需要安装相应的python,django,mysql等及其依赖项,而不同的是需要安装nginx来进行反向代理,并通过uwsgi使django项目与nginx服务器相连,之后通过touch reload以及nginx restart使项目更新。另外,因为基于微信,所以还需要配置微信公众号的相关信息,具体项目有所不同。但其实基本上与本地配置django不同的就是nginx的配置。

2.在微信上进行开发

      之前以为类似微信公众号服务的开发是一套完全不同的东西,在得知使用Django框架后更是摸不着头脑,因为之前的学习中我对Django的理解就是能够将后端前端分开,然后可以渲染网页这样一个东西。开始时候就不明白为什么微信应用会和这个有关联。现在大概有了一个理解,也不知道对不对,就是微信只是一个中间的通道,到最后还是对于一些网页的操作,比如管理员部分,与普通的Django项目完全相同,而微信消息处理部分只是会多一个handle的过程,最后返回的消息产生的链接实则也是一个网页。在微信上不同的也就是消息的处理会不同,有一个XML解析和打包的过程,实际上无论是GET还是POST都和Django原来的get,formpost之类的完全相同。

3.与数据库有关的问题

      对于数据库操作的不熟悉往往导致一些很基础很zz的错误,比如究竟用get还是filter,两个返回的类型是什么,如果找不到会不会抛出异常等,在这一部分代码的不规范多次导致公众号提供的服务不支持或者产生意想不到的错误,而且需要考虑到多种特殊情况,否则有未覆盖的条件产生则也会导致服务器崩溃。像是我在查找一个东西之后未考虑查找失败的情况,直接用它的某一个属性导致出错,或者是在修改之后未调用save函数导致数据库并未更改。

4.Django单元测试

      这里的问题在于先开始不会使用Mock,现在大致明白了其实它就是用来模拟一些不容易生成的对象来使得测试可以进行下去,要测试那一部分,则将前面需要有返回值或者一些从数据库里查找的东西都mock一下,然后进行测试。

5.认识问题和解决问题

      这次与以往最不同的一点是作业要求模糊,一开始不知道该干什么,不知道下一步要干什么,不知道怎么去做。看着就一句话是实现抢票功能心都凉了。不过一步步摸索过来还是收获良多。一是关于给定框架,怎么看,看哪些部分都是我先开始不知道的,但是通过第一次的初识微信,大致知道了每部分的功能,而最重要的是前后端接口,让我知道了要完成的是什么,再通过以前的一些Django知识总算对总体有了一个大致的了解。
      学到的最多的就是怎么样看文档,通过文档来知道应该干什么,输入输出是什么,然后研究同一部分有没有样例代码,通过模仿,尝试,也就知道了怎么写。比如DjangoTest部分,其实最大一部分时间是用来研究样例。 遇到问题还是要条理清楚的分析,不能给自己一种做不下去的暗示,要默默提醒自己,ddl要来了。




展开阅读全文

没有更多推荐了,返回首页