微信抢票应用-个人总结


    这次作业是第一次做基于私有标准的开发。因为是在搭好的框架下进行开发,所以编程部分相对简单。

    部署服务器的过程由于有黄超同学的帮助比较简单,相比于暑期小学期自己配了好久都跑不了的服务器,按照黄超同学的博客https://blog.magichc7.com/?p=5来配置基本上没有什么问题就完成了。微信的配置则根据作业中的教程配置。值得一提的是在开发结束后为了将DEBUG改为false,需要在/etc/nginx/conf.d/wct.conf中增加location,并将settings.py中的APP_DIRS改为false,否则会导致静态文件不可用。

    开发部分由于暑期小学期已经学习了一部分django内容,加之本项目提供了架构,所以比较简单。前后端接口部分只需要按照要求逐一完成即可。handlers部分则需要自行脑补内容。开发过程中,曾经将settings.py中的时区从UTC改为Asia/Shanghai,结果导致adminpage每次编辑活动都会导致活动时间前移8小时。后来发现时区问题在框架中已经进行了处理,只需要按照UTC使用即可。另外,图片上传部分存在框架本身的问题。在反复上传的过程中,服务器端会在本地积累图片文件,由于在上传图片时并未传输原本的pic_url,所以无法及时删除旧的图片文件。由于时间问题并没有对该问题进行解决。在不改变框架的基础上,或许可以给存储的图片增加时间戳,通过redis-celery进行异步删除图片文件。抢票部分则要考虑多用户同时访问的安全问题,目前采用的是select_for_update()加锁,但这会导致抢票过程变为串行,效率较低。曾经考虑过使用redis-celery异步处理,将申请抢票的人存入队列并异步发票,但是已有的框架与这种实现匹配的不是很好,所以被放弃。

    测试部分是第一次进行比较规范的单元测试和功能测试。在了解了相关函数的使用方法之后单元测试颇为简单。但在进行功能测试时,urllib.request.urlopen函数会出现SSL认证失败的错误,多方尝试无果后,使用ssl._create_default_https_context = ssl._create_unverified_context关闭ssl验证。

    总体上感觉这次开发工作量并不是很大,以后或许会尝试TDD的开发模式。

                                                                                                                                                        


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值