add by zhj: 说到yield,就要说说迭代器、生成器、生成器函数。迭代器:其实就是一个可迭代对象,书上说迭代器,我个人不喜欢这个说法,有点晦涩。可迭代对象基本上可以认为是有__iter__()和next()方法的对象,尽管这个定义并不严谨。生成器:其实也是一个可迭代对象,但它是一种特殊的可迭代对象(即特殊的迭代器)。它的特殊性在于它是通过中断的形式实现next(),无需对象本身保存状态,另外生成器还有 send(),throw()等方法,这是迭代器没有的。迭代器是调用next()方法后就直接return了,状态需程序员保存在迭代器对象中,下次再调用时知道从哪里开始。而生成器 调用ne Read More
add by zhj: 增加了两张反向代理图片原文:http://blog.csdn.net/m13666368773/article/details/8060481目录(?)[-]正向代理的概念反向代理的概念两者区别正向代理的概念正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我... Read More
原文:http://www.cnblogs.com/dylantang/archive/2008/07/17/1245132.html 前面详细的介绍了三个范式的概念,都是一些基本的概念,权当是一个铺垫,本文需要讲述的是在大众点评网的发展过程中,反范式的运用以及范式的回归。反范式的应用 反范式的讨论在网上已经很多,之所以应用反范式,当然是为了查询的效率,当点评网成为众多喜欢美食的网友每天必上的网站之后,数据库增加了大量的数据,如果完全按照范式来进行设计,那查询将是致命的。 举个例子,要查询社区里面最新的10个帖子,如果按照范式设计,那么将关联两个表,一张是帖子表,另外一张是会员表,整个... Read More
add by zhj:用实际的例子说明三范式,不错。原文:http://www.cnblogs.com/dylantang/archive/2008/07/17/1244766.html在数据库设计中范式的应用是一个永恒的话题,从一开始学关系型数据库设计开始,老师就会对我们说在进行数据库的表结构设计时,运用范式会有多么重要 的意义,确实,在实际工作当中你也会发现范式确实非常重要,但是随着工作的深入,你会慢慢发现有时候遵守范式反而会让你掉入一个又一个陷阱,于是我们又会 谈到一个反范式的概念,什么时候需要遵守范式,什么时候又需要反范式,笔者试图利用几年开发的经验,结合大众点评网的实际例子,来跟大家 Read More
add by zhj:文中对程序员的建议非常好,主要是两点:成为某一方面的专家(自助)、建立并扩大人际圈(他助)。另外,我自己的感受是,人的时间总是有限的, 尤其是自己的职业生涯,从目前29岁算起,到32岁成为架构师,也就三年的时间,这段时间非常宝贵,而计算机的知识更新非常快,又非常多,必须把时间进行有效 利用,抓住那些重要的,不要在不重要的地方花时间。扩大交际圈的确非常重要,自己最近一年来的在网站、数据库等方面的收获相当程度上是因为我在别人的指引 下走对了方向,在大家的帮助下学习进步,很多人并不缺乏上进心,也非常努力,但因为方向选择的不好,那结果事倍功半,很可惜,在选择方向上,如果有一个.. Read More
add by zhj:本文中的Linux是指Ubuntu14.04以前我对环境变量有误解,以为环境变量就是PATH这个变量。其实环境变量其实有很多,PATH仅仅是其中一个而已,比如在Windows和Linux下,环境变量都分为用户的环境变量,系统环境变量两类,PATH只是其中的一个环境变量而已。每个... Read More
有时,我们直接用pip install package_name安装包时,下载很慢,我们可以尝试从PyPI镜像下载包。 这里是镜像列表和目前的状态: http://www.pypi-mirrors.org/ (另外,http://pypi.v2ex.com也是一个镜像) 要使用镜像,只要修改pip Read More
add by zhj:对我而言,学习新知识需要大块的时间,比如一个下午,零散的时间往往不会有开窍的感觉。在工作中,需要把项目完成时间延后2天左右,提前完成项目后,剩余时间用来学习新知识。另外,周末的时间,如果没有其它事情,也可以拿来学习。还有零散的时间,如8小时间之外,如果有时间,也应该学习。译文:http://www.vaikan.com/the-biggest-challenge-to-being-a-software-developer/程序员的最大挑战我 思考越深就越坚信,如今的程序员的最大挑战是没有时间学习新知识。当在学校时,人们都有大量的时间来学习新工具和新技术,但一旦完成学业,. Read More
Django ORM用到三个类:Manager、QuerySet、Model。Manager定义表级方法(表级方法就是影响一条或多条记录的方法),我们可以以models.Manager为父类,定义自己的manager,增加表级方法;QuerySet:Manager类的一些方法会返回QuerySet... Read More
原文: http://xm-king.iteye.com/blog/770721 SQL标准对事务定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。实际中,最常用的级别为Read Committed(读取提交内容)。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty Read)。Read Committed(读取提交内容) 这是大 Read More