Contents
KDay N:经验总结畅想web应用
坚持将爽的体验整理为文章发布分享了出来,不爽的也汇报回去...这些都是对社区的贡献;
最后小白将自个儿在 问卷系统 开发过程中的体验综合到了一张趋势图谱中:
图 KdayN-1 问卷开发体验变迁趋势图
- 进一步想到的优化方向
- 减少硬盘的读取次数
- 减少内存占用空间
- 加速响应处理
- ..等等,是任何功能站点必定要面对的优化... ...
经验总结
在Karrigell 中摸爬滚打几日,也算体会到一些经验
有关Karrigell 开发
教程要多看!
- 开始在纯 .pih 模式中纠缠,回想起来真的累哪! 要是早点对 .ks 的方便有所体验,就可以节省不少时间
- Cheetah 模板系统,已经在 Karrigell 2.2 系统中内含了,没有注意才使用了原始的方式来使用
不过,后来充分信任 HTMLTags 函式化的NHML 生成,感受就非常好也... !
- 勇于尝试,接受不同的思路
- 同时也要勇于抛弃不好的代码
只有更好,没有最好!!
但是,保证当前已经完成的功能是可用的,是够用的^__^
有关Karrigell 调试
- 页面空白,源代码都为空时,一定是Python 崩溃,或是不吻合语法规则,根本没有运行起来!
不过,Karrigell 足够皮实,不会崩溃的,马上Ctrl+z 几次,就可以知道哪少括号什么的了
有时候 print object 页面没有任何变化,不要担心
- 看一下子HTML 的源代码吧!
类似<mod_ks.Script instance at 0x00E56DF0> 这样的Python 对象属性输出,在页面中会被浏览器处理为非法HTML节点而不显示的!
- 作为一个快捷开发为豪的人,一定要不求甚解...
- 好使就成,至于到底为什么,先别想,将来自然会明白的,
要知道人脑有下意识的,小白的所有疑问会在后台进程中一直运算到解答为止,即所谓灵感
有时候,明明是个字典对象,但是小白不到看相关键值来调用内容,那未就使用.keys()[]的形式来输出吧;反正,小白只是要内容,不管键名的;-)
有关 Karrigell 站点组织
- 重构是必须的,自然的
设计不如实现
- 开始一定是模糊的遐想,只有快速变为可接触的功能,才可以进行改善
这样的开发才是最自然的
冲动->弱功能->利用已有的模块->可用->优化->如果牵连出多于三个以上的大问题的修改,立即换个方法 ^ | | | +----------------------------------+
- 面向数据是核心... 在理性用户面前
- 要连续作业! ! 不然的话的随意定的变量是干什么的,小白明天一定想不起来
- 所以,也只有 Python 才有可能在少量的变量和代码中,实现小白的想象
有关CSS设计
CSS提供了标准快捷的外观控制的同时也是有潜在问题的...
- 在敏捷开发中,小白可以利用 CSS 快速改变外观,
- 但是与语言不同的在于,CSS 不能进行编辑判别,小白只能 为不同的情况设立专用的ID或是类来协助CSS的渲染命中:
- 导致,CSS的设定增长的速度可以比小白使用的函式还要快
- 可惜,现在没有什么好的想法来进行有效,聪明的控制
TODO
至此,小白利用几天空闲时间,快速将原来的 数据库为 基础,PHP为动态语言的简单问卷系统重构为纯Python实现,但是:
- 大多数功能都是随想随写成的,没有进行规划,要进一步开发的话,至少得有:
- 增加/删除问卷
- 丰富问卷形式,可以多选,填写补充信息...
- 支持 slide 方式,即一页接一页的回答
- 丰富 JVF 的规则集合
优化 JVF 的配置文件处理,嵌入到HTML的 <XML> 数据岛中
优化KQF 与 JVF 配合起来,更加方便好用
- 问卷系统外观风格的快速切换~实现皮肤功能
- ... ... 需求是变化莫测的,人的欲望也是无常的... ... 但是,Python 是电池内置的,是足够强大的,是可以快速支持所有想象的!
{{{脚注:: 所谓Python是电池内置, 就是说, Python语言本身就已经内置了足够多的实用模块, 这些模块足以完成大多数常见的任务. 这是由Rob Andrews在文章Batteries Included A quick look at Python modules中首次提出电池内置这个说法, 这篇文章主要是讲了Python中模块的一些用法. 访问地址: http://www.uselesspython.com/BatteriesIncluded.html 精巧地址: http://bit.ly/2vPE15 }}} 小白愿意分享Pythonic 体验给任何有兴趣的好人,也热切期待好人的好作品!
实例下载
使用SVN下载地址:
实例下载: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/KDays/kdayN
精巧地址: http://bit.ly/10qwJ3
练习
读者做到这一步应该非常非常了解Karrigell的开发流程了, 接下来还是要对已有的web应用进行优化...这些只能通过自己不断的学习慢慢了解 (^_^)