在datastore中使用最终一致性读取

标签:Google App Engine, Python

昨天Google App Engine Team发了一篇《Read Consistency & Deadlines: More control of your Datastore》,不过服务器挂了3天,没法及时写上,所以今天再补上。

SDK 1.3.2发布时曾提到了强一致性和最终一致性读取,但是没有讲述细节,而这篇文章则阐述了其区别。
默认情况下,datastore是在一个主存储区域进行更新和查询的,这个区域代表最新的数据,访问这个区域则表示使用强一致性。而主存储区域有可能变得暂时不可用(估计是并发数过多或硬件故障),这就会导致查询超时或失败。
而实际上datastore是分布式的,它还有很多副存储区域。这些副存储区域的数据比主存储区域晚几百毫秒至数秒,因而不是最新的。如果你的应用不需要这种强一致性,就可以在主存储区域不可用时,让datastore读取其他存储区域的副本,而这就称为最终一致性读取。

关于Google Reader的一些入门知识

标签:Google Reader, RSS

发现最近用Google Reader的人越来越多了,关注我的人也莫名其妙地多了起来,或许其他地方获取真实的信息越来越不便了吧。
为了让一些刚用它的人能够尽快熟悉它,我还是稍微分享一下自己对它的了解吧。不过我不太喜欢用图片,毕竟做起来太麻烦了,所以图片党可以无视了。

你知道《世界人权宣言》吗?

标签:无

今天上午在GFW Blog看到一篇《我们能做的》,里面提到了《世界人权宣言》,几乎没有一条我们做到了,中国连“序言”之前都未能做到!

而这个序言之前只有一小段话:
1948年12月10日,联合国大会通过并颁布《世界人权宣言》。这一具有历史意义的《宣言》颁布后,大会要求所有会员国广为宣传,并且“不分国家或领土的政治地位,主要在各级学校和其他教育机构加以传播、展示、阅读和阐述。”
很明显,中国大陆没有任何学校和其他教育机构有做到这点,而经我查证,中国确实签署了《世界人权宣言》,而且当时是没有任何国家投反对票的。

GAE SDK 1.3.2 版发布+路线图更新

标签:Google App Engine

刚在Google App Engine Blog看到GAE SDK 1.3.2发布了,和之前的Pre-release差不多。

这次介绍了强一致性读取和最终一致性读取。强一致性读取会在获取和查询时等待所有待处理(已提交,但还未应用到分布式存储器上)的数据,而最终一致性读取只读当前可用的数据,后者在不需要获取完整数据的情况下,可以有效降低读取时间。

防止DoS攻击的配置文档也有了,实际上就是一个黑名单。最多有100项条目,不过支持子网,也支持IP v6。后台也可以查看IP的访问次数,帮助你你决定屏蔽。

邮件API中,InboundEmailMessage的attachments属性已变成列表,而不管附件的个数。

星际争霸2数据信息表

标签:Python, StarCraft2

闲得无聊,就用Python写了个程序来提取一些xml中有用的信息,然后导出成csv文件。用Excel打开,改下样式,排下序就OK了。
没空去翻译,自己翻翻词典就清楚了。
部分xml由于太复杂,所以不太关注的信息就无视了。

« 看看还有什么好玩意