2010 1 27 11:12 AM 2046 次查看
分类:Google App Engine 标签:Google App Engine, Python
这2天写YUI时发现个bug,老是莫名其妙地出现304状态码。即便使用完全刷新,用Firefox确认没有发送If-None-Match头,也会收到这个状态码。
2010 1 26 07:36 PM 1817 次查看
分类:Python 标签:Python
前几天在cnBeta看到一个使用截图来编程的新语言:Sikuli。不过没放出地址,我也懒得去看。
今天在Google Groups的Python论坛里看到有人说Sikuli是他见过最酷的项目,于是点了进去,看了首页的一段youtube演示视频,才发现这就是前几天看到的那个。
不过与其说是语言,不如说是一个工具或库。它是用Jython实现的,可以使用Jython的API,而最强大的功能就是识别截图了。只是感觉不像cnBeta上吹得那么强大,充其量就是一个加强版的按键精灵…
2010 1 26 01:24 AM 2989 次查看
分类:Python 标签:Python
如果要写一个程序,让x1为1,x2为2,然后直到x100为100,你会怎么做?
在C这种静态语言里,变量名这个标识符实际上会被编译器直接翻译成内存地址,所以除了手动设置每个变量的值以外,没办法做到这点。而Python这种动态语言则是可以做到的。
最容易想到的自然是eval,但是实际上根本不需要这种危险的东西,因为Python的变量名就是一个字典的key而已。要获取这个字典,直接用locals和globals函数即可。
2010 1 26 12:01 AM 1817 次查看
分类:Google App Engine 标签:Google App Engine, Python
由于载入模块可能需要几ms的时间,所以突然想看看GAE预加载了哪些模块,于是写了段很短的代码查看:
2010 1 25 09:15 PM 3816 次查看
分类:Google App Engine 标签:Google App Engine, Python
这几天服务器故障,所以就潜心玩GAE了。
正如我在《关于自建适用于GAE上的web框架的构想》一文中所提到的,我最终还是将这个框架实现了出来,取名为YUI,并以MIT许可发布了:
http://bitbucket.org/keakon/yui/
2010 1 19 11:58 PM 2528 次查看
分类:Google App Engine 标签:Google App Engine, Python, 性能
刚才在GAE论坛看到个可视化的性能分析工具Appstats(大陆要翻墙),是大名鼎鼎的Python作者Guido写的,感觉很不错,于是推荐下。
英文介绍可以看《Profiling Google App Engine with Appstats》,顺便盗链下图:
2010 1 17 04:17 PM 3324 次查看
分类:Google App Engine 标签:Google App Engine, Python
今天在GAE论坛看到一帖,问用appcfg.py部署时,怎么利用--passin参数自动输入参数,避免手动输入。
我读了下文档发现,加了这个参数后,就会从stdin读取密码,所以只要让脚本把密码输到stdin即可。
2010 1 16 03:15 PM 3162 次查看
分类:Google App Engine 标签:Google App Engine, Python
刚才在GAE论坛看到这样一个问题:
一个模型里有一个引用属性(ReferenceProperty)。获取完实体集后,想要通过该引用属性来获取指向的实体。
重点是ReferenceProperty会自动解引用,访问它时会自动查询数据库,这样就会造成多次数据库访问,而不能用gb.get()来一次获取。
2010 1 12 04:42 PM 1797 次查看
分类:Python 标签:Python
2010 1 6 12:58 AM 2668 次查看
分类:设计模式 标签:Java, Python, 设计模式
项目中遇到个问题,虽然还没和别人沟通过,不过先记录一下自己的想法吧。
在第一阶段的开发中,我们只针对美国和加拿大;现在要开始第二阶段的开发了,需要面向欧洲6国;而第三阶段则要面向亚洲。
问题是每个国家除了语言不一样,连逻辑都不一样,于是调用类的逻辑就得改了。简单来说就是要针对不同的国家,调用不同的类。
最容易想到的方法就是使用工厂方法模式:传递国家名,找到对应的类,再调用该类的方法。
可是被调用的方法不是实例方法,而是静态方法,这就导致了不能通过构造一个子类对象,转换成抽象基类的对象来调用该静态方法,因为调用静态方法时不会调用子类的方法。
« 看看还有什么好玩意