测试 Google App Engine

一不小心从某 blog 中第一时间发现 Google App Engine 发布,立马注册一个。当天晚上抽空看了看文档,做了做hello world,第二天晚上开始写一个聊天室程序,第三天晚上拿出 Python 技术手册,捣腾到今天才把一个简单的东西弄出来。去年学了一段时间的 Python, 还用 webpy 写了一个不成型的 blog 系统。某段时间认识自己不足,苦读了两个月的 C,后来买了 macbook, 又一头扎进 Objective-C 和 Cocoa, 哈哈哈,总之,一事无成吧。现在 GAE 出来了,突然发现一直寻找的 Python hosting 就这么从天上掉下来了,而且还是馅饼……重新激起 Python 兴趣,却发现又忘得差不多了……

废话太多了……这个测试 demo 叫 chatlazy, 位于 http://chatlazy.appspot.com. 是一个简易聊天室,后台部分,就是 Python 了,具体一点,是 webpy 0.3 (开发版,未发布)。机制十分简单,就是前端使用 JavaScript 隔 5 秒去提取后台的最新消息。有几个小细节还是值得总结一下的:

由于 GAE 的数据 ID 使不能用在 Gql 中的,我只能通过时间戳来比对消息状态。把 datetime 和秒数 + 毫秒数的互转,还是比较繁琐的。Python 技术手册帮了我很大忙。解决方案大致如此: str(time.mktime(d.timetuple()))[:-1] + str(d.microsecond)

反过来则是:

p = str(t).split('.')tp = time.localtime(float(p[0]))dt = datetime(tp[0], tp[1], tp[2], tp[3], tp[4], tp[5]+1, int(p[1]))对于 iterable 的对象, 先要 list 它转成列表,才可以使用 reversed 等相关方法。 需要取最新的 n 条信息,即数据库末尾的 n 条,但是又要顺序,可以先按逆序取 n 条,再反向排序(由此引发上条启示)。 对于任何用户输入的东西都要做过滤,一开始我在用户名那块忽略了,结果马上有人 XSS 了。这应该是基本常识,应铭记于心。 一定要处理异常。

由于 GAE 这个天上掉的馅饼,我想我近期的精力会放到 Python 上了,有计划地把 blog 迁徙到 GAE 上,并开发一些有趣地程序。GAE rocks. 老实说,这是搜索、Gmail 后,对我而言可以排到第三的 Google 服务了。

This entry was posted on Friday, April 11th, 2008 at 22:57 and is filed under JS / Dom, Python. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

时间: 2024-09-12 14:53:15

测试 Google App Engine的相关文章

使用Eclipse在Google App Engine上创建mashup,第1部分

进军社会软件是为应用程序增值的好方法.使用社会网络可以更轻松地获得并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务.您不必担心存储大量静态内容和动态数据.相反,您可以将精力集中在创建优秀的 mashup 上.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上

Google App Engine将支持PHP运行环境

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   [ 科技讯]5月21日消息,要挑战 Amazon Web Services,看来 Google 的决心是很大的.在今年的 Google I/O 2013 之中,Google 除了更新了不少 Android 的 APIs 外,同时也针对旗下云端计算服务 Google App Engine 更新.早前,Google 在 发布会中正式公布 Google App Eng

Amazon EC2和Google App Engine,谁是最后的赢家

Amazon EC2和Google App Engine,两大服务平台,谁能更胜一筹,我打算从三个角度来对比这两大云计算平台:技术,业务和未来发展趋势,本文是技术方面的对比,ok,准备好咖啡,我们开始吧! 如果按平台类型来分,大家可能已经知道Amazon EC2属于IaaS(基础设施即服务),Google App Engine属于PaaS(平台即服务).不过,如果Amazon EC2给你一个安装了操作系统的平台,你就可以自己安装应用程序,并且使用AMI(Amazon Machine Image)

Google App Engine

Google App Engine 是一种让您可以在 Google 的基础架构上运行您的网络应用程序.Google App Engine 应用程序易于构建和维护,并可根据您的访问量和数据存储需要的增长轻松扩展.使用 Google App Engine,将不再需要维护服务器:您只需上传您的应用程序,它便可立即为您的用户提供服务. 简介 您可以使用 Google提供的免费域名(见扩展阅读)为您的应用程序提供服务,也可以使用 Google Apps 从您自己的域为它提供服务.您可以与全世界的人共享您的

使用Google App Engine Helper for Django

原文链接: http://code.google.com/appengine/articles/appengine_helper_for_django.html 译文链接: http://danmarner.yo2.cn/appengine_helper_for_django_cn/ 引言 Google App Engine可以运行任何WSGI兼容的程序.由于Django支持该标准,所以在Google App Engine上建立(或者移植既成的)Django程序是完全可能的. 本文将通过重新包装

使用 Eclipse 在 Google App Engine 上创建 mashup,第 3 部分: 使用 RESTful Web 服务

使用社会网络可以更轻松地获取并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务,而是集中精力创建优秀的 mashup.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上创建 mashup" 的最后一部分,在本文中,将利用并进一步增强在前两部分中构建的

使用 Eclipse 在 Google App Engine 上创建 mashup,第 1 部分: 创建应用程序

进军社会软件是为应用程序增值的好方法.使用社会网络可以更轻松地获得并聚合数据,从而创建富有革新精神的新 Web 应用程序.但是,仍然必须处理创建可伸缩 Web 应用程序的所有常见问题.现在,使用 Google App Engine (GAE) 也可以简化工作.使用 GAE,可以不必考虑管理应用服务器池的所有事务.您不必担心存储大量静态内容和动态数据.相反,您可以将精力集中在创建优秀的 mashup 上.本文是共分三部分的系列文章 "使用 Eclipse 在 Google App Engine 上

Google App Engine 入门:开发环境

Google 提供了一个Google App Engine 软件开发包(SDK),用于让开发者进行网站应用程序开发或上传已经完成的应用. 这个开发包包含: 一个web服务程序,用来模拟App Engine应用环境 一个本地版的数据存储方案 本地模拟的Google帐号集成 支持使用Api来分析URL和发送邮件 这个开发包可以运行在所有安装了Python2.5的机器上,并且支持Windows, Mac OS X 和Linux系统. 因为这个开发包是以Python2.5为基础的,所以你必须先要在你的机

Google App Engine的开源实现

AppScale 是GAE(Google App Engine)的开源实现,它同时也是一个云计算平台,允许用户在任何地方(服务器或集群)发布和托管自己的 GAE 应用程序. AppScale支持 Google App Engine平台的Python.Java和Go运行时,目前的最新版本为1.9.0.其主要包括四个组件:AppServer.AppLoadBalancer.Database Master.Database slaves. AppScale给开发者带来的便利: 与GAE完美兼容的pro