原则:从实际用处着手,逐步深入 整体思路:从认识框架、安装框架、使用框架开发项目、到项目最终上线被用户访问的思路来分析源码。 目标读者: * 能够使用Django开发项目,想要更深入的了解Django内部原理 * 已经开始尝试翻源码,希望找个人一起交流 * 想要通过学习Django源码,写出更好代码
我之前在知乎的一个回答中提到(Django 多线程问题是怎么回事)提到之前写Java时,在读了部分tomcat源码之后,有一种豁然开朗的感觉。这种感觉对于程序员来说是相当重要的,有追求的技术人员对于探索事物(技术)的运作原理都有着强烈的好奇心。
> 在那些优雅、易用、丰富的API背后,总是隐藏着不为人知的密术,好奇的技术人员也总想一探究竟。
今天花了点时间把看了web.py的代码分析了一遍,稍稍的总结成一个图片,供有兴趣的人参考。 原因 ------------------- 在开始之前先来说下分析它代码的原因,昨天是打算给wechat这个项目加上异常处理,可是发现在服务器返回400错误之后,客户端获取到得responseText和我服务器端定义的不一样,我服务器端是这么返回错误的
书接上篇文章: `ansbile中文指南 <http://www.the5fire.com/ansible-guide-cn.html>`_ ,实验最后那个playbook时始终难以完成启动django项目的操作,于是就去跟随着ansible执行的过程,看了下源码。 1. runner ------------------ 不得不说的这个runner接口,这是ansible下层用来执行远程命令的一个接口
周末看到一个python的库:sh。功能是让你像调用方法那样调用系统中的命令。比方说你想调用系统的ls方法,普通的做法是: ``import subprocess;subprocess.call("ls")`` 虽然可用,但总是觉得不是一家人。用sh库的做法是: ``from sh import ls;ls()`` 就可以了,毫无违和感。
其实上下文是接上一篇的,因为自己不理解backbone view中的事件绑定所以掉到了自己挖的一个坑里,调了两个晚上。把backbone view部分的代码看了之后才明白。
在前两篇文章中,我们已经对这个todos的功能、数据模型以及各个模块的实现细节进行了分析,这篇文章我们要对前面的分析进行一个整合。前面我们说过,有了肉和菜,剩下的就是要怎么吃。我个人倾向于菜和肉一起吃,这样不会觉得腻 :-) 首先让我们来回顾一下我们分析