<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>{|ihower.tw| blog }</title>
	
	<link>http://ihower.tw/blog</link>
	<description>experiences in Ruby and Rails</description>
	<lastBuildDate>Fri, 20 Nov 2009 18:12:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ihower" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Why “Not use default route”?</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/qAXERUEdIHU/3265</link>
		<comments>http://ihower.tw/blog/archives/3265#comments</comments>
		<pubDate>Fri, 20 Nov 2009 17:14:41 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://ihower.tw/blog/?p=3265</guid>
		<description><![CDATA[In my Rails Best Practices slides, I only give simple code without any description (unless you heard my talk :p), so let me explain here.
my point is: &#8220;If you use RESTful design, you should NOT use default route.&#8221; Why?
For example:

   map.resources :users
   map.connect ':controller/:action/:id'
   map.connect ':controller/:action/:id.:format'

You expect only &#8220;PUT [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://ihower.tw/blog/archives/3075">Rails Best Practices</a> slides, I only give simple code without any description (unless you heard my talk :p), so let me explain here.</p>
<p>my point is: &#8220;If you use RESTful design, you should NOT use default route.&#8221; Why?</p>
<p>For example:</p>
<p><code><br />
   map.resources :users<br />
   map.connect ':controller/:action/:id'<br />
   map.connect ':controller/:action/:id.:format'<br />
</code></p>
<p>You expect only &#8220;PUT /users/1&#8243; will update user data,  but because you keep default route, so &#8220;GET /users/update/1?user[email]=foobar@example.org&#8221; still works!!  </p>
<p>In the same way, &#8220;GET /users/create&#8221; and &#8220;GET /users/destroy/1&#8243; works too!! Even worse, the latter can create/update/destroy data without Request Forgery Protection :/ Rails does not  check <a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery">CRSF</a> for HTTP GET.</p>
<p>Conclusion: Remove default route, use purely resource-based routes and named routes for special purpose.</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/qAXERUEdIHU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3265/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3265</feedburner:origLink></item>
		<item>
		<title>部落格換新網址 ihower.tw</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/U4eR9pyKHpc/3234</link>
		<comments>http://ihower.tw/blog/archives/3234#comments</comments>
		<pubDate>Wed, 18 Nov 2009 14:30:52 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3234</guid>
		<description><![CDATA[心血來潮，買了新的網址 ihower.tw，即刻生效。
原來的 ihower.idv.tw 之前就買到 2012 年了，所以暫時不會有什麼影響，也用了以下的 Apache 設定把流量都轉到新網址：

&#60;VirtualHost *:80>
        ServerName ihower.idv.tw
        ServerAlias www.ihower.idv.tw
        RedirectMatch 301 ^(.*)$ http://ihower.tw$1
&#60;/VirtualHost>

BTW，測試了一下，新的網址大陸應該可以直接連，(暫時?)毋須翻牆。
]]></description>
			<content:encoded><![CDATA[<p>心血來潮，買了新的網址 ihower.tw，即刻生效。<br />
原來的 ihower.idv.tw 之前就買到 2012 年了，所以暫時不會有什麼影響，也用了以下的 Apache 設定把流量都轉到新網址：</p>
<p><code><br />
&lt;VirtualHost *:80><br />
        ServerName ihower.idv.tw<br />
        ServerAlias www.ihower.idv.tw<br />
        RedirectMatch 301 ^(.*)$ http://ihower.tw$1<br />
&lt;/VirtualHost><br />
</code></p>
<p>BTW，<a href="http://www.websitepulse.com/help/testtools.china-test.html">測試</a>了一下，新的網址大陸應該可以直接連，(暫時?)毋須翻牆。</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/U4eR9pyKHpc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3234/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3234</feedburner:origLink></item>
		<item>
		<title>Social: 在 iPhone 上掛 IRC</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/-qYjWKzfvT8/3210</link>
		<comments>http://ihower.tw/blog/archives/3210#comments</comments>
		<pubDate>Tue, 17 Nov 2009 13:59:22 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Perl]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3210</guid>
		<description><![CDATA[iPhone 上面不是沒有 IRC client，但是要掛站就不太方便了。我平常是用 screen+irssi 的方式來掛站，但是要在 iPhone 上使用 SSH terminal 連上 server 看 irc，實在太苦了 :/
Social 是 gugod 的最新力作，它會在 server 上登入 IRC 和跑起來一個 Web server，而且還使用了 HTTP streaming 的方式將訊息即時推送到瀏覽器上，達成隨時打開手機瀏覽器就可以看到掛站的訊息的任務。
安裝的方式，首先確定有 Perl (在ubuntu上內建就有了)，接著裝：
sudo cpan YAML
sudo cpan Encode
sudo cpan AnyEvent::IRC
sudo cpan FindBin
sudo cpan HTML::Entities
sudo cpan Plack
sudo cpan Plack::Request
sudo cpan Tatsumaki
sudo cpan AnyEvent::Twitter
sudo cpan AnyEvent::Plurk
sudo cpan Moose
下載 Social，編輯設定檔加入 IRC 頻道，Social 也支援 [...]]]></description>
			<content:encoded><![CDATA[<p>iPhone 上面不是沒有 IRC client，但是要掛站就不太方便了。我平常是用 <a href="http://www.google.com/search?hl=zh-TW&#038;q=screen+irssi">screen+irssi</a> 的方式來掛站，但是要在 iPhone 上使用 SSH terminal 連上 server 看 irc，實在太苦了 :/</p>
<p><a href="http://gugod.org/2009/11/irc-on-web-and-then-iphone.html">Social</a> 是 gugod 的最新力作，它會在 server 上登入 IRC 和跑起來一個 Web server，而且還使用了 HTTP streaming 的方式將訊息即時推送到瀏覽器上，達成隨時打開手機瀏覽器就可以看到掛站的訊息的任務。</p>
<p>安裝的方式，首先確定有 Perl (在ubuntu上內建就有了)，接著裝：</p>
<p>sudo cpan YAML<br />
sudo cpan Encode<br />
sudo cpan AnyEvent::IRC<br />
sudo cpan FindBin<br />
sudo cpan HTML::Entities<br />
sudo cpan Plack<br />
sudo cpan Plack::Request<br />
sudo cpan Tatsumaki<br />
sudo cpan AnyEvent::Twitter<br />
sudo cpan AnyEvent::Plurk<br />
sudo cpan Moose</p>
<p>下載 <a href="http://github.com/gugod/Social/">Social</a>，編輯設定檔加入 IRC 頻道，Social 也支援 Twitter 和 Plurk。<br />
然後執行 ./social -c config.yml -p 9999</p>
<p>最後就是打開 iPhone 的 safari 連上去就出現啦!!</p>
<p>經過詢問，如果要做 authorization，目前可以用 Apache 來做 http auth 當前端，然後執行 social 時加上 -h 127.0.0.1 的限制。</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/-qYjWKzfvT8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3210/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3210</feedburner:origLink></item>
		<item>
		<title>Ruby 入門 第一次就上手 投影片</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/pO9UrjWzfYA/3201</link>
		<comments>http://ihower.tw/blog/archives/3201#comments</comments>
		<pubDate>Thu, 12 Nov 2009 15:35:03 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3201</guid>
		<description><![CDATA[感謝 OSSF 工作坊 安排這次的課程，投影片上傳到 slideshare 了：
Ruby 入門 第一次就上手
View more documents from Wen-Tien Chang.

如果真是高中生跟大學生為主的話，還真想把內容弄宅一點的 :p 不過主辦單位告訴我還是社會人士為主之後，就還是實用一點吧。
]]></description>
			<content:encoded><![CDATA[<p>感謝 <a href="http://whoswho.openfoundry.org/workshop/details/53--ruby--.html">OSSF 工作坊</a> 安排這次的課程，投影片上傳到 slideshare 了：</p>
<div style="width:425px;text-align:left" id="__ss_2484283"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ihower/ruby-2484283" title="Ruby 入門 第一次就上手">Ruby 入門 第一次就上手</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ruby-learn-to-program-091112093028-phpapp01&#038;stripped_title=ruby-2484283" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ruby-learn-to-program-091112093028-phpapp01&#038;stripped_title=ruby-2484283" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ihower">Wen-Tien Chang</a>.</div>
</div>
<p>如果真是高中生跟大學生為主的話，還真想把內容弄宅一點的 :p 不過主辦單位告訴我還是社會人士為主之後，就還是實用一點吧。</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/pO9UrjWzfYA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3201/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3201</feedburner:origLink></item>
		<item>
		<title>關於找工作這件事情</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/KY-YEZSAP5I/3191</link>
		<comments>http://ihower.tw/blog/archives/3191#comments</comments>
		<pubDate>Sun, 08 Nov 2009 10:28:51 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3191</guid>
		<description><![CDATA[謝謝大家的關心與指教，十分感謝。但幾經考慮之後，決定暫時移除 &#8220;我要找工作&#8221; 這篇公告。主要是眼下還有許多的工作正在進行，我也不急著下個月就找到工作，我想我還是放輕鬆一點 (well, 女朋友在抗議了 :/ )，給自己更多時間沈澱想法，先把手頭上的工作做好再說。
會有離開和多的想法，大概也是這幾個月的事情。我很幸運的，在我職涯初期，能夠與兩位厲害的 geeks 一同創業做一個小股東，學到非常多東西：如何 co-work 團隊開發、接觸 open source 及 geek 文化、實踐 Agile 專案開發等。也因為這樣的背景薰陶，我才能夠在這一兩年在 Ruby/Rails 上有不錯的心得跟經驗，並啟發了我有了一些新想法跟自己想要追求的事情，想要去經歷不同的環境，接觸更多不同的/潛在的 Rails 開發者。
再次謝謝大家的關心跟指教 :)
]]></description>
			<content:encoded><![CDATA[<p>謝謝大家的關心與指教，十分感謝。但幾經考慮之後，決定暫時移除 &#8220;我要找工作&#8221; 這篇公告。主要是眼下還有許多的工作正在進行，我也不急著下個月就找到工作，我想我還是放輕鬆一點 (well, 女朋友在抗議了 :/ )，給自己更多時間沈澱想法，先把手頭上的工作做好再說。</p>
<p>會有離開和多的想法，大概也是這幾個月的事情。我很幸運的，在我職涯初期，能夠與兩位厲害的 geeks 一同創業做一個小股東，學到非常多東西：如何 co-work 團隊開發、接觸 open source 及 geek 文化、實踐 Agile 專案開發等。也因為這樣的背景薰陶，我才能夠在這一兩年在 Ruby/Rails 上有不錯的心得跟經驗，並啟發了我有了一些新想法跟自己想要追求的事情，想要去經歷不同的環境，接觸更多不同的/潛在的 Rails 開發者。</p>
<p>再次謝謝大家的關心跟指教 :)</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/KY-YEZSAP5I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3191/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3191</feedburner:origLink></item>
		<item>
		<title>程式設計體驗營 – Ruby 入門課程</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/yNrxBGMdNXM/3108</link>
		<comments>http://ihower.tw/blog/archives/3108#comments</comments>
		<pubDate>Mon, 02 Nov 2009 14:36:43 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3108</guid>
		<description><![CDATA[再次應 OSSF 的邀請，11/12 會在中研院開一堂非常入門的程式設計三小時體驗營 Ruby 入門 課程，對象是高中、大一、大二的同學。
這麼入門的課程還是第一次教，主辦單位特別要求要教有趣一點的東西跟應用。除了基本的語法，本來想玩 shoes GUI，但是 shoes 網頁不能連了 :( 目前的想法是玩 Sinatra，或是用 nokogiri parsing HTML，或是來解 ACM 題目???
幫幫忙，有沒有什麼建議? 總不能教 Rails 吧&#8230; XD
]]></description>
			<content:encoded><![CDATA[<p>再次應 OSSF 的邀請，11/12 會在中研院開一堂非常入門的程式設計三小時體驗營 <a href="http://whoswho.openfoundry.org/workshop/details/53--ruby-.html">Ruby 入門</a> 課程，對象是高中、大一、大二的同學。</p>
<p>這麼入門的課程還是第一次教，主辦單位特別要求要教有趣一點的東西跟應用。除了基本的語法，本來想玩 shoes GUI，但是 shoes 網頁不能連了 :( 目前的想法是玩 <a href="http://www.sinatrarb.com/">Sinatra</a>，或是用 <a href="http://nokogiri.org/">nokogiri</a> parsing HTML，或是來解 <a href="http://dhcp.tcgs.tc.edu.tw/c/p013.htm">ACM 題目</a>???</p>
<p>幫幫忙，有沒有什麼建議? 總不能教 Rails 吧&#8230; XD</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/yNrxBGMdNXM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3108/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3108</feedburner:origLink></item>
		<item>
		<title>Rails Best Practices 投影片</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/8nfKG4suSOA/3075</link>
		<comments>http://ihower.tw/blog/archives/3075#comments</comments>
		<pubDate>Sat, 24 Oct 2009 15:52:29 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3075</guid>
		<description><![CDATA[Update(2009/11/18) 和 flyerhzm 的 Rails Best Practices Gem 一起被 Ruby5 &#8211; Episode #28 介紹了 (在Podcast 4:20~5:00 之間)
Update(2009/11/10): 被 Rails Envy Podcast – Episode #099 介紹了 (在 Podcast 7:45~8:50 之間)
Update(2009/11/4): 上了 Hacker News 當日第 #11 名新聞
Update(2009/11/4): 貼到 RubyFlow
這是今天在上海 KungFu Rails 演講的投影片，基本上跟週二在 Ruby Tuesday 講的差不多，新增了 Nested Model Forms、多選 checbox、簡化一些例子還有加強 RESTful 介紹。
Rails Best Practices
View more documents from Wen-Tien [...]]]></description>
			<content:encoded><![CDATA[<p>Update(2009/11/18) 和 <a href="http://twitter.com/flyerhzm">flyerhzm</a> 的 <a href="http://github.com/flyerhzm/rails_best_practices">Rails Best Practices Gem</a> 一起被 <a href="http://ruby5.envylabs.com/episodes/29-episode-28-november-17-2009/stories/229-rails-best-practices-gem-by-richard-huang">Ruby5 &#8211; Episode #28</a> 介紹了 (在Podcast 4:20~5:00 之間)<br />
Update(2009/11/10): 被 <a href="http://railsenvy.com/2009/11/09/episode-099">Rails Envy Podcast – Episode #099</a> 介紹了 (在 Podcast 7:45~8:50 之間)<br />
Update(2009/11/4): 上了 <a href="http://news.ycombinator.com/item?id=918153">Hacker News</a> 當日第 #11 名新聞<br />
Update(2009/11/4): 貼到 <a href="http://rubyflow.com/items/2958">RubyFlow</a></p>
<p>這是今天在上海 <a href="http://kungfurails.com">KungFu Rails</a> 演講的投影片，基本上跟週二在 <a href="http://ihower.idv.tw/blog/archives/3068">Ruby Tuesday</a> 講的差不多，新增了 Nested Model Forms、多選 checbox、簡化一些例子還有加強 RESTful 介紹。</p>
<div style="width:425px;text-align:left" id="__ss_2334123"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ihower/rails-best-practices" title="Rails Best Practices">Rails Best Practices</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rails-best-practices-091024015011-phpapp01&#038;stripped_title=rails-best-practices" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rails-best-practices-091024015011-phpapp01&#038;stripped_title=rails-best-practices" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ihower">Wen-Tien Chang</a>.</div>
</div>
<p>因為準備的內容不少，所以一開始打的算盤就是盡量衝沒關係。週二的速度大概剛好 45min，這次又多了幾頁，沒想到竟然只花了 41min，好像又太趕了些，也許應該停下來閒聊一下 :p 不過光是兩岸名詞差異轉換就讓大夥噗哧了幾下。</p>
<p>會後得到了不少好評價，相信應該是有讓大家有些收穫。其中最爽的就是被 Rails3 Architect <a href="http://yehudakatz.com/">Yehuda</a> 主動伸手跟我要這份投影片了，能被他稱讚真是高興啊 :D</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/8nfKG4suSOA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3075/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3075</feedburner:origLink></item>
		<item>
		<title>我是專家 「I’m expert」@Yahoo! Open Hack Day</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/B8NNBRXmyIM/3076</link>
		<comments>http://ihower.tw/blog/archives/3076#comments</comments>
		<pubDate>Mon, 19 Oct 2009 08:21:52 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3076</guid>
		<description><![CDATA[上週末去參加 Y! Open Hack Day 做的網站：「我是專家」，網站的詳細介紹隊長 xdite 已經很快地寫好了網站介紹，相較於去年參加用熬夜不睡覺的必勝壓力，這次用了比較輕鬆跟歡樂的心情來參加比賽，雖然沒得獎，但至少跟隊友們玩的蠻開心的，有些梗真是機車啊。

]]></description>
			<content:encoded><![CDATA[<p>上週末去參加 <a href="http://openhacktaiwan.pbworks.com/">Y! Open Hack Day</a> 做的網站：「<a href="http://imexpert.tw/">我是專家</a>」，網站的詳細介紹隊長 xdite 已經很快地寫好了<a href="http://blog.xdite.net/?p=1472">網站介紹</a>，相較於去年參加用熬夜不睡覺的必勝壓力，這次用了比較輕鬆跟歡樂的心情來參加比賽，雖然沒得獎，但至少跟隊友們玩的蠻開心的，有些梗真是機車啊。</p>
<p><img src="http://farm3.static.flickr.com/2591/4024366287_6ef18e3b3a.jpg" width="400" /></p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/B8NNBRXmyIM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3076/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3076</feedburner:origLink></item>
		<item>
		<title>Ruby Tuesday 十月場</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/uzXqQ4FB3dw/3068</link>
		<comments>http://ihower.tw/blog/archives/3068#comments</comments>
		<pubDate>Wed, 07 Oct 2009 09:02:29 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3068</guid>
		<description><![CDATA[距離上次舉辦好像隔比較久，讓大家久等了：
時間: 2009/10/20（週二）晚上七點到九點。
地點: 台北市 果子咖啡
報名請前往活動網頁，這次的講題是：

Cardinal Blue Software: Rails on facebook
ihower: Rails best practices and refactoring
xdite: SEO tricks for Rails

Cardinal Blue Software 是一家專做 Facebook app 的軟體公司，這次很特別邀請來分享他們在 Facebook 上的經驗。xdite 則會分享她最近在做 Search Engine Optimization (SEO) 的不可外傳秘技。至於我自己則分享一些 Rails 的最佳實務跟重構技巧，眼尖的各位應該發現跟幾天之後我在 Kungfurails 演講是同個題目 :p
]]></description>
			<content:encoded><![CDATA[<p>距離上次舉辦好像隔比較久，讓大家久等了：</p>
<p>時間: 2009/10/20（週二）晚上七點到九點。<br />
地點: 台北市 果子咖啡</p>
<p>報名請前往<a href="http://registrano.com/events/ruby-tuesday-200910">活動網頁</a>，這次的講題是：</p>
<ul>
<li><a href="http://cardinalblue.com/">Cardinal Blue Software</a>: Rails on facebook</li>
<li><a href="http://ihower.idv.tw/blog/">ihower</a>: Rails best practices and refactoring</li>
<li><a href="http://blog.xdite.net/">xdite</a>: SEO tricks for Rails
</ul>
<p>Cardinal Blue Software 是一家專做 Facebook app 的軟體公司，這次很特別邀請來分享他們在 Facebook 上的經驗。xdite 則會分享她最近在做 Search Engine Optimization (SEO) 的不可外傳秘技。至於我自己則分享一些 Rails 的最佳實務跟重構技巧，眼尖的各位應該發現跟幾天之後我在 Kungfurails 演講是同個題目 :p</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/uzXqQ4FB3dw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3068/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3068</feedburner:origLink></item>
		<item>
		<title>演講: Rails Best Practice @ Kungfurails</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/PndG_R7t0aU/3051</link>
		<comments>http://ihower.tw/blog/archives/3051#comments</comments>
		<pubDate>Thu, 01 Oct 2009 08:42:35 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3051</guid>
		<description><![CDATA[Update(2009/10/25): 釋出投影片。

這次受邀到  Kungfurails &#8211; 中国rails开发者大会 演講，地點在上海，時間是 2009/10/24，這也是我第一次去大陸 :)
我的講題是 Rails Best Practice: Write Better Code
摘要:
隨著程式碼越趨龐大複雜，如果沒有好的程式規範，很容易隨著時光流逝而成為一團無法維護的程式碼。因此，我們需要一些好的原則、設計模式和最佳實務，來保持容易閱讀、高一致性、容易維護的好程式。本議程除了示範一些好的設計模式、也將瞄準一些常見的糟糕程式碼(AntiPatterns)加以重構。
]]></description>
			<content:encoded><![CDATA[<p>Update(2009/10/25): 釋出<a href="http://ihower.idv.tw/blog/archives/3075">投影片</a>。</p>
<p><a href="http://kungfurails.com/"><img src="http://ihower.idv.tw/blog/wp-content/uploads/2009/10/KungFu_Rails_Logo.gif" alt="KungFu_Rails_Logo" title="KungFu_Rails_Logo" width="257"  class="alignnone size-full wp-image-3063" /></a></p>
<p>這次受邀到 <a href="http://kungfurails.com/"> Kungfurails &#8211; 中国rails开发者大会</a> 演講，地點在上海，時間是 2009/10/24，這也是我第一次去大陸 :)</p>
<p>我的講題是 <strong>Rails Best Practice: Write Better Code</strong></p>
<p>摘要:</p>
<p>隨著程式碼越趨龐大複雜，如果沒有好的程式規範，很容易隨著時光流逝而成為一團無法維護的程式碼。因此，我們需要一些好的原則、設計模式和最佳實務，來保持容易閱讀、高一致性、容易維護的好程式。本議程除了示範一些好的設計模式、也將瞄準一些常見的糟糕程式碼(AntiPatterns)加以重構。</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/PndG_R7t0aU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3051/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3051</feedburner:origLink></item>
		<item>
		<title>Ruby 程式語言與 Ruby on Rails 入門課程投影片 at KaLUG</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/50cmG0I0j6U/3040</link>
		<comments>http://ihower.tw/blog/archives/3040#comments</comments>
		<pubDate>Mon, 21 Sep 2009 06:42:57 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3040</guid>
		<description><![CDATA[這次一次進行六小時的課程，包含上機練習。感謝 KaLUG 和 OSSF 的招待 :)
Ruby 程式語言入門導覽
View more documents from Wen-Tien Chang.

Ruby on Rails : 簡介與入門
View more documents from Wen-Tien Chang.

Ruby on Rails : RESTful&#38;Ajax
View more documents from Wen-Tien Chang.

最後五分鐘的 Rails 生態圈一覽 出自我四月在 OSDC 的演講。
關於課程，還是沒來得及(準備)深入 ActiveRecord，像是 Associations、Validation、Callback 等，看來需要更多時間才能包海包海的講完 Ruby on Rails :p 另外每次都會有人問 Deployment 的部份，以後有機會也可以加進來。
]]></description>
			<content:encoded><![CDATA[<p><a href="http://ihower.idv.tw/blog/archives/2990">這次</a>一次進行六小時的課程，包含<a href="http://ihower.idv.tw/course/rails.html">上機練習</a>。感謝 <a href="http://kalug.linux.org.tw/">KaLUG</a> 和 <a href="http://www.openfoundry.org">OSSF</a> 的招待 :)</p>
<div style="width:425px;text-align:left" id="__ss_2028958"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ihower/ruby-2028958" title="Ruby 程式語言入門導覽">Ruby 程式語言入門導覽</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ruby-tutoral-0920-090921013453-phpapp01&#038;stripped_title=ruby-2028958" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=ruby-tutoral-0920-090921013453-phpapp01&#038;stripped_title=ruby-2028958" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ihower">Wen-Tien Chang</a>.</div>
</div>
<div style="width:425px;text-align:left" id="__ss_2028956"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ihower/ruby-on-rails-2028956" title="Ruby on Rails : 簡介與入門">Ruby on Rails : 簡介與入門</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rails-introduction-0920-090921013456-phpapp01&#038;stripped_title=ruby-on-rails-2028956" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rails-introduction-0920-090921013456-phpapp01&#038;stripped_title=ruby-on-rails-2028956" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ihower">Wen-Tien Chang</a>.</div>
</div>
<div style="width:425px;text-align:left" id="__ss_2028957"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/ihower/ruby-on-rails-restfulajax" title="Ruby on Rails : RESTful&amp;Ajax">Ruby on Rails : RESTful&amp;Ajax</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rails-restful-0920-090921013507-phpapp01&#038;stripped_title=ruby-on-rails-restfulajax" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=rails-restful-0920-090921013507-phpapp01&#038;stripped_title=ruby-on-rails-restfulajax" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/ihower">Wen-Tien Chang</a>.</div>
</div>
<p>最後五分鐘的 <a href="http://ihower.idv.tw/blog/archives/2714">Rails 生態圈一覽</a> 出自我四月在 OSDC 的演講。</p>
<p>關於課程，還是沒來得及(準備)深入 ActiveRecord，像是 Associations、Validation、Callback 等，看來需要更多時間才能包海包海的講完 Ruby on Rails :p 另外每次都會有人問 Deployment 的部份，以後有機會也可以加進來。</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/50cmG0I0j6U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3040/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3040</feedburner:origLink></item>
		<item>
		<title>快速安裝 Rails 開發環境 Ubuntu 9.04</title>
		<link>http://feedproxy.google.com/~r/ihower/~3/rBaZpPMv38o/3002</link>
		<comments>http://ihower.tw/blog/archives/3002#comments</comments>
		<pubDate>Fri, 04 Sep 2009 20:21:17 +0000</pubDate>
		<dc:creator>ihower</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://ihower.idv.tw/blog/?p=3002</guid>
		<description><![CDATA[最近有機會做一些 Ruby on Rails 的上機教學，根據之前上課的經驗，能夠讓學員快點開始寫 code 練習是最重要的事情，花時間在安裝軟體、排除不同安裝環境出現的問題之類的最浪費教學時間了。如果有人自備 NB，但是怎麼裝都裝不起來，而我又不能只顧解決他的環境問題&#8230;&#8230;..orz 另外如果每個人上課(和回家之後)的練習環境都一樣，這樣照著教學練習就不易出錯，我想新手最怕的就是照著教學打結果 error 卡關，學習的滿腔熱血就這樣被澆熄 :p
因為 Windows 環境實在有點討厭，總是有人裝不起來(?)，加上跑起 Ruby 效能又不太好，所以這次一不作二不休，乾脆改用 VM 環境，使用免費的 VirtualBox (註) 來模擬 Ubuntu 9.04 Desktop edition 作業系統，並使用內建就有的文字編輯器 gedit 來練習 (NetBeans 是另一個選擇)。BTW，熟悉 Ubuntu 環境對將來佈署 production server 也蠻有幫助的。
為了製作安裝快速、統一又乾淨的 Ruby on Rails 開發練習環境，所以花了點時間寫了安裝指令檔，只要在 Ubuntu 下執行這隻程式，然後大概五分鐘就可以開始寫 Rails 程式了。(當然是不包括把 VirtualBox 裝好，然後把 Ubuntu 安裝進去的時間&#8230;. zzz)。實際上課的話，可以用內網分享製作好的 Appliance 映像檔(~1G)，直到倒進 VirtualBox 裡，馬上就有熱騰騰的 Ubuntu 桌機版可以練習 Rails [...]]]></description>
			<content:encoded><![CDATA[<p>最近有機會做一些 Ruby on Rails 的上機教學，根據之前上課的經驗，能夠讓學員快點開始寫 code 練習是最重要的事情，花時間在安裝軟體、排除不同安裝環境出現的問題之類的最浪費教學時間了。如果有人自備 NB，但是怎麼裝都裝不起來，而我又不能只顧解決他的環境問題&#8230;&#8230;..orz 另外如果每個人上課(和回家之後)的練習環境都一樣，這樣照著教學練習就不易出錯，我想新手最怕的就是照著教學打結果 error 卡關，學習的滿腔熱血就這樣被澆熄 :p</p>
<p>因為 Windows 環境實在有點討厭，總是有人裝不起來(?)，加上跑起 Ruby 效能又不太好，所以這次一不作二不休，乾脆改用 VM 環境，使用免費的 <a href="http://www.virtualbox.org">VirtualBox</a> (註) 來模擬 <a href="http://www.ubuntu.com">Ubuntu</a> 9.04 Desktop edition 作業系統，並使用內建就有的文字編輯器 <a href="http://projects.gnome.org/gedit/">gedit</a> 來練習 (<a href="http://www.netbeans.org/features/ruby/index.html">NetBeans</a> 是另一個選擇)。BTW，熟悉 Ubuntu 環境對將來佈署 production server 也蠻有幫助的。</p>
<p>為了製作安裝快速、統一又乾淨的 Ruby on Rails 開發練習環境，所以花了點時間寫了<a href="http://gist.github.com/180820">安裝指令檔</a>，只要在 Ubuntu 下執行這隻程式，然後大概五分鐘就可以開始寫 Rails 程式了。(當然是不包括把 VirtualBox 裝好，然後把 Ubuntu 安裝進去的時間&#8230;. zzz)。實際上課的話，可以用內網分享製作好的 Appliance 映像檔(~1G)，直到倒進 VirtualBox 裡，馬上就有熱騰騰的 Ubuntu 桌機版可以練習 Rails 啦。</p>
<p>註一: 裝好進入 ubuntu 後，記得安裝<a href="http://ok2.tw/blog/142">客端額外功能</a>才能調整螢幕解析度大小及進入全螢幕模式。</p>
<p>註二: 除了 VirtualBox，<a href="http://wubi-installer.org/">wubi</a> 也是不錯的方式讓 Windows 與 Ubuntu 共存。</p>
<img src="http://feeds.feedburner.com/~r/ihower/~4/rBaZpPMv38o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://ihower.tw/blog/archives/3002/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://ihower.tw/blog/archives/3002</feedburner:origLink></item>
	</channel>
</rss>
