Some reminiscences, some memories
Just another boring day

August 26, 2008

TurboGears 学习笔记-控制器

Filed under: Python — Tags: , , — mikespook @ 10:28 am

这部分内容虽然不多,但是看了好多天。

在 tgadmin 自动生成的 appname/appname/controller.py 中有如下代码:

1 import turbogears as tg
2 from turbogears import controllers, expose, flash
3 from cherrypy import request
4 # from sandbox import model
5 # import logging
6 # log = logging.getLogger(”sandbox.controllers”)
7
8 class Root(controllers.RootController):
9 @expose(template=sandbox.templates.welcome)
10 def index(self):
11 import time
12 # log.debug(”Happy TurboGears Controller Responding For Duty”)
13 flash(Your application is now running)
14 return dict(now=time.ctime())

Root.index 是 http://127.0.0.1:8080/index 的控制器。如果需要添加新的“页面”,只要在 Root 中添加新的方法即可:

16 @expose()
17 def foobar(self):
18 return Just another page

@expose() 是一定要加的,不加这个,无法定位控制器的方法。

我这里没有添加 template,所以框架将返回的内容直接作为字符串输出在页面上了。

如果想使用模板(默认为Kid),则指定模板名称 template=”appname.appname.foobar”,这个对应的是项目根开始的目录和模板文件名的结构。实际模板应保存在 appname/appname/foobar.kid 文件中。

控制器通过 expose 出来的方法的参数获得浏览器传递过来的变量,对上面的方法稍加改造即可:

16 @expose()
17 def foobar(self, *args, **kv):
18 if (kv.has_key(name)):
19 name = kv['name']
20 else:
21 name = unknown
22 return Your name is + name

当访问 http://127.0.0.1:8080/foobar 时,页面显示 Your name is unknown。当访问 http://127.0.0.1:8080/foobar?name=fool 时,页面显示 Your name is fool。

当提供一个名为 default 的方法 expose 时,所有未定义的访问都会转到这个方法上去。这时,args 参数包含了访问所用的名字。例如访问 http://127.0.0.1:8080/barfoo,而 barfoo 未定义,那么default 方法被调用。同时 args[0] = “barfoo“。

好像控制器最基本的使用就这么些东西了,有点类似 Zend Framework 的 Controller->Action 的形式,仅仅是形式。

August 20, 2008

RatProxy 在 cygwin 下的编译

Filed under: Uncategorized — Tags: , , — mikespook @ 3:35 am

ubuntu 下已经搞掂,很简单:apt-get install make gcc build-essential libssl-dev ca-certificates,然后 make 即可。

cygwin 下有一点小麻烦,特别记录一下:

需要安装的包:make gcc binutils openssl-devel

需要做的改动:Makefile 的 CFLAGS = -Wall -O3 -Wno-pointer-sign -D_GNU_SOURCE 改为 CFLAGS = -Wall -O3 -D_GNU_SOURCE,去掉 -Wno-pointer-sign。否则会有一个不支持参数 xxxx 的报错。

然后一样,make 即可。

August 19, 2008

TurboGears 学习笔记-安装

Filed under: Python — Tags: , — mikespook @ 3:15 pm

Zope3 很强大,但是一直徘徊在 python 2.4 不升级。学习的兴趣骤减。Django 版本一直停滞在 0.96 不前。据说 12 月会出 1.0,但是兼容性似乎不能保障。偶然的机会看到一篇 TurboGears 的文章,似乎停简单。于是乎,先学安装。

TurboGears 的安装已经简单到了及至:easy_install turbogears。

在 ubuntu 下使用 easy_install 这个命令需要安装 python-setuptools 这个包。

在终端中执行 tg-admin 这个命令,一切正常,除了会有一个警告:UserWarning: Your installation of Python doesn’t have a profile module.原来还需要安装 python-profiler 这个包,使用 apt-get 安装之后,这个警告就不会再出现了。

使用 tg-admin quickstart 生成一个项目,比如 sandbox。进入自动生成的 sandbox 目录,执行命令 ./start-sandbox.py 一切 OK,只要 8080 端口没有被占用,TurboGears 就正常启动了。

在开发模式下,如果需要修改 8080 端口,找到 dev.cfg 文件中的 #server.socket_port=8080 行,去掉注释,修改端口,重新执行 ./start-sandbox.py 即可。

TurboGears 所具有的美感是 zend framework 所不具备的。连安装和部署都这么简单。希望 zend framework 能够取其之长,至少提供几个实用的自动化工具也好啊。

July 25, 2008

Firefox 常用插件备忘

Filed under: Uncategorized — Tags: — mikespook @ 4:55 am

每次装 firefox 都很麻烦,总是会忘记装一些插件。所以备忘下来。 (more…)

屁股决定世界

Filed under: My life — Tags: , , , , — mikespook @ 3:51 am

美国航天飞机燃料箱的两旁有两个火箭推进器,它们的宽度是4.85英尺。那么,它们为什么是4.85而不是5.0或者4.5呢?因为这些推进器造好之后要用火车运送,路上又要通过一些隧道,而这些隧道的宽度只比火车轨道宽一点,因此火箭助推器的宽度由铁轨的宽度所决定。那为什么铁轨的宽度是4.85英尺宽呢?原来,早期的美国铁路是英国人修造的,而这些英国工程师原来是建造电车的,而电车的轮距宽度就是4.85英尺。那电车的轮距宽度为什么按4.85英尺这个标准呢?原来,最开始时,做电车的人是做马车的。那做马车的人为何以4.85英尺为马车的轮距呢?因为那时的马车由两匹马拉动,而两匹马屁股的宽度就是4.85英尺。

所以说,屁股决定世界。

PS:其实我还很想知道,两匹马屁股的宽度是由谁决定的,呵呵~

July 23, 2008

NIA——从科幻片走向生活,用大脑控制计算机

Filed under: My life — Tags: , , , — mikespook @ 2:32 am

http://www.hothardware.com/Articles/OCZ_NIA_BrainComputer_Interface/

令人振奋的消息,不是么?通过简单的训练,就可以用“想”的方式来控制计算机。Matrix 中那种想一想的虚拟诗境,或许在将来的某一天变成如同红白机或者 PSP 一样普及的东西。

其实感觉挺汗的!

July 22, 2008

《货币战争》

Filed under: My life — Tags: , , — mikespook @ 3:23 am

昨天,一口气读完了《货币战争》的剩余章节。总体感觉,这本书前半部很吸引人。不论讲述的到底是事实还是根据历史的杜撰,其描述的世界经济的本质居然如此的贴合历史看上去的本来面目。不过后半部不知道是作者有意而为,还是素材用尽,有些虎头蛇尾、仓促收场的感觉。

阴谋论,似乎为许多人不耻。又成为好莱坞追捧的明星。而《货币战争》这本书讲述的所有内容,如果被整合成为一部电影,一定引人入胜。不过这部不符合当前全球经济发展浪潮的电影是不是能得到放映,可想而知。

不过,回头看从 06 年到 08 年这两年内的国际经济变化,与中国国内的经济发展进程。又令人不寒而栗,到底是《货币战争》作者未卜先知,知道格局将是如此变化,设下这样一个局让大家来参?还是那些百年历史的金融巨鳄终于忍不住要吃中国这个肥羊,来这里“剪羊毛”了?亦或着这一切都是巧合,就如同肯尼迪遇刺的关键证人在 40 年里正常或非正常死亡 115 个(我印象中的数字),而这个事情发生的概率如同20年后在海边捡到年幼时扔在那里的一包饼干一样微小。

谁知道呢!我总是希望聪明的中国人能够从容应付可能遇到的一切变故吧。

July 14, 2008

《西北偏北男人带刀》

Filed under: My life — Tags: , , — mikespook @ 2:11 am

买这本书的时候,已经距现在半年有余了吧。买的时候就凑巧:在计算机图书的架子前面消磨了近 4 个小时一无所获,不知不觉走到散文、诗歌的书架前。一眼就相中了这本书,不是别的,是这种封面看起来很舒服。更可能是跟我第一张从西站邮局前地摊上买来的邮票有关。很像!NND!现在想起来,卖邮票那鸟人应该是吭了老子的钱了。

其实早就想写点什么,一直没写。广州这个地方,不忙的时候可以天天喝茶,忙的时候可以天天看别人喝茶。cao! (more…)

July 13, 2008

一个经济学难题

Filed under: My life — Tags: , — mikespook @ 2:29 am

今天早上喝茶看报的时候,脑子里突然蹦出一个关于货币的问题来:如果一个政府短时间内新发行大量货币,比如在一个月内发行一个亿的货币,会怎么样?如果是十个亿又会怎么样?如果是五十个亿对于币值会产生什么样的影响呢?真有点想不清楚。看来有必要认真看一下《货币战争》了。

ps: 就现在了解,奥运纪念作用的可流通的 10 元人民币将发行 1000 万张,也就是一个亿。不过有报道说单张纪念币已经炒到 800 元。更有甚者,15 张联号叫卖 100 万。

July 7, 2008

七月七日

Filed under: My life — mikespook @ 1:47 am

两件事情。

第一件是历史。卢沟桥事变:http://zh.wikipedia.org/wiki/%E4%B8%83%E4%B8%83%E4%BA%8B%E5%8F%98

第二件事是08奥运圣火传递达兰州:http://2008.qq.com/a/20080707/000070.htm

Newer Posts »

Powered by WordPress