Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2008-06-21 14:37:57
Size: 5198
Editor: ZoomQuiet
Comment:
Revision 15 as of 2009-12-25 07:16:00
Size: 5754
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from zhArticleTemplate
Line 3: Line 2:
#pragma section-numbers on
||'''status'''|| 正式 || ZoomQuiet|| 完成度:90%||
#acl WoodpeckerAdminGroup:read,write,delete,revert LovPyBookGroup:read,write,delete,revert All:
#pragma section-numbers off
Line 6: Line 5:
[[TableOfContents]] ||'''status'''|| 正式 || ZoomQuiet|| 完成度:100%||
Line 8: Line 7:
<<TableOfContents>>

##startInc
Line 9: Line 11:
'''提出自个儿的建议,为社区贡献'''
 * 应该说,到这会儿,你就要考虑将体验中爽的整理为文章分享,不爽的汇报社区以支持改进……
'''坚持将爽的体验整理为文章发布分享了出来,不爽的也汇报回去...'''这些都是对社区的贡献;
Line 12: Line 13:
图 KdayN-1 最后小白将自个儿在 问卷系统 开发过程中的体验综合到了一张趋势图谱中:
Line 14: Line 15:
attachment:KdayN-1.gif
Line 16: Line 16:
== 优化 ==
 1. 减少硬盘的读取次数
 1. 减少内存占用空间
 1. 加速响应处理
 1. 增加并发响应能力
 * 等等,是任何功能站点毕定要面对的优化难关…………
图 KdayN-1 问卷开发体验变迁趋势图

{{attachment:KDayN-1.png}}

## 矢量的底稿在 http://openbookproject.googlecode.com/svn/tangle/mindmaps/KDaysWay.svg

 进一步想到的优化方向::
  1. 减少硬盘的读取次数
  1. 减少内存占用空间
  1. 加速响应处理
  ...等等,是任何功能站点必定要面对的优化... ...
Line 24: Line 29:
'''在KarriGell 中摸爬滚打几日也算体会到一些所谓经验'''
 * '''教程要多看'''
  * 开始在 pure pih 中纠缠想来真的累哪要是早点对 KS 的方便有所体验就可以节省不少时间
  * Cheetah 模板系统已经在 KarriGell 2.2 系统中内含了没有注意才使用了原始的方式来使用
  * 不过后来充分信任 '''HTMLTags''' 函式化的NHML 生成感受就非常好也……!
'''在Karrigell 中摸爬滚打几日,也算体会到一些经验'''

=== 有关Karrigell 开发 ===

 * '''教程要多看! '''
  * 开始在纯 .pih 模式中纠缠,回来真的累哪! 要是早点对 .ks 的方便有所体验,就可以节省不少时间
  * Cheetah 模板系统,已经在 Karrigell 2.2 系统中内含了,没有注意才使用了原始的方式来使用
  * 不过,后来充分信任 '''HTMLTags''' 函式化的NHML 生成,感受就非常好也... !
Line 32: Line 39:
  * 但是,保证当前够用最重要`^__^`   * 但是,保证当前已经完成的功能是可用的,是够用`^__^`
Line 34: Line 41:
=== 有关KarriGell 调试 ===
 1. 页面空白源代码都为空时一定是Python 崩溃或是不吻合语法规则根本没有运行起来
  * 不过KarriGell 足够皮实不会崩溃的马上`Ctrl+z` 几次就可以知道哪少括号什么的了
 1. 有时候 `print object` 页面没有任何变化不要担心
  * 看一下子HTML 的源代码吧
  * 类似`<mod_ks.Script instance at 0x00E56DF0>` 这样的Python 对象属性输出在页面中会被浏览器处理为非法HTML节点而不显示的
 1. 作为一个快捷开发为豪的人一定要不求甚解……
  * 好使就成至于到底为什么先别想将来自然会明白的
  * 要知道人脑有下意识的,你的所有疑问会在后台进程中一直运算到解答为止即所谓`灵感是也乎`
  * 有时候明明白白是个字典但是就不让你使用到的键值来调用内容那未就使用`.keys()[]`的方便调用,反正,你只是要内容不管键名的小脾气的
=== 有关Karrigell 调试 ===
 1. 页面空白,源代码都为空时,一定是Python 崩溃,或是不吻合语法规则,根本没有运行起来!
  * 不过,Karrigell 足够皮实,不会崩溃的,马上`Ctrl+z` 几次,就可以知道哪少括号什么的了
 1. 有时候 `print object` 页面没有任何变化,不要担心
  * 看一下子HTML 的源代码吧!
  * 类似`<mod_ks.Script instance at 0x00E56DF0>` 这样的Python 对象属性输出,在页面中会被浏览器处理为非法HTML节点而不显示的!
 1. 作为一个快捷开发为豪的人,一定要不求甚解...
  * 好使就成,至于到底为什么,先别想,将来自然会明白的,
  * 要知道人脑有下意识的,小白的所有疑问会在后台进程中一直运算到解答为止,即所谓`灵感`
  * 有时候,明明是个字典对象,但是小白不到相关键值来调用内容,那未就使用`.keys()[]`的形式输出吧;反正,小白只是要内容,不管键名的;-)
Line 45: Line 52:
=== 有关站点组织 ===
 * 重构是自然的
 * 设计不如实现
  * 开始一定是模糊的遐想只有快速变为可接触的功能才可以进行改善
=== 有关 Karrigell 站点组织 ===
 * 重构是必须的,自然的
 * `设计不如实现`
  * 开始一定是模糊的遐想,只有快速变为可接触的功能,才可以进行改善
Line 55: Line 62:
 * 面向数据是核心……在理性用户面前
 * 要连续作业!!不然的话的随意定的变量是干什么的,你明天一定想不起来
  * 所以也只有 Python 才有可能在少量的变量和代码中实现的想象
 * 面向数据是核心... 在理性用户面前
 * 要连续作业! ! 不然的话的随意定的变量是干什么的,小白明天一定想不起来
  * 所以,也只有 Python 才有可能在少量的变量和代码中,实现小白的想象
Line 60: Line 67:
'''CSS提供了标准快捷的外观控制的同时也是有问题的...'''
 * 在敏捷开发中,可以利用 CSS 快速改变外观,
 * 但是与语言不同的在于,CSS 不能进行编辑判别,只能 为不同的情况设立专用的ID或是类来协助命中
  * 导致,CSS的设定增长的速度可以比使用的函式还要快
'''CSS提供了标准快捷的外观控制的同时也是有潜在问题的...'''
 * 在敏捷开发中,小白可以利用 CSS 快速改变外观,
 * 但是与语言不同的在于,CSS 不能进行编辑判别,小白只能 为不同的情况设立专用的ID或是类来协助CSS的渲染命中:
  * 导致,CSS的设定增长的速度可以比小白使用的函式还要快
Line 67: Line 74:
 * 利用几天空闲时间,快速将原来的 数据库为 基础,PHP版本的简单问卷系统重构为纯Python的
 * 大多数功能都是随想随实现的,没有进行规划,要进一步开发的话:
     1. 增加,删除问卷
     1. 丰富问卷形式,可以多选,填写信息
     1. 问卷的 slide 方式,一页接一页的回答
     1. 丰富[http://www.amowa.net/jsvalidation/ JVF] 的规则集合
     1. 优化[http://www.amowa.net/jsvalidation/ JVF] 的配置文件处理,嵌入到HTML的 `<XML>` 数据岛中
     1. 优化[http://www.orionlab.net/karrigell_quickform/Karrigell_QuickForm.html KQF] 与 [http://www.amowa.net/jsvalidation/ JVF] 配合起来,更加方便好用
      * 经沟通,获准开辟 JsValidationFramework -- 表单验证框架 [http://www.amowa.net/jsvalidation/ JVF] 的啄木鸟再次开发项目
      * 非常诡异,Mozilla 的 xml dom 处理非常的有问题哪!
      * 没有找到很好的兼容性DOM处理机,计划还是使用字串来进行约定
      
     1. 问卷风格的快速切换,实现皮肤功能
     1. ………… 需求是变化莫测的,人的欲望也是无常的…………
至此,小白利用几天空闲时间,快速将原来的 数据库为 基础,PHP为动态语言的`简单问卷系统`重构为纯Python实现,但是:
 * 大多数功能都是随想随写成的,没有进行规划,要进一步开发的话,至少得有:
 1. 增加/删除问卷
 1. 丰富问卷形式,可以多选,填写补充信息...
 1. 支持 slide 方式,即一页接一页的回答
 1. 丰富 JVF 的规则集合
 1. 优化 JVF 的配置文件处理,嵌入到HTML的 `<XML>` 数据岛中
 1. 优化[[http://www.orionlab.net/karrigell_quickform/Karrigell_QuickForm.html|KQF]] 与 JVF 配合起来,更加方便好用
 1. 问卷系统外观风格的快速切换~实现皮肤功能
 1. ... ...
 需求是变化莫测的,人的欲望也是无常的... ... 但是,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 体验给任何有兴趣的好人,也热切期待好人的好作品!
Line 84: Line 95:
 * http://openbookproject.googlecode.com/svn/trunk/LovelyPython/KDays/kdayN  * 实例下载: http://openbookproject.googlecode.com/svn/trunk/LovelyPython/KDays/kdayN
 * 精巧地址: http://bit.ly/10qwJ3
Line 88: Line 101:
    读者做到这一步应该非常非常了解Karrigell的开发流程了, 接下来还是要对已有的web应用进行优化...这些只能通过自己不断的学习慢慢了解 (^_^)
     
    读者做到这一步应该非常非常了解Karrigell的开发流程了, 接下来还是要对已有的web应用进行优化...这些只能通过自己不断的学习慢慢了解 `(^_^)`

##endInc
Line 91: Line 106:
返回 [:ObpLovelyPython/KDays:KDays实例故事] 返回 [[ObpLovelyPython/KDays|KDays实例故事]]
Line 93: Line 108:
::-- ZoomQuiet [[[DateTime(2005-12-11T04:52:04Z)]]] ::-- ZoomQuiet [<<DateTime(2005-12-11T04:52:04Z)>>]
Line 95: Line 110:
[[PageComment2]]
<<PageComment2>>

status

正式

ZoomQuiet

完成度:100%

KDay N:经验总结畅想web应用

坚持将爽的体验整理为文章发布分享了出来,不爽的也汇报回去...这些都是对社区的贡献;

最后小白将自个儿在 问卷系统 开发过程中的体验综合到了一张趋势图谱中:

图 KdayN-1 问卷开发体验变迁趋势图

KDayN-1.png

进一步想到的优化方向
  1. 减少硬盘的读取次数
  2. 减少内存占用空间
  3. 加速响应处理
  4. ..等等,是任何功能站点必定要面对的优化... ...

经验总结

在Karrigell 中摸爬滚打几日,也算体会到一些经验

有关Karrigell 开发

  • 教程要多看!

    • 开始在纯 .pih 模式中纠缠,回想起来真的累哪! 要是早点对 .ks 的方便有所体验,就可以节省不少时间
    • Cheetah 模板系统,已经在 Karrigell 2.2 系统中内含了,没有注意才使用了原始的方式来使用
    • 不过,后来充分信任 HTMLTags 函式化的NHML 生成,感受就非常好也... !

  • 勇于尝试,接受不同的思路
  • 同时也要勇于抛弃不好的代码
  • 只有更好,没有最好!!

    • 但是,保证当前已经完成的功能是可用的,是够用的^__^

有关Karrigell 调试

  1. 页面空白,源代码都为空时,一定是Python 崩溃,或是不吻合语法规则,根本没有运行起来!
    • 不过,Karrigell 足够皮实,不会崩溃的,马上Ctrl+z 几次,就可以知道哪少括号什么的了

  2. 有时候 print object 页面没有任何变化,不要担心

    • 看一下子HTML 的源代码吧!
    • 类似<mod_ks.Script instance at 0x00E56DF0> 这样的Python 对象属性输出,在页面中会被浏览器处理为非法HTML节点而不显示的!

  3. 作为一个快捷开发为豪的人,一定要不求甚解...
    • 好使就成,至于到底为什么,先别想,将来自然会明白的,
    • 要知道人脑有下意识的,小白的所有疑问会在后台进程中一直运算到解答为止,即所谓灵感

    • 有时候,明明是个字典对象,但是小白不到看相关键值来调用内容,那未就使用.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下载地址:

练习

  • 读者做到这一步应该非常非常了解Karrigell的开发流程了, 接下来还是要对已有的web应用进行优化...这些只能通过自己不断的学习慢慢了解 (^_^)


返回 KDays实例故事

::-- ZoomQuiet [2005-12-11 04:52:04]

<<PageComment2>>

ObpLovelyPython/KDayN (last edited 2012-03-12 01:33:43 by ZoomQuiet)