<?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>I.D.E.A.中文站 &#187; Ruby</title>
	<atom:link href="http://www.tzhang.com/blog/category/%e7%94%b5%e8%84%91%e7%bd%91%e7%bb%9c/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://www.tzhang.com/blog</link>
	<description>沉淀生活点滴.zZ</description>
	<lastBuildDate>Sat, 14 Jan 2012 14:47:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Heroku试用体会</title>
		<link>http://www.tzhang.com/blog/2009/08/27/heroku-sinatra-experience</link>
		<comments>http://www.tzhang.com/blog/2009/08/27/heroku-sinatra-experience#comments</comments>
		<pubDate>Thu, 27 Aug 2009 03:07:18 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[google map]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=527</guid>
		<description><![CDATA[上一篇的sinatra应用部署在了heroku上。经过几天的试用有几点体会 1. Heroku是架构在Amazon EC2上的，具有不错的扩展性，只要你有钱，拖拉一下鼠标就能实现scaling了。这一点着实很方便。当然代价是价格会比EC2高，毕竟人家提供了增值服务嘛。具体高多少很难比较，连heroku的老板都说对应关系很复杂。基本上要是网站做大了，用heroku就不合算了。 2. 不烧包的就用heroku的free配置，只有一个dyno的，5M存储空间，可以支持绑定自己的域名。 3. 近期遭遇了几次request time out,因此查了一下heroku doc，dyno基本上把它看成一个线程吧，换句话说，这个一个dyno的free版只能支持并发度为1的压力。因此并发连接多的化，你会经常看到time out的。计算容量也是比较寒酸，用ab -n 10 url测一下，10个请求4个fail掉了orz. 看来免费的午餐也不好用啊。大家用来做原型demo就好了，验证好了自己找地方去deploy也挺好。 update：不知道是这次测试当时受海底光缆受损的影响还是其他原因导致结果很差，后来新的测试比较正常，后面我贴了一个新的benchmarking的测试结果。free的计划还是可以承受一些负载压力的。特此给heroku正名 4. heroku提供了deploy代码的好方案，但在DB方面限于技术原因，还比较薄弱，mysql什么的还是用不起来。 5. google map API是跟域名相关的，如果没有自己的域名的话，部署到xxxx.heroku.com这种子域名下面是不能用的，想必早有人在heroku下面申请了key, 后来者都会遇到冲突。花钱买自己域名吧 6. Heroku的想法不错，这也难怪他们会积攒了数万用户，也得到了300万美元的投资。云计算，不再是一个概念了，已经有若干成熟的方案面向消费者了。这一点要向先行者amazon致敬 7，最后一点就是heroku的支持做的不怎么样，文档也很不完整。遇到问题还是要自己摸索解决。 add-on: AB benchmarking result:做了两个测试，一个是简单到极致的逻辑，另一个相反，是复杂到极致的逻辑，看看两个边界状况的对比和共性应该更能说明问题：case1表现不错（里面就两行code当然不错了，呵呵），case2太复杂了，failed了88个（一共100个请求，FT）. case1: light code: localhost:sinatra tony$ ab -n 100 -c 10 http://ip2loc.dazhe.me/counter/ This is ApacheBench, Version 2.3 < $Revision: 655654 $> Copyright 1996 Adam Twiss, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tzhang.com/blog/2009/08/25/sinatra-heroku-gae-google-map-prototyping">上一篇的sinatra应用</a>部署在了heroku上。经过几天的试用有几点体会</p>
<p>1. Heroku是架构在Amazon EC2上的，具有不错的扩展性，只要你有钱，拖拉一下鼠标就能实现scaling了。这一点着实很方便。当然代价是价格会比EC2高，毕竟人家提供了增值服务嘛。具体高多少很难比较，连heroku的老板都说对应关系很复杂。基本上要是网站做大了，用heroku就不合算了。</p>
<p>2. 不烧包的就用heroku的free配置，只有一个dyno的，5M存储空间，可以支持绑定自己的域名。</p>
<p>3. 近期遭遇了几次request time out,因此查了一下heroku doc，dyno基本上把它看成一个线程吧，换句话说，这个一个dyno的free版只能支持并发度为1的压力。因此并发连接多的化，你会经常看到time out的。<del datetime="2009-09-03T02:29:56+00:00">计算容量也是比较寒酸，用ab -n 10 url测一下，10个请求4个fail掉了orz. 看来免费的午餐也不好用啊。大家用来做原型demo就好了，验证好了自己找地方去deploy也挺好。</del><br />
<strong></p>
<p>update：不知道是这次测试当时受海底光缆受损的影响还是其他原因导致结果很差，后来新的测试比较正常，后面我贴了一个新的benchmarking的测试结果。free的计划还是可以承受一些负载压力的。特此给heroku正名</strong></p>
<p>4. heroku提供了deploy代码的好方案，但在DB方面限于技术原因，还比较薄弱，mysql什么的还是用不起来。</p>
<p>5. google map API是跟域名相关的，如果没有自己的域名的话，部署到xxxx.heroku.com这种子域名下面是不能用的，想必早有人在heroku下面申请了key, 后来者都会遇到冲突。花钱买自己域名吧</p>
<p>6. Heroku的想法不错，这也难怪他们会积攒了数万用户，也得到了300万美元的投资。云计算，不再是一个概念了，已经有若干成熟的方案面向消费者了。这一点要向先行者amazon致敬</p>
<p>7，最后一点就是heroku的支持做的不怎么样，文档也很不完整。遇到问题还是要自己摸索解决。</p>
<p>add-on: AB benchmarking result:做了两个测试，一个是简单到极致的逻辑，另一个相反，是复杂到极致的逻辑，看看两个边界状况的对比和共性应该更能说明问题：case1表现不错（里面就两行code当然不错了，呵呵），case2太复杂了，failed了88个（一共100个请求，FT）. </p>
<p><strong>case1: light code:</strong><br />
localhost:sinatra tony$ ab -n 100 -c 10 http://ip2loc.dazhe.me/counter/<br />
This is ApacheBench, Version 2.3 < $Revision: 655654 $><br />
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br />
Licensed to The Apache Software Foundation, http://www.apache.org/</p>
<p>Benchmarking ip2loc.dazhe.me (be patient)&#8230;..done</p>
<p>Server Software:        nginx/0.6.38<br />
Server Hostname:        ip2loc.dazhe.me<br />
Server Port:            80</p>
<p>Document Path:          /counter/<br />
Document Length:        15 bytes</p>
<p>Concurrency Level:      10<br />
Time taken for tests:   7.828 seconds<br />
Complete requests:      100<br />
Failed requests:        0<br />
Write errors:           0<br />
Non-2xx responses:      100<br />
Total transferred:      26200 bytes<br />
HTML transferred:       1500 bytes<br />
<strong>Requests per second:    12.77 [#/sec] (mean)</strong><br />
Time per request:       782.820 [ms] (mean)<br />
Time per request:       78.282 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          3.27 [Kbytes/sec] received</p>
<p>Connection Times (ms)<br />
              min  mean[+/-sd] median   max<br />
Connect:      309  389 192.2    317    1233<br />
Processing:   316  378 272.2    337    3050<br />
Waiting:      314  377 272.3    335    3050<br />
Total:        627  767 332.5    661    3370</p>
<p>Percentage of the requests served within a certain time (ms)<br />
  50%    661<br />
  66%    677<br />
  75%    705<br />
  80%    815<br />
  90%   1017<br />
  95%   1543<br />
  98%   1570<br />
  99%   3370<br />
 100%   3370 (longest request)</p>
<p><strong>case2: heavy code:</strong><br />
localhost:sinatra tony$ ab -n 100 -c 10 http://ip2loc.dazhe.me/<br />
This is ApacheBench, Version 2.3 < $Revision: 655654 $><br />
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br />
Licensed to The Apache Software Foundation, http://www.apache.org/</p>
<p>Benchmarking ip2loc.dazhe.me (be patient)&#8230;..done</p>
<p>Server Software:        nginx/0.6.38<br />
Server Hostname:        ip2loc.dazhe.me<br />
Server Port:            80</p>
<p>Document Path:          /<br />
Document Length:        696 bytes</p>
<p>Concurrency Level:      10<br />
Time taken for tests:   24.932 seconds<br />
Complete requests:      100<br />
Failed requests:        88<br />
   (Connect: 0, Receive: 0, Length: 88, Exceptions: 0)<br />
Write errors:           0<br />
Non-2xx responses:      88<br />
Total transferred:      36676 bytes<br />
HTML transferred:       10992 bytes<br />
<strong>Requests per second:    4.01 [#/sec] (mean)<br />
</strong>Time per request:       2493.243 [ms] (mean)<br />
Time per request:       249.324 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          1.44 [Kbytes/sec] received</p>
<p>Connection Times (ms)<br />
              min  mean[+/-sd] median   max<br />
Connect:      310  328  28.1    316     410<br />
Processing:   614 2067 790.9   1961    3904<br />
Waiting:      613 2066 790.9   1960    3903<br />
Total:        977 2395 788.1   2370    4214</p>
<p>Percentage of the requests served within a certain time (ms)<br />
  50%   2370<br />
  66%   2645<br />
  75%   2888<br />
  80%   3086<br />
  90%   3569<br />
  95%   4036<br />
  98%   4177<br />
  99%   4214<br />
 100%   4214 (longest request)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2009/08/27/heroku-sinatra-experience/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sinatra,Heroku,Google AppEngine,Google Map的简单试用</title>
		<link>http://www.tzhang.com/blog/2009/08/25/sinatra-heroku-gae-google-map-prototyping</link>
		<comments>http://www.tzhang.com/blog/2009/08/25/sinatra-heroku-gae-google-map-prototyping#comments</comments>
		<pubDate>Tue, 25 Aug 2009 15:32:24 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[Ruby]]></category>
		<category><![CDATA[google map]]></category>
		<category><![CDATA[sinatra]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=524</guid>
		<description><![CDATA[写了个简单的google map应用，用的是简单清爽的Sinatra做DSL, Google Map API, 作用就是把访问者的ip地址解析到地理位置然后在google map上标出来。部署在Heroku上。整个程序只有62行ruby代码。地址在这里：ip2loc.dazhe.me 同样，这段代码可以不经修改的跑在Google AppEngine上，有时间的时候我再做这件事吧。下面是个抓图，有兴趣的朋友帮我验证一下效果。具体地址可能有些偏差，因为用的是国外的ip查询库，在国内的部分可能差别较大，比我我自己的ip就被标在了北海。]]></description>
			<content:encoded><![CDATA[<p>写了个简单的google map应用，用的是简单清爽的Sinatra做DSL, Google Map API, 作用就是把访问者的ip地址解析到地理位置然后在google map上标出来。部署在Heroku上。整个程序只有62行ruby代码。地址在这里：<a href="http://ip2loc.dazhe.me">ip2loc.dazhe.me</a></p>
<p>同样，这段代码可以不经修改的跑在Google AppEngine上，有时间的时候我再做这件事吧。下面是个抓图，有兴趣的朋友帮我验证一下效果。具体地址可能有些偏差，因为用的是国外的ip查询库，在国内的部分可能差别较大，比我我自己的ip就被标在了北海。<br />
<a href="http://www.tzhang.com/blog/wp-content/uploads/2009/08/图片-1.png" rel="lightbox[524]"><img src="http://www.tzhang.com/blog/wp-content/uploads/2009/08/图片-1.png" alt="snap" title="snap" width="595" height="400" class="aligncenter size-full wp-image-525" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2009/08/25/sinatra-heroku-gae-google-map-prototyping/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>我和我的VM们</title>
		<link>http://www.tzhang.com/blog/2009/08/19/my-virtual-machines</link>
		<comments>http://www.tzhang.com/blog/2009/08/19/my-virtual-machines#comments</comments>
		<pubDate>Wed, 19 Aug 2009 11:29:30 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[主机圈]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Business Intelligence]]></category>
		<category><![CDATA[Data warehousing]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[VM]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=521</guid>
		<description><![CDATA[我的硬盘里已经有不少VM了,吃掉了大部分硬盘空间。包括 z/OS V1R9, DB2 V9, CICS, COBOL, SMP/E, WAS, TIVOLI, MQ等等产品的DemoPKG,跑在Hercules上 用来做Mainframe技术学习，验证和方案联调。这个有惊人的52G大 z/VM 5.3同样跑在Hercules上，用来做IT虚拟化方案, zLinux当然是少不了了，这个也有5G。而且因为做Virtualization的关系，他的增长是最简单和高效的。可以轻轻松松的因为clone linux系统而成数十倍的增长。用z/VM clone比VMWare要强大的多。 WindowsXP, DB2 V9, Oracle 11G, IBM DWE(Infosphere), Cognos8 BI Server, Informatica PowerCenter 8.6 Server + Client 用来做数据仓库DW和商务智能BI。 这个有20G,跑在VMWare上 SuSE Linux + DB2 + Cognos8 这个用来验证Linux/Unix下DW/BI系统的搭建，产品安装和客户化，性能调优验证.这个有8G，跑在VMWare上 WindowsXP + DB2 V9 + Oracle 11G + SAS V9.2 + SPSS Clementine [...]]]></description>
			<content:encoded><![CDATA[<p>我的硬盘里已经有不少VM了,吃掉了大部分硬盘空间。包括</p>
<p>z/OS V1R9, DB2 V9, CICS, COBOL, SMP/E, WAS, TIVOLI, MQ等等产品的DemoPKG,跑在Hercules上 用来做Mainframe技术学习，验证和方案联调。这个有惊人的52G大</p>
<p>z/VM 5.3同样跑在Hercules上，用来做IT虚拟化方案, zLinux当然是少不了了，这个也有5G。而且因为做Virtualization的关系，他的增长是最简单和高效的。可以轻轻松松的因为clone linux系统而成数十倍的增长。用z/VM clone比VMWare要强大的多。</p>
<p>WindowsXP, DB2 V9, Oracle 11G, IBM DWE(Infosphere), Cognos8 BI Server, Informatica PowerCenter 8.6 Server + Client 用来做数据仓库DW和商务智能BI。 这个有20G,跑在VMWare上</p>
<p>SuSE Linux + DB2 + Cognos8 这个用来验证Linux/Unix下DW/BI系统的搭建，产品安装和客户化，性能调优验证.这个有8G，跑在VMWare上</p>
<p>WindowsXP + DB2 V9 + Oracle 11G + SAS V9.2 + SPSS Clementine V11 用来做数据分析和挖掘Data Mining. 这个有15G，跑在VMWare上</p>
<p>除此之外，还有MacOS Leopard + Textmate + MacPort + Gem + Ruby + MySQL + Memcached来做Web敏捷开发－－这个不是VM，直接跑在Macbook 466上－－不过该机上有一个WinXP通过Bootcamp跑在另一分区，OSX+Win双启动</p>
<p>回顾一下，发现没用过的OS已经不多了，呵呵</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2009/08/19/my-virtual-machines/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>福建归来上废片</title>
		<link>http://www.tzhang.com/blog/2009/03/24/fujian-photos</link>
		<comments>http://www.tzhang.com/blog/2009/03/24/fujian-photos#comments</comments>
		<pubDate>Mon, 23 Mar 2009 18:01:32 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[玩转地球]]></category>
		<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[DSLR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[40D]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=349</guid>
		<description><![CDATA[4天时间厦门+武夷山，行程紧，也不是为了照相去的，就是到此一游照。幸亏没有带三脚架，背着Primus AW+一机两镜衣服水壶已经让我爬山的时候累得不行了&#8211;尽管天游峰只有海拔400多米。具体行程dzxr已经写了好几篇。我就看图说话了。 武夷山： 九曲溪 武夷山大王峰 仙女峰 还是九曲溪 在厦大校园偶遇流星雨剧组正在拍摄，上美女： 流星雨剧照-女一号和男一号 流星雨剧照-我猜是女二号 厦门大学不愧最美大学的称号，我要是在这上学怕是没心思学习了 芙蓉湖-总让人联想起frjj 久违的校园，熟悉的青春气息，感叹着年华易逝： 生机 而久闻大名的鼓浪屿，却因为太多游人而变得无比喧闹，感觉很糟糕 鼓浪屿民居 只有那片海，才能给人无比的畅快]]></description>
			<content:encoded><![CDATA[<p>4天时间厦门+武夷山，行程紧，也不是为了照相去的，就是到此一游照。幸亏没有带三脚架，背着Primus AW+一机两镜衣服水壶已经让我爬山的时候累得不行了&#8211;尽管天游峰只有海拔400多米。具体行程<a href="http://www.dzxr.com">dzxr</a>已经写了好几篇。我就看图说话了。<br />
武夷山：<br />
<a href="http://www.flickr.com/photos/ztieee/3379607920/" title="九曲溪" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3430/3379607920_f491923155.jpg" alt="九曲溪" class=""  /></a><br />
九曲溪<br />
<a href="http://www.flickr.com/photos/ztieee/3378786653/" title="武夷山大王峰" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3550/3378786653_b0a794f9f0.jpg" alt="武夷山大王峰" class=""  /></a><br />
武夷山大王峰<br />
<a href="http://www.flickr.com/photos/ztieee/3379601186/" title="仙女峰" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3565/3379601186_746001a9af.jpg" alt="仙女峰" class=""  /></a><br />
仙女峰<br />
<a href="http://www.flickr.com/photos/ztieee/3379605276/" title="九曲溪" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3469/3379605276_7b48abf8c5.jpg" alt="九曲溪" class=""  /></a><br />
还是九曲溪</p>
<p>在厦大校园偶遇流星雨剧组正在拍摄，上美女：<br />
<a href="http://www.flickr.com/photos/ztieee/3378778891/" title="流星雨剧照" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3592/3378778891_87e8e98718.jpg" alt="流星雨剧照" class=""  /></a><br />
流星雨剧照-女一号和男一号<br />
<a href="http://www.flickr.com/photos/ztieee/3379594230/" title="流星雨剧照2" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3591/3379594230_3211182941.jpg" alt="流星雨剧照2" class=""  /></a><br />
流星雨剧照-我猜是女二号</p>
<p>厦门大学不愧最美大学的称号，我要是在这上学怕是没心思学习了<br />
<a href="http://www.flickr.com/photos/ztieee/3378774755/" title="Furong Lake`芙蓉湖-总让人联想起frjj" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3611/3378774755_7d04d6c358.jpg" alt="Furong Lake`芙蓉湖-总让人联想起frjj" class=""  /></a><br />
芙蓉湖-总让人联想起frjj<br />
<a href="http://www.flickr.com/photos/ztieee/3379592792/" title="芙蓉湖" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3449/3379592792_133c24fc20.jpg" alt="芙蓉湖" class=""  /></a></p>
<p>久违的校园，熟悉的青春气息，感叹着年华易逝：<br />
<a href="http://www.flickr.com/photos/ztieee/3379596924/" title="过去的时光" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3642/3379596924_4df74f2272.jpg" alt="过去的时光" class=""  /></a><br />
生机<br />
<a href="http://www.flickr.com/photos/ztieee/3378782669/" title="无题" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3538/3378782669_f147cd75a2.jpg" alt="无题" class=""  /></a></p>
<p>而久闻大名的鼓浪屿，却因为太多游人而变得无比喧闹，感觉很糟糕<br />
<a href="http://www.flickr.com/photos/ztieee/3379610768/" title="鼓浪屿民居" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3598/3379610768_4ed6372de6.jpg" alt="鼓浪屿民居" class=""  /></a><br />
鼓浪屿民居</p>
<p>只有那片海，才能给人无比的畅快<br />
<a href="http://www.flickr.com/photos/ztieee/3378796143/" title="嬉戏" target="_blank" class="flickr-image alignnone"><img src="http://farm4.static.flickr.com/3431/3378796143_8b85c30297.jpg" alt="嬉戏" class=""  /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2009/03/24/fujian-photos/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>我的RoR工作环境之更新版</title>
		<link>http://www.tzhang.com/blog/2008/11/13/%e6%88%91%e7%9a%84ror%e5%b7%a5%e4%bd%9c%e7%8e%af%e5%a2%83%e4%b9%8b%e6%9b%b4%e6%96%b0%e7%89%88</link>
		<comments>http://www.tzhang.com/blog/2008/11/13/%e6%88%91%e7%9a%84ror%e5%b7%a5%e4%bd%9c%e7%8e%af%e5%a2%83%e4%b9%8b%e6%9b%b4%e6%96%b0%e7%89%88#comments</comments>
		<pubDate>Thu, 13 Nov 2008 06:43:21 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[OSX]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=292</guid>
		<description><![CDATA[鸟枪换炮，终于用上了Textmate (号称最贵的编辑器,因为很多人是为了这个39EUD的软件而买了1xxxUSD的Macbook Pro)。之前写过的这篇“我的RoR工作环境”成为过去式了。 在Leopard下面内置了对ruby on rails的支持。不过还是要加上xcode和macport才完美。我是按照这篇文章的说明配置的，简单好用，推荐给大家。 初次使用textmate肯定会有摸不着头脑的感觉，强烈建议用ctrl+H呼出help跟随Ruby on Rails的例子走一边。只用不到20分钟的时候，基本上可以完成textmate的入门。]]></description>
			<content:encoded><![CDATA[<p>鸟枪换炮，终于用上了Textmate (号称最贵的编辑器,因为很多人是为了这个39EUD的软件而买了1xxxUSD的Macbook Pro)。之前写过的<a href="http://www.tzhang.com/blog/2008/07/17/my_ror_development_env">这篇“我的RoR工作环境”</a>成为过去式了。</p>
<p>在Leopard下面内置了对ruby on rails的支持。不过还是要加上xcode和macport才完美。我是按照<a href="http://www.buildingwebapps.com/articles/6433-setting-up-rails-on-leopard-mac">这篇文章</a>的说明配置的，简单好用，推荐给大家。</p>
<p>初次使用textmate肯定会有摸不着头脑的感觉，强烈建议用ctrl+H呼出help跟随Ruby on Rails的例子走一边。只用不到20分钟的时候，基本上可以完成textmate的入门。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/11/13/%e6%88%91%e7%9a%84ror%e5%b7%a5%e4%bd%9c%e7%8e%af%e5%a2%83%e4%b9%8b%e6%9b%b4%e6%96%b0%e7%89%88/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Ruby on Rails开发Facebook应用(6) &#8211; More on Amazon EC2</title>
		<link>http://www.tzhang.com/blog/2008/09/22/facebook-app-by-ruby-on-rails-more-on-amazon-ec2</link>
		<comments>http://www.tzhang.com/blog/2008/09/22/facebook-app-by-ruby-on-rails-more-on-amazon-ec2#comments</comments>
		<pubDate>Sun, 21 Sep 2008 17:58:45 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=286</guid>
		<description><![CDATA[如果你看过了上一篇关于用Amazon EC2作为Ruby on Rails的server的文章的话，这里还有一些补充。 EC2onrails是包含一个AMI和gem的RoR Deployment解决方案。现成的系统和gem让你的deploy非常简单。不过，AMI里面的Apache是你想用的么？各项配置是否正如你所愿？如果不是的话，我们有没有别的选择呢？ 答案是肯定的。还有不少方法可以帮助你快速的deploy ROR application: 首先说heroku.com 专门针对ror的一揽子解决方案，你可以在线上创建rails app,在线编辑，部署。因为Heroku本来就是跑在Amazon EC2上的。所以你的Rails app自然也跑在上边了。不过heroku是个商业网站，虽然现在beta阶段我们可以上去随便编辑和部署（简单的，多服务器的肯定不会让你免费来），以后的收费可不好说，另外要使用额外的资源，清提交申请并乖乖奉上银子。建议初学者学习rails的时候玩玩。可以省下setup生产环境的时间。 rightscale.com也是大名鼎鼎（有用的功能也收钱），不过上去试用了一番，实在用不惯，直接放弃研究了。清各位看官自行探索 说说免费的拉，Elastic Rails是一个plugin (plugin 有plugin的好处)。因为有下面的视频短篇，我就不多说了。我最喜欢screencast了。简单明了: http://s3.amazonaws.com/rc_files/elastic-rails.html 需要指出的是它的网站一直上不去，不知道是不是墙的问题 Capazon 与上面类似: http://soylentfoo.jnewland.com/articles/2007/04/30/capazon-0-2-released-capistrano-2-0-compatible Rubber: http://github.com/wr0ngway/rubber/wikis/faq 具体用哪一种方案请各取所需]]></description>
			<content:encoded><![CDATA[<p>如果你看过了上一篇关于<a href="http://www.tzhang.com/blog/2008/09/16/develop-facebook-app-using-ruby-on-rails-5">用Amazon EC2作为Ruby on Rails的server的文章</a>的话，这里还有一些补充。</p>
<p>EC2onrails是包含一个AMI和gem的RoR Deployment解决方案。现成的系统和gem让你的deploy非常简单。不过，AMI里面的Apache是你想用的么？各项配置是否正如你所愿？如果不是的话，我们有没有别的选择呢？</p>
<p>答案是肯定的。还有不少方法可以帮助你快速的deploy ROR application:</p>
<p>首先说<a href="http://www.heroku.com">heroku.com</a> 专门针对ror的一揽子解决方案，你可以在线上创建rails app,在线编辑，部署。因为Heroku本来就是跑在Amazon EC2上的。所以你的Rails app自然也跑在上边了。不过heroku是个商业网站，虽然现在beta阶段我们可以上去随便编辑和部署（简单的，多服务器的肯定不会让你免费来），以后的收费可不好说，另外要使用额外的资源，清提交申请并乖乖奉上银子。建议初学者学习rails的时候玩玩。可以省下setup生产环境的时间。</p>
<p><a href="http://rightscale.com">rightscale.com</a>也是大名鼎鼎（有用的功能也收钱），不过上去试用了一番，实在用不惯，直接放弃研究了。清各位看官自行探索</p>
<p>说说免费的拉，Elastic Rails是一个plugin (plugin 有plugin的好处)。因为有下面的视频短篇，我就不多说了。我最喜欢screencast了。简单明了:<br />
<a href="http://s3.amazonaws.com/rc_files/elastic-rails.html">http://s3.amazonaws.com/rc_files/elastic-rails.html</a><br />
需要指出的是它的网站一直上不去，不知道是不是墙的问题</p>
<p>Capazon 与上面类似:<br />
<a href="http://soylentfoo.jnewland.com/articles/2007/04/30/capazon-0-2-released-capistrano-2-0-compatible">http://soylentfoo.jnewland.com/articles/2007/04/30/capazon-0-2-released-capistrano-2-0-compatible</a></p>
<p>Rubber:<br />
<a href="http://github.com/wr0ngway/rubber/wikis/faq">http://github.com/wr0ngway/rubber/wikis/faq</a></p>
<p>具体用哪一种方案请各取所需</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/09/22/facebook-app-by-ruby-on-rails-more-on-amazon-ec2/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>用Ruby on Rails开发Facebook应用(5) &#8211; Amazon EC2</title>
		<link>http://www.tzhang.com/blog/2008/09/16/develop-facebook-app-using-ruby-on-rails-5</link>
		<comments>http://www.tzhang.com/blog/2008/09/16/develop-facebook-app-using-ruby-on-rails-5#comments</comments>
		<pubDate>Tue, 16 Sep 2008 09:21:22 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[ec2]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook app]]></category>
		<category><![CDATA[facebooker]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/2008/09/16/%e7%94%a8ruby-on-rails%e5%bc%80%e5%8f%91facebook%e5%ba%94%e7%94%a85-amazon-ec2</guid>
		<description><![CDATA[Amazon EC2不是什么新东西了，不过从cheewu那里得知他的垂直搜索引擎是用EC2的。偶也有兴趣试用一下，反正钱也不多，呵呵   EC2其实是虚拟化的一台机器，物理上来讲书也不知道你自己的实例在群里的那个部分运行着。不过这并不重要，重要的是只要你想，就可以随时在Amazon的computer farm上开出一块自己的&#8221;自留地&#8221;，计算能力可以选择的，也支持多个实例组成cluster.   Virtualization已经是当今的潮流，估计不用普及了，现在用电脑的，最少也用过VMware吧。呵呵。使用EC2只要简单的几个条件：       在amazon AWS上注册一个id 把EC2 服务加到你的AWS id服务中来（点一个按钮即可，但是很多人不知道，一些教程里面也没写，少了这个步骤，会导致ssl授权通不过的问题，切记） 一个可供网上支付的信用卡，VISA,Mastercard,AE什么的都可以   ok,添好这些，就可以使用EC2的服务了。别着急，您至少先看看收费标准吧EC2 price   都没问题了我们就可以在本地setup EC2的使用环境了。具体可以看这里EC2 Getting Start，我就不罗嗦了。   觉得命令行麻烦的话，推荐一个Firefox插件Elasticfox，大大简化的EC2的操作。反正我是不喜欢用ec2那些奇怪的命令。呵呵。命令行控们可以看这篇How To: Getting Started with Amazon EC2   有个虚拟的机器，用什么OS呢？Amazon上面已经有很多现成的AMI了，把他理解成定制好的系统，可以直接启动。你只要在启动EC2 instance的时候指定某个AMI的ID就可以了。对于Ruby on Rails来说，我推荐EC2onRail的AMI,有32bit和64bit两个版本：   ami-c9bc58a0 (32-bit) ami-cbbc58a2 (64-bit) 几乎你会用到的东西在AMI里面都是ready的：   Features of the EC2 image: Ready to deploy a Rails app with little [...]]]></description>
			<content:encoded><![CDATA[<p>Amazon EC2不是什么新东西了，不过从<a href="http://wuchee.spaces.live.com/">cheewu</a>那里得知他的垂直搜索引擎是用EC2的。偶也有兴趣试用一下，反正钱也不多，呵呵
</p>
<p>
 </p>
<p>EC2其实是虚拟化的一台机器，物理上来讲书也不知道你自己的实例在群里的那个部分运行着。不过这并不重要，重要的是只要你想，就可以随时在Amazon的computer farm上开出一块自己的&#8221;自留地&#8221;，计算能力可以选择的，也支持多个实例组成cluster.
</p>
<p>
 </p>
<p>Virtualization已经是当今的潮流，估计不用普及了，现在用电脑的，最少也用过VMware吧。呵呵。使用EC2只要简单的几个条件：    
</p>
<p>
 </p>
<ol>
<li>在amazon AWS上注册一个id
</li>
<li>把EC2 服务加到你的AWS id服务中来（点一个按钮即可，但是很多人不知道，一些教程里面也没写，少了这个步骤，会导致ssl授权通不过的问题，切记）
</li>
<li>一个可供网上支付的信用卡，VISA,Mastercard,AE什么的都可以
</li>
</ol>
<p>
 </p>
<p>ok,添好这些，就可以使用EC2的服务了。别着急，您至少先看看收费标准吧<a href="http://www.amazon.com/EC2-AWS-Service-Pricing/b/ref=sc_fe_l_2?ie=UTF8&amp;node=201590011&amp;no=3435361&amp;me=A36L942TSJ2AJA">EC2 price</a>
	</p>
<p>
 </p>
<p>都没问题了我们就可以在本地setup EC2的使用环境了。具体可以看<a href="http://docs.amazonwebservices.com/AmazonEC2/gsg/2007-01-19/?ref=get-started">这里EC2 Getting Start</a>，我就不罗嗦了。
</p>
<p>
 </p>
<p>觉得命令行麻烦的话，推荐一个Firefox插件<a href="http://developer.amazonwebservices.com/connect/entry.jspa?externalID=609">Elasticfox</a>，大大简化的EC2的操作。反正我是不喜欢用ec2那些奇怪的命令。呵呵。命令行控们可以看这篇<a href="http://paulstamatiou.com/2008/04/05/how-to-getting-started-with-amazon-ec2">How To: Getting Started with Amazon EC2</a>
	</p>
<p>
 </p>
<p>有个虚拟的机器，用什么OS呢？Amazon上面已经有很多现成的AMI了，把他理解成定制好的系统，可以直接启动。你只要在启动EC2 instance的时候指定某个AMI的ID就可以了。对于Ruby on Rails来说，我推荐<a href="http://ec2onrails.rubyforge.org/">EC2onRail</a>的AMI,有32bit和64bit两个版本：
</p>
<p>
 </p>
<ul>
<li>ami-c9bc58a0 (32-bit)
</li>
<li>ami-cbbc58a2 (64-bit)
</li>
</ul>
<p>几乎你会用到的东西在AMI里面都是ready的：
</p>
<p style="margin-left: 21pt">
 </p>
<p style="margin-left: 21pt"><em>Features of the EC2 image:<br />
</em></p>
<ul style="margin-left: 56pt">
<li><em>Ready to deploy a Rails app with little or no configuration of the server required<br />
</em></li>
<li><em>Automatic backup of MySQL database to S3 (full backup nightly + incremental backup using binary logs every 5 minutes)<br />
</em></li>
<li><em>Capistrano tasks to customize the server image, archive and restore the database to/from S3, and more (available as a rubygem)<br />
</em></li>
<li><em>Mongrel_cluster behind Apache 2.2, configured according to <br /><a href="http://blog.codahale.com/2006/06/19/time-for-a-grown-up-server-rails-mongrel-apache-capistrano-and-you/"/></em><span style="font-family:Times New Roman; font-size:12pt">Coda Hale&#8217;s excellent guide<em><br />
				</em></span></li>
<li><em>Ruby on Rails 2.1.0, 2.0.2 and 1.2.6<br />
</em></li>
<li><em>Ruby 1.8.6<br />
</em></li>
<li><em>MySQL 5<br />
</em></li>
<li><a href="http://www.danga.com/memcached/"><span style="font-family:Times New Roman; font-size:12pt">memcached</span></a><em><br />
			</em></li>
<li><a href="http://www.tildeslash.com/monit/"><span style="font-family:Times New Roman; font-size:12pt">monit</span></a><em> configured to monitor apache, mongrel, mysql, memcached, drive space and system load<br />
</em></li>
<li><em>Ubuntu 8.04 LTS &#8220;Hardy&#8221; base image built using <a href="http://alestic.com/"/></em><span style="font-family:Times New Roman; font-size:12pt">Eric Hammond&#8217;s EC2 Ubuntu script<em><br />
				</em></span></li>
<li><em>SSL support<br />
</em></li>
<li><em>Amazon AMI tools installed<br />
</em></li>
<li><em>MySQL, Apache, and syslog configured to use /mnt for data and logging so you don&#8217;t fill up EC2&#8242;s small root filesystem<br />
</em></li>
<li><em>Automatically archives Rails and Apache logs to S3 nightly.<br />
</em></li>
<li><em>32-bit and 64-bit images available (supports all instance types, small to extra large).<br />
</em></li>
<li><em>Created using a build file, full source is <a href="http://rubyforge.org/scm/?group_id=4552"/></em><span style="font-family:Times New Roman; font-size:12pt">available<em> (the EC2 on Rails script is run from <a href="http://alestic.com/"/></em>Eric Hammond&#8217;s EC2 Ubuntu script<em>)<br />
</em></span></li>
<li><em>Can be used as a clustered Rails app running on multiple instances<br />
</em></li>
<li><em>Automatically runs hourly, daily, weekly and monthly scripts if they exist in Rails application&#8217;s script directory<br />
</em></li>
<li><em>Local <a href="http://www.postfix.org/"/></em><span style="font-family:Times New Roman; font-size:12pt">Postfix<em> SMTP mail server (only available from within the instance, not listening on external network interfaces)<br />
</em></span></li>
</ul>
<p>
 </p>
<p>如果你自己还需要别的东西的话，尽可以自己安装(Ubuntu的apt-get或者手动),然后把Image传到S3上就成为自己定制的AMI了。具体过程不难，请参考这个小短文<a href="http://blog.xdite.net/?p=672">HOWTO Build EC2 image</a>
	</p>
<p>
 </p>
<p>EC2 instance ready了还没完，你自己的本地开发环境也要作一些事情
</p>
<p>
 </p>
<ol>
<li>sudo gem install ec2rails
</li>
<li>copy capify,deploy 脚本到你的app目录下（用过capistrano的人都知道）
</li>
<li>run capistrano task吧。集体还是看ec2rails的说明
</li>
</ol>
<p>
 </p>
<p>
 </p>
<p>ok,建一个自己的instance尽情享受root的快感去吧</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/09/16/develop-facebook-app-using-ruby-on-rails-5/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>用Ruby on Rails开发Facebook 应用(4)</title>
		<link>http://www.tzhang.com/blog/2008/08/05/develop-a-facebook-app-with-ruby-on-rails-4</link>
		<comments>http://www.tzhang.com/blog/2008/08/05/develop-a-facebook-app-with-ruby-on-rails-4#comments</comments>
		<pubDate>Tue, 05 Aug 2008 11:01:44 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook app]]></category>
		<category><![CDATA[facebooker]]></category>
		<category><![CDATA[free hosting]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rfacebook]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=234</guid>
		<description><![CDATA[用那个主机host你的应用？ 前文题到了ssh tunnel方式提供自己的server到local开发环境的连接以方便开发和调试。不过这个方法需要服务器上的ssh配置支持client端指定端口。相信大部分人用的虚拟主机都不会支持的－－大家都共享一个ip.要是每个人都指定端口难免冲突或者乱套。除非虚拟主机提供商提供(或者加钱购买)独立固定的ip才有可能（只是可能）。如果谁知道那里有便宜的虚拟主机提供商能提供的话，请告诉我一声，不身感激。 要是有一个自己的box那就好多了。自己是root自然干什么都没问题。可惜这样的主机价钱就不一样了。在若干个月之前，我们还有一个好的选择，就是joyent.com的针对facebook app应用的免费计划！只要你有facebook app并且转台处于active and in-use状态就可以通过申请这也个计划得到一个原本价值75$/m的主机。自己有root权限。不限流量，1/32的cpu quota。免费期是一年。相信对大多诗人都够用了－－一年以后，要么你的app失败了，要么早就要升级扩展了。这么好的计划人们自然趋之若骛。结果就是后来的条款越来越苛刻－－主大欺客嘛。新的条款增加了facebook应用的活动用户数量要求：至少50个活动用户；还有30天未登录就会被取消帐户。这个50个active user成了一个比较高的门槛，要知道active user的计算方法可不是有50个人add了你的app就行的。 难道走投无路了么？也不是。两个方法可以work: No.1 麻烦一点儿，每次更改都deploy到自己的rails虚拟主机上，不用ssh tunnel。优点是简单，所有的rails主机都可以用。缺点是共享主机性能不佳会拖后腿，而且很快就要面临升级。 No.2 现买joyent的最便宜的主机，快速把自己的app弄好，然后发动自己所有的facebook朋友成为你的active user.(在家靠父母，出门靠朋友)，说不准成立个facebook app developer群,大家互相访问好了。然后就可以转免费1年的计划了。这样可以达到keep住免费的主机的最低要求，不过不是长久之计。关键还是要作出好东东来吸引大量的用户。此方法只适合新的facebook app developer度过最开始的没钱时期，app发展起来了马上就会面临扩容问题。当然，joyent提供的扩容方式还是足够你的要求。再说，真的到那时，你已经有一个不过的demo可以用来说服你的投资人了。]]></description>
			<content:encoded><![CDATA[<p>用那个主机host你的应用？</p>
<p>前文题到了ssh tunnel方式提供自己的server到local开发环境的连接以方便开发和调试。不过这个方法需要服务器上的ssh配置支持client端指定端口。相信大部分人用的虚拟主机都不会支持的－－大家都共享一个ip.要是每个人都指定端口难免冲突或者乱套。除非虚拟主机提供商提供(或者加钱购买)独立固定的ip才有可能（只是可能）。如果谁知道那里有便宜的虚拟主机提供商能提供的话，请告诉我一声，不身感激。</p>
<p>要是有一个自己的box那就好多了。自己是root自然干什么都没问题。可惜这样的主机价钱就不一样了。在若干个月之前，我们还有一个好的选择，就是joyent.com的针对facebook app应用的免费计划！只要你有facebook app并且转台处于active and in-use状态就可以通过申请这也个计划得到一个原本价值75$/m的主机。自己有root权限。不限流量，1/32的cpu quota。免费期是一年。相信对大多诗人都够用了－－一年以后，要么你的app失败了，要么早就要升级扩展了。这么好的计划人们自然趋之若骛。结果就是后来的条款越来越苛刻－－主大欺客嘛。新的条款增加了facebook应用的活动用户数量要求：至少50个活动用户；还有30天未登录就会被取消帐户。这个50个active user成了一个比较高的门槛，要知道active user的计算方法可不是有50个人add了你的app就行的。</p>
<p>难道走投无路了么？也不是。两个方法可以work:</p>
<p>No.1 麻烦一点儿，每次更改都deploy到自己的rails虚拟主机上，不用ssh tunnel。优点是简单，所有的rails主机都可以用。缺点是共享主机性能不佳会拖后腿，而且很快就要面临升级。</p>
<p>No.2 现买joyent的最便宜的主机，快速把自己的app弄好，然后发动自己所有的facebook朋友成为你的active user.(在家靠父母，出门靠朋友)，说不准成立个facebook app developer群,大家互相访问好了。然后就可以转免费1年的计划了。这样可以达到keep住免费的主机的最低要求，不过不是长久之计。关键还是要作出好东东来吸引大量的用户。此方法只适合新的facebook app developer度过最开始的没钱时期，app发展起来了马上就会面临扩容问题。当然，joyent提供的扩容方式还是足够你的要求。再说，真的到那时，你已经有一个不过的demo可以用来说服你的投资人了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/08/05/develop-a-facebook-app-with-ruby-on-rails-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>用Ruby on Rails开发Facebook 应用(3)</title>
		<link>http://www.tzhang.com/blog/2008/08/02/develop-a-facebook-app-with-ruby-on-rails-3</link>
		<comments>http://www.tzhang.com/blog/2008/08/02/develop-a-facebook-app-with-ruby-on-rails-3#comments</comments>
		<pubDate>Sat, 02 Aug 2008 11:50:20 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[facebook app]]></category>
		<category><![CDATA[facebooker]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=230</guid>
		<description><![CDATA[这个主题的贴子秉承了我的一贯传统，就是慢慢吞吞，哈哈。除了不喜欢火急火燎的做事情的风格以外，还有一个重要的原因:rails以及相关的东东变化实在太快了。学了半天然后发现人家一升级又有好多东西不一样了或者不兼容了；还比如一个很多人用的plugin或者module突然就宣布不再维护了&#8230;.不一而足。 我干嘛要找这些接口呢？实在是因为，今天发现了一个令我吃惊的“旧闻”&#8212;rfacebook的作者在年初就有要停止rfacebook维护的意思，曾经在自己的blog上发帖找人接手，同时还推荐了facebooker作为替代。作为有9个月历史（截止作者发贴时）的rails下最有名的facebook api的ruby封装库,rfacebook的使用者不在少数(google一下便知)。不过目前为止，情况还是不太乐观。当然，作者也不是置大家于不顾，因为作者自称在开发rfacebook之初对ruby,facebook甚至编程都不太熟，所以设计上就欠考虑(也可能是人家谦虚啦)，结果有一些用户遇到了bug的折磨。现在由于时间和项目的关系，没法在做rfacebook的维护了，同时也发现rfacebook可以改进的方面已经有facebooker做到了。本着&#8221;不要重复发明轮子&#8221;的原则，作者向大家推荐了facebooker. 详情请自己看作者的blog. 所以接下来要换facebooker了。这篇是在给老爸老妈新买的机器上写的，没有rails环境，不贴代码了。]]></description>
			<content:encoded><![CDATA[<p>这个主题的贴子秉承了我的一贯传统，就是慢慢吞吞，哈哈。除了不喜欢火急火燎的做事情的风格以外，还有一个重要的原因:rails以及相关的东东变化实在太快了。学了半天然后发现人家一升级又有好多东西不一样了或者不兼容了；还比如一个很多人用的plugin或者module突然就宣布不再维护了&#8230;.不一而足。</p>
<p>我干嘛要找这些接口呢？实在是因为，今天发现了一个令我吃惊的“旧闻”&#8212;rfacebook的作者在年初就有要停止rfacebook维护的意思，曾经在自己的blog上发帖找人接手，同时还推荐了facebooker作为替代。作为有9个月历史（截止作者发贴时）的rails下最有名的facebook api的ruby封装库,rfacebook的使用者不在少数(google一下便知)。不过目前为止，情况还是不太乐观。当然，作者也不是置大家于不顾，因为作者自称在开发rfacebook之初对ruby,facebook甚至编程都不太熟，所以设计上就欠考虑(也可能是人家谦虚啦)，结果有一些用户遇到了bug的折磨。现在由于时间和项目的关系，没法在做rfacebook的维护了，同时也发现rfacebook可以改进的方面已经有facebooker做到了。本着&#8221;不要重复发明轮子&#8221;的原则，作者向大家推荐了facebooker. 详情请自己看作者的<a href="http://www.livelearncode.com/archives/30">blog</a>. </p>
<p>所以接下来要换facebooker了。这篇是在给老爸老妈新买的机器上写的，没有rails环境，不贴代码了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/08/02/develop-a-facebook-app-with-ruby-on-rails-3/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>用Ruby on Rails开发Facebook 应用(2)</title>
		<link>http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-2</link>
		<comments>http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-2#comments</comments>
		<pubDate>Mon, 28 Jul 2008 15:59:12 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook app]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rfacebook]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=224</guid>
		<description><![CDATA[上一篇说了不少虚的，现在作点儿实在的： Step.1 Facebook注册一个App. 作为facebook的用户，在也面最下方的developer连接可以进入开发者的portal. 这需要你加入developer app(这本身也是facebook的一个app).之后你就可以创建facebook app了。你需要指定的最基本的信息包括application name, callback url和canvas page url. 尤其是后者，可以看作是facebook给你分配的地址，不可重复。由于facebook已经有了超过26000个app，好名基本都有人用了，因此想要找一个长度合适有好记又有意义的canvas url药费一下脑筋了。 注册好的app也可以更改属性，并不是一成不变的。过程简单不贴图了。总之你的app有了自己的key和secret. 这两个是facebook识别app的重要依据。 Step.2 本地开发环境安装rfacebook和rfacebook plugin (前提是你有一个work的rails环境哦，别告诉我还没有。翻翻我之前的帖子) sudo gem install rfacebook rails yourappname cd yourappname script/plugin install svn://rubyforge.org/var/svn/rfacebook/trunk/rfacebook/plugins/rfacebook Step.3 配置facebook app信息 生成facebook.yml文件: rake facebook:setup 将facebook.yml按照facebook app的信息进行填写 注意facebook.yml每段都有tunnel: tunnel: username: yourLoginName host: www.yourexternaldomain.com port: 1234 local_port: 5678 这是用来提供你自己的电脑和虚拟主机服务器之间的链路的。要知道facebook把对你app的访问请求转到我们自己的虚拟主机上，要是开发的时候任何一点变化都要deploy到服务器上才能生效的话，怕是要累死了。所以tunnel提供了使用ssh来使得服务器到本地开发环境的链路。这样可以认为facebook把访问请求转到了local的机器上。 怎么用这个tunnel配置呢？看例子 tunnel: username: foobar < [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-1">上一篇</a>说了不少虚的，现在作点儿实在的：</p>
<p><strong>Step.1   Facebook注册一个App. </strong><br />
作为facebook的用户，在也面最下方的<a href="http://developers.new.facebook.com">developer连接</a>可以进入开发者的portal. 这需要你加入developer app(这本身也是facebook的一个app).之后你就可以创建facebook app了。你需要指定的最基本的信息包括application name, callback url和canvas page url. 尤其是后者，可以看作是facebook给你分配的地址，不可重复。由于facebook已经有了超过26000个app，好名基本都有人用了，因此想要找一个长度合适有好记又有意义的canvas url药费一下脑筋了。</p>
<p>注册好的app也可以更改属性，并不是一成不变的。过程简单不贴图了。总之你的app有了自己的key和secret. 这两个是facebook识别app的重要依据。</p>
<p><strong>Step.2   本地开发环境安装rfacebook和rfacebook plugin</strong> (前提是你有一个work的rails环境哦，别告诉我还没有。翻翻我之前的帖子)</p>
<p>    sudo gem install rfacebook</p>
<p>    rails yourappname<br />
    cd yourappname<br />
    script/plugin install svn://rubyforge.org/var/svn/rfacebook/trunk/rfacebook/plugins/rfacebook</p>
<p><strong>Step.3   配置facebook app信息</strong><br />
  生成facebook.yml文件:<br />
    rake facebook:setup<br />
  将facebook.yml按照facebook app的信息进行填写</p>
<p>  注意facebook.yml每段都有tunnel:</p>
<p>    tunnel:<br />
      username: yourLoginName<br />
      host: www.yourexternaldomain.com<br />
      port: 1234<br />
      local_port: 5678<br />
  这是用来提供你自己的电脑和虚拟主机服务器之间的链路的。要知道facebook把对你app的访问请求转到我们自己的虚拟主机上，要是开发的时候任何一点变化都要deploy到服务器上才能生效的话，怕是要累死了。所以tunnel提供了使用ssh来使得服务器到本地开发环境的链路。这样可以认为facebook把访问请求转到了local的机器上。</p>
<p>  怎么用这个tunnel配置呢？看例子<br />
  tunnel:<br />
	username: foobar                <strong> < ----- ssh user id</strong><br />
	host: www.mysite.com         </strong><strong>< ----- server adderss</strong><br />
	port: 8888<br />
	local_port: 3000</p>
<p>  配只好之后就rake之：<br />
    rake facebook:tunnel:start</p>
<p>(待续)<br />
    </strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails开发Facebook 应用(1)</title>
		<link>http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-1</link>
		<comments>http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-1#comments</comments>
		<pubDate>Sun, 27 Jul 2008 16:22:16 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook app]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rfacebook]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[web2.0]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=222</guid>
		<description><![CDATA[facebook为app提供了很庞大的用户群体和不错的API支持（至少对ruby on Rails来说是如此），对于想把Web2.0作为创业方向的同学来说，可以节省积累用户的时间。 要学习facebook app的基础知识的同学请参看这里，已经对facebook熟悉的同学请跳过： ［连接丢失，抱歉］ 看完之后你至少应该知道Facebook App有三种和facebook耦合的方式(external,Iflame,FBML)，这就ok了. 前面说过用Ruby开发facebook app有不错的支持，是因为这个东东： “rfacebook” 什么？这么大名鼎鼎的东西不知道？那你得看看这个 http://rfacebook.rubyforge.org/ 不看也行，你知道rfacebook提供了facebook api的ruby接口就行了。新版的rfacebook还连同一个rails plugin一起release,大大方便了使用rails的同学 网上能找到不少有关RoR开发Facebook App的教程。比如一下这些，建议大家都看看： http://www.liverail.net/articles/2007/6/29/tutorial-on-developing-a-facebook-platform-application-with-ruby-on-rails http://giantrobots.thoughtbot.com/2007/6/14/fist-in-your-facebook 看过上面的教程相信大家有了更多认识；更相信大家有一个印象，就是这些教程太老了（没办法，谁让rails更新的这么快呢），通过这些教程理解要点还可以，跟着作是没什么希望的。反正我是看到rhtml的后缀就没法再忍受往下看了。网上爬了个遍也没看到有更新的教程。那就自己摸索这来吧。（待续）]]></description>
			<content:encoded><![CDATA[<p>facebook为app提供了很庞大的用户群体和不错的API支持（至少对ruby on Rails来说是如此），对于想把Web2.0作为创业方向的同学来说，可以节省积累用户的时间。</p>
<p>要学习facebook app的基础知识的同学请参看这里，已经对facebook熟悉的同学请跳过：<br />
［连接丢失，抱歉］</p>
<p>看完之后你至少应该知道Facebook App有三种和facebook耦合的方式(external,Iflame,FBML)，这就ok了.</p>
<p>前面说过用Ruby开发facebook app有不错的支持，是因为这个东东： “rfacebook”  什么？这么大名鼎鼎的东西不知道？那你得看看这个</p>
<p>http://rfacebook.rubyforge.org/</p>
<p>不看也行，你知道rfacebook提供了facebook api的ruby接口就行了。新版的rfacebook还连同一个rails plugin一起release,大大方便了使用rails的同学</p>
<p>网上能找到不少有关RoR开发Facebook App的教程。比如一下这些，建议大家都看看：</p>
<p>http://www.liverail.net/articles/2007/6/29/tutorial-on-developing-a-facebook-platform-application-with-ruby-on-rails</p>
<p>http://giantrobots.thoughtbot.com/2007/6/14/fist-in-your-facebook</p>
<p>看过上面的教程相信大家有了更多认识；更相信大家有一个印象，就是这些教程太老了（没办法，谁让rails更新的这么快呢），通过这些教程理解要点还可以，跟着作是没什么希望的。反正我是看到rhtml的后缀就没法再忍受往下看了。网上爬了个遍也没看到有更新的教程。那就自己摸索这来吧。（待续）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/07/28/develop-a-facebook-app-with-ruby-on-rails-1/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>我的RoR工作环境</title>
		<link>http://www.tzhang.com/blog/2008/07/17/my_ror_development_env</link>
		<comments>http://www.tzhang.com/blog/2008/07/17/my_ror_development_env#comments</comments>
		<pubDate>Thu, 17 Jul 2008 05:12:58 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=216</guid>
		<description><![CDATA[Ubuntu 8.04 with 3D desktop. Ruby 1.8.6 + Rails 2.1 IDE: Gedit customized like textmate (How-to) 3D桌面很方便(尤其是向我这种没钱买n个显示器的人)，使用Cube,左边是cheetsheet作参考,右面是firefox随时查资料。cube的翻转比较容易保持思维的连贯性。不像之前只能tab翻来翻去最后发现自己都忘记做到哪里了。 说道cheetsheet,网上不少哦，不过质量到不一定高。而且个人认为cheetsheet这种东西最好是自己整理，查起来才得心应手。]]></description>
			<content:encoded><![CDATA[<p>Ubuntu 8.04 with 3D desktop.<br />
Ruby 1.8.6 + Rails 2.1<br />
IDE: Gedit customized like textmate <a href="http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit">(How-to)</a></p>
<p>3D桌面很方便(尤其是向我这种没钱买n个显示器的人)，使用Cube,左边是cheetsheet作参考,右面是firefox随时查资料。cube的翻转比较容易保持思维的连贯性。不像之前只能tab翻来翻去最后发现自己都忘记做到哪里了。</p>
<p>说道cheetsheet,网上不少哦，不过质量到不一定高。而且个人认为cheetsheet这种东西最好是自己整理，查起来才得心应手。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/07/17/my_ror_development_env/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>开始做正事</title>
		<link>http://www.tzhang.com/blog/2008/07/16/whats_next</link>
		<comments>http://www.tzhang.com/blog/2008/07/16/whats_next#comments</comments>
		<pubDate>Wed, 16 Jul 2008 10:06:06 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[编程开发]]></category>
		<category><![CDATA[DSLR]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[活在北京]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/?p=214</guid>
		<description><![CDATA[前一段时间差不多都贡献给了摄影和照片，处理照片和增加摄影器材花费了不少时间和金钱。虽然乐在其中不过按照计划，从第三个月开始，就要开始着手实现自己脑子里胡思乱想已久的原型了。虽然之前2个月的时间被证明是远远不够完成休息＋旅行的，但是计划还是要遵守的。该开始下一步的事情了。之前留下的遗憾，以后再补吧 回顾之前的战果：40D旁边现在多了A16和xxb，脚架SLIK 340DX Pro,用不了几天，还会加上Lowepro Primus AW40周年纪念版背包，希望在摄影上的烧钱就此告一段落。 马上要开始的任务，又要整天对着电脑了。先把工作环境setup起来。强迫自己接下来一段时间自己只写与之相关的东西。悬赏rmb1一元征人监督]]></description>
			<content:encoded><![CDATA[<p>前一段时间差不多都贡献给了摄影和照片，处理照片和增加摄影器材花费了不少时间和金钱。虽然乐在其中不过按照计划，从第三个月开始，就要开始着手实现自己脑子里胡思乱想已久的原型了。虽然之前2个月的时间被证明是远远不够完成休息＋旅行的，但是计划还是要遵守的。该开始下一步的事情了。之前留下的遗憾，以后再补吧</p>
<p>回顾之前的战果：40D旁边现在多了A16和xxb，脚架SLIK 340DX Pro,用不了几天，还会加上Lowepro Primus AW40周年纪念版背包，希望在摄影上的烧钱就此告一段落。</p>
<p>马上要开始的任务，又要整天对着电脑了。先把工作环境setup起来。强迫自己接下来一段时间自己只写与之相关的东西。悬赏rmb1一元征人监督</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/07/16/whats_next/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A textmate-like gedit in Ubuntu for Ruby and Rails IDE</title>
		<link>http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit</link>
		<comments>http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit#comments</comments>
		<pubDate>Thu, 17 Apr 2008 15:10:53 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[编程开发]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[gedit]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit/</guid>
		<description><![CDATA[Pls follow the instructions from http://grigio.org/pimp_my_gedit_was_textmate_linux Add-on by Deep Blue (Linux newbie may need this if you are using Ubuntu): How to install liberation fonts on Ubuntu commands: &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- echo &#8220;deb http://ppa.launchpad.net/corenominal/ubuntu gutsy main&#8221; &#124; sudo tee -a /etc/apt/sources.list echo &#8220;deb-src http://ppa.launchpad.net/corenominal/ubuntu gutsy main&#8221; &#124; sudo tee -a /etc/apt/sources.list sudo apt-get update sudo apt-get install [...]]]></description>
			<content:encoded><![CDATA[<p>Pls follow the instructions from <a href="http://grigio.org/pimp_my_gedit_was_textmate_linux">http://grigio.org/pimp_my_gedit_was_textmate_linux</a></p>
<p>Add-on by Deep Blue (Linux newbie may need this if you are using Ubuntu):</p>
<p>How to install liberation fonts on Ubuntu</p>
<p>commands:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
echo &#8220;deb http://ppa.launchpad.net/corenominal/ubuntu gutsy main&#8221; | sudo tee -a /etc/apt/sources.list<br />
echo &#8220;deb-src http://ppa.launchpad.net/corenominal/ubuntu gutsy main&#8221; | sudo tee -a /etc/apt/sources.list<br />
sudo apt-get update<br />
sudo apt-get install ttf-liberation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>My customized Gedit screen snapshot:<br />
<a href="http://www.tzhang.com/gallery/main.php?g2_view=core.DownloadItem&#038;g2_itemId=495&#038;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" rel="lightbox" title="A textmate-like Gedit as Ruby and rails IDE" ><img src="http://www.tzhang.com/gallery/main.php?g2_view=core.DownloadItem&#038;g2_itemId=496&#038;g2_GALLERYSID=TMP_SESSION_ID_DI_NOISSES_PMT" width="150"  height="150"  alt="A textmate-like Gedit as Ruby and rails IDE" title="A textmate-like Gedit as Ruby and rails IDE" class="g2image_normal" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>x86 架构下Ruby/Rails开发环境比较及安装方法</title>
		<link>http://www.tzhang.com/blog/2008/04/11/ruby-and-rails-development-environment-comparison-and-setup-instructions-on-x86-platform</link>
		<comments>http://www.tzhang.com/blog/2008/04/11/ruby-and-rails-development-environment-comparison-and-setup-instructions-on-x86-platform#comments</comments>
		<pubDate>Fri, 11 Apr 2008 03:30:28 +0000</pubDate>
		<dc:creator>Deep Blue</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[编程开发]]></category>
		<category><![CDATA[电脑网络]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[textmate]]></category>
		<category><![CDATA[x86]]></category>

		<guid isPermaLink="false">http://www.tzhang.com/blog/2008/04/11/ruby-and-rails-development-environment-comparison-and-setup-instructions-on-x86-platform/</guid>
		<description><![CDATA[x86 架构下Ruby/Rails开发环境比较及安装方法 [Ruby/Rails Development Environment comparison and setup instructions on x86 platform] Original posted on www.tzhang.com/blog/ Apr 11, 2008 Version 1.0 方案选择: 1. OSX + Textmate 2. Linux + Netbeans 3. Windows + e texteditor + cgywin 优缺点比较: 1. 缺点： a) OSX在非Mac机器上安装对显卡的要求很高，兼容性并不好。多系统启动支持也不好，需要用户有较高的操作系统知识和排错技能以及很出众的耐心和时间:( b) OSX安装在非Apple机器上理论上说是非法的；textmate也是收费软件且价格不菲 优点：想使用最优秀的ruby/rails 编辑器textmate的话，只能这么办哦 2. 缺点： a) NetBeans IDE比不上textmate;只能将就着用 优点： a) Linux下全部软件都是开源免费的，包括NetBeans b) [...]]]></description>
			<content:encoded><![CDATA[<p>x86 架构下Ruby/Rails开发环境比较及安装方法<br />
[Ruby/Rails Development Environment comparison and setup instructions on x86 platform]</p>
<p>Original posted on www.tzhang.com/blog/<br />
Apr 11, 2008<br />
Version 1.0</p>
<p>方案选择:<br />
1. OSX + Textmate<br />
2. Linux + Netbeans<br />
3. Windows + e texteditor + cgywin</p>
<p>优缺点比较:</p>
<p>1. 缺点：<br />
   a) OSX在非Mac机器上安装对显卡的要求很高，兼容性并不好。多系统启动支持也不好，需要用户有较高的操作系统知识和排错技能以及很出众的耐心和时间:(<br />
   b) OSX安装在非Apple机器上理论上说是非法的；textmate也是收费软件且价格不菲      </p>
<p>   优点：想使用最优秀的ruby/rails 编辑器textmate的话，只能这么办哦</p>
<p>2. 缺点：<br />
   a) NetBeans IDE比不上textmate;只能将就着用</p>
<p>   优点：<br />
   a) Linux下全部软件都是开源免费的，包括NetBeans<br />
   b) Linux下可以方便的安装使用众多Rails相关的开源软件及库</p>
<p>3. 缺点：<br />
   a) Windows环境在ruby/rails的世界里绝对算是少数派<br />
   b) e texteditor也是收费软件</p>
<p>   优点:<br />
   a) Windows简单易用，方便没有Linux/UNIX经验的人使用，setup过程简单<br />
   b) e texteditor 使用起来十分接近textmate</p>
<p>安装方法：<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
方案一<br />
OSX<br />
	N/A yet<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
方案二<br />
Linux + NetBeans + ruby 1.8.6 + rubygem 1.0.1 + rails 2.0.2 + mysql 5<br />
a) 安装Ubuntu Linux<br />
b) 安装Ruby (初学者在Ubuntu下推荐用apt-get安装1.8.5版本)<br />
sudo apt-get install ruby<br />
c) 安装RubyGem<br />
	Download RubyGem code<br />
		url: http://rubyforge.org/frs/?group_id=126<br />
	Untar<br />
		tar –xzvf rubygems-1.1.0.tgz<br />
	Setup<br />
		Sudo ruby setup.rb<br />
	验证安装<br />
		gem –v<br />
		which gem<br />
d) 安装rails<br />
	安装<br />
		sudo gem update &#8211;system<br />
		sudo gem install rails &#8211;y<br />
	验证安装<br />
		rails -v<br />
e) 安装Netbeans<br />
	下载安装文件：<br />
		url: http://dlc.sun.com.edgesuite.net/netbeans/6.0/final/<br />
    安装<br />
		把下载的Bin文件拖入终端即可<br />
	运行<br />
		/$installDir/bin/netbeans<br />
f) 安装MySQL<br />
	sudo apt-get install mysql-common mysql-clients<br />
g) 安装完成，记得在NetBeans里面更改默认的Ruby解释器<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
方案三<br />
Windows + e texteditor + cgywin + console2<br />
	a) 安装e texteditor<br />
		url: http://www.e-texteditor.com/download/e_beta_setup.exe<br />
		安装<br />
		注意安装途中可能报错，那是个别文件不符合windows命名规则的原因，不用管，ignore掉然后继续就好了，影响不大。<br />
	b) 安装cgywin<br />
		初次运行e texteditor就会提示安装cgywin,直接选automatic install就好了，e texteditor会自动下载cgywin<br />
	c) 安装console2<br />
		下载console2<br />
			url: http://sourceforge.net/projects/console/<br />
		解压即可<br />
		配置console和cgywin<br />
			选add tab, 在shell里面输入:<br />
			c:\cygwin\bin\bash &#8211;login –i<br />
			将该tab移到最上方，以后每次启动console2都会自动启动该shell<br />
	d) 安装RubyGem<br />
	Download RubyGem code<br />
		url: http://rubyforge.org/frs/?group_id=126<br />
	Untar<br />
		tar –xzvf rubygems-1.1.0.tgz<br />
	Setup<br />
		Sudo ruby setup.rb<br />
	验证安装<br />
		gem –v<br />
		which gem<br />
		如果出现错误，使用：<br />
			unset RUBYOPT</p>
<p>e) 安装rails<br />
	安装<br />
		sudo gem update &#8211;system<br />
		sudo gem install rails &#8211;include-dependencies<br />
	验证安装<br />
		rails -v</p>
<p>	f) 测试安装<br />
		rails blog<br />
		cd blog<br />
		e .<br />
	你将会看到e texteditor 自动启动并将当前目录的项目打开。</p>
<p>====================================================================<br />
updated 2008-04-16</p>
<p>Install sqlite3 and mongrel:</p>
<p>#before install Mongrel,<br />
apt-get  install build-essential #we need it to compile mongrel and Sqlite3</p>
<p>#intall Mongrel<br />
gem install mongrel –include-dependencies</p>
<p>#install Sqlite3<br />
apt-get install sqlite3 swig libsqlite3-ruby libsqlite3-dev<br />
gem install sqlite3-ruby #compile this need libsqlite.h</p>
<p>#install Lighttpd<br />
apt-get install lighttpd</p>
<p>===============================================<br />
UPDATED 2008-05-27:<br />
在Linux下有更好的IDE选择了，Gedit可以加几个插件和主题，就可以比较完美的模仿textmate了，具体请看这个帖子<br />
<a href="http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit">http://www.tzhang.com/blog/2008/04/17/textmate-like-gedit</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tzhang.com/blog/2008/04/11/ruby-and-rails-development-environment-comparison-and-setup-instructions-on-x86-platform/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

