继维基百科(wikipedia.org)决定停站一天,以示对网络反盗版法案SOPA 和 PIPA的抗议之后,Google在首页Doodle遮盖Google标志的方式以示对法案的抗议。

google doodle 抗议网络反盗版法案


QQ旋风lv8级以上的用户可以获得免费的离线下载,这比迅雷一边从网友那里免费获得资源一边又向网友的口袋里伸手掏钱的行为靠谱多了。用了一段时间的QQ旋风对它很有好感,也总结了一些帮助快速升级的经验向大家分享一下。

QQ旋风可以在线时间,下载和分享来积累积分。在线积分没小时10分,一天在线24小时即可获得240分,家里的电表不走字的同学推荐24小时在线。下载积分每100m10分,200分封顶,如果你不能保证每天都有2个g的下载量可以通过一个小技巧保证每天的下载积分收益:选择一个正好2g的资源,下载到百分之99.9的时候暂停,移动到一个临时文件夹里,当某天下载达不到2g的时候把它复制到qq旋风文件夹里然后在qq旋风里导入这个未完成的下载,很快200分就到手了。分享积分需要一点点劳动付出了。如下图,点击qq旋风离线下载这个图标,然后分享给20个倒霉的家伙,重复8次即可获得150分。

qq旋风快速升级

qq旋风积升级到lv8级需要到22000分.每天重复以上步骤不下一个半月就可以享受免费离线下载那啥了。


Posted in | Comments(21)»

凤凰游记 六月 27th, 2011

端午节游凤凰,真是没赶上好时候,江边房价跟江水一样疯狂大涨,估计要等江水退去那帮投机倒把的旅店老板才会知道自己是光着身子在游泳。天气不给力啊!歪歪牌的一次性胶卷相机也不给力,F11的固定光圈加上ISO100的胶卷拍起相片来力不从心。不过不影响美女的心情。:) (..更多内容)
Tags: 凤凰

Posted in | Comments(21)»

Google App Engine将在2011年下半年使用新的计价模式,具体的价格清单点击这里 http://www.google.com/enterprise/appengine/appengine_pricing.html 。GAE将以Instance(实例)时间计价取代原来的cpu时间计价。AppEngine  小组的解释是当代码运行时不仅占用cpu资源,还包括内存以及其他资源。即使应用没有工作,依然可能有实例在运行并占用着这些资源。另外Java实例已经支持处理并发,python也将在年内支持并发,以充分利用实例时间。估计修改后的计价模式将增加用户的成本。

直接用edu邮箱注册,或者已注册用户绑定自己的edu邮箱,每成功推荐一个用户可以由原来的奖励250M增加到500M.最多能得到16G免费的空间.非常实惠.

https://www.dropbox.com/edu

如果你没有edu邮箱,也不是在校学生,我注册了黄石理工的邮箱,成功绑定了DropBox.

http://mail.hsit.edu.cn/php/report/osignup.php

另外网上能找到一些可以注册的edu邮箱.

如果你觉得这个文章对你有帮助可以点击这个带邀请码的链接进行注册,我将为此获得500M的奖励空间,你也会得到比正常注册渠道多250M的空间 http://db.tt/0WuS1F1

Tags: DropBox

Posted in | Comments(20)»

Micolog是个好东西,可以方便快速地利用Google app engine建一个完整的内容的企业展示网站,按照Micolog主题设计指南 简单修改一下自己的模板就可以了。只需花费很少的成本。这个玩意比那些坑爹的php主机靠谱多了。

这个就是我只花几个小时做好的网站  http://www.u88168.com/

Dropbox是一个非常好用的同步工具,而且提供了python-api,非常轻松地实现为Google App Engine备份数据,而且有一个很大的好处就是可以同时备份到多个设备上。

要使用Dropbox备份Google App Engine 需要 Dropbox python库, Dropbox python库所依赖的 Oauth库和 poster库。另外需要用到App Engine SDK自带MapReduce 库。

MapReduce是一个对数据库进行并行操作的的库,我们需要在应用的跟目录下创建一个mapreduce.yaml文件来定义MapReduce的相关操作。内容如下:

- name: backup
  mapper:
    input_reader: google.appengine.ext.mapreduce.input_readers.DatastoreInputReader
    handler: backup.to_dropbox
    params:
    - name: entity_kind
      default: models.YourModel

其中的input_reader值定义对数据库的读取操作,此处的DatastoreInputReader类是读取指定模型的所有实体。handler值定义一个函数用于对DatastoreInputReader所读取的实体进行操作。params下定义了一些参数,其中的entity_kind定义默认的模型对象。另外还有namespaces-在必要的时候定义模型的命名空间, batch_size-每次从模型的读取的实体个数,默认是50个,如果你的实体比较大就把它设置小一点,防止抛出deadline错误。

下面是我们在建立一个backup.py文件:

#导入必要的模块

from dropbox import client, rest, auth
from django.utils import simplejson

#此处使用StringIO而非cStringIO,因为c实现的StringIO对象无法动态定义属性。

import StringIO
#from google.appengine.ext.mapreduce import operation
import md5


#加载dropbox配置文件
config = auth.Authenticator.load_config("dropbox/dropbox.ini")
dba = auth.Authenticator(config)
access_token = dba.obtain_trusted_access_token(config['testing_user'], config['testing_password'])
db_client = client.DropboxClient(config['server'], config['content_server'], config['port'], dba, access_token)
root = config['root']

#使用json格式备份,节省空间,省去解析的烦恼。
def to_json(entity, key):
    data = entity._populate_entity()
    data['id'] = key.id()
    data['key_name'] = key.name()
    return simplejson.dumps(data)

#headler函数
def to_dropbox(entity):
    key = entity.key()
    app = str(key.app())
    namespace = str(key.namespace())
    model = str(key.kind())

    #定义备份路径和文件名

    if namespace:
        path = '/app_engine_backup/%s/%s/%s' % (app, namespace, model)
    else:
        path = '/app_engine_backup/%s/%s' % (app, model)
    data = StringIO.StringIO(to_json(entity, key))
    data.name = str(key)
    db_client.put_file(root, path, data)
    data.close()

此处并没有定义相关的错误处理,如果要对备份要求比较精确还需要一些其他的工作。

下面是dropbox的配置文件dropbox/dropbox.ini,只需修改要以下几项。

testing_user = #用户名
testing_password = #密码

consumer_key = #这两项是自己的应用的键和密匙
consumer_secret = #

修改app.yaml文件

- url: /mapreduce(/.*)?
  script: $PYTHON_LIB/google/appengine/ext/mapreduce/main.py
  login: admin

将应用上传至服务器之后用浏览器进去http://yourdomain/mapreduce/便是MapReduce的控制面板。如图

Google App Engine MapReduce Overview

确认无误点击run即开始备份了。可以修改entity_kind项备份不同的模型。

很快的所有模型都保存到DropBox并通过它同步到本地了。

如果你觉得这个文章对你有帮助可以点击这个带邀请码的链接进行注册,我将为此获得500M的奖励空间,你也会得到比正常注册渠道多250M的空间 http://db.tt/0WuS1F1

如图

Invite Dropbox bonus space


BECer是纯python实现,专门为google app engine而开发的中文分词和全文搜索模块,BECer的特点是快速而且低内存占用.不必担心google app engine的cpu时间限制和内存限制. (..更多内容)
产品适用以下打印机型号:
ME32/ME33/ME320/ME330/ME office 620f/ ME office 560w/ME office 960fwd/ME office 900wd series
墨水产地: 美国
墨盒组装: 中国 珠海
真空内包装,精美纸质外包装.所有墨盒均为标准容量.
欢迎致电 : 13352284580 徐先生 (..更多内容)
Posted in | Comments(21)»
目前通过把域名绑定google apps的方式为google app engine绑定域名只能实现对裸域名的跳转,但是用nginx反向代理却可以轻松实现绑定裸域名而无需跳转 (..更多内容)