<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>没有比人更高的山 &#187; google app engine</title>
	<atom:link href="http://www.zhlwish.com/tag/google-app-engine/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zhlwish.com</link>
	<description>Where there is a will there is a way.</description>
	<lastBuildDate>Fri, 13 Jan 2012 08:13:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Ubuntu开机自动启动GAppProxy</title>
		<link>http://www.zhlwish.com/2011/05/16/ubuntu%e5%bc%80%e6%9c%ba%e8%87%aa%e5%8a%a8%e5%90%af%e5%8a%a8gappproxy/</link>
		<comments>http://www.zhlwish.com/2011/05/16/ubuntu%e5%bc%80%e6%9c%ba%e8%87%aa%e5%8a%a8%e5%90%af%e5%8a%a8gappproxy/#comments</comments>
		<pubDate>Mon, 16 May 2011 09:06:42 +0000</pubDate>
		<dc:creator>周亮</dc:creator>
				<category><![CDATA[Linux技术]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.zhlwish.com/?p=412</guid>
		<description><![CDATA[最近Gmail总是时断时续，实在是受不了，只能/翻/墙/，我真得被逼的，尼玛！ GAppProxy + Firefox + AutoProxy是不可多得的/翻/墙/利器，对一般的用户来讲虽然设置起来还是比较麻烦的，不过对于俺们程序猿来讲这个都不会弄就不用做程序猿：http://code.google.com/p/gappproxy/wiki/GAppProxy_2_0_0_Manual。 在Ubuntu上，每次启动都需要在Terminal里面执行python proxy.py就可以运行，不过需要一直开着Terminal，这个很不爽，而且每次都需要执行两条命令（一条cd，一条python），比较麻烦。 于是尝试了一下，开机自动启动GAppProxy的办法如下： 1. 用VIM打开~/.profile vim ~/.profile 2. 在最后加上： cd /opt/gappproxy/localproxy nohup python proxy.py &#38; cd ~ 注意，在最后要加上&#038;哟 nohup是表示关掉shell后不关闭在后台执行的程序。]]></description>
		<wfw:commentRss>http://www.zhlwish.com/2011/05/16/ubuntu%e5%bc%80%e6%9c%ba%e8%87%aa%e5%8a%a8%e5%90%af%e5%8a%a8gappproxy/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>彩色标签云的生成方法</title>
		<link>http://www.zhlwish.com/2009/11/15/colorful-tag/</link>
		<comments>http://www.zhlwish.com/2009/11/15/colorful-tag/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 01:23:38 +0000</pubDate>
		<dc:creator>周亮</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[web前端]]></category>

		<guid isPermaLink="false">http://www.zhlwish.com/?p=49</guid>
		<description><![CDATA[发现欧必杰（http://www.ooobj.com/blog）的标签远远比我多，用li列表显示已经不可容忍，所以我决定花点时间把标签的显示更新一下，最新的效果如http://zhlwish.appspot.com左侧的标签云。 思路很简单，就是为每个标签随机生成一种颜色（当然要考虑到如果生成的背景色，就需要再生成一次），然后根据引用这个标签的日志数按比例生成12-15号之间的字体。具体的代码如下： 这里偷了个懒，我这里的标签云是白色背景，就直接硬编码了，最好是作为列表参数传入。 这里遇到了一个问题就是python的除法问题，python有两种除法，即所谓的true除法和floor除法，有兴趣的朋友google一下啦。我就不重复占用网络资源了。 import random def rand_color():     hex_char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f')     color = "#"     for i in range(6):         color += random.choice(hex_char) &#8230; <a href="http://www.zhlwish.com/2009/11/15/colorful-tag/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.zhlwish.com/2009/11/15/colorful-tag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine中开发中复用Django的syndication生成RSS</title>
		<link>http://www.zhlwish.com/2009/11/15/google-app-engine-rss/</link>
		<comments>http://www.zhlwish.com/2009/11/15/google-app-engine-rss/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 00:40:40 +0000</pubDate>
		<dc:creator>周亮</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[google app engine]]></category>

		<guid isPermaLink="false">http://www.zhlwish.com/?p=19</guid>
		<description><![CDATA[因为django.contrib.syndication.feeds用到了from django.contrib.sites.models import Site, RequestSite，而其中的Site和RequestSite又用到了Django的db模块，因此在GAE中是不能用的，看了看源代码，发现其实这两个类是可以不用的，于是我就想改动改动Django的代码来实现。 <a href="http://www.zhlwish.com/2009/11/15/google-app-engine-rss/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.zhlwish.com/2009/11/15/google-app-engine-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine中的多对多关联</title>
		<link>http://www.zhlwish.com/2009/11/15/google-app-engine-many-to-many/</link>
		<comments>http://www.zhlwish.com/2009/11/15/google-app-engine-many-to-many/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 22:23:38 +0000</pubDate>
		<dc:creator>周亮</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[google app engine]]></category>

		<guid isPermaLink="false">http://www.zhlwish.com/?p=9</guid>
		<description><![CDATA[Google App Engine(GAE)中使用db.ReferenceProperty来处理实体之间的一对多关联，如Diary（日志）和Category（分类）是多对一的关系，可以简单配置如下： 1 2 3 4 5 6 7 8 class Category&#40;db.Model&#41;:     name = db.StringProperty&#40; required = True&#41; &#60;code&#62; class Diary&#40;db.Model&#41;:     title = db.StringProperty&#40; required = True &#41;     content = db.TextProperty&#40;&#41;     category = db.ReferenceProperty&#40;Category&#41; &#60;/code&#62; 这样可以使用diary.category即可获取Diary（日志）所对应的Category（分类），使用category.diary_set即可获取Category（分类）所对应的Diary（日志） 但是再处理Tag（标签）和Diary（日志）时出现了问题，因为GAE并没有多对多关联，经过查询资料，可以有一种很简单的办法是在关系的其中一方创建一个的列表，如下： 1 2 &#8230; <a href="http://www.zhlwish.com/2009/11/15/google-app-engine-many-to-many/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
		<wfw:commentRss>http://www.zhlwish.com/2009/11/15/google-app-engine-many-to-many/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

