首页 > 代码库 > 微信项目个人总结
微信项目个人总结
微信开发总结报告
为期四个星期的微信开发项目今天终于结束了。这对于我来说是一次非常难忘的经历。我也从中学习了很多经验。
首先是迭代一当中的结对编程环节,之前对那方面进行过了一次总结,在这里可以查看。
当然,在迭代一当中,还点了一颗科技树,叫做视频剪辑。我第一次使用 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资源有关。
总之,这次项目是两人组队,我和我的队友合作感觉还是有一定的默契的,分工也比较明确,结对编程的部分配合的效率也很高。之后的项目会是四个人组队,不知道能不能把这作业中的锻炼应用起来。
微信项目个人总结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。