<?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>Alone &#187; Labs</title>
	<atom:link href="http://su27.org/category/labs/feed" rel="self" type="application/rss+xml" />
	<link>http://su27.org</link>
	<description>no more</description>
	<lastBuildDate>Thu, 08 Jul 2010 16:21:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>两件事</title>
		<link>http://su27.org/2009/08/14/2things</link>
		<comments>http://su27.org/2009/08/14/2things#comments</comments>
		<pubDate>Fri, 14 Aug 2009 15:31:22 +0000</pubDate>
		<dc:creator>su27</dc:creator>
				<category><![CDATA[Labs]]></category>

		<guid isPermaLink="false">http://su27.org/?p=578</guid>
		<description><![CDATA[1. pspot(这是什么？！)增加了最新留言的feed，订阅之，即可随时掌握来访网友在你家图片上实时吐槽动态！如果想更加拉风，可以直接将其显示在博客侧栏*。 2. 今天骑车的时候，座位底下固定车座的一颗螺帽竟然自动松脱，并且掉进了当时正在高速运动的鞋子里。 谢谢，散会。 * 需要支持widget的wp模板]]></description>
			<content:encoded><![CDATA[<p>1. pspot(<a href="http://su27.org/2009/02/23/pspot/">这是什么？！</a>)增加了最新留言的feed，订阅之，即可随时掌握来访网友在你家图片上实时吐槽动态！如果想更加拉风，可以直接将其显示在博客侧栏*。</p>
<p>2. 今天骑车的时候，座位底下固定车座的一颗螺帽竟然自动松脱，并且掉进了当时正在高速运动的鞋子里。</p>
<p>谢谢，散会。</p>
<p><span style="font-size:9px">* 需要支持widget的wp模板</span></p>
]]></content:encoded>
			<wfw:commentRss>http://su27.org/2009/08/14/2things/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>pspot: 给你网站上的图片加上评论功能</title>
		<link>http://su27.org/2009/02/23/pspot</link>
		<comments>http://su27.org/2009/02/23/pspot#comments</comments>
		<pubDate>Sun, 22 Feb 2009 17:20:54 +0000</pubDate>
		<dc:creator>su27</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[front-end]]></category>

		<guid isPermaLink="false">http://su27.org/?p=438</guid>
		<description><![CDATA[这是我去年写的一个给图片加上评论功能的东西。欢迎大家使用！ pspot是一段js程序，通过嵌入到你的网页上，使访问者可以对你的网页图片上任意位置发表评论，这些评论被保存在google app engine，如果你没有更多的需求，那么简单的嵌入一个js就可以了。 如果你打算管理你网页上的留言，需要先用google帐号登录，然后嵌入包含有你的ID的js文件。这样你就可以在&#8221;我管理的留言&#8221;中管理。 另外，你在pspot登录之后发布的留言，可以在&#8221;我发布的留言&#8221;中管理。 在不同网站上，url地址相同的图片会共享同样的评论。 使用步骤如下： 1、如果你不想管理留言，那么把下面这句代码加在你网页上任何地方。否则请用你的google帐号登录并使用只有你能够管理留言的代码。 &#60;script src=&#8221;http://pspot.appspot.com/getcmt.js&#8221; type=&#8221;text/javascript&#8221;&#62;&#60;/script&#62; 2、给你的图片加上class=&#8221;psp&#8221;，像这样： &#60;img class=&#8221;psp&#8221; src=&#8221;yo.jpg&#8221; alt=&#8221;yo&#8221; /&#62; 现在点击图片右下角的发表按钮或者双击图片即可发表评论。下面这个图就是个例子。如果你是在feed里看就不要点了，要亲自来到本页面才可以。 Have fun!]]></description>
			<content:encoded><![CDATA[<p>这是我去年写的一个给图片加上评论功能的东西。欢迎大家使用！</p>
<p><a href="http://pspot.appspot.com/">pspot</a>是一段js程序，通过嵌入到你的网页上，使访问者可以对你的网页图片上任意位置发表评论，这些评论被保存在<a href="http://code.google.com/appengine/docs/">google app engine</a>，如果你没有更多的需求，那么简单的嵌入一个js就可以了。</p>
<p>如果你打算管理你网页上的留言，需要先用google帐号登录，然后嵌入包含有你的ID的js文件。这样你就可以在&#8221;我管理的留言&#8221;中管理。</p>
<p>另外，你在<a href="http://pspot.appspot.com/">pspot</a>登录之后发布的留言，可以在&#8221;我发布的留言&#8221;中管理。</p>
<p>在不同网站上，url地址相同的图片会共享同样的评论。</p>
<p>使用步骤如下：</p>
<p>1、如果你不想管理留言，那么把下面这句代码加在你网页上任何地方。否则请用你的google帐号<a href="https://www.google.com/accounts/ServiceLogin?service=ah&amp;continue=http://pspot.appspot.com/_ah/login%3Fcontinue%3Dhttp://pspot.appspot.com/&amp;ltmpl=gm&amp;ahname=Comment+on+Photos&amp;sig=4c81e3764b1d0a72496516daf1d90e99">登录</a>并使用只有你能够管理留言的代码。</p>
<blockquote><p>&lt;script src=&#8221;http://pspot.appspot.com/getcmt.js&#8221; type=&#8221;text/javascript&#8221;&gt;&lt;/script&gt;</p></blockquote>
<p>2、给你的图片加上class=&#8221;psp&#8221;，像这样：</p>
<blockquote><p>&lt;img class=&#8221;psp&#8221; src=&#8221;yo.jpg&#8221; alt=&#8221;yo&#8221; /&gt;</p></blockquote>
<p>现在点击图片右下角的发表按钮或者双击图片即可发表评论。下面这个图就是个例子。如果你是在feed里看就不要点了，要亲自来到本页面才可以。</p>
<p><img class="alignnone size-full wp-image-440 psp" title="c6e" src="http://su27.org/wp-content/uploads/2009/02/c6e.jpg" alt="c6e" width="700" height="481" /></p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://su27.org/2009/02/23/pspot/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
		<item>
		<title>GAE restful interface for javascript</title>
		<link>http://su27.org/2008/12/27/gae-restful-interface</link>
		<comments>http://su27.org/2008/12/27/gae-restful-interface#comments</comments>
		<pubDate>Sat, 27 Dec 2008 08:12:14 +0000</pubDate>
		<dc:creator>su27</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[front-end]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://su27.org/?p=370</guid>
		<description><![CDATA[经常遇到需要用js存取数据的时候，比如GM脚本，Opensocial/facebook app，各种工具用途的js插件、游戏，以及纯html+js/flash的网站应用。使用cookie和其他一些本地存储的方式有很大局限，opensocial之类容器网站提供的在线存储不好用，而且功能弱，容量小。如果能方便的用类似SQL的方式存取数据，就舒服多了。OpenResty就是这样一个接口，作者基于html+js+OpenResty+db这种富有创意的架构，实现了他的blog等应用。 我之前弄一个GAE应用的时候，就有用到js跨站到GAE存取数据，由于我对免费午餐确实比较有兴趣，这几天有空，就把它抽出来，包装成了一组通用的接口GAE-DJ。可以用js（or your server）调用RESTful接口进行插入，修改，删除，查询。接口是参考REST/JSON风格，模仿OpenResty的方式实现的。插入一次只能一条记录，查询只能基于一个字段，可以>,]]></description>
			<content:encoded><![CDATA[<p>经常遇到需要用js存取数据的时候，比如GM脚本，Opensocial/facebook app，各种工具用途的js插件、游戏，以及纯html+js/flash的网站应用。使用cookie和其他一些本地存储的方式有很大局限，opensocial之类容器网站提供的在线存储不好用，而且功能弱，容量小。如果能方便的用类似SQL的方式存取数据，就舒服多了。<a href="http://search.cpan.org/~agent/OpenResty-0.5.3/">OpenResty</a>就是这样一个接口，作者基于html+js+OpenResty+db这种富有创意的架构，实现了<a href="http://blog.agentzh.org/">他的blog</a>等应用。</p>
<p>我之前弄一个GAE应用的时候，就有用到js跨站到GAE存取数据，由于我对免费午餐确实比较有兴趣，这几天有空，就把它抽出来，包装成了一组通用的接口<a href="http://github.com/su27/gae-dj/tree/master">GAE-DJ</a>。可以用js（or your server）调用RESTful接口进行插入，修改，删除，查询。接口是参考REST/JSON风格，模仿OpenResty的方式实现的。插入一次只能一条记录，查询只能基于一个字段，可以>, <, =, IN，功能还远没有OpenResty那么丰富。接口细节见<a href="http://github.com/su27/gae-dj/tree/master/README">README</a>。</p>
<p>数据操作的权限是用GAE基于google帐户的用户系统控制的，数据读写修改都可以设置为所有人/创建者/model所有者。不过建议尽量减少控制，这样就不需要去GAE登陆了。默认权限是all可读可写，创建者（要先登录再创建）可修改删除，类似blog comment的策略。</p>
<p>另外我还包装了GAE的fetch url api，这样通过GAE作为proxy，js可以变得十分犀利，不但可以抓网页，还可以发POST/PUT/DELETE之类的请求，甚至还可以加额外的header。</p>
<p>至于js客户端，我写了一个<a href="http://github.com/su27/gae-dj/tree/master/static/gae-dj.js">gae-dj.js</a>，可以用它来跨站调用这些接口。</p>
<p>数据操作的<a href="http://hellodj.appspot.com/static/test.html">demo</a><br />
抓网页的<a href="http://hellodj.appspot.com/static/fetch.html">demo</a><br />
<a href="http://github.com/su27/gae-dj/tree/master">Source on git</a><br />
<a href="http://hellodj.appspot.com">Test server on GAE</a></p>
]]></content:encoded>
			<wfw:commentRss>http://su27.org/2008/12/27/gae-restful-interface/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>su27出品：flashbox 0.1</title>
		<link>http://su27.org/2007/08/03/flashbox</link>
		<comments>http://su27.org/2007/08/03/flashbox#comments</comments>
		<pubDate>Fri, 03 Aug 2007 04:29:01 +0000</pubDate>
		<dc:creator>su27</dc:creator>
				<category><![CDATA[Labs]]></category>
		<category><![CDATA[flashbox]]></category>

		<guid isPermaLink="false">http://su27.org/?p=121</guid>
		<description><![CDATA[前几天工作任务比较轻松，抽空写了这个。flashbox是一个js+flash的小程序，它可以将页面中指向图片的链接改为在本窗口中用一个浮在前面的层进行展示，效果还是比较华丽的。 看看demo就明白了，很简单。点击图片上面的prev next可以翻页，图片超过窗口大小的时候可以拖动，右键菜单可以保存图片和复制地址。 图1 图2 demo page 用法： 1.下载解压这两个文件：flashbox.js, flashbox.swf，在js的第一行写上swf的地址(最好写绝对地址，如果写相对，要写相对于页面而不是js的地址)。 2.在页面添加 &#60;script src="flashbox.js" type="text/javascript"&#62;&#60;/script&#62; 3.在任何一个连接到图片的a标签中加上rel=&#8221;flashbox&#8221;,例如 &#60;a href="thebigpicture.jpg" title="显示的图片" rel="flashbox"&#62;点此观看大图&#60;/a&#62; 支持的图片类型有jpg，gif，png。 下载： flashbox(google code) flashbox和lightbox 这个程序是对lightbox的flash式实现，相对而言有一些优势：flash的效果有更好的选择；处理速度比js更快；预加载更强大，可以在后台依次加载所有图片；体积小得多(只需要几k的flash和js，而lightbox需要的文件仅prototype库就有90k,一共需要3个js和1个css)。当然flash也有它自身的缺点：只有装了flashplayer8才能播放，以及不支持动画gif。不过幸好，flashplayer8的安装率几乎是100%，而大到需要单独展示的动画gif是很少存在的。 更新log： ver 0.1, 2007.8.3 move to http://code.google.com/p/flashbox/, 2008.7.16 修正了页面卷动后的问题，2009.2.24]]></description>
			<content:encoded><![CDATA[<p>前几天工作任务比较轻松，抽空写了这个。flashbox是一个js+flash的小程序，它可以将页面中指向图片的链接改为在本窗口中用一个浮在前面的层进行展示，效果还是比较华丽的。</p>
<p>看看demo就明白了，很简单。点击图片上面的prev next可以翻页，图片超过窗口大小的时候可以拖动，右键菜单可以保存图片和复制地址。<br />
<script type="text/javascript" src="http://su27.org/work/flashbox/flashbox.js" ></script></p>
<p><a rel="flashbox" href="http://su27.org/work/flashbox/2big.jpg" title="test2">图1</a><br />
<a rel="flashbox" href="http://su27.org/work/flashbox/1big.jpg" title="test3">图2</a></p>
<p><a href="http://su27.org/work/flashbox/test.html">demo page</a></p>
<p><strong>用法：</strong></p>
<p>1.下载解压这两个文件：flashbox.js, flashbox.swf，在js的第一行写上swf的地址(最好写绝对地址，如果写相对，要写相对于页面而不是js的地址)。</p>
<p>2.在页面添加<br />
<code>&lt;script src="flashbox.js" type="text/javascript"&gt;&lt;/script&gt;</code><br />
3.在任何一个<strong>连接到图片</strong>的a标签中加上rel=&#8221;flashbox&#8221;,例如<br />
<code>&lt;a href="thebigpicture.jpg" title="显示的图片" rel="flashbox"&gt;点此观看大图&lt;/a&gt;</code></p>
<p>支持的图片类型有jpg，gif，png。</p>
<p><strong>下载：</strong></p>
<p><a href="http://code.google.com/p/flashbox/downloads/list">flashbox(google code)</a></p>
<p><strong>flashbox和lightbox</strong></p>
<p>这个程序是对<a href="http://www.huddletogether.com/projects/lightbox/">lightbox</a>的flash式实现，相对而言有一些优势：flash的效果有更好的选择；处理速度比js更快；预加载更强大，可以在后台依次加载所有图片；体积小得多(只需要几k的flash和js，而lightbox需要的文件仅prototype库就有90k,一共需要3个js和1个css)。当然flash也有它自身的缺点：只有装了flashplayer8才能播放，以及不支持动画gif。不过幸好，flashplayer8的安装率几乎是100%，而大到需要单独展示的动画gif是很少存在的。<br />
<span id="more-121"></span><br />
<strong>更新log：</strong></p>
<p>ver 0.1,  2007.8.3</p>
<p>move to <a href="http://code.google.com/p/flashbox/">http://code.google.com/p/flashbox/</a>, 2008.7.16</p>
<p>修正了页面卷动后的问题，2009.2.24</p>
]]></content:encoded>
			<wfw:commentRss>http://su27.org/2007/08/03/flashbox/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
