快速体验 http://karrigell.sourceforge.net/images/karrigell_text.png web开发

以实际功能站点来讲述KarriGell 的愉快应用 ::-- ZoomQuiet [2005-12-10 11:45:59]

1. 缘起

1.1. K0日: 预定

定场诗

前有樱桃,后涡轮;还是推车最贴心。
(CherryPy TurboGears KarriGell)
最贴心,不省心, 一切都要想清楚。
想清楚,就清楚, 一切清楚才清爽!
要清爽,常重构! 没有最爽只有更爽是也乎!
  • 近来,工作之余,使用KarriGell快速重构了原先的一个问卷小系统—— EasyPaper ,对KarriGell 的Web开发感到非常的爽!想分享这种快乐给大家,就结合实际开发的历程和其它的体验,虚拟了一个故事。

  • 进入故事前,首先请首肯假设:
    1. 你对互联网有所了解
    2. 知道HTML
    3. 了解CSS
    4. 了解DHTML
    5. 了解动态网络的含义
    6. 理解有PHP或是ASP的开发思路
    7. 了解Python
    8. 了解CherryPy

    9. 否则,你会有些迷惑不解的说(~__~)

  • 本故事面向那些控制欲强的人,如果快捷实现的快感,要大于驾驭一切的控制感的程序员并不适合,本故事,他们一定会感觉这样开发太……ugly ~__~

  • 故事约定:

    1. 每节故事都提供可运行的KarriGell 实例站点脚本,以便对照体验

    2. 故事,不是教程,只会讲述要点,具体的都在实例脚本中了
    3. 实例脚本全部使用 Leo 组织!这样可以协助快速掌握整体的框架

    4. 每节故事基本上都是可以在2小时内完成的开发任务
    5. 最终目标要可以将一批类似的问卷设计文本可以方便快捷的修改和发布以及实时的成绩统计 {{{#easy051201.cfg

[desc] pname = 啄木鸟问卷 之 “基本知晓” desc = 自学问卷v0.7 learn = <a href='http://wiki.woodpecker.org.cn/moin/CPUG'>CPUG首页</a> # 问卷状态: 0 设计中|1 发布中|2 发布过 done = 0

[ask/1] question= 啄木鸟社区首页在哪里? a = woodpecker.org.cn b = python.cn c = 不知道…… key = a # 正确答案 [ask/2] ... }}}

2. K日故事

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

3. K日继续:跟自个儿较劲

提出自个儿的建议,为社区贡献

  • 应该说,到这会儿,你就要考虑将体验中爽的整理为文章分享,不爽的汇报社区以支持改进……

3.1. 自学问卷开发/学习体验图谱

设计稿:: KdaysWay.RIF

KdaysWay.gif

3.2. 优化

  1. 减少硬盘的读取次数
  2. 减少内存占用空间
  3. 加速响应处理
  4. 增加并发响应能力
  5. 等等,是任何功能站点毕定要面对的优化难关…………

3.3. 经验总结

KarriGell 中摸爬滚打几日,也算体会到一些所谓经验

  • 教程要多看!

    • 开始在 pure pih 中纠缠,想来真的累哪!要是早点对 KS 的方便有所体验,就可以节省不少时间
    • Cheetah 模板系统,已经在 KarriGell 2.2 系统中内含了,没有注意才使用了原始的方式来使用

    • 不过,后来充分信任 HTMLTags 函式化的NHML 生成,感受就非常好也……!

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

    • 但是,保证当前够用最重要^__^

3.3.1. 有关KarriGell 调试

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

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

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

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

    • 有时候,明明白白是个字典,但是就不让你使用看到的键值来调用内容,那未就使用.keys()[]的方便来调用,反正,你只是要内容,不管键名的小脾气的

3.3.2. 有关站点组织

  • 重构是自然的
  • 设计不如实现
    • 开始一定是模糊的遐想,只有快速变为可接触的功能,才可以进行改善
    • 这样的开发才是最自然的

      冲动->弱功能->利用已有的模块->可用->优化->如果牵连出多于三个以上的大问题的修改,立即换个方法
       ^                                  |
       |                                  |
       +----------------------------------+
  • 面向数据是核心……在理性用户面前
  • 要连续作业!!不然的话的随意定的变量是干什么的,你明天一定想不起来
    • 所以,也只有 Python 才有可能在少量的变量和代码中,实现你的想象

3.3.3. 有关CSS设计

CSS提供了标准快捷的外观控制的同时也是有问题的...

  • 在敏捷开发中,你可以利用 CSS 快速改变外观,
  • 但是与语言不同的在于,CSS 不能进行编辑判别,你只能 为不同的情况设立专用的ID或是类来协助命中
    • 导致,CSS的设定增长的速度可以比你使用的函式还要快
    • 可惜,现在没有什么好的想法来进行有效,聪明的控制

3.4. TODO

  • 利用几天空闲时间,快速将原来的 数据库为 基础,PHP版本的简单问卷系统重构为纯Python的
  • 大多数功能都是随想随实现的,没有进行规划,要进一步开发的话:
    1. 增加,删除问卷
    2. 丰富问卷形式,可以多选,填写信息
    3. 问卷的 slide 方式,一页接一页的回答
    4. 丰富JVF 的规则集合

    5. 优化JVF 的配置文件处理,嵌入到HTML的 <XML> 数据岛中

    6. 优化KQFJVF 配合起来,更加方便好用

      • 经沟通,获准开辟 JsValidationFramework -- 表单验证框架 JVF 的啄木鸟再次开发项目

      • 非常诡异,Mozilla 的 xml dom 处理非常的有问题哪!
      • 没有找到很好的兼容性DOM处理机,计划还是使用字串来进行约定
    7. 问卷风格的快速切换,实现皮肤功能
    8. ………… 需求是变化莫测的,人的欲望也是无常的…………

3.5. 实例下载

3.6. 讨论

  • 我在实际使用过程中发现,一旦某个页面不慎陷入死循环,Karrigell 也就马上停止响应了,这时候如果再想访问其它的页面,好像只有重启 Karrigell 服务了。-- rockety

    • 咔咔咔!那也比每次都要重启要爽太多了哪……ZoomQuiet


返回 KarrigellWebDev -- 快速体验K开发

4. 反馈

自由讨论

  • 不错,快速中文karrigell教程。 --tomz
    • 咳咳咳,还没有公告发布哪……(~__~)||| 这才发现,幸好有Leo 将以往的尝试全部快捷保存下来了,这才使回忆不是很痛苦的事儿……堆积代码很简单,但是要讲好故事就不是简单的事儿了……向大师们学习中 -- ZoomQuiet

KarrigellWebDev (last edited 2009-12-25 07:18:05 by localhost)