码迷,mamicode.com
首页 > 微信 > 详细

微信项目个人总结

时间:2016-11-06 02:33:21      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:user   sel   div   应用   问题   time   check   能力   object   

微信开发总结报告

为期四个星期的微信开发项目今天终于结束了。这对于我来说是一次非常难忘的经历。我也从中学习了很多经验。

首先是迭代一当中的结对编程环节,之前对那方面进行过了一次总结,在这里可以查看。

当然,在迭代一当中,还点了一颗科技树,叫做视频剪辑。我第一次使用 iMovie,也是了解了很多相关的知识,成功的剪辑出一部片子花费了很长时间,很多精力,但是成就感十足。

迭代二主要是进行单元测试、功能测试和性能测试。

其中遇到了一些问题,在这里做一个总结。

首先是数据库加锁的问题,Django 帮我们很方便的提供了一种多线程对数据库加锁的方法,使用 transaction.atomic()

1         with transaction.atomic():
2             activity = delay_op(*args)
3             # Time check
4             assert_logic(activity.end_time>now, "很抱歉,活动已经结束。")
5             # Check ticket existance
6             try:
7                 ticket = Ticket.objects.get(activity=activity, user=self.user)
8             except ObjectDoesNotExist:
9                 return self.reply_text("很抱歉,你没有这次活动的票。")

可以看到,把需要保证数据库一致性的代码放在 with transaction.atomic() 的作用域里,就可以保证操作的原子性。通过这个操作,我们的 16 个进程的工程也就没再出现过数据库错误了。

而且我们发现随着进程数的增加,抗压能力也逐渐增加,但是超过16个进程的时候会出现衰减,我们认为它和进程占用了过多的内存和切换上下文所消耗的CPU资源有关。

总之,这次项目是两人组队,我和我的队友合作感觉还是有一定的默契的,分工也比较明确,结对编程的部分配合的效率也很高。之后的项目会是四个人组队,不知道能不能把这作业中的锻炼应用起来。

 

微信项目个人总结

标签:user   sel   div   应用   问题   time   check   能力   object   

原文地址:http://www.cnblogs.com/lustralisk/p/wechat_report.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!