写在zipsite1.0发布之后

首先,大肆宣扬一番:今天zipsite正式发布了第一个里程碑式版本 Ver1.0 Release!

话说去年11月份,刚接到一个项目,要在Android平台上开发一个基于手机通讯录的应用。众所周知的原因,Android开发者网站http://developer.android.com/ 在国内无法访问。一开始,我直接下载了本地版本的html全站镜像文件。作为一开始了解这个平台,读读SDK搭建方法一点问题也没有。后来对照几个example进行开发联系,发觉很多类型不知道何去何从,用了本地搜索发觉也是摸不着头脑。于是有了一个想法:为何不把手册放在网上,借助google来索引整个网站。

继续阅读“写在zipsite1.0发布之后”

推荐阅读:
评价一个网站的“大小”,处于视
碰到这样一种情况:在使用新浪微
种种原因,站长已经很久没有关注

从GAE看网站架构趋势

在Google App Engine做了几个东西。从当初觉得这个平台的迥然不同,直到现在逐步了解了这个平台的逻辑架构。作为Google的一款成功的作品,相信GAE的很多东西将会陆陆续续被模仿和抄袭,直到真正影响到我们。本文就以我个人的理解,谈谈GAE将会给今后的网站架构带来哪些革命性的东西。

首当其冲的应该算是云技术,但这个技术总体上属于物理层的技术,况且云已经成为公认的技术趋势。这里主要是谈下网站的架构,云技术相对关系较为偏离,我也就不再探讨了。

继续阅读“从GAE看网站架构趋势”

推荐阅读:
自打从硬件方向研究性能优化起,
之前我们通过几个概念简单的介绍

Gtalk通知机器人脚本

服务器每天都有这样那样的信息需要实时推送。最初一直是Mail,最容易实现,成本也低。后来有了短信接口,就有了相对实时但要花钱的方式推送。

知道GAE可以直接跟gtalk挂钩推送消息,可能一直挂Gtalk的人远没有挂QQ和MSN的多(密之声:Gtalk又没有星星和钻石,挂也没劲),但有了Android + 3G的实时在线,这种方式却可以直接替代SMS这类花钱的服务,何乐不为?

大致上完成了原型,制作了一个基于Python的命令行程序,不敢独享,分享给大家。希望大家能够一起加入这个项目完善它。
在此之前,请现将 server-say @@@ appspot.com (你懂的!)加为好友

继续阅读“Gtalk通知机器人脚本”

推荐阅读:
深入读了读python的官方文
正值毕业季,这些天一直忙于面试
尽管现在有了wheel这类更为

突破GAE文件数量的限制

这些天有个项目是需要一部分Android开发。本想去官网看文档,众所周知的原因,官网无法连接。下载了本地的文件,由于是做的整站镜像,搜索功能无法正常使用,这对于经常要使用此功能的我来说很是麻烦。于是想到了把文件上传到GAE,再利用Google的本地功能来实现。 想的很简单,写好了app.yaml就要上传。谁知道试了几次也不成功。帮助手册上说的很明确:

限制
请求大小 10 兆字节
响应大小 10 兆字节
请求持续时间 30 秒
同时动态请求 30 *
应用程序文件的最大数目 1,000
静态文件的最大数目 1,000
应用程序文件的最大大小 10 兆字节
静态文件的最大大小 10 兆字节
所有应用程序和静态文件的最大总大小 150 兆字节

继续阅读“突破GAE文件数量的限制”

推荐阅读:
评价一个网站的“大小”,处于视
碰到这样一种情况:在使用新浪微
种种原因,站长已经很久没有关注

GAE的数据导入问题

又是关于Google App Engine的问题。
根据GAE的官方文档,向GAE的存储区导入数据,导入了数次均出现问题,翻来覆去的无法成功。

CVS结构示例:1300428,浙江省嘉兴市,联通130卡 (一个手机号码的对应归属地列表)

configfile:

from google.appengine.ext import db
from google.appengine.tools.bulkloader  import Loader

class MobilePhone(db.Model):
  Number = db.StringProperty()
  Area = db.StringProperty()
  BrandType = db.StringProperty()

class MPLoader(Loader):
  def __init__(self):

    Loader.__init__(self, 'MobilePhone',
                    [('Number', unicode),
                     ('Area', unicode),
                     ('BrandType', unicode),
                     ])

loaders = [MPLoader]

主要分析了一下,问题分为几类。

继续阅读“GAE的数据导入问题”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上

GAE的镜像

本想将LAMP中的PHP弄成Python,研究下Zope或者索性的Python CGI。想到目前推Python最起劲的公司正是Google,况且Google的App Engine又是免费资源,顺道着就申请了。

GAE对于很多人来说只不过是当作撑杆来翻墙的。其实不管从哪个方面来说,GAE的理念就是一个搭载了Java或Python页面框架的虚拟主机,而且支持一大堆的扩展(google wave上的机器人)。借助了Microblog,我在GAE上架设了本站的镜像站点

继续阅读“GAE的镜像”

推荐阅读:
5月中旬,我参加了在加利福尼亚
之前发过一个帖子介绍了RDT在
继续在NUMA和性能差异的路上