这篇是总目录。
记录下学习python的过程是为了强制自己执行新的学习方法,以及验证自己对于“学习”本身的新领悟。
真正强大的人在于成长有个加速度。这个加速度体现在对自己思维方式的改造上,远不只是经验积累。这个改造的方式来自于日常学习中。普通人学习的误区在与于只是收获解决某类问题的经验,即使你学的是一种思路。对真正的学习来说,这只是第一步,我称之为通览。第二步是研究所学的东西的形成过程和发展趋势,对于其中疑惑的地方单独拿出来再学习,这一步才是学习的本质。第三步是在所学的东西上发挥灵感,再创造。
这个想法得益于之前看到的一篇文章《如何在一年内修完斯坦福四年的课程》。
就是我学习的详细记录:
计划
1 学习python基础(《python核心编程》),同时学习一个python程序来辅助理解(Django)。
1.1 学习和使用Django。
1.1.1 记录疑惑的地方。逐步解惑。
1.1.2 记录模式或者结构的实现,和php以及前端类似架构对比。理解差异的由来。
1.2 了解Django的由来,熟知Django的发展变化,研究变化的原因。
1.3 针对Django解决的问题,研究后续变化的趋势。尝试对存在的问题进行改造。
1.4 学习python在对Django实现上的帮助。
2 学习python的设计哲学。
2.1 了解 python 的设计起源。
2.2 了解 python 对现代编程通用概念的实现,研究和其他语言的差异,以及差异的由来。
3 了解python的发展趋势。尝试对现有问题进行解决。
详细
1.1.1 Django使用正则来做url路由。那每一次请求都会遍历执行所有正则吗?会不会有效率问题?
1.1.2 Django的模板实现方式和PHP模板以及前端模板的区别。
1.1.2 Django的数据模型层实现特点。
1.4 python扩展自身的能力。在看Django的ORM实现时,发现数据库查询是使用的python标准切片来做的对查询数据数量limit,代码可以写成如 users.objects.all()[0:5] 的形式。猜测Django不可能读出所有数据再切片,那么python语言本身应该提供了某种机制来复写或者扩展自身语法。