03 2013 档案
摘要:我在数据层的抽象上走了一段比较长的弯路。简单总结一下:刚开始做简单的项目时,用简单的ActiveRecord就已经很合适了,比如CodeIgniter自带的。但是项目变大之后,特别是业务实体之间的关联变多之后马上就出现了问题,为了降低各个实体间的耦合,你需要将各种操作再抽象出一层。举个例子:你做了一个简单的用户系统,对用户的增删改查只需要对“用户类”调用相应的操作就行了。后来你增加了一个文件类,每个用户可以拥有多个文件,删除用户时需要同时删除相应的文件。为了能使删除的用户的这个操作复用,同时防止其他操作删除用户时没有删除相应文件夹,于是你不得不再对用户的删除做一层封装。我曾经试图让各种实体在构
阅读全文
摘要:在学习Django模板之前我以为也和很多php模板引擎一样,是通过缓存文件输出,执行模板中的python代码来实现的。读完发现居然和前端模板相似,用了正则。为了更好的体会设计的哲学,我同时参考了tornato、drupal、codeigniter、aceTemplate、underscore中的模板设计。Django模板特点1.不支持python代码,使用自己的标签关键字。 Django的模板设计时有个重要的假设是:“写模板的不懂python”。因此你只要搞告诉他基本的逻辑结构(判断、循环、输出变量等)的写法就行了。同时也避免了程序员将业务逻辑写道模板里。解析模板的时候和前端模板非常类似,也.
阅读全文
摘要:这篇是总目录。记录下学习python的过程是为了强制自己执行新的学习方法,以及验证自己对于“学习”本身的新领悟。真正强大的人在于成长有个加速度。这个加速度体现在对自己思维方式的改造上,远不只是经验积累。这个改造的方式来自于日常学习中。普通人学习的误区在与于只是收获解决某类问题的经验,即使你学的是一种思路。对真正的学习来说,这只是第一步,我称之为通览。第二步是研究所学的东西的形成过程和发展趋势,对于其中疑惑的地方单独拿出来再学习,这一步才是学习的本质。第三步是在所学的东西上发挥灵感,再创造。这个想法得益于之前看到的一篇文章《如何在一年内修完斯坦福四年的课程》。就是我学习的详细记录:计划1 学习p
阅读全文
浙公网安备 33010602011771号