<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-22714461</id><updated>2012-01-27T20:44:51.718+08:00</updated><title type='text'>do |x| Ruby on Rails end</title><subtitle type='html'>The wonderful Ruby/Rails world!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>60</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-22714461.post-1215664512798592608</id><published>2007-01-16T11:02:00.000+08:00</published><updated>2007-01-16T11:24:00.325+08:00</updated><title type='text'>[徵人]ZK 在找你...</title><content type='html'>&lt;a href="http://www.zkoss.org/"&gt;ZK&lt;/a&gt; 需要對寫程式有熱情, 熟 Java 及會英文的程式設計人才.&lt;br /&gt;歡迎有興趣的朋友加入, 一起努力!&lt;br /&gt;&lt;br /&gt;工作地點: 台北&lt;br /&gt;&lt;a href="http://www.zkoss.org/"&gt; ZK : &lt;/a&gt;&lt;span&gt;&lt;a href="http://www.zkoss.org/"&gt;#1 Ajax project in SourceForge.net&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;請將履歷寄到 &lt;a href="mailto://henrichen@potix.com/"&gt;Mr. Henri&lt;/a&gt; 或 &lt;a href="mailto://jengdarho@gmail.com/"&gt;me&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-1215664512798592608?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/1215664512798592608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=1215664512798592608' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/1215664512798592608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/1215664512798592608'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2007/01/zk.html' title='[徵人]ZK 在找你...'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-116616114278704330</id><published>2006-12-15T13:38:00.000+08:00</published><updated>2006-12-15T13:53:25.203+08:00</updated><title type='text'>瞧瞧 37signals 用了哪些軟體?</title><content type='html'>&lt;img style="float: right;" src="http://37signals.com/images/logo-37signals.gif" alt="37signals" /&gt;&lt;p&gt;看看 &lt;a tip="" href="http://www.37signals.com/"&gt;37signals&lt;/a&gt; 這家小軟體公司用了哪些軟體程式工具以維持公司日常運作. 給有心開公司的朋友做個參考! 學習一下他們採用多種平台及相關軟體搭配, 重要是讓公司維持運作.&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;程式編輯器 – &lt;a tip="" href="http://www.barebones.com/products/textwrangler/index.shtml"&gt;TextWrangler&lt;/a&gt;, &lt;a tip="" href="http://macromates.com/"&gt;TextMate&lt;/a&gt;, and &lt;a tip="" href="http://www.vim.org/"&gt;Vim&lt;/a&gt;&lt;/li&gt;&lt;li&gt;財務 – &lt;a tip="" href="http://quickbooks.intuit.com/"&gt;Quickbooks Pro 2006 for Mac&lt;/a&gt; (台灣可不適用)&lt;/li&gt;&lt;li&gt;技術支援 – Gmail &amp; &lt;a tip="" href="http://www.typeit4me.com/"&gt;TypeIt4Me&lt;/a&gt;&lt;/li&gt;&lt;li&gt;除錯追蹤 – &lt;a tip="" href="http://trac.edgewall.org/"&gt;Trac&lt;/a&gt;&lt;/li&gt;&lt;li&gt;管理 email newsletters – &lt;a tip="" href="http://www.campaignmonitor.com/"&gt;Campaign Monitor&lt;/a&gt;&lt;/li&gt;&lt;li&gt;部落格 – &lt;a tip="" href="http://www.movabletype.com/"&gt;Movable Type&lt;/a&gt;&lt;/li&gt;&lt;li&gt;管理 &lt;span class="caps"&gt;RSS&lt;/span&gt; feeds – &lt;a tip="" href="http://www.feedburner.com/"&gt;Feedburner&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Basecamp &amp;amp; Backpack 論壇 – &lt;a tip="" href="http://www.punbb.org/"&gt;PunBB&lt;/a&gt;&lt;/li&gt;&lt;li&gt;電腦 – &lt;a tip="" href="http://www.apple.com/macbook/"&gt;Apple Powerbooks&lt;/a&gt; &amp; iMac G5s &amp;amp; Dell (&lt;span class="caps"&gt;PC &lt;/span&gt;測試用)&lt;/li&gt;&lt;li&gt;付款 – &lt;a tip="" href="http://www.authorize.net/"&gt;Authorize.net&lt;/a&gt; (台灣不玩這套)&lt;/li&gt;&lt;li&gt;Web hosting – &lt;a tip="" href="http://tilted.com/"&gt;Tilted&lt;/a&gt;&lt;/li&gt;&lt;li&gt;設計稿 – &lt;a tip="" href="http://www.adobe.com/products/indesign/index.html"&gt;Adobe InDesign&lt;/a&gt;&lt;/li&gt;&lt;li&gt;群組溝通 – &lt;a tip="" href="http://www.apple.com/macosx/features/ichat/"&gt;Apple iChat&lt;/a&gt;, &lt;a tip="" href="http://www.skype.com/"&gt;Skype&lt;/a&gt;, &lt;a tip="" href="http://www.adiumx.com/"&gt;Adium&lt;/a&gt;, and Campfire&lt;/li&gt;&lt;li&gt;&lt;span class="caps"&gt;CRM &lt;/span&gt;- &lt;a tip="" href="http://www.37signals.com/svn/archives2/sunrise_37signals_crm_tool_for_small_business_is_coming_soon.php"&gt;Sunrise&lt;/a&gt; (他們家的產品, 還未公開)&lt;/li&gt;&lt;/ul&gt;    &lt;p&gt;最後, 當然還有他們家的自己的產品!!!&lt;/p&gt;    &lt;p&gt;&lt;a tip="" href="http://www.37signals.com/svn/archives2/the_tools_we_use_to_run_and_build_37signals.php"&gt;The tools we use to run and build 37signals&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-116616114278704330?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/116616114278704330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=116616114278704330' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/116616114278704330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/116616114278704330'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/12/37signals.html' title='瞧瞧 37signals 用了哪些軟體?'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-116166029760432064</id><published>2006-10-24T11:24:00.000+08:00</published><updated>2006-10-24T11:24:57.616+08:00</updated><title type='text'>Google Groups BETA 體驗</title><content type='html'>&lt;div class="post"&gt;&lt;img style="float: right;" src="http://groups-beta.google.com/groups/img/3/groups_medium.gif" alt="Google Groups" /&gt; &lt;a tip="BETA" href="http://groups-beta.google.com/"&gt;Google Groups &lt;span class="caps"&gt;BETA&lt;/span&gt;&lt;/a&gt; 正式開放試用了, 除了基本 net news 討論功能外加上  &lt;ol&gt;&lt;li&gt;新的操作介面, 有不少是從 gmail 整合過來&lt;/li&gt;&lt;li&gt;評分功能&lt;/li&gt;&lt;li&gt;“Pages” 可線上撰寫 html 網頁&lt;/li&gt;&lt;li&gt;“Files” 可上傳檔案&lt;/li&gt;&lt;/ol&gt;    &lt;p&gt;很熟悉嗎? 一般的 “論壇” 功能已經被加入進去, 加上好用的介面, 不久之後 Knowledge Base 業者可要小心!&lt;/p&gt;    &lt;p&gt;近幾年來好像生態有點轉變, 以前都是 Enterprise 端有新的技術, ex: &lt;span class="caps"&gt;J2EE&lt;/span&gt;, SOA, 但現在反過來, 因消費者比較容易接受或嘗試新技術, 所以新技術都是從消費者這端反攻回 Enterprise, ex: search, wiki, web mail…&lt;/p&gt;         &lt;p class="meta"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;strong&gt;&lt;/strong&gt;&lt;a tip="" href="http://86915.hostmyapplications.com/articles/2006/10/22/google-groups-beta-%E9%AB%94%E9%A9%97#trackbacks"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-116166029760432064?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/116166029760432064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=116166029760432064' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/116166029760432064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/116166029760432064'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/10/google-groups-beta.html' title='Google Groups BETA 體驗'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-116044405425886880</id><published>2006-10-10T09:33:00.000+08:00</published><updated>2006-10-10T09:34:14.276+08:00</updated><title type='text'>irb 其實也支援自動完成</title><content type='html'>&lt;p&gt;irb 其實有支援用 &lt;span class="caps"&gt;TAB &lt;/span&gt;鍵來做自動完成工作, 這真是好用, 因為常常會忘掉!&lt;/p&gt;    &lt;ul&gt;&lt;li&gt;直接下命令&lt;/li&gt;&lt;/ul&gt;   &lt;pre&gt;&lt;code&gt;&lt;br /&gt;$ irb --readline -r irb/completion&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;   &lt;ul&gt;&lt;li&gt;利用 .irbrc&lt;/li&gt;&lt;/ul&gt;   &lt;pre&gt;&lt;code&gt;&lt;br /&gt;require 'irb/completion'&lt;br /&gt;IRB.conf[:PROMPT_MODE] = :SIMPLE&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;   &lt;p&gt;可以參考 &lt;a tip="" href="http://wiki.showmedo.com/index.php?title=RubyLakeIrbCompletion"&gt;Enabling Tab Completion in &lt;span class="caps"&gt;IRB&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-116044405425886880?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/116044405425886880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=116044405425886880' title='24 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/116044405425886880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/116044405425886880'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/10/irb.html' title='irb 其實也支援自動完成'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115906856900989436</id><published>2006-09-24T11:28:00.000+08:00</published><updated>2006-09-24T11:29:29.020+08:00</updated><title type='text'>來到 Ubuntu 世界!</title><content type='html'>&lt;ol&gt;&lt;li&gt;開發 Embedded Linux 系統, 採 Montavista 平台, cross compile, tool chain 及程式開發安裝&lt;/li&gt;&lt;li&gt;用 Eclipse/CDT 幫忙寫程式, 只是貪圖方便及開發網頁容易而已, 最後還是要回 Montavista 編譯&lt;/li&gt;&lt;li&gt;當然還有 subversion&lt;/li&gt;&lt;li&gt;免不了還是要用到 Windows, 所以請出 VMWare Player &lt;/li&gt;&lt;li&gt;當然要開發 Web 程式, 那就用 Ruby and Rails&lt;/li&gt;&lt;/ol&gt;    &lt;p&gt;其他一般桌面軟體 Ubuntu 都幫你準備好了, 雖然經歷一些痛苦, 但總算換到 Linux 世界!&lt;/p&gt;    &lt;p&gt;PS. 竟然給我碰到 Ubuntu 大烏龍事件, 害的我以為 X 視窗壞掉重裝, 原來是他們的更新版本有問題.&lt;/p&gt;    &lt;p&gt;沒有 iTune 可用就真有點討厭, 我自己覺得 iTune 是近年寫的最好的桌面軟體, 特別在網路功能方面的設計更是一流!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115906856900989436?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115906856900989436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115906856900989436' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115906856900989436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115906856900989436'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/09/ubuntu.html' title='來到 Ubuntu 世界!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115482953510092931</id><published>2006-08-06T09:57:00.000+08:00</published><updated>2006-08-06T09:58:55.110+08:00</updated><title type='text'>Kool IM, meebo 的競爭對手</title><content type='html'>&lt;p&gt;&lt;img style="float: right;" src="http://www.koolim.com/imgs/net_koolim.gif" alt="Kool IM" /&gt; &lt;a tip="" href="http://www.koolim.com/"&gt;Kool IM&lt;/a&gt; 是一個 web based 的線上聊天軟體, 支援 &lt;span class="caps"&gt;MSN&lt;/span&gt;, Yahoo, &lt;span class="caps"&gt;ICQ&lt;/span&gt;, AIM, Google Talk…, 使用介面簡潔好用, 去試用看看就知道,  &lt;a tip="" href="http://www.meebo.com/"&gt;meebo&lt;/a&gt; 總算碰到新進的挑戰者, 最近 meebo 改版速度好像加快很多, 多國語言, 使用介面, &lt;span class="caps"&gt;AJAX &lt;/span&gt;的運用, 以及 &lt;a tip="" href="http://www.meebome.com/"&gt;meebo me&lt;/a&gt; 的推出, 競爭才會有更好的產品出現!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115482953510092931?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115482953510092931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115482953510092931' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115482953510092931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115482953510092931'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/08/kool-im-meebo.html' title='Kool IM, meebo 的競爭對手'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115371143332643330</id><published>2006-07-24T11:22:00.000+08:00</published><updated>2006-07-24T11:25:01.153+08:00</updated><title type='text'>Ruby 的 socket 網路程式 2</title><content type='html'>&lt;p&gt;再舉一個完整一點的 http “GET” client 程式… 其實 http protocol 還設計的夠簡單又有彈性, 但有人可以教我如何讓它支援 http proxy 嗎? 實在是沒時間去研究…&lt;/p&gt;  &lt;pre&gt;&lt;code&gt;&lt;br /&gt;# socket example - httpget&lt;br /&gt;# usage: ruby httpget.rb http://host/path&lt;br /&gt;require 'socket'&lt;br /&gt;include Socket::Constants&lt;br /&gt;&lt;br /&gt;host = "www.ntu.edu.tw"              # default values&lt;br /&gt;port = 80&lt;br /&gt;path = "/"&lt;br /&gt;# process URL (%r!..! means regular expression)&lt;br /&gt;if %r!http://(.*?)(?::(\d+))?(/.*)! =~ ARGV[0]&lt;br /&gt;host = $1&lt;br /&gt;port = Integer($2) if $2&lt;br /&gt;path = $3&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#TCPSocket version&lt;br /&gt;#socket = TCPsocket::open(host, port)&lt;br /&gt;&lt;br /&gt;#send out HTTP header&lt;br /&gt;socket.write("GET #{path} HTTP/1.0\r\n\r\n")&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;print socket.read&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;   &lt;p&gt;老闆總是覺得我們的系統跟 windows 一樣甚麼都有, 都可以寫的出來… 也不想想花多少錢在開發 kit 上, 那 kit 當然是夠陽春! 有時是感覺年紀越大越不敢說不! 學校也真不知在教甚麼? 難道沒學過就不會去找資料把它寫出來, 只會跟老闆說不會, 只好累到自己…&lt;/p&gt;&lt;br /&gt;你可以參考 &lt;a href="http://86915.hostmyapplications.com/articles/2006/07/24/ruby-%E7%9A%84-socket-%E7%B6%B2%E8%B7%AF%E7%A8%8B%E5%BC%8F"&gt;Ruby 的 socket 網路程式 1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115371143332643330?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115371143332643330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115371143332643330' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115371143332643330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115371143332643330'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/07/ruby-socket-2.html' title='Ruby 的 socket 網路程式 2'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115202586189887496</id><published>2006-07-04T23:10:00.000+08:00</published><updated>2006-07-04T23:11:01.913+08:00</updated><title type='text'>prototype.js 筆記</title><content type='html'>&lt;p&gt;把個人一些 prototype.js 的參考資料和大家分享, 資料還很片段不完整, 大概只適合懂 prototype.js 的人. 因為自己常忘掉怎麼寫, 所以留一份筆記供自己參考.&lt;/p&gt;    &lt;p&gt;prototype.js 有人暱稱為 JavaScript++, 若有人對 prototype.js 有興趣, 大家來讓這份資料更實用一點…&lt;/p&gt;    &lt;p&gt;&lt;a tip="" href="http://willh.org/cfc/wiki/index.php/Prototype.js_%E7%AD%86%E8%A8%98"&gt;prototype.js 筆記 Wiki&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;PS. 最近因為忙於 embedded device 工作, 但還是不忘 ruby, 拿來寫 socket/network 程式來測試 device, 蠻方便又快速, 比起用 VB, .net 快樂多了!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115202586189887496?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115202586189887496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115202586189887496' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115202586189887496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115202586189887496'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/07/prototypejs.html' title='prototype.js 筆記'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115142379910486857</id><published>2006-06-27T23:55:00.000+08:00</published><updated>2006-07-02T10:35:16.573+08:00</updated><title type='text'>RailsConf 2006 資料整理</title><content type='html'>&lt;p&gt;RailsConf 2006 剛結束, 來看看有那些內容…&lt;/p&gt;    &lt;ul&gt;&lt;li&gt;&lt;a tip="" href="http://blog.scribestudio.com/pages/rails/"&gt;RailsConf 2006 Keynote Series&lt;/a&gt; (Video 版, 陸陸續續出...)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://bloggingrailsconf.com/"&gt;RailsConf 2006 Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.loudthinking.com/lt-files/worldofresources.pdf"&gt;Discovering a World of Resources on Rails&lt;/a&gt; – &lt;a tip="" href="http://www.loudthinking.com/"&gt;David Heinemeier Hansson&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;探討 &lt;span class="caps"&gt;CRUD &lt;/span&gt;問題&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://brainspl.at/files/AgileRailsDeployment.pdf"&gt;Agile Rails Deployment&lt;/a&gt; – &lt;a tip="" href="http://brainspl.at/"&gt;Ezra Zygmuntowicz&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Rails 應用程式部署問題&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.jvoorhis.com/media/globalizing-rails-railsconf.pdf"&gt;Globalizing Rails&lt;/a&gt; – &lt;a tip="" href="http://www.jvoorhis.com/"&gt;Jeremy Voorhis&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Rails 多國語言探討&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.slash7.com/presentations/overcoming_scaffolding_addiction.pdf"&gt;Overcoming Scaffolding Addiction&lt;/a&gt; – &lt;a tip="" href="http://www.slash7.com/"&gt;Amy Hoy&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;探討 scaffolding 的問題&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.writertopia.com/dev/metaprogramming_writertopia.pdf"&gt;Metaprogramming Writertopia&lt;/a&gt; – &lt;a tip="" href="http://www.billkatz.com/"&gt;Bill Katz&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;說明開發 Authorization Plugin 的經驗&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://kuniform.org/railsconf2006/rails+ajax+universal+design.pdf"&gt;Rails, Ajax, &amp;amp; Universal Design&lt;/a&gt; – &lt;a tip="" href="http://kuniform.org/"&gt;Jason Kunesh&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Rails 和 Ajax 搭配開發 Accessibility 和 Usability 比較好的網站&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://practicalmadness.com/assets/railsconf.pdf.zip"&gt;Meanwhile, In The Rest Of The World…&lt;/a&gt; – &lt;a tip="" href="http://practicalmadness.com/"&gt;David Demaree&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;介紹他們用 Rails 開發出好幾個產品&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.codecite.com/print/pres/ruby/rails/meta_rails"&gt;MetaRails&lt;/a&gt; – &lt;a tip="" href="http://blogs.relevancellc.com/"&gt;Stuart Halloway&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;???&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.northpub.com/downloads/DSLsAsRailsPlugins.pdf"&gt;Domain Specific Languages as Rails Plugins&lt;/a&gt;  – &lt;a tip="" href="http://www.northpub.com/"&gt;Steven Hammond&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;Ruby 語言最強的地方,&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://mojodna.net/searchable/ruby/railsconf.pdf"&gt;Lucene Eye for the Ruby Guy&lt;/a&gt; – &lt;a tip="" href="http://mojodna.net/"&gt;Seth Fitzsimmons&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;搜尋是一定要的功能(Lucene)&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://damonclinkscales.com/slides/agilemigrations-railsconf.pdf"&gt;Agile Migrations&lt;/a&gt; – &lt;a tip="" href="http://damonclinkscales.com/"&gt;Damon Clinkscales&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;放棄用傳統 database schema &lt;span class="caps"&gt;DDL &lt;/span&gt;(Data Definition Language) 方法吧! 但是為甚麼不支援 foreign-key?&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://railsexpress.de/blog/files/slides/rubyenrails2006.pdf"&gt;Performance Rails&lt;/a&gt; – &lt;a tip="" href="http://railsexpress.de/blog/"&gt;Stefan Kaes&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;效能議題&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;   其它近期 Rails 文章  &lt;ul&gt;&lt;li&gt;&lt;a tip="" href="http://streamlined.relevancellc.com/"&gt;Streamlined&lt;/a&gt; –  To bring the simplicity of ActiveRecord to the view layer. 最值得關注的新技術!!! &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.infoq.com/articles/BackgrounDRb"&gt;Introduction to BackgrounDRb&lt;/a&gt;  讓你的 Rails 可以在背景執行較長的工作&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.codecite.com/print/pres/ruby/rails/ajax_rails"&gt;Ajax on Rails&lt;/a&gt; – &lt;a tip="" href="http://www.codecite.com/"&gt;Relevance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.codecite.com/print/pres/ajax/prototype"&gt;Prototype&lt;/a&gt;    – &lt;a tip="" href="http://www.codecite.com/"&gt;Relevance&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115142379910486857?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115142379910486857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115142379910486857' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115142379910486857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115142379910486857'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/railsconf-2006.html' title='RailsConf 2006 資料整理'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115133420812412285</id><published>2006-06-26T23:02:00.000+08:00</published><updated>2006-06-27T11:00:04.736+08:00</updated><title type='text'>值得關注的新技術 XML11</title><content type='html'>&lt;p&gt;繼 &lt;span class="caps"&gt;GWT &lt;/span&gt;之後, 又有一個新計劃, &lt;a tip="" href="http://www.xml11.org/"&gt;XML11&lt;/a&gt;, 它的目標是希望讓開發 &lt;span class="caps"&gt;AJAX&lt;/span&gt;-applications 工程師不須要懂 Javascript.  他的做法是以 X-Windows protocol(X11, 這也是它為何稱做 &lt;span class="caps"&gt;XML11&lt;/span&gt;的原因)為主, 讓寫程式 就像寫一般 Application, 然後神奇的也可以在 Browser 內使用!&lt;/p&gt;    &lt;p&gt;請看 &lt;a tip="" href="http://video.google.com/videoplay?docid=-3171582187051229467"&gt;Google Tech Talk featuring &lt;span class="caps"&gt;XML11&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;若你的 Java 程式是用 &lt;span class="caps"&gt;AWT &lt;/span&gt;或 Swing 寫的, 透過 &lt;span class="caps"&gt;XML11 &lt;/span&gt;編譯後就可以在 Browser 裡運作, 而且不須要 &lt;span class="caps"&gt;JRE &lt;/span&gt;或 Applet.&lt;/p&gt;    &lt;p&gt;現在或許還在開始階段, 若能吸引更多人的興趣及加入, 以 &lt;span class="caps"&gt;XML11 &lt;/span&gt;的方法加上 &lt;span class="caps"&gt;GWT&lt;/span&gt;, 或許以後的 Application(連 Windows 程式也算在內) 都可能搬到 Browser 裡!&lt;/p&gt;    &lt;p&gt;&lt;img src="http://www.xml11.org/pics/xml11-architecture.png" alt="" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115133420812412285?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115133420812412285/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115133420812412285' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115133420812412285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115133420812412285'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/xml11.html' title='值得關注的新技術 XML11'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115099353943169673</id><published>2006-06-23T00:24:00.000+08:00</published><updated>2006-06-23T00:25:39.443+08:00</updated><title type='text'>Javascript 終於可以不用等 onload 了!</title><content type='html'>&lt;p&gt;寫 Javascript 時, 大家常常看到我們會故意攔下 document 的 onlaod 事件來處理工作, 但 onload 會等將影像…資料由 browser 下載後才會被呼叫, 所以會感到頓頓的. 在一些人的努力下, 解決方案出來了.&lt;/p&gt;    &lt;p&gt;請參考 &lt;a tip="" href="http://www.cssbeauty.com/archives/2006/June/dom_ready_extension_for_prototype/"&gt;DOM Ready Extension for Prototype&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115099353943169673?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115099353943169673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115099353943169673' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115099353943169673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115099353943169673'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/javascript-onload.html' title='Javascript 終於可以不用等 onload 了!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115081111011678792</id><published>2006-06-20T21:44:00.000+08:00</published><updated>2006-06-21T00:07:30.813+08:00</updated><title type='text'>很棒的 Markaboo</title><content type='html'>&lt;img style="float: right;" src="http://markaboo.com/images/mb.png" alt="Markaboo" /&gt; &lt;a tip="" href="http://markaboo.com/"&gt;Markaboo&lt;/a&gt; 是類似 &lt;a tip="" href="http://86915.hostmyapplications.com/articles/2006/06/20/del.icio.us"&gt;del.icio.us&lt;/a&gt; 功能的 social bookmark 網站, 比較特別的是 : 它可是 &lt;a tip="" href="http://rubyforge.org/projects/markaboo"&gt;opensource project&lt;/a&gt; 及用 Ruby on Rails 開發出來的. 現在還沒放出原始檔, 但可用 subversion 瞧瞧原始碼! 未來拿來架設公司內部使用應該不錯, 可以當當我的最愛及小小筆記本使用!&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115081111011678792?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115081111011678792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115081111011678792' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115081111011678792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115081111011678792'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/markaboo.html' title='很棒的 Markaboo'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115052241256365422</id><published>2006-06-17T13:31:00.000+08:00</published><updated>2006-06-17T13:39:28.883+08:00</updated><title type='text'>將 del.icio.us 的 bookmarks 抓下來</title><content type='html'>&lt;p&gt;簡單的利用 open-uri 及 &lt;span class="caps"&gt;REXML &lt;/span&gt;讓我們把 &lt;a tip="" href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt; 的 bookmarks 抓下來吧, 用 Ruby 還真是方便.&lt;/p&gt;   參考資料  &lt;ul&gt;&lt;li&gt;&lt;a tip="" href="http://www.zenspider.com/dl/rubyconf2005/open-uri.pdf"&gt;open-uri, Easy-to-Use and Extensible Virtual File System&lt;/a&gt; PDF&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.bigbold.com/snippets/posts/show/290"&gt;del.icio.us backup&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;ol&gt;&lt;li&gt;Ruby 記得要用 1.8.4 版本, 1.8.2 open-uri 有個 bug 不能用&lt;/li&gt;&lt;li&gt;原始碼, 記得要換上你的帳號和密碼&lt;/li&gt;&lt;/ol&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;require 'open-uri'&lt;br /&gt;require 'rexml/document'&lt;br /&gt;&lt;br /&gt;class Bookmark&lt;br /&gt; attr :user, :password&lt;br /&gt; attr_accessor :bookmarks&lt;br /&gt;&lt;br /&gt; def initialize(user, password)&lt;br /&gt;   @user = user&lt;br /&gt;   @password = password&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def readit()&lt;br /&gt;   open("http://del.icio.us/api/posts/all",&lt;br /&gt;       "User-Agent" =&gt; "Ruby/#{RUBY_VERSION}",&lt;br /&gt;       :http_basic_authentication=&gt;[@user, @password]) do |f|&lt;br /&gt;     #puts f.read&lt;br /&gt;     d = REXML::Document.new(f.read)&lt;br /&gt;&lt;br /&gt;     #&lt;br /&gt;     @bookmarks = []&lt;br /&gt;     d.elements.each("*/post") do |e|&lt;br /&gt;       bookmark = {}&lt;br /&gt;       bookmark["href"] = e.attributes['href']&lt;br /&gt;       bookmark["description"] = e.attributes['description']&lt;br /&gt;       bookmark["tag"] = e.attributes['tag'].split(' ').map {|t| t}&lt;br /&gt;       bookmark["time"] = e.attributes['time']&lt;br /&gt;       bookmark["hash"] = e.attributes['hash']&lt;br /&gt;       @bookmarks &lt;&lt; bookmark&lt;br /&gt;     end&lt;br /&gt;   end&lt;br /&gt;  &lt;br /&gt;   @bookmarks&lt;br /&gt; end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;bk = Bookmark.new("user name", "password")&lt;br /&gt;bk.readit().each do |i|&lt;br /&gt; puts "#{i["href"]} #{i["tag"]}"&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115052241256365422?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115052241256365422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115052241256365422' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115052241256365422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115052241256365422'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/delicious-bookmarks.html' title='將 del.icio.us 的 bookmarks 抓下來'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115047225581807817</id><published>2006-06-16T23:32:00.000+08:00</published><updated>2006-06-16T23:37:35.830+08:00</updated><title type='text'>Google Map API</title><content type='html'>最近 &lt;a tip="API" href="http://www.google.com/apis/maps/"&gt;Google Map &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/a&gt; 推出 2.0 版, 最重要的新功能是加上 Geocoding 功能, 能用 “住址” 查出經緯度, 支援不少國家, 當然沒有台灣. Google Map 算是很重要的 API, 所以可以調整的項目很多, 最好的方法還是去 K 文件吧!&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://86915.hostmyapplications.com/articles/2006/06/16/google-map-api"&gt;DEMO 及原始碼&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115047225581807817?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115047225581807817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115047225581807817' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115047225581807817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115047225581807817'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/google-map-api.html' title='Google Map API'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115022184559297858</id><published>2006-06-14T02:01:00.000+08:00</published><updated>2006-06-16T09:01:29.126+08:00</updated><title type='text'>Google AJAX Search API</title><content type='html'>&lt;p&gt;&lt;a tip="" href="http://code.google.com/apis/ajaxsearch/"&gt;Google &lt;span class="caps"&gt;AJAX &lt;/span&gt;Search &lt;span class="caps"&gt;API&lt;/span&gt;&lt;/a&gt; 無聊試玩看看! 建議保留 300px 寬度, 文件寫的很詳細, 應該很好上手! “Local” 是用 Google Map 來找地址. 除此之外 Google 也提供很多選項和方法讓你可以調整 Google &lt;span class="caps"&gt;AJAX &lt;/span&gt;Search, 只要你肯 K 文件及稍具 Javascript 知識.&lt;br /&gt;&lt;/p&gt;&lt;a href="http://86915.hostmyapplications.com/articles/2006/06/13/google-ajax-search-api"&gt;DEMO&lt;/a&gt; (內有原始碼)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i68.photobucket.com/albums/i39/jengdarho/web/gs.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://i68.photobucket.com/albums/i39/jengdarho/web/gs.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115022184559297858?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115022184559297858/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115022184559297858' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115022184559297858'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115022184559297858'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/google-ajax-search-api.html' title='Google AJAX Search API'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i68.photobucket.com/albums/i39/jengdarho/web/th_gs.png' height='72' width='72'/><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115016743254283017</id><published>2006-06-13T10:55:00.000+08:00</published><updated>2006-06-13T16:46:13.743+08:00</updated><title type='text'>程式語言相關網站</title><content type='html'>&lt;p&gt;最近出現幾個新的程式語言相關網站, 當然 web 2.0 的概念一定要有, 當然其背後也是大有來頭…&lt;/p&gt;    &lt;ol&gt;&lt;li&gt;&lt;a tip="" href="http://www.infoq.com/"&gt;InfoQ&lt;/a&gt;  &lt;ul&gt;&lt;li&gt;內容深入, 不少跟 enterprise 有關的開發資料, ex: &lt;span class="caps"&gt;SOA&lt;/span&gt;&lt;/li&gt;&lt;li&gt;建立含蓋各大程式語言的社群&lt;/li&gt;&lt;li&gt;Floyd Marinescu 離開 &lt;a href="http://www.theserverside.com/" title="TSS"&gt;TheServerSide&lt;/a&gt;  的新事業&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.dzone.com/"&gt;dzone.com&lt;/a&gt;   &lt;ul&gt;&lt;li&gt;收集相關程式語言資訊, 可做 tagging 及提供 &lt;a tip="" href="http://www.digg.com/"&gt;digg&lt;/a&gt; 評比的功能&lt;/li&gt;&lt;li&gt;從 &lt;a tip="" href="http://www.javalobby.org/"&gt;Javalobby&lt;/a&gt; 出來&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115016743254283017?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115016743254283017/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115016743254283017' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115016743254283017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115016743254283017'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/blog-post.html' title='程式語言相關網站'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-115002269219078270</id><published>2006-06-11T18:42:00.000+08:00</published><updated>2006-06-11T18:50:17.546+08:00</updated><title type='text'>wikiCalc 有趣的 web-based spreadsheet</title><content type='html'>&lt;img style="float: right;" src="http://www.techcrunch.com/wp-content/socialtextwikicalclogo.gif" alt="wikiCalc" /&gt; &lt;a tip="" href="http://www.softwaregarden.com/wkcalpha/"&gt;wikiCalc&lt;/a&gt; 是 &lt;a tip="" href="http://danbricklin.com/log/"&gt;Dan Bricklin&lt;/a&gt; 的 web-based spreadsheet, Dan Bricklin 是有名的 VisiCalc 的作者(最早的試算表軟體), wikiCalc 則除了強調一般 spreadsheet 該有的功能外更重要是有 wiki 的社群一起編修精神, 才是她最大的突破.&lt;p&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;安裝  &lt;ul&gt;&lt;li&gt;下載後安裝, 及啟動 wikiCalc&lt;/li&gt;&lt;li&gt;拜訪 &lt;span class="caps"&gt;URL&lt;/span&gt;, http://127.0.0.1:6556&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;心得  &lt;ul&gt;&lt;li&gt;用 Perl 開發的, 真是佩服&lt;/li&gt;&lt;li&gt;Ajax 功能算是容易使用, 但操作起來或許不像 Excel 那麼直覺方便, 但對 wiki 的使用者應該還好&lt;/li&gt;&lt;li&gt;不知道怎麼做 copy/paste, undeo/redo&lt;/li&gt;&lt;li&gt;功能並不比 &lt;a tip="" href="http://86915.hostmyapplications.com/articles/2006/06/06/google-spreadsheets"&gt;Google Spreadsheets&lt;/a&gt; 少, 至少多了 “border” 的設定及更多的格式支援&lt;/li&gt;&lt;li&gt;希望可以輸入 &lt;span class="caps"&gt;XLS &lt;/span&gt;或 CSV 檔&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.socialtext.com/node/83"&gt;Demo 影片&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Screenshots &lt;img style="width: 394px; height: 199px;" src="http://i68.photobucket.com/albums/i39/jengdarho/web/wc1.png" alt="" /&gt; &lt;img style="width: 392px; height: 237px;" src="http://i68.photobucket.com/albums/i39/jengdarho/web/wc2.png" alt="" /&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p&gt;或許 wikiCalc 還算是很初期的產品, 但他很多方面展現其有趣及未來的潛力, 現在若能結合 Socialtext 公司的資源加快開發速度, 未來也是一大新應用!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-115002269219078270?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/115002269219078270/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=115002269219078270' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115002269219078270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/115002269219078270'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/wikicalc-web-based-spreadsheet.html' title='wikiCalc 有趣的 web-based spreadsheet'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i68.photobucket.com/albums/i39/jengdarho/web/th_wc1.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114990770693901550</id><published>2006-06-10T10:47:00.000+08:00</published><updated>2006-06-10T10:48:26.950+08:00</updated><title type='text'>最近加入 ruby/rails IDE 戰局的產品</title><content type='html'>最近又有新的產品加入 ruby/rails &lt;span class="caps"&gt;IDE &lt;/span&gt;陣營.    &lt;ol&gt;&lt;li&gt;Sapphire 公司的 &lt;a tip="" href="http://www.sapphiresteel.com/"&gt;Ruby In Steel&lt;/a&gt;, 需要 Visual Studio 2005 開發環境, 應該是 free, 可惜不是 opensource&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.projectrideme.com/"&gt;RIDE-ME&lt;/a&gt; 是一個 opensource 用 .net 2.0 開發的產品, 比起 &lt;a tip="" href="http://www.radrails.org/"&gt;RadRail&lt;/a&gt; 可以少去 eclipse 的問題&lt;/li&gt;&lt;/ol&gt;    &lt;p&gt;越來越多公司對 ruby/rails 有興趣投資, 總是好的開始!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114990770693901550?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114990770693901550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114990770693901550' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114990770693901550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114990770693901550'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/rubyrails-ide.html' title='最近加入 ruby/rails IDE 戰局的產品'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114964237291132730</id><published>2006-06-07T09:04:00.000+08:00</published><updated>2006-06-07T17:48:15.800+08:00</updated><title type='text'>Google Spreadsheets</title><content type='html'>&lt;img style="float: right;" src="https://www.google.com/accounts/wise/spreadsheets.gif" alt="Google Spreadsheets" /&gt; &lt;a tip="Google Spreadsheets" href="http://spreadsheet.google.com/"&gt;Google Spreadsheets&lt;/a&gt; 試算表的網路版開始試用了, 整個產品維持一貫 Google 產品水準, 雖然還在 Lab 階段, 但真的很好用, 功能更是不會少. 這下 Microsoft 應該開始要傷腦筋了…&lt;p&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;好用易上手功能更是不會少, Google 果然是 Ajax 高手, 這點並不容易做到&lt;/li&gt;&lt;li&gt;基本上在編輯時有 3 大功能:  &lt;ul&gt;&lt;li&gt;Format&lt;/li&gt;&lt;li&gt;Sort&lt;/li&gt;&lt;li&gt;Formulas&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p&gt;&lt;img src="http://i68.photobucket.com/albums/i39/jengdarho/gss1.png" alt="" /&gt;&lt;/p&gt;    &lt;ul&gt;&lt;li&gt;內建不少 “Formula”, 使用上雖然跟 Excel 比不太一樣但也很容易上手&lt;/li&gt;&lt;li&gt;網路的好處就是可多人編輯或和其他人分享, 這絕對是一大賣點&lt;/li&gt;&lt;li&gt;還可以和別人在現上討論完成你的 spread sheets.&lt;/li&gt;&lt;li&gt;可以讀入 xls, csv 及存成 xls 檔, 還不知道相容性如何, 據猜測應該不錯&lt;/li&gt;&lt;li&gt;還沒有統計圖表功能, 而且應該是無法做到套印功能, 可能還是要回 Excel 做列印&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;    &lt;p&gt;真的是不錯的產品, 這下 Office 2.0(web based office)應該是有機會! 趕快去試用吧!&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://i68.photobucket.com/albums/i39/jengdarho/gss2.png" alt="" /&gt; &lt;img src="http://i68.photobucket.com/albums/i39/jengdarho/gss3.png" alt="" /&gt; &lt;/p&gt;&lt;p&gt;&lt;img src="http://i68.photobucket.com/albums/i39/jengdarho/gss4.png" alt="" /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;img src="http://i68.photobucket.com/albums/i39/jengdarho/gss5.png" alt="" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114964237291132730?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114964237291132730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114964237291132730' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114964237291132730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114964237291132730'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/google-spreadsheets.html' title='Google Spreadsheets'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114960296888952401</id><published>2006-06-06T22:08:00.000+08:00</published><updated>2006-06-06T22:09:28.903+08:00</updated><title type='text'>Wridea - Free your mind</title><content type='html'>&lt;img style="float: right;" src="http://www.wridea.com/system/images/wridea_logo_top.gif" alt="wridea" width="69" /&gt; &lt;a tip="" href="http://www.wridea.com/"&gt;Wridea&lt;/a&gt; 又一個提供新功能的網站, 可以將你的想法記錄下來及分類. 蠻簡單易用, 可免費 signup 使用, 但功能實在有點太陽春了, 感覺 &lt;a tip="" href="http://86915.hostmyapplications.com/articles/2006/05/26/tracks-%E4%B8%80%E5%80%8B-rails-%E7%9A%84%E7%A8%8B%E5%BC%8F%E5%8F%AF%E8%BF%BD%E8%B9%A4%E5%B7%A5%E4%BD%9C%E5%AE%8C%E6%88%90%E9%80%B2%E5%BA%A6"&gt;Tracks&lt;/a&gt; 的提供的功能都還比它多!&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114960296888952401?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114960296888952401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114960296888952401' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114960296888952401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114960296888952401'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/wridea-free-your-mind.html' title='Wridea - Free your mind'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114956084647748639</id><published>2006-06-06T10:21:00.000+08:00</published><updated>2006-06-06T10:28:36.453+08:00</updated><title type='text'>meebo 將你的聊天軟體整合起來!</title><content type='html'>&lt;img style="float: right;" src="http://forum.meebo.com/templates/subSilver/images/logo.PNG" alt="meebo" /&gt; &lt;a tip="" href="http://www.meebo.com/"&gt;meebo&lt;/a&gt; 是很有趣的網站, 可以讓你的 &lt;span class="caps"&gt;MSN&lt;/span&gt;, Yahoo! Messenger, &lt;span class="caps"&gt;AIM&lt;/span&gt;/ICQ, GTalk/Jabber 多種聊天軟體帳號整合在一起, 如此一來, 你可以同時和多人且跨不同聊天軟體聊天, 然後也有聊天記錄的功能, 最重要的是它是 web based, 這下 &lt;span class="caps"&gt;MIS &lt;/span&gt;就不能擋你啦!&lt;p&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;先到 &lt;a tip="" href="http://www.meebo.com/"&gt;meebo&lt;/a&gt; 註冊帳號&lt;/li&gt;&lt;li&gt;登入後, 先設定聊天軟體帳號 &lt;img style="width: 358px; height: 214px;" src="http://i68.photobucket.com/albums/i39/jengdarho/mbo1.png" alt="" /&gt;&lt;/li&gt;&lt;li&gt;開始用吧…&lt;/li&gt;&lt;li&gt;群組聊天功能&lt;/li&gt;&lt;/ol&gt;    &lt;p&gt;&lt;img src="http://i68.photobucket.com/albums/i39/jengdarho/mbo2.png" alt="" /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114956084647748639?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114956084647748639/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114956084647748639' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114956084647748639'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114956084647748639'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/meebo.html' title='meebo 將你的聊天軟體整合起來!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114951657698997168</id><published>2006-06-05T22:08:00.000+08:00</published><updated>2006-06-05T22:47:30.523+08:00</updated><title type='text'>新一代網路購物車功能 - RightCart</title><content type='html'>&lt;img style="float: right;" src="http://rightcart.com/images/right_cart_logo_tiny.gif" alt="RightCart" /&gt;&lt;a tip="RightCart" href="http://rightcart.com/"&gt;RightCart&lt;/a&gt; 提供新的網路購物車的功能, 而且重點是很容易和你的網站做整合, 只要放上 3 行左右的程式即可. 賣家可以用 RightCart 提供的平臺做商品管理, 現在只支援 PayPal 及限用 email 方式付款, 希望他們未來能接受更多付款方式. 他們經營模式是抽 1% 的費用.&lt;p&gt;&lt;/p&gt;    &lt;p&gt;PS. 聽說是兩人用 Ruby on Rails 花 6 週時間開發出來!&lt;/p&gt;&lt;p&gt;&lt;a href="http://86915.hostmyapplications.com/"&gt;DEMO&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114951657698997168?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114951657698997168/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114951657698997168' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114951657698997168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114951657698997168'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/rightcart.html' title='新一代網路購物車功能 - RightCart'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114917260104230921</id><published>2006-06-01T22:35:00.000+08:00</published><updated>2006-06-01T22:37:07.086+08:00</updated><title type='text'>RMagick 的使用</title><content type='html'>&lt;a tip="" href="http://rmagick.rubyforge.org/"&gt;RMagick&lt;/a&gt; 是 ImageMagick® and GraphicsMagick 影像處理程式庫的 ruby 介面, 很方便使用, 功能也強, 讓我們試試看吧!  &lt;ul&gt;&lt;li&gt;安裝, 以 Windows 平台為例  &lt;ul&gt;&lt;li&gt;下載 &lt;a tip="" href="http://rubyforge.org/projects/rmagick"&gt;rmagick-win32&lt;/a&gt;, gem 版本&lt;/li&gt;&lt;li&gt;解壓縮及安裝&lt;pre&gt;&lt;code&gt;&gt; gem install RMagick-win32-1.x.x-mswin32.gem&lt;br /&gt;&gt; postinstall.rb&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;其他平台請參考 &lt;a tip="" href="http://rmagick.rubyforge.org/install-faq.html"&gt;FAQ&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;功能  &lt;ul&gt;&lt;li&gt;影像大小轉換, 裁剪, 合成, &lt;a tip="" href="http://rmagick.rubyforge.org/portfolio.html"&gt;Sample&lt;/a&gt; &lt;/li&gt;&lt;li&gt;影像特效, &lt;a tip="" href="http://rmagick.rubyforge.org/portfolio2.html"&gt;Sample&lt;/a&gt; &lt;/li&gt;&lt;li&gt;提供畫圖的功能, &lt;a tip="" href="http://rmagick.rubyforge.org/portfolio3.html"&gt;Sample&lt;/a&gt;&lt;/li&gt;&lt;li&gt;還有繪製向量圖功能, &lt;a tip="" href="http://www.simplesystems.org/RMagick/doc/rvgtut.html"&gt;Sample&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a tip="" href="http://www.simplesystems.org/RMagick/doc/index.html"&gt;完整手冊&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;縮圖程式&lt;pre&gt;&lt;code&gt;require 'RMagick'&lt;br /&gt;include Magick&lt;br /&gt;&lt;br /&gt;pic = ImageList.new("vd2.png")&lt;br /&gt;l = pic.columns &gt; pic.rows ? pic.columns : pic.rows&lt;br /&gt;f = 128.0/l;&lt;br /&gt;thumb = pic.thumbnail(f)&lt;br /&gt;thumb.write("vd2_tb.png")&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114917260104230921?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114917260104230921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114917260104230921' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114917260104230921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114917260104230921'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/06/rmagick.html' title='RMagick 的使用'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114906121465209980</id><published>2006-05-31T15:28:00.000+08:00</published><updated>2006-05-31T15:40:14.670+08:00</updated><title type='text'>YouTube, Google Video 影音檔下載</title><content type='html'>最近 YouTube, Google Video 等提供影音功能的網站越來越多, 部份網站是用 flash 技術解決播放問題, 那要如何下載呢? 請看下面詳細說明.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;用 &lt;a href="http://www.mozilla.com/"&gt;Firefox&lt;/a&gt;&lt;/li&gt;&lt;li&gt;安裝 &lt;a href="https://addons.mozilla.org/firefox/2390/"&gt;VideoDownloader&lt;/a&gt; 擴充套件, 這樣你就不用辛苦在網頁原始碼找你想要下載的影音檔資訊, 它會幫你分析網頁找出可下載資料.&lt;/li&gt;&lt;li&gt;在 "DOWNLOAD LINK" 圖案上按右鍵 "鍵結另存新檔", 下載後記得更改檔案附加名為 ".flv"&lt;/li&gt;&lt;li&gt;可以用 &lt;a href="http://www.videolan.org/"&gt;VLC&lt;/a&gt; 或 &lt;a href="http://www.martijndevisser.com/blog/article/flv-player-updated"&gt;FLV Player&lt;/a&gt;,  播放 flv 檔&lt;/li&gt;&lt;li&gt;轉檔 &lt;a href="http://www.erightsoft.com/SUPER.html"&gt;SUPER&lt;/a&gt;, &lt;a href="http://www.rivavx.com/index.php?encoder&amp;L=3"&gt;Riva FLV Encoder&lt;/a&gt; 或 &lt;a href="http://www.effectmatrix.com/total-video-converter/"&gt;Total Video Converter&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i68.photobucket.com/albums/i39/jengdarho/vd1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://i68.photobucket.com/albums/i39/jengdarho/vd1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i68.photobucket.com/albums/i39/jengdarho/vd2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://i68.photobucket.com/albums/i39/jengdarho/vd2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114906121465209980?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114906121465209980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114906121465209980' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114906121465209980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114906121465209980'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/youtube-google-video.html' title='YouTube, Google Video 影音檔下載'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114897183453718645</id><published>2006-05-30T14:42:00.000+08:00</published><updated>2006-05-30T14:55:12.450+08:00</updated><title type='text'>Spring IDE - eclipse 的 Spring 開發工具</title><content type='html'>最近的開發計畫, 逐步從 j2ee 轉到 spring 上面搭配 Tomcat. 加上 eclipse 的幫忙, 開發速度果然比以前好多了, 後來發現了 &lt;a href="http://www.springide.org"&gt;Spring IDE&lt;/a&gt; 的 eclipse plugin 忍不住試用了一下, 還真不錯!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;它還需要安裝一些額外的軟體, 通常我都會先裝 &lt;a href="http://www.eclipse.org/webtools/"&gt;Web Tools Platform&lt;/a&gt; 就順便裝好了&lt;/li&gt;&lt;li&gt;Sprign IDE 安裝&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Open eclipse. Go to Help -&gt; Software Updates -&gt; Find and Install...&lt;/li&gt;&lt;li&gt;Select "Search for new features to install". Click "Next".&lt;/li&gt;&lt;li&gt;Click "New Remote Site". Enter "Spring IDE updatesite" for the Name and "http://springide.org/updatesite/" for the URL. Click "OK".&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;使用&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Window/Show View/Other... 選擇 "Spring Beans", 你的 eclipse 下半部就會多一個 view&lt;/li&gt;&lt;li&gt;在 project 節點上, 按右鍵(context menu), "Add Spring Project Nature"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i68.photobucket.com/albums/i39/jengdarho/eclipse/side1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://i68.photobucket.com/albums/i39/jengdarho/eclipse/side1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;在 project 節點上, Mouse 按右鍵(context menu), "Properties", Select "Spring Beans" and 可以加入 spring configuration XML 檔案.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i68.photobucket.com/albums/i39/jengdarho/eclipse/side2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 415px; height: 238px;" src="http://i68.photobucket.com/albums/i39/jengdarho/eclipse/side2.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i68.photobucket.com/albums/i39/jengdarho/eclipse/side3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 337px; height: 139px;" src="http://i68.photobucket.com/albums/i39/jengdarho/eclipse/side3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114897183453718645?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114897183453718645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114897183453718645' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114897183453718645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114897183453718645'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/spring-ide-eclipse-spring.html' title='Spring IDE - eclipse 的 Spring 開發工具'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i68.photobucket.com/albums/i39/jengdarho/eclipse/th_side1.png' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114897128096313941</id><published>2006-05-30T14:39:00.000+08:00</published><updated>2006-05-30T14:41:20.976+08:00</updated><title type='text'>typo 若要放圖檔該怎麼辦?</title><content type='html'>typo 確實是個不錯的 blog 系統, 用了一段時間後發現不知道怎麼放圖檔上去? 才發覺它不支援上傳圖檔功能. 那該怎麼辦呢? 答案是: 利用現在很多的免費圖檔空間來解決這個難題.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.photobucket.com/"&gt;Photobucket&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://reg.imageshack.us"&gt;ImageShack&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://allyoucanupload.webshots.com/"&gt;WebShots&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;基本上使用這些圖檔空間供應商的方法就是只要你上傳圖檔後就會產生一個 url 給你, 之後你就可以用 &lt;code&gt;&lt;/code&gt;&lt;img&gt;來 "link" 到你的圖檔就可以了! 現在是用 Photobucket, 還不錯!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114897128096313941?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114897128096313941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114897128096313941' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114897128096313941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114897128096313941'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/typo.html' title='typo 若要放圖檔該怎麼辦?'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114864993600627900</id><published>2006-05-26T21:21:00.000+08:00</published><updated>2006-05-27T09:52:10.616+08:00</updated><title type='text'>Tracks - rails 的應用程式ㄝ可以追蹤工作完成情況</title><content type='html'>&lt;a href="http://www.rousette.org.uk/projects/"&gt;Tracks&lt;/a&gt; is a web-based application to help you implement David Allen’s Getting Things Done™ methodology.&lt;br /&gt;&lt;br /&gt;Tracks 是用 rails 完成的應用軟體, 可追蹤工作進度, 雖然它是 web based 軟體, 你也可以把它當成 desktop 軟體來用, 只要起動 WEBrick 就可以了, 畫面看起來也很棒!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.rousette.org.uk/projects/files/tracks-1.041.zip"&gt;下載&lt;/a&gt;及解壓縮&lt;/li&gt;&lt;li&gt;安裝及使用&lt;/li&gt;&lt;ul&gt;&lt;li&gt;設定資料庫, 在 MySQL 新增一個 database/schema 叫 "tracks"&lt;/li&gt;&lt;li&gt;更改 $TRACKS/config/environment.rb.tmpl 成 environment.rb 檔案&lt;/li&gt;&lt;li&gt;更改 $TRACKS/config/database.yml.tmpl 成 database.yml 檔案, 內容如下:&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;pre&gt;&lt;code&gt;development:&lt;br /&gt;adapter: mysql&lt;br /&gt;database: tracks&lt;br /&gt;host: localhost&lt;br /&gt;username: root&lt;br /&gt;password: pw&lt;br /&gt;encoding: UTF8&lt;br /&gt;&lt;br /&gt;test:&lt;br /&gt;adapter: mysql&lt;br /&gt;database: tracks&lt;br /&gt;host: localhost&lt;br /&gt;username: root&lt;br /&gt;password: pw&lt;br /&gt;encoding: UTF8&lt;br /&gt;&lt;br /&gt;production:&lt;br /&gt;adapter: mysql&lt;br /&gt;database: tracks&lt;br /&gt;host: localhost&lt;br /&gt;username: root&lt;br /&gt;password: pw&lt;br /&gt;encoding: UTF8&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;建立資料庫內容&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;pre&gt;&lt;code&gt;$ cd $TRACKS&lt;br /&gt;$ rake migrate&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;啟動&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;pre&gt;&lt;code&gt;$ cd $TRACKS&lt;br /&gt;$ ruby script/server -e production&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;第一次先注冊 http://localhost:3000/signup, 然後 http://localhost:3000/ 就開始用吧, 畫面還真不錯!&lt;/li&gt;&lt;li&gt;&lt;a href="http://86924.hostmyapplications.com/tracks/"&gt;DEMO&lt;/a&gt;, login: demo, passwd: demo123&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114864993600627900?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114864993600627900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114864993600627900' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114864993600627900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114864993600627900'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/tracks-rails.html' title='Tracks - rails 的應用程式ㄝ可以追蹤工作完成情況'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114840113750655822</id><published>2006-05-24T00:15:00.000+08:00</published><updated>2006-05-24T08:43:40.473+08:00</updated><title type='text'>eclipse 中如何和資料庫打交道? QuantumDB</title><content type='html'>&lt;a href="http://quantum.sourceforge.net"&gt;QuantumDB&lt;/a&gt; 是 &lt;a href="http://www.eclipse.org"&gt;eclipse&lt;/a&gt; 的一個 plugin, 利用 JDBC 可以處理資料庫的工作!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://sourceforge.net/project/showfiles.php?group_id=7746&amp;amp;package_id=57047"&gt;下載&lt;/a&gt;, 解壓縮, 安裝到 eclipse 目錄&lt;/li&gt;&lt;li&gt;記得它要先安裝 Graphical Editing Framework(GEF), 通常我都會先裝 &lt;a href="http://www.eclipse.org/webtools/"&gt;Web Tools Platform&lt;/a&gt; 就順便裝好了&lt;/li&gt;&lt;li&gt;執行 eclipse, Window/Open Perspective/Other... 選 Quantum DB&lt;/li&gt;&lt;li&gt;安裝 JDBC driver, 以 MySQL 為例&lt;/li&gt;&lt;ul&gt;&lt;li&gt;下載 &lt;a href="http://dev.mysql.com/downloads/connector/j/3.1.html"&gt;MySQL Connector/J 3.1&lt;/a&gt; 解開到 c:\Program Files\MySQL&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;新增一個 Bookmark&lt;/li&gt;&lt;ul&gt;&lt;li&gt;"Add External Jar..." 選 "mysql-connector-java-3.1.12-bin.jar"&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Class name: 按 "Browse" 選 "com.mysql.jdbc.Driver"&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;填好資料, 應該就可以用了&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;雖然開發 rails web 程式不見得需要 IDE 工具, 但商業軟體開發公司還是建議採用某一個 IDE 工具, 畢竟工程師來來去去, 若能最短時間上手最重要. 我覺的 eclipse 應該是不錯的選擇, 花點時間學習及習慣就好了!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114840113750655822?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114840113750655822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114840113750655822' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114840113750655822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114840113750655822'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/eclipse-quantumdb.html' title='eclipse 中如何和資料庫打交道? QuantumDB'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114839484648580736</id><published>2006-05-23T22:31:00.000+08:00</published><updated>2006-05-24T00:19:20.276+08:00</updated><title type='text'>PHPeclipse 開發 PHP 程式的好幫手</title><content type='html'>&lt;a href="http://www.phpeclipse.de"&gt;PHPeclipse&lt;/a&gt; 是 &lt;a href="http://www.eclipse.org"&gt;eclipse&lt;/a&gt; 上開發 PHP 程式語言的 IDE 環境, 也可以幫你 debug PHP 程式!&lt;br /&gt;&lt;ul&gt;&lt;li&gt; &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=57621"&gt;下載新版&lt;/a&gt;, 解開後放到你的 eclipse 目錄&lt;/li&gt;&lt;li&gt;執行 eclipse, Window/Open Perspective/Others... 選 PHP&lt;/li&gt;&lt;li&gt;設定一下 Window/Preferences.../PHPeclipse Web Developement&lt;/li&gt;&lt;li&gt;在 eclipse 開發時 "Alt" + "/" 可以叫出 context help 功能, 方便使用, 若你有裝 &lt;a href="http://www.eclipse.org/webtools/"&gt;Web Tools Platform&lt;/a&gt; 那處理 html, javascript, css 及 xml 檔案就更方便了(有點大就是了, 開發 java web 程式必用)&lt;/li&gt;&lt;li&gt;如何 debug? 請參考此篇 &lt;a href="http://www.plog4u.org/index.php/Using_PHPEclipse_:_Installation_:_Installing_the_DBG_Debugger"&gt;Installing the DBG Debugger&lt;/a&gt;, 麻煩一點, 照著說明設定, 即可!&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114839484648580736?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114839484648580736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114839484648580736' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114839484648580736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114839484648580736'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/phpeclipse-php.html' title='PHPeclipse 開發 PHP 程式的好幫手'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114834952228463357</id><published>2006-05-23T09:51:00.000+08:00</published><updated>2006-05-23T10:30:15.626+08:00</updated><title type='text'>Apache 上用 erb(rhtml)</title><content type='html'>網站內容若屬於靜態網頁, 實在不需要用到 rails 強大的功能, 你可以試試用 erb(rhtml) 的方法. 設定簡單又有 php 般的彈性.&lt;br /&gt;原理是利用 apache 的 &lt;span style="font-weight: bold;"&gt;mod_cgi&lt;/span&gt; 及 &lt;span style="font-weight: bold;"&gt;mod_action&lt;/span&gt; 將 rhtml 檔案送到一個 cgi 做處理, 由那個 cgi 呼叫 erb 來做翻譯工作產生網頁.&lt;br /&gt;&lt;br /&gt;我們以 HostMySite.com 為例子, 解釋一下設定及運作原理!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;apache 要打開 mod_cgi 及 mod_action 模組功能, HostMySite.com 預設都有打開, 直接可以用&lt;/li&gt;&lt;li&gt;&lt;code&gt;~/cgi-bin&lt;/code&gt; 下, 新增 erb.cgi 檔案, 利用 erb 處理 rhtml 檔案,  內容: &lt;a href="http://86924.hostmyapplications.com/erb_cgi.txt"&gt;erb.cgi.txt&lt;/a&gt;&lt;/li&gt;&lt;li&gt;記得要確定檔案權限&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;&lt;code&gt;$ chmod 755 ~/cgi-bin/erb.cgi&lt;/code&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;&lt;code&gt;~/htdocs&lt;/code&gt;, 新增 .htaccess 檔案, 告訴 apache 如何處理 rhtml 檔案&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;&lt;code&gt;Options ExecCGI FollowSymLinks&lt;br /&gt;AddHandler rubypage .rhtml&lt;br /&gt;Action rubypage /cgi-bin/erb.cgi&lt;br /&gt;DirectoryIndex index.rhtml index.php index.html index.html.var&lt;/code&gt;&lt;span style="font-family:Georgia,serif;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;可以開始寫 rhtml 檔了, 例如 &lt;code&gt;~/htdocs/index.rhtml, &lt;/code&gt;&lt;a href="http://86924.hostmyapplications.com/index_rhtml.txt"&gt;index.rhtml.txt&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;a href="http://86924.hostmyapplications.com/"&gt;demo&lt;/a&gt;&lt;/li&gt;&lt;li&gt;參考&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.brainbag.net/blog/articles/2005/12/22/using-erb-rhtml-templates-on-dreamhost"&gt;Using ERB/rhtml Templates On Dreamhost&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://dekstop.de/weblog/2006/01/rhtml_on_osx_with_apache_and_erb"&gt;Serving .rhtml Files on OS X With Apache and ERB&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ruby.oss.tw/html/modules/newbb/viewtopic.php?topic_id=133&amp;forum=4&amp;amp;post_id=379"&gt;用 Apache 直接使用 erb&lt;/a&gt; - contagion&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114834952228463357?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114834952228463357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114834952228463357' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114834952228463357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114834952228463357'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/apache-erbrhtml.html' title='Apache 上用 erb(rhtml)'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114753089785263514</id><published>2006-05-13T22:30:00.000+08:00</published><updated>2006-05-15T00:04:29.330+08:00</updated><title type='text'>open-uri 搭配 REXML, 輕輕鬆鬆完成 RSS reader</title><content type='html'>善用 &lt;a href="http://www.ruby-doc.org/stdlib/libdoc/open-uri/rdoc/"&gt;open-uri&lt;/a&gt; 可以方便將資料從網路上下載, 加上配合 &lt;a href="http://www.germane-software.com/software/rexml/"&gt;REXML&lt;/a&gt; 我們可以寫個簡單的 RSS reader!&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;open-uri 讓你下載網路資料, 可以像 File 一般操作, 以及支援 metadata, ex. context-type, charset...&lt;/li&gt;&lt;li&gt;REXML 是 XML parser&lt;/li&gt;&lt;li&gt;程式如下:&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;require 'open-uri'&lt;br /&gt;require 'rexml/document'&lt;br /&gt;&lt;br /&gt;class Rss&lt;br /&gt;attr_accessor :channel, :items&lt;br /&gt;&lt;br /&gt;def initialize&lt;br /&gt;  @channel = @channel || {}&lt;br /&gt;  @items = []&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;def readit(url)&lt;br /&gt;  open(url) do |f|&lt;br /&gt;    #puts "#{f.content_type} #{f.charset}"&lt;br /&gt;  &lt;br /&gt;    #puts f.read&lt;br /&gt;    d = REXML::Document.new(f.read)&lt;br /&gt;  &lt;br /&gt;    #&lt;br /&gt;    d.elements.each("*/channel") do |e|&lt;br /&gt;      @channel["title"] = e.elements["title"].text&lt;br /&gt;      @channel["description"] = e.elements["description"].text&lt;br /&gt;    end&lt;br /&gt;  &lt;br /&gt;    #&lt;br /&gt;    d.elements.each("*/item") do |e|&lt;br /&gt;      item = {}&lt;br /&gt;      item["title"] = e.elements["title"].text&lt;br /&gt;      item["link"] = e.elements["link"].text&lt;br /&gt;      @items &amp;lt;&amp;lt; item&lt;br /&gt;    end&lt;br /&gt;  end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;rss = Rss.new&lt;br /&gt;rss.readit('http://www.mozilla.org/news.rdf')&lt;br /&gt;puts rss.channel.inspect&lt;br /&gt;rss.items.each do |i|&lt;br /&gt;puts i.inspect&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114753089785263514?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114753089785263514/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114753089785263514' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114753089785263514'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114753089785263514'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/open-uri-rexml-rss-reader.html' title='open-uri 搭配 REXML, 輕輕鬆鬆完成 RSS reader'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114744609562429347</id><published>2006-05-12T22:57:00.000+08:00</published><updated>2006-05-13T10:21:33.490+08:00</updated><title type='text'>Google Trends, 預測未來趨勢的另一方法!</title><content type='html'>&lt;img style="float: right;" src="http://www.google.com/trends/images/logo_sm.gif" alt="" /&gt;Google 最近開始回頭專注他的原始本業 : 搜尋, 利用其龐大的資料庫開始提供更多的運用, 最近推出的 &lt;a href="http://www.google.com/trends"&gt;Google Trends&lt;/a&gt; 就是最好的例子.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;先看看 "java j2ee" 的熱門程度&lt;br /&gt;&lt;a href="http://www.google.com/trends?q=java+j2ee"&gt;http://www.google.com/trends?q=java+j2ee&lt;/a&gt;&lt;/li&gt;&lt;li&gt;看看當紅的 "ruby rails"&lt;br /&gt;&lt;a href="http://www.google.com/trends?q=ruby+rails"&gt;http://www.google.com/trends?q=ruby+rails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;免不了比看看 "java j2ee, ruby rails"&lt;br /&gt;&lt;a href="http://www.google.com/trends?q=java+j2ee%2C+ruby+rails"&gt;http://www.google.com/trends?q=java+j2ee%2C+ruby+rails&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;使用起來夠簡單吧, 用 "," 來分隔比較的關鍵字. 也就是善用 Google 龐大的資料庫來做趨勢圖表分析, 其準確度應該不會低吧!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114744609562429347?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114744609562429347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114744609562429347' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114744609562429347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114744609562429347'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/google-trends.html' title='Google Trends, 預測未來趨勢的另一方法!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114740114643503980</id><published>2006-05-12T10:32:00.000+08:00</published><updated>2006-05-12T18:22:40.866+08:00</updated><title type='text'>Google Notebook 快來了!</title><content type='html'>&lt;img style="float: right;" src="http://www.techcrunch.com/wp-content/googlenotebooklogo.gif" alt="" /&gt;&lt;br /&gt;這可不是 Google 要推出新型筆記型電腦, 而是一項新的服務. 這邊有流出的&lt;a href="http://www.flickr.com/photos/ericajoy/tags/notebook/"&gt;畫面&lt;/a&gt;, 或你可以參考這篇文章 &lt;a href="http://www.techcrunch.com/2006/05/11/google-notebook-screen-shots/"&gt;Google Notebook Screen Shots&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;他的功能大致就是讓你可以在 Google 搜尋後, 可以對一些網頁(ex. 網址...) 作 metadata, 分類的筆記功能. 聽起來像不像 &lt;a href="http://del.icio.us"&gt;del.icio.us&lt;/a&gt;, 下周若開放這個服務, 應該會受注意及歡迎!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114740114643503980?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114740114643503980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114740114643503980' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114740114643503980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114740114643503980'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/google-notebook.html' title='Google Notebook 快來了!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114735352595777577</id><published>2006-05-11T21:12:00.000+08:00</published><updated>2006-05-11T21:23:42.336+08:00</updated><title type='text'>免費的 Rails 主機及 typo 安裝</title><content type='html'>大家可以到 &lt;a href="http://www.hostmysite.com"&gt;HostMySite&lt;/a&gt; 申請免費的主機, 申請網址是 &lt;a href="http://hostmysite.com/rails/"&gt;Free Ruby on Rails Beta Trial&lt;/a&gt;, 大約 10 分鐘就可以收到 mail, 可以測試一下你的 Rails 應用程式. 可以用 ftp 上傳及用 ssh 連到主機, 容量還不錯, 只有網站名字不好, 反正是免錢!&lt;br /&gt;&lt;br /&gt;接下來會介紹一下 &lt;a href="http://www.typosphere.org/"&gt;typo&lt;/a&gt; 的安裝, typo 這一版並不能跑, 因為它搭配的 Rails 好像有問題, 請看下面安裝說明好了!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;下載 &lt;a href="http://www.typosphere.org/tarballs/typo-2.6.0_with-rails.tgz"&gt;typo stable&lt;/a&gt; 版本&lt;br /&gt;&lt;/li&gt;&lt;li&gt;資料庫設定...&lt;/li&gt;&lt;ul&gt;&lt;li&gt;先登入 &lt;a href="https://controlpanel.hostmysite.com"&gt;HostMySite 控制台&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;"MySQL Database" 新增資料庫, 記住帳號和密碼&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;然後執行 phpMyAdmin, 選擇 Database, 按 "SQL" 圖案, 執行  typo/db/schema.mysql.sql SQL script, 建立資料表&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;上傳 typo-2.6.0_with-rails.tgz(FTP), 利用  ssh(putty) 連到主機&lt;br /&gt;&lt;pre&gt;&lt;code&gt;$ tar -xzf typo-2.6.0_with-rails.tgz&lt;br /&gt;$ mv typo-2.6.0_with-rails typo&lt;br /&gt;$ cd typo&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;設定 typo 和資料庫, 修改 config/database.yml 內容如下&lt;br /&gt;&lt;pre&gt;&lt;code&gt;login: &amp;login&lt;br /&gt;adapter: mysql&lt;br /&gt;host: merriam.safesecureweb.com&lt;br /&gt;username: ruby1727&lt;br /&gt;password: pass&lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;其實下載的 typo 版本有問題, 是不會動的 typo 版本, 請重新抓 Rails 1.0 版本&lt;br /&gt;&lt;pre&gt;&lt;code&gt;$ rm -rf vendor/rails&lt;br /&gt;$ svn export http://dev.rubyonrails.org/svn/rails/tags/rel_1-0-0 vendor/rails&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;換 Apache 上場, 調整一下 htdocs 就好了!&lt;br /&gt;&lt;pre&gt;&lt;code&gt;$ cd ~; mv htdocs htdocs-&lt;br /&gt;$ ln -s ~/typo/public ~/htdocs&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;驗證 &lt;a href="http://86915.hostmyapplications.com/"&gt;http://86915.hostmyapplications.com/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;PS. 若不行啟動, 檢查一下 typo/public/dispatch* 檔案屬性, 是否為 -rwxr-xr-w, 你可以用 chmod 755 dispatch* 指令更改.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114735352595777577?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114735352595777577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114735352595777577' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114735352595777577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114735352595777577'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/rails-typo.html' title='免費的 Rails 主機及 typo 安裝'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114717174485549619</id><published>2006-05-09T18:45:00.000+08:00</published><updated>2006-05-09T19:29:33.643+08:00</updated><title type='text'>Rails CHM API 文件</title><content type='html'>若你寫程式習慣用 CHM 查 API 的話, 這邊有整理好的 &lt;a href="http://delynnberry.com/pages/rails-chm-documentation"&gt;Rails CHM API&lt;/a&gt; 文件可下載, 至於為甚麼要用 CHM 格式呢? 因為它的全文檢索太方便了!, 從 Windows 就開始用了, 到 Java 還是不能沒有它, 現在 Rails API 也有 CHM 格式!&lt;br /&gt;&lt;br /&gt;大陸網友製作的好像因語系不同有點問題, 要不然就是全文檢索功能怪怪, 還是建議下載英文版.&lt;br /&gt;&lt;br /&gt;下載 &lt;a href="http://delynnberry.com/files/rails-documentation-1-1-2.chm"&gt;Rails 1.1.2 CHM&lt;/a&gt;&lt;br /&gt;你可以參考一下 &lt;a href="http://wiki.rubyonrails.com/rails/pages/HowToGenerateChmForRails"&gt;HowToGenerateChmForRails&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114717174485549619?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114717174485549619/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114717174485549619' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114717174485549619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114717174485549619'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/rails-chm-api.html' title='Rails CHM API 文件'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114692720419157523</id><published>2006-05-06T22:52:00.000+08:00</published><updated>2006-05-08T10:54:30.453+08:00</updated><title type='text'>Ruby 和資料庫 - Ruby/DBI or Rails/ActiveRecord</title><content type='html'>Ruby 可輕易和資料庫連結及存取資料, 用來做 off-line 資料庫分析或統計時很好用又開發快速. 比起之前用 java 寫這些程式方便許多. 這篇是以 PostgreSQL 為例子, 換成 MySQL 應該也差不多用法.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Ruby/DBI&lt;br /&gt;跟 Perl/DBI 一樣, 提供可用於任何資料庫的程式介面, 再經由DBD(databse driver) 與資料庫溝通&lt;br /&gt;&lt;ul&gt;&lt;li&gt;DBI(database interface)&lt;/li&gt;&lt;li&gt;DBD(database driver), 跟資料庫相關的程式, 支援多種資料庫, ex: DBD::ADO, DBD::DB2, DBD::Frontbase, DBD::InterBase, DBD::mSQL, DBD::MySQL, DBD::ODBC, DBD::Oracle, DBD::OCI8, DBD::Pg, DBD::Proxy, DBD::SQLite, DBD::SQLRelay&lt;br /&gt;&lt;/li&gt;&lt;li&gt;安裝&lt;/li&gt;&lt;ul&gt;&lt;li&gt;下載 &lt;a href="http://rubyforge.org/projects/ruby-dbi/"&gt;dbi-0.1.0.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;解壓縮&lt;/li&gt;&lt;li&gt;安裝, 以 PostgreSQL 為例&lt;br /&gt;&lt;pre&gt;$ cd ~/dbi-0.1.0&lt;br /&gt;$ ruby setup.rb config --with=dbi,dbd_pg&lt;br /&gt;$ ruby setup.rb setup&lt;br /&gt;$ ruby setup.rb install&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;使用&lt;br /&gt;&lt;pre&gt;require 'dbi'&lt;br /&gt;&lt;br /&gt;# Same example, but a little more Ruby-ish&lt;br /&gt;DBI.connect('DBI:Pg:we', 'postgresql', 'ssdbqazse') do |dbh|&lt;br /&gt; dbh.select_all('SELECT COUNT(*) FROM "vParty"') do |row|&lt;br /&gt;   puts row&lt;br /&gt; end&lt;br /&gt;end&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;參考 &lt;a href="http://ruby-dbi.rubyforge.org/"&gt;Ruby/DBI&lt;/a&gt;, &lt;a href="http://www.kitebird.com/articles/ruby-dbi.html"&gt;Using the Ruby DBI Module&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Rails 的 ActiveRecord&lt;/li&gt;&lt;ul&gt;&lt;li&gt;安裝 Rails(因為要用 ActiveRecord)&lt;br /&gt;&lt;pre&gt;$ gem install rails --include-dependencies&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;安裝 Ruby for PostgreSQL(MySQL 不用)&lt;br /&gt;&lt;pre&gt;$ gem install postgres-pr&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;使用&lt;br /&gt;&lt;pre&gt;require "rubygems"&lt;br /&gt;require_gem "activerecord"&lt;br /&gt;&lt;br /&gt;#db connection&lt;br /&gt;ActiveRecord::Base.establish_connection(&lt;br /&gt; :adapter =&gt; "postgresql",&lt;br /&gt; :database =&gt; "we",&lt;br /&gt; :username =&gt; "postgresql",&lt;br /&gt; :password =&gt; "ssdbqazse",&lt;br /&gt; :encoding =&gt; "UTF8")&lt;br /&gt;&lt;br /&gt;#ActiveRecord...&lt;br /&gt;class Party &lt; ActiveRecord::Base  &lt;br /&gt; set_table_name "\"Party\""&lt;br /&gt;end  &lt;br /&gt;&lt;br /&gt;p = Party.find(:first)&lt;br /&gt;puts p.inspect&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114692720419157523?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114692720419157523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114692720419157523' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114692720419157523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114692720419157523'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/ruby-rubydbi-or-railsactiverecord.html' title='Ruby 和資料庫 - Ruby/DBI or Rails/ActiveRecord'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114676769223773004</id><published>2006-05-05T02:27:00.000+08:00</published><updated>2006-05-05T16:16:12.076+08:00</updated><title type='text'>Rails 和 PostgreSQL</title><content type='html'>大部分網站的資料庫都採用 MySQL, 但不少商業公司卻喜歡採用 &lt;a href="http://www.postgresql.org/"&gt;PostgreSQL&lt;/a&gt;, 原因是它功能比較完整及速度也不錯. 我們之前的 J2EE project 就是採用 PostgreSQL, 運作上都沒甚麼問題. 他的工具程式 &lt;a href="http://www.pgadmin.org/"&gt;PgAdmin&lt;/a&gt; 也比 MySQL 工具程式好太多了.&lt;br /&gt;&lt;br /&gt;所以想用 ActiveRecord 來玩玩我們的 J2EE project 的資料庫, 開始動手吧!&lt;br /&gt;For what? Fun and Happiness!&lt;br /&gt;&lt;ul&gt;&lt;li&gt;PostgreSQL 安裝&lt;/li&gt;&lt;ul&gt;&lt;li&gt;建議下載 &lt;a href="http://www.postgresql.org/ftp/binary/v8.1.3/"&gt;8.1&lt;/a&gt; 版本&lt;br /&gt;Windows 下安裝程式會幫你新增一位使用者, 建議不要使用 random 密碼. encoding 選擇 "UTF8", 記住密碼, 其他預設就好了!&lt;/li&gt;&lt;li&gt;安裝完成後, 執行 PgAdmin 測試一下有沒有問題.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Rails 設定&lt;/li&gt;&lt;ul&gt;&lt;li&gt;安裝 PostgreSQL driver&lt;br /&gt;&lt;pre&gt;$ gem install postgres-pr&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;修改一下 config/database.yaml&lt;br /&gt;&lt;pre&gt;development:&lt;br /&gt;  adapter: postgresql&lt;br /&gt;  database: we&lt;br /&gt;  username: postgres&lt;br /&gt;  password: yourpassword&lt;br /&gt;  encoding: UTF8&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;測試資料庫連結是否正確?&lt;br /&gt;&lt;pre&gt;D:\workspace\mywe&gt;ruby script/console&lt;br /&gt;&gt;&gt;Loading development environment.&lt;br /&gt;&gt;&gt;ActiveRecord::Base.connection&lt;br /&gt;&gt;&gt;...&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;使用&lt;br /&gt;因為我們的資料庫原本就存在, 所以 Rails 的 convensions 完全不適用, 所以你就要了解一下 ActiveRecord, 如何讓它可以運作(其實就是打開 api 文件查一查資料, 我喜歡 &lt;a href="http://delynnberry.com/pages/rails-chm-documentation"&gt;CHM&lt;/a&gt; 版本)&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;直接下 SQL 指令&lt;br /&gt;&lt;pre&gt;D:\workspace\mywe&gt;ruby script/console&lt;br /&gt;&gt;&gt;Loading development environment.&lt;br /&gt;&gt;&gt;ActiveRecord::Base.find_by_sql "SELECT p.* FROM \"Party\" p"&lt;br /&gt;&gt;&gt;...&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;Model &amp;amp; Table&lt;br /&gt;&lt;pre&gt;D:\workspace\mywe&gt;ruby script/console&lt;br /&gt;&gt;&gt;Loading development environment.&lt;br /&gt;&gt;&gt;&lt;br /&gt;&gt;&gt;class Party &lt; ActiveRecord::Base&lt;br /&gt;&gt;&gt;  set_table_name "\"Party\""&lt;br /&gt;&gt;&gt;end&lt;br /&gt;&gt;&gt;p = Party.find(:first)&lt;br /&gt;&gt;&gt;...&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;其它好玩的留給大伙自己試!&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;這樣我就可以直接下 SQL 除錯, 比起以前 java 還要 compile 快很多, 還真是爽快!!!&lt;br /&gt;PS. 因為 PostgreSQL 的 Table 名字只能小寫, 而我們 Table 確是小大寫, 所以才會出現 "\"Party\"". 以後資料庫還是都用小寫比較沒問題.&lt;br /&gt;&lt;br /&gt;更多設定問題請參考 &lt;a href="http://wiki.rubyonrails.com/rails/pages/PostgreSQL"&gt;Riding Rail - PostgreSQL&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114676769223773004?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114676769223773004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114676769223773004' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114676769223773004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114676769223773004'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/rails-postgresql.html' title='Rails 和 PostgreSQL'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114662379115072947</id><published>2006-05-03T10:32:00.000+08:00</published><updated>2006-05-09T18:52:56.706+08:00</updated><title type='text'>fluxiom 新一代網路硬碟試玩!</title><content type='html'>&lt;a href="http://www.fluxiom.com"&gt;fluxiom&lt;/a&gt; 可看做是新網路硬碟進化版, 現在的一般網路硬碟大都停留在 Windows 98 檔案管理員水準, fluxiom 可說是將它提升到 Windows XP 水準.&lt;br /&gt;&lt;br /&gt;fluxiom 可以看的懂大部份的影像檔及 PDF 檔, 也可以讀 EXIF 資料, 也有縮圖, tagging 及搜索功能. 以後也應該可以支援更多檔案格式. 操作上很容易也很好用, 大量的運用 AJAX 技術在其中, 算是很酷的網站! 有些功能真是好奇它如何做到? 它的開發平臺是 Ruby on Rails.&lt;br /&gt;&lt;br /&gt;缺點就是蠻貴的! 用信用卡申請, 可以有一個月試用期, &lt;span style="font-weight: bold;"&gt;不用時千萬&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;要&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;記得取消帳號&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/2089/2315/1600/fluxiom.0.png"&gt;&lt;img style="cursor: pointer; width: 382px; height: 239px;" src="http://photos1.blogger.com/blogger/2089/2315/320/fluxiom.0.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114662379115072947?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114662379115072947/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114662379115072947' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114662379115072947'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114662379115072947'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/fluxiom.html' title='fluxiom 新一代網路硬碟試玩!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114658420123425666</id><published>2006-05-02T23:34:00.000+08:00</published><updated>2006-05-04T00:20:12.896+08:00</updated><title type='text'>Skobee, Renkoo, 將你的社交生活搬上網路!</title><content type='html'>生活週遭還有哪些可以搬到網路上呢? 你的社交活動都花在 emails 或 MSN 上嗎? 現在你多了一種選擇, 透過 &lt;a href="http://www.skobee.com"&gt;Skobee&lt;/a&gt; 及 &lt;a href="http://renkoo.com"&gt;Renkoo&lt;/a&gt; 提供的服務讓我們在網路上搞小團體吧!&lt;br /&gt;&lt;br /&gt;基本上可以擬定你的計畫, ex. 吃大餐, 然後邀請朋友參加, 大家可以討論時間及地點之類的事情. 你也可以決定你的計畫是公開行程或只允許朋友參加. 加上網友的共同參與, 你有很多地點可以選擇或參考其他網友分享的地點資料, 當然他們也會結合地圖服務讓你一清二楚要去哪裡. 更酷的是他們都有加上自然語言的處理能力, 當然只支援英文!&lt;br /&gt;&lt;br /&gt;這些網站 AJAX 都用的很兇, 操作起來確實比以前直覺許多, Skobee 用的是 prototype+scriptaculous, Renkoo 則是用 dojo 技術. 加上混搭的運用, 未來應該會慢慢和一些會議中心, 餐廳結合更密切也可以做行銷活動, 甚至可以幫這些 "地點" 預知來客人數及熱門程度, 未來應該還有十足的發展潛力!!!&lt;br /&gt;&lt;br /&gt;Skobee 在多人討論上採用的是和 blog 一樣的 comment 方法, Renkoo 還在 beta 測試階段, 但申請大概一天就下來了. 在多人討論上用的是 chatting 方法, 採取稱為 "COMET" 的新技術, 相對於 AJAX 是 client 端有事件發生送回 server 處理然後傳回資料, "COMET" 是 server 端 push 資料回去給 client端的技術(改天再談 "COMET")&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114658420123425666?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114658420123425666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114658420123425666' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114658420123425666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114658420123425666'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/05/skobee-renkoo.html' title='Skobee, Renkoo, 將你的社交生活搬上網路!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114621465645974442</id><published>2006-04-28T16:43:00.000+08:00</published><updated>2006-04-28T23:47:28.016+08:00</updated><title type='text'>跟桌面說拜拜, 跟網路說聲 Hi</title><content type='html'>越來越多的公司投入網路桌面這塊市場, 大部份都有用到 AJAX 技術.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/ig/"&gt;Google Personal Homepage&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Microsoft &lt;a href="http://www.live.com"&gt;Windows Live&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.netvibes.com/"&gt;Netvibes&lt;/a&gt; 這個很不錯&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.goowy.com"&gt;goowy&lt;/a&gt; 比較特別是用 flash 技術&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.pageflakes.com"&gt;Pageflakes&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.protopage.com"&gt;Protopage&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.eskobo.com/default.aspx"&gt;eskobo&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;現在這些公司開始加入一些應用程式在產品上, 以後應該也會開放其 APIs 讓大家來寫程式才對. 配合混搭程式的熱潮, 有些創意的程式也許會出現. 有沒有像 Microsoft 發跡及成功的做法, 未來的 WEB OS 應該慢慢有點樣子!&lt;br /&gt;&lt;br /&gt;若以後檔案也在網路上(Google Drive project...), 桌面也跑到網路, 我們用的 Widnows/Mac OS 會不會小一點?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114621465645974442?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114621465645974442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114621465645974442' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114621465645974442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114621465645974442'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/hi.html' title='跟桌面說拜拜, 跟網路說聲 Hi'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114610433646142245</id><published>2006-04-27T10:09:00.000+08:00</published><updated>2006-04-27T14:13:41.796+08:00</updated><title type='text'>我的 AJAX 為甚麼常常不會動?</title><content type='html'>開始寫 AJAX 程式的人常常都會說為甚麼我的程式都不會動? 其實原因都出在你很少寫 JavaScript, 造成你的程式有錯誤在裡面. 其實現在寫 AJAX 程式常做的就是 debug, debug, debug, 當然 DOM 也是很煩人的設計. 若你開發的 Rails 有用到 AJAX 出問題時下面的方法對你也很有幫助.&lt;br /&gt;&lt;br /&gt;那我們就來教一步一步大家如何解決這個問題:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;選個好的 JavaScript library, ex: &lt;a href="http://prototype.conio.net/"&gt;prototype&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;開發時一定先用 FireFox 開發安裝 擴充套件 : &lt;a href="https://addons.mozilla.org/addon.php?id=216"&gt;JavaScript Debugger&lt;/a&gt;&lt;/li&gt;&lt;ol&gt;&lt;li&gt; 常用的 JavaScript 除錯工具&lt;br /&gt;&lt;/li&gt;&lt;li&gt;安裝 擴充套件 : &lt;a href="https://addons.mozilla.org/addon.php?id=1843"&gt;FireBug&lt;br /&gt;&lt;/a&gt;這是另外一個超好用的工具, 可以看 DOM/CSS, 及 AJAX 傳遞的參數...&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Debug 步驟&lt;/li&gt;&lt;/ol&gt;&lt;ul&gt;&lt;ul&gt;&lt;li&gt;打開網頁&lt;br /&gt;&lt;/li&gt;&lt;li&gt;執行 "工具"/"JavaScript 主控台"&lt;br /&gt;若出現錯誤, 會給你檔案及行號, 先改吧...&lt;/li&gt;&lt;li&gt;執行 "工具"/"JavaScript Debugger"&lt;br /&gt;進入 debug 了, 可以設中斷點, step by step 追蹤及觀察變數值. 雖然不是很好用, 但你用 Microsft 會更頭痛&lt;/li&gt;&lt;li&gt;善用 FireBug 來幫助你看 AJAX 傳遞參數, 及收到資料後的處裡對不對, 及你對 DOM 的處理是否正確&lt;/li&gt;&lt;li&gt;Ok.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;切換到 Internet Exploer&lt;/li&gt;&lt;ol&gt;&lt;li&gt;安裝 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=2f465be0-94fd-4569-b3c4-dffdf19ccd99&amp;displaylang=en"&gt;Microsoft Script Debugger&lt;/a&gt;&lt;br /&gt;Microsoft 的 JavaScript 除錯工具, 我也不是很會用, 只用來幫我找問題, 超鳥的. 步驟及方法跟上面一樣, Internet Explorer 碰到 JavaScript 錯誤時會讓你叫起除錯工具就是了&lt;/li&gt;&lt;li&gt;安裝 &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E59C3964-672D-4511-BB3E-2D5E1DB91038&amp;amp;displaylang=en"&gt;Internet Explorer Developer Toolbar&lt;/a&gt;&lt;br /&gt;一個 IE 的 toolbar plugin, 可以讓你看 DOM/css 工具, 這個還蠻好用的, 可以幫你查看 網頁 layout 及 CSS 的問題&lt;/li&gt;&lt;/ol&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114610433646142245?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114610433646142245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114610433646142245' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114610433646142245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114610433646142245'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/ajax.html' title='我的 AJAX 為甚麼常常不會動?'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114602074959333808</id><published>2006-04-26T10:46:00.000+08:00</published><updated>2006-04-26T12:07:56.010+08:00</updated><title type='text'>ProgrammableWeb 專門介紹混搭程式的地方</title><content type='html'>或許大家覺的混搭程式, 不三不四, 沒甚麼了不起, 但是許多很好的應用也慢慢被開發出來. 有些應用還真是想巧妙到不行. 例如: 將 FedEx 的貨物追蹤, 加上 google calendar 在和 google map 的整合功能後真是貼心的設計, 不要小看它未來的潛力.&lt;br /&gt;&lt;br /&gt;其實 Microsoft 已經喊了很久的 web service 但確不很成功. 但這一波 web 2.0 風潮, 加上現在的 web 慢慢開放他們的 api, 還有 Rich Client(browser + AJAX) 的技術的進步, 以 iTune 為例子, 雖然它是 client 端程式但它卻也有上網能力, 這塊很有可能是未來 client 端程式的發展方向. 你想看看以前做夢也不可能在你的程式加上 map 功能, 現在確做到了.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.programmableweb.com/"&gt;ProgrammableWeb&lt;/a&gt; 這邊提供不少這類混搭資訊.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114602074959333808?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114602074959333808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114602074959333808' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114602074959333808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114602074959333808'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/programmableweb.html' title='ProgrammableWeb 專門介紹混搭程式的地方'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114601820019662502</id><published>2006-04-26T10:18:00.000+08:00</published><updated>2006-04-26T12:57:13.110+08:00</updated><title type='text'>AmigoFish :: 大家開始 digg podcast 內容吧!</title><content type='html'>&lt;a href="http://amigofish.com"&gt;AmigoFish&lt;/a&gt; 是將 digg 的網友社群推薦方法套用在 podcast(audio/video) 內容上,&lt;span style="color: rgb(255, 102, 0);"&gt; 重要的是, 它是用 Ruby on Rails 開發的!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114601820019662502?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114601820019662502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114601820019662502' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114601820019662502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114601820019662502'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/amigofish-digg-podcast.html' title='AmigoFish :: 大家開始 digg podcast 內容吧!'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114593142000236536</id><published>2006-04-25T10:15:00.000+08:00</published><updated>2006-04-26T13:44:10.430+08:00</updated><title type='text'>Ning.com 到底是做甚麼?</title><content type='html'>&lt;a href="http://www.ning.com"&gt;Ning.com&lt;/a&gt; 到底是做甚麼? 答案是: 它希望它甚麼都能作!&lt;br /&gt;&lt;span style="color: rgb(255, 102, 0);"&gt;Ning create and share your own social web apps!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ning 希望能提供創造屬於你的 web app, 然後還能大伙分享. 寫 web app 怎麼可能? 那是 programmer 才做的來! 所以它們提供許多預建好的 web app, 然後你可以挑你想要的然後 "Clone App" 再來作調整.&lt;br /&gt;&lt;br /&gt;Ning 試圖讓 web app 和其 contents 能區分出來, web app 開發者讓 Ning 來管理你的 contents, 藉由 apps, users, content types, tags 來達到社群共享. 所以它也可以算是讓你 "混搭" 程式的地方. 現在它們還提供不少 web apps, 會 PHP 或一般 programmer 應該很容易上手, 大家就去注冊玩看看!&lt;br /&gt;&lt;br /&gt;請看 &lt;a href="http://www.techcrunch.com/2005/10/04/ning-launches/"&gt;TechCrunch: Ning launches!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;這邊就可以看出混搭, dynamic scripting language 和 AJAX 未來合作的力量, 要是用 ruby 就更好了!!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114593142000236536?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114593142000236536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114593142000236536' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114593142000236536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114593142000236536'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/ningcom.html' title='Ning.com 到底是做甚麼?'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114587369553586810</id><published>2006-04-24T17:19:00.000+08:00</published><updated>2006-04-24T21:01:04.990+08:00</updated><title type='text'>digg, technorati, feedburner 當紅的 web 2.0 應用</title><content type='html'>&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.digg.com/"&gt;digg&lt;/a&gt; 可發佈任何消息加上使用者評分機制, 讓他們現在超熱門, 創造出來的網路流量也很大, 對非英語系國家較不友善因為網友看不懂, 這是比較麻煩的地方&lt;/li&gt;&lt;li&gt;&lt;a href="http://technorati.com/"&gt;technorati&lt;/a&gt; 專注在 blog 相關消息發佈及強大的收尋功能, 它的功能還滿多的 Favorites, Watchlist, Bookmark..., 也是當紅炸子雞&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.feedburner.com"&gt;feedburner&lt;/a&gt;  專攻  RSS  方面, 藉由訂閱機制可以得知受歡迎程度&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.livelocker.com/"&gt;livelocker&lt;/a&gt; 將 social bookmark 加入評分機制&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;這些特色就是經由網友們發佈消息或資料, 因為資料集中在網站上, 然後由社群來參與 tagging, 評分, 建議等工作. 所以網站是最好的收集資料的平臺, 如何利用這些資料就是 web  廠商及社群創意可發揮的地方.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114587369553586810?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114587369553586810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114587369553586810' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114587369553586810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114587369553586810'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/digg-technorati-feedburner-web-20.html' title='digg, technorati, feedburner 當紅的 web 2.0 應用'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114575743974638389</id><published>2006-04-23T09:46:00.000+08:00</published><updated>2006-04-27T17:50:07.766+08:00</updated><title type='text'>來看看熱門的 social bookmark 網站</title><content type='html'>&lt;a href="http://del.icio.us/"&gt;del.icio.us&lt;/a&gt; 是最老牌的 bookmark 網站, 將 "我的最愛" 放到 web, 然後用 tag 來做分類, 加上網友的參與, 現在已經是很成功的社群了, 併入 yahoo.&lt;br /&gt;&lt;a href="http://www.furl.net/"&gt;furl&lt;/a&gt; 和 del.icio.us 一樣也很受歡迎, 功能比較多一點, 使用上比 del.icio.us 好用一點&lt;br /&gt;&lt;a href="http://www.jots.com"&gt;jots&lt;/a&gt; 跟 del.icio.us 差不多&lt;br /&gt;&lt;br /&gt;最近開始出現把 del.icio.us 的概念推廣到更廣的層面上, 反正資料在 web 集中起來, 加上透過社群參與力量, 就有越來越多的創意在上面.&lt;br /&gt;&lt;a href="http://www.diigo.com/"&gt;diigo&lt;/a&gt; 號稱它們給 del.icio.us 加上大腦(還未公開試用)&lt;br /&gt;&lt;a href="http://www.kaboodle.com"&gt;koboodle&lt;/a&gt; 簡單又方便讓你可以收集及分享網路資訊&lt;br /&gt;&lt;a href="http://www.stylehive.com/"&gt;stylehive&lt;/a&gt; 較專注於 "網購" 上&lt;br /&gt;&lt;a href="http://www.plum.com/"&gt;plum&lt;/a&gt; 和上面都差不多, 但有提供像 iTune 這樣的桌面端程式&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114575743974638389?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114575743974638389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114575743974638389' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114575743974638389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114575743974638389'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/social-bookmark.html' title='來看看熱門的 social bookmark 網站'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114567447668969863</id><published>2006-04-22T10:49:00.000+08:00</published><updated>2006-06-09T23:29:10.266+08:00</updated><title type='text'>"Getting Real" 到底想要告訴我們甚麼?</title><content type='html'>&lt;a tip="" href="https://gettingreal.37signals.com/"&gt;Getting Real&lt;/a&gt; 是 37signals 最近出版的一本電子書, 內容探討開發 web application 的方法及經營策略. 蠻顛覆一般傳統軟體工程所學的. 聽說已經賣了 6000 多本, 大家當做求取新知看看吧!&lt;p&gt;&lt;/p&gt;    &lt;p&gt;大致把書上 Table of Content 放上來, 相信看完後你們會有一些新想法!&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;起跑線  &lt;ul&gt;&lt;li&gt;Build Less(少功能, 少人開發, 少廣告…), 了解你的問題? 自己投資&lt;/li&gt;&lt;li&gt;要在時間及預算內完成, 些許的彈性(減少你的功能)&lt;/li&gt;&lt;li&gt;找個敵人給自己. 不要把它當雜務事&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;保持苗條  &lt;ul&gt;&lt;li&gt;越是苗條越容易改變, 不要混亂. 降低你的變動成本&lt;/li&gt;&lt;li&gt;只要 3 個員工就可開始(RD, designer, sweeper)&lt;/li&gt;&lt;li&gt;要能接受限制, 你的計畫就不會失控, 還有就是樂於當你自己&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Priorities  &lt;ul&gt;&lt;li&gt;What’s the Big Idea, 忽略細節吧&lt;/li&gt;&lt;li&gt;It’s a Problem When It’s a Problem&lt;/li&gt;&lt;li&gt;Hire the Right Customers, 慢慢擴充, 做個堅持己見的計畫&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Feature Selection  &lt;ul&gt;&lt;li&gt;一半就夠了, 但要好的那一半&lt;/li&gt;&lt;li&gt;開始說 “No”, 你處理的來嗎?, 讓使用者自己想解決方案, 忘記 Feature Requests 吧!&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Process  &lt;ul&gt;&lt;li&gt;開始寫程式及 demo 結果, 反覆的修正更改, 開始把想法寫出來, 不要有 “設定/Preference” 功能, &lt;/li&gt;&lt;li&gt;“完成啦”, 直接進入網路世界測試&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;組織運作  &lt;ul&gt;&lt;li&gt;Unity, 要有單獨(不被打擾)的時間&lt;/li&gt;&lt;li&gt;開會絕對是毒蘋果, 慶祝你計畫上可能的小小勝利&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;員工  &lt;ul&gt;&lt;li&gt;僱用少一點人或晚一點開始雇人&lt;/li&gt;&lt;li&gt;做事而不是高談, 不要掩飾你的熱情&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;使用者介面設計  &lt;ul&gt;&lt;li&gt;一切從使用者介面開始, 從中心畫面開始往外&lt;/li&gt;&lt;li&gt;要考慮正常使用, 新增時空白及錯誤時的畫面, 要有一致性&lt;/li&gt;&lt;li&gt;使用者介面才是你的著作權&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;寫程式  &lt;ul&gt;&lt;li&gt;用少少的軟體(可以依賴 opensouce), 快樂至上, 讓程式自己說話, &lt;/li&gt;&lt;li&gt;你寫的程式可能是負債, 要小心謹慎&lt;/li&gt;&lt;li&gt;讓資料可以透過 &lt;span class="caps"&gt;RSS&lt;/span&gt;, API 和世界連結&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Words  &lt;ul&gt;&lt;li&gt;沒有 Functional Spec&lt;/li&gt;&lt;li&gt;不要寫常常過期又沒用的文件, &lt;/li&gt;&lt;li&gt;Tell Me a Quick Story, 給你的計畫命個名&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Pricing and Signup  &lt;ul&gt;&lt;li&gt;免費使用, 使用者容易加入及取消&lt;/li&gt;&lt;li&gt;Silly Rabbit, Tricks are for Kids&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Promotion  &lt;ul&gt;&lt;li&gt;Hollywood Launch, 建立一個網站能介紹你的產品&lt;/li&gt;&lt;li&gt;利用 Blog 的力量, 早早提供一些消息吸引大眾, 追蹤你程式內 log&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Support  &lt;ul&gt;&lt;li&gt;讓開發人員感受 Support 的痛苦, 免訓練即可用(也不用 manual, 只要有 online help &amp;amp; &lt;span class="caps"&gt;FAQ&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;快速回答問題, 不用害怕跟客戶說 “No” &lt;/li&gt;&lt;li&gt;善用 Forum&lt;/li&gt;&lt;/ul&gt;  &lt;/li&gt;&lt;li&gt;Post-Launch  &lt;ul&gt;&lt;li&gt;每月可以調整一下程式, Keep the Posts Coming, 讓程式更好而不是 Beta&lt;/li&gt;&lt;li&gt;所有 Bugs 要分輕重緩急, Ride Out the Storm, Keep Up With the Joneses, Beware the Bloat Monster, Go With the Flow&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;      &lt;p&gt;軟 體/網站人員應該對這些新看法覺得蠻有趣的, 看到專案市場常常有人在抱怨, 但有一些人已經開始採取另外的作法. 不像現在軟體公司養那麼多人, 都快要進入恐龍級了, 為了獲利只得外包到人工便宜的地方, 不然就是壟斷那塊市場, 或許他們是因為網路公司的背景, 讓他們有如此不同的看法吧! 這些理念及經營手法多少可以從 37signals 及一些新興的 web 2.0 網站看出來&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114567447668969863?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114567447668969863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114567447668969863' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114567447668969863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114567447668969863'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/getting-real.html' title='&quot;Getting Real&quot; 到底想要告訴我們甚麼?'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114558890053970122</id><published>2006-04-21T10:57:00.000+08:00</published><updated>2006-04-26T18:17:26.600+08:00</updated><title type='text'>使用 FeedBurner 讓你的 RSS 大放光明</title><content type='html'>&lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt; 提供一個新的 service 可以將網站 RSS 內容介紹給大家, 也提供方便的介面讓別人可以輕鬆的將你提供的 RSS 加到眾多 web-based  RSS readers 上, 更重要的是它提供統計的功能, 讓你可以了解你的 RSS 有多熱門及使用狀況.&lt;br /&gt;&lt;br /&gt;觀察一下使用現況, 它幾乎主宰這塊市場的應用, 且還有不少新的 service 持續推出來.&lt;br /&gt;&lt;br /&gt;上手篇&lt;br /&gt;&lt;ol&gt;&lt;li&gt;先到 &lt;a href="http://www.feedburner.com"&gt;FeedBurner&lt;/a&gt; 上註冊帳號, 點選上面 "&lt;span style="color: rgb(255, 102, 0);"&gt;Register&lt;/span&gt;" 功能.&lt;/li&gt;&lt;li&gt;用你的帳號登入, 進入 "&lt;span style="color: rgb(255, 102, 0);"&gt;My Feeds&lt;/span&gt;", 然後就可以新增你的 RSS. 它提供的管理介面真的很優秀, 功能齊全, 又方便使用.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;和你的網頁整合&lt;/li&gt;&lt;ul&gt;&lt;li&gt;進入你的新增的 RSS 後, 打開 "&lt;span style="color: rgb(255, 102, 0);"&gt;Publicize&lt;/span&gt;" 的內容.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;找到 "&lt;span style="color: rgb(255, 102, 0);"&gt;friendly graphic&lt;/span&gt;" 進去, 你可以選擇整合方法, 選完後把下面的 html 放到網頁上就大功告成.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114558890053970122?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114558890053970122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114558890053970122' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114558890053970122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114558890053970122'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/feedburner-rss.html' title='使用 FeedBurner 讓你的 RSS 大放光明'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114552051696471829</id><published>2006-04-20T15:46:00.000+08:00</published><updated>2006-05-12T23:57:16.520+08:00</updated><title type='text'>到底 web 2.0 是甚麼?</title><content type='html'>最近 web 2.0 喊的越來越大聲, 也越來越多人對它越來越有興趣 ! 比較讓人接受的解釋是 web 2.0 = intelligent web, 那以前的網站就沒有 intelligent 嗎? 你要是親身體驗過這些網站的後, 你可能會&lt;br /&gt;回答, YES!&lt;br /&gt;&lt;br /&gt;先列出一些網站比較專注追蹤這個話題給大家參考, 這些話題在國外都已經被討論過了, 你可能要翻一下以前的文章以獲得更多資訊:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://www.techcrunch.com/"&gt;Techcrunch&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.solutionwatch.com/"&gt;Solution Watch&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.planetweb20.com/"&gt;Planet Web 2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://radar.oreilly.com/"&gt;O'Reilly Radar&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.web2list.com"&gt;Web 2.0 List&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;先從 mail 講起, gmail, hotmail, yahoo mail 已經走上這條路, IM 有當紅的 &lt;a href="http://www.meebo.com/"&gt;meebo&lt;/a&gt;, Google Map 的強大功能, 讓人印像深刻(&lt;a href="http://www.techcrunch.com/2006/04/17/comparing-the-mapping-services/"&gt;比較&lt;/a&gt;), 更不用說眾多的 RSS Readers 也移到 web 上來了(&lt;a href="http://www.techcrunch.com/2006/03/30/the-state-of-online-feed-readers/"&gt;比較&lt;/a&gt;). 還有 &lt;a href="http://www.digg.com/"&gt;digg&lt;/a&gt;, &lt;a href="http://www.livelocker.com/"&gt;livelocker&lt;/a&gt; 這類讓大家可以一起參與的新聞網站, 更是熱門到不行.&lt;br /&gt;&lt;br /&gt;圖片及影像功能, 從 &lt;a href="http://www.flickr.com/"&gt;flickr&lt;/a&gt; 以分享為主的網站到最近的 &lt;a href="http://www.fluxiom.com/"&gt;fluxiom&lt;/a&gt; 連 iPhoto 相片管理功能都出現了.&lt;br /&gt;&lt;br /&gt;在 Office 系列, 競爭就更為激烈&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Word: Wiki(&lt;a href="http://www.wetpaint.com/"&gt;Wetpaint&lt;/a&gt;, &lt;a href="http://www.jotlive.com/"&gt;JotSpot&lt;/a&gt;, &lt;a href="http://pbwiki.com/"&gt;pbwiki&lt;/a&gt;), Blog, &lt;a href="http://www.writely.com"&gt;Writely&lt;/a&gt;...&lt;/li&gt;&lt;li&gt;Excel: &lt;a href="http://numbler.com/"&gt;Number&lt;/a&gt;, &lt;a href="http://www.irows.com/"&gt;iRows&lt;/a&gt;, &lt;a href="http://www.zohosheet.com"&gt;Zoho Sheet&lt;/a&gt;, &lt;a href="http://www.editgrid.com"&gt;EditGrid&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Powerpoint: &lt;a href="http://www.thumbstacks.com/"&gt;Thumbstacks&lt;/a&gt;, &lt;a href="http://www.teamslide.com"&gt;teamslide&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Outlook: &lt;a href="http://www.google.com/calendar/"&gt;Google Calendar&lt;/a&gt;,  &lt;a href="http://www.zimbra.com/"&gt;Zimbra&lt;/a&gt; 及眾多 web mails&lt;/li&gt;&lt;li&gt;Database:  &lt;a href="http://www.dabbledb.com/"&gt;Dabble DB&lt;/a&gt;&lt;/li&gt;&lt;li&gt;ForntPage: &lt;a href="http://pages.google.com/"&gt;Google Pages&lt;/a&gt;, &lt;a href="http://www.sitekreator.com"&gt;SiteKreator&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;請參考下面專門討論 Ofiice 2.0 專題的討論&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://itredux.com/blog/office-20/my-office-20-setup/"&gt;打造你自己的 Office 2.0&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://itredux.com/office-20/database/"&gt;Office 2.0 一覽&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;漏了 video 嗎? 從 &lt;a href="http://www.youtube.com/"&gt;YouTube&lt;/a&gt; 的當紅, 有 video 編輯功能的網站也悄悄準備推出中.&lt;br /&gt;&lt;br /&gt;今年應該是 web 2.0 振翅起飛元年, 新的世界正向我們到來!!!&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114552051696471829?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114552051696471829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114552051696471829' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114552051696471829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114552051696471829'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/web-20.html' title='到底 web 2.0 是甚麼?'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114535080926047488</id><published>2006-04-18T16:51:00.000+08:00</published><updated>2006-04-21T00:42:46.460+08:00</updated><title type='text'>討論 Ruby on Rails 的 Blogs</title><content type='html'>&lt;h3&gt;整理一下比較專門討論 RoR 的 blogs, 希望對大家有幫助!&lt;br /&gt;&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://habtm.com/" target="Bwindow"&gt;~:caboose&lt;/a&gt; Rails hackers&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://david.goodlad.ca:8830/" target="Bwindow"&gt;Tampering with Technology&lt;/a&gt; David Goodlad's&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.relevancellc.com/blogs" target="Bwindow"&gt;Relevance&lt;/a&gt; Justin Gehtland, 蠻多 AJAX 討論&lt;/li&gt;&lt;li&gt;&lt;a href="http://nubyonrails.topfunky.com/articles" target="Bwindow"&gt;Nuby on Rails&lt;/a&gt; Geoffrey Grosenbach&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.realityforge.org/" target="Bwindow"&gt;RealityForge.org&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://railsexpress.de/blog/" target="Bwindow"&gt;RailsExpress.blog&lt;/a&gt; Dr. Stefan Kaes, Rails performance 比較&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.onrails.org/"&gt;OnRails.org&lt;/a&gt; Daniel Wanja&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.railtie.net/" target="Bwindow"&gt;6 short of a dozen&lt;/a&gt; Bob Silva&lt;/li&gt;&lt;li&gt;&lt;a href="http://brainspl.at/" target="Bwindow"&gt;Brainspl.at&lt;/a&gt; Ezra "ezmobius" Zygmuntowicz, 搞個 Rubuntu&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;還有遺珠之憾的話記的跟我說!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114535080926047488?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114535080926047488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114535080926047488' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114535080926047488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114535080926047488'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/ruby-on-rails-blogs.html' title='討論 Ruby on Rails 的 Blogs'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114533674485189821</id><published>2006-04-18T13:04:00.000+08:00</published><updated>2006-04-18T14:35:17.363+08:00</updated><title type='text'>Ruby on Rails 對 Java Web Framework 的影響</title><content type='html'>老 Java 人都知道從 J2EE 推出來大家真是對它又恨又愛, Spec&lt;br /&gt;很好但就是難上手難寫又難維護, 這時 opensource 適時伸出援手,&lt;br /&gt;經過幾年的發展 Struts, Spring 及 Hibernate, POJO, JDO 應該是&lt;br /&gt;大家都會參考或用在開發專案上了!&lt;br /&gt;&lt;br /&gt;但最近卻殺出個程咬金 Ruby on Rails(或其它宣稱相同精神的 web&lt;br /&gt;framework) 出來後, 又把 Java 這一塊搞的熱鬧滾滾. 一樣是有一派&lt;br /&gt;人是反正該會的都會, 開發上也沒問題何必採納新平台, 另一派又開&lt;br /&gt;始了許多的新 project, 希望達到 Ruby on Rails 宣稱的精神.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://grails.org/" target="_blank"&gt;Grails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="https://trails.dev.java.net/" target="_blank"&gt;Trails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://waffle.sourceforge.net/" target="_blank"&gt;Waffle&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href="http://rifers.org/" target="_blank"&gt;RIFE&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://trac.opensails.org/" target="_blank"&gt;Sails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wicket.sourceforge.net/" target="_blank"&gt;Wicket&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt; 其實 Ruby 語言天生的某些特性, 確實讓 Ruby on Rails 不容易實作&lt;br /&gt;和它一模一樣, 但往簡單的目標走應該也是對的, 在商業市場上也沒&lt;br /&gt;人願意花那麼多錢那麼多時間給程式員寫程式了.&lt;br /&gt;&lt;br /&gt;後有 ajax 程式要寫, 又有一推新玩意冒出頭, 真是煩燥!&lt;br /&gt;&lt;br /&gt;這邊有一篇大老對自己 java web framework 的看法&lt;br /&gt;&lt;a href="http://www.virtuas.com/articles/webframework-sweetspots.html" target="_blank"&gt;Java Web Framework Sweet Spots&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114533674485189821?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114533674485189821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114533674485189821' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114533674485189821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114533674485189821'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/04/ruby-on-rails-java-web-framework.html' title='Ruby on Rails 對 Java Web Framework 的影響'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114224372809972388</id><published>2006-03-13T17:39:00.000+08:00</published><updated>2006-03-13T18:15:53.983+08:00</updated><title type='text'>AJAX and JSON</title><content type='html'>我們玩 AJAX 有一段很久的時間了,  對於  AJAX 的   "X"(XML)  實在是很受不了,  不同的  browser 間有一些不同結果要處理, 加上 XML 對 programmer 實在是很難搞, 最後  javascript  很不漂亮!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.json.org"&gt;JSON&lt;/a&gt;(JavaScript Object Notation) 的出現就是救星了, 以前 programmer 總是喜歡用 XML 來做很多設定或資料交換工具, 但 XML 真的是對人類易讀, 對 programmer 就很難控制它. 開發 j2ee web app 這麼久, 真的是很討厭它, 好像只是證明你寫程式很有功力而已, 那些資料用用 array, map...不就夠了嗎!&lt;br /&gt;&lt;br /&gt;請參考 &lt;a href="http://jengdarho.googlepages.com/ajax%2Cjsonandjson-rpc"&gt;AJAX, JSON and JSON-RPC&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114224372809972388?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114224372809972388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114224372809972388' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114224372809972388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114224372809972388'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/03/ajax-and-json.html' title='AJAX and JSON'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114122147525616379</id><published>2006-03-01T21:42:00.000+08:00</published><updated>2006-03-01T23:41:18.966+08:00</updated><title type='text'>Rails, Apache, SCGI on Windows</title><content type='html'>&lt;div&gt;SCGI(Simple Common Gateway  Interface) 搭配 SCGI Rails Runner(SRR) 和 Apache 一起運作, 試過以後真的是只能用飛快形容, 但它的設定複雜一點, 還有些地方不是很完整, 但很看好這個方法, 比起 FastCGI 好多了!&lt;br /&gt;&lt;ol&gt;&lt;li&gt;參考 &lt;a href="http://www.zedshaw.com/projects/scgi_rails/"&gt;Ruby on Rails Using SCGI&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;下載 &lt;a href="http://www.zedshaw.com/downloads/scgi_rails/apache2-mod_scgi-1.7a-win32.zip"&gt;apache2-mod_scgi-1.7a-win32.zip&lt;/a&gt; module&lt;br /&gt;解壓縮後將 mod_scgi.so 放到 APACHE/modules 下&lt;span style=";font-family:Times New Roman;font-size:85%;"  &gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;下載 &lt;a href="http://www.zedshaw.com/downloads/scgi_rails/scgi_rails-0.4.3.gem"&gt;scgi_rails&lt;/a&gt; 後解壓縮, 利用 gem 安裝&lt;br /&gt;&lt;pre&gt;&gt; gem install cmdparse&lt;br /&gt;&gt; gem install highline&lt;br /&gt;&gt; gem scgi_rails-0.4.3.gem&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;設定 Apache, httpd.conf, 採用 virtual host 方法&lt;/li&gt;&lt;ul&gt;&lt;li&gt;起用 mod_scgi&lt;pre&gt;LoadModule scgi_module modules/mod_scgi.so&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;加入 Rails App virtual host&lt;br /&gt;&lt;pre&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;ServerName mywww&lt;br /&gt;DocumentRoot d:/my_app/public/&lt;br /&gt;SCGIMount / 127.0.0.1:9999&lt;br /&gt;&lt;br /&gt;&amp;lt;LocationMatch \..+$&amp;gt;&lt;br /&gt;# don't handle those with SCGI&lt;br /&gt;SCGIHandler Off&lt;br /&gt;&amp;lt;/LocationMatch&amp;gt;&lt;br /&gt;&amp;lt;Directory d:/my_app/public/&amp;gt;&lt;br /&gt;Options ExecCGI FollowSymLinks&lt;br /&gt;AllowOverride all&lt;br /&gt;Allow from all&lt;br /&gt;Order allow,deny&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;設定 Rails App, d:\my_app&lt;/li&gt;&lt;ul&gt;&lt;li&gt;.htaccess 請改成&lt;br /&gt;#RewriteBase /myapp&lt;br /&gt;&lt;br /&gt;#RewriteRule ^(.*)$ dispatch.cgi [QSA,L]&lt;br /&gt;#RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;設定 SCGI 及啟動&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&gt; cd d:\my_app&lt;/li&gt;&lt;li&gt;&gt; scgi_ctrl config -e development -S&lt;br /&gt;會在 d:\my_app\config 下產生 scgi.yaml 檔案, Rails Runtime Enviroment 在這裡設定&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&gt; scgi_service&lt;br /&gt;啟動, 從工作管理員/處理程序, 若有 ruby.exe 就對了&lt;br /&gt;&lt;/li&gt;&lt;li&gt;請重新起動 Apache, 可以試看看 http://mywww/index.html&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;將 SCGI 起動改為 "服務"&lt;/li&gt;&lt;ul&gt;&lt;li&gt;我們希望把 scgi_server 變成 "服務" 自動執行&lt;/li&gt;&lt;li&gt;在 d:\my_app 下新增 run.bat, 內容&lt;br /&gt;&lt;span style=";font-family:Tahoma;font-size:85%;"  &gt;@echo off&lt;br /&gt;echo Starting  SCGI_service...&lt;br /&gt;scgi_service&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;請下載 instsrv.exe &amp;amp; srvany.exe 到 d:\my_app&lt;br /&gt;&lt;a href="http://www.techeez.com/windows_tips/service_under_nt.htm"&gt;http://www.techeez.com/windows_tips/service_under_nt.htm&lt;/a&gt;&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/q137890"&gt;http://support.microsoft.com/kb/q137890&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;安裝 "myapp" 服務&lt;br /&gt;&gt; cd d:\my_app&lt;br /&gt;&gt; instsrv.exe "myapp" "d:\my_app\srvany.exe"&lt;br /&gt;&lt;/li&gt;&lt;li&gt;設定 "myapp" 服務&lt;br /&gt;打開 registry editor&lt;br /&gt;HKLM\SYSTEM\CurrentControlSet\Services\myapp&lt;br /&gt;新增 Key ==&gt; Parameters&lt;br /&gt;在 Parameters 下&lt;br /&gt;新增字串值 Application = run.bat&lt;br /&gt;新增字串值 AppDirectory = d:\my_app&lt;/li&gt;&lt;li&gt;&gt; net start myapp&lt;br /&gt;從工作管理員/處理程序, 若有 ruby.exe 就對了&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&gt; net stop myapp&lt;/li&gt;&lt;li&gt;&gt; instsrv.exe "myapp" remove&lt;br /&gt;移除服務&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;真的很快...&lt;br /&gt;因為 Rails App, 用很多 Rewrite 技巧, typo 好像不是很容易設定, 若用 Apache "alias" 方法也不是很容易設定, 現在有很多建議出現, 過不久應該會有方案出來&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114122147525616379?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114122147525616379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114122147525616379' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114122147525616379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114122147525616379'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/03/rails-apache-scgi-on-windows.html' title='Rails, Apache, SCGI on Windows'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114109620276583510</id><published>2006-02-28T10:59:00.000+08:00</published><updated>2006-02-28T14:51:32.370+08:00</updated><title type='text'>Rails, Apache, CGI/FastCGI on Windows</title><content type='html'>安裝 &lt;a href="http://www.typosphere.org/"&gt;typo&lt;/a&gt; 時, 在  apache 2 + windows 上碰到不少問題,  其實 Rails 1.0 產生出來的應該很好設定, typo 可能是比較早開發加上有調整過困擾了我,  把一些細節記錄下來以免忘記!&lt;br /&gt;&lt;ol&gt;&lt;li&gt;安裝 Apache 2, MySQL&lt;/li&gt;&lt;li&gt;安裝 Ruby, Rails&lt;/li&gt;&lt;li&gt;開始新的 web app, 打開 Dos Command Prompt&lt;br /&gt;&gt; rails my_app&lt;br /&gt;&gt; cd my_app&lt;br /&gt;&gt; ruby script/server&lt;br /&gt;&lt;/li&gt;&lt;li&gt;請用 http://localhost:3000 看是否運作&lt;/li&gt;&lt;li&gt;詳細請參考 &lt;a href="http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html"&gt;Rolling with Ruby on Rails&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;接下來我們進入正題, 當你有了 web app 後, 如何和 Apache 一起工作.&lt;br /&gt;&lt;br /&gt;1. CGI 法&lt;br /&gt;&lt;ul&gt;&lt;li&gt;打開 rewrite 功能, 移除 "#", 重要!&lt;br /&gt;LoadModule rewrite_module modules/mod_rewrite.so&lt;/li&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;virtual host 設定&lt;/span&gt;&lt;br /&gt;&lt;pre&gt;&amp;lt;VirtualHost *:80&amp;gt;&lt;br /&gt;ServerName mywww&lt;br /&gt;DocumentRoot d:/my_app/public/&lt;br /&gt;ErrorLog d:/my_app/log/server.log&lt;br /&gt;&lt;br /&gt;&amp;lt;Directory d:/my_app/public/&amp;gt;&lt;br /&gt;SetEnv RAILS_ENV production&lt;br /&gt;Options +FollowSymLinks +ExecCGI&lt;br /&gt;AllowOverride all&lt;br /&gt;Allow from all&lt;br /&gt;Order allow,deny&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&amp;lt;/VirtualHost&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;li&gt;要設定, my_app/public 下的檔案, 基本上 Rails 1.0 產生出來是不用動.&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;.htaccess&lt;br /&gt;a) RewriteBase 要關閉&lt;br /&gt;#RewriteBase /myrailapp&lt;br /&gt;b) RewriteRule 要用 dispatch.cgi&lt;br /&gt;RewriteRule ^(.*)$ &lt;span style="font-weight: bold;"&gt;dispatch.cgi&lt;/span&gt; [QSA,L]&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;確定 dispatch.cgi 及 dispatch.fcgi 第一行, 要指到 ruby&lt;br /&gt;#!d:/usr/ruby/bin/ruby&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;打開  c:/WINDOWS/system32/driver/etc/hosts 檔案, 加上&lt;br /&gt;127.0.0.1    mywww&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;重新起動 Apache&lt;/span&gt;, http://mywww/ 或 http://localhost/&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color: rgb(255, 102, 0); font-weight: bold;"&gt;Alias 設定&lt;/span&gt;, 記得上面都要成功再來試 oh!&lt;/li&gt;&lt;ul&gt;&lt;li&gt;加入這一段, 成功後可以移除上面 virtual host 設定&lt;br /&gt;&lt;pre&gt;Alias &lt;span style="font-weight: bold;"&gt;/myapp&lt;/span&gt; "d:/my_app/public"&lt;br /&gt;&amp;lt;Directory d:/my_app/public/&amp;gt;&lt;br /&gt;SetEnv RAILS_ENV production&lt;br /&gt;Options +FollowSymLinks +ExecCGI&lt;br /&gt;AllowOverride all&lt;br /&gt;Allow from all&lt;br /&gt;Order allow,deny&lt;br /&gt;&amp;lt;/Directory&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;記得要改 my_app/public 下的檔案&lt;/li&gt;&lt;ul&gt;&lt;li&gt;.htaccess, 記得要打開 RewriteBase&lt;br /&gt;RewriteBase /myapp&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;重新起動 Apache&lt;/span&gt;, http://localhost/myapp&lt;/li&gt;&lt;/ul&gt;2. FastCGI 法&lt;br /&gt;&lt;ul&gt;&lt;li&gt;記得請先作完上面方法確定成功後再用 FastCGI 加快, 也比較好找問題&lt;/li&gt;&lt;li&gt;安裝 FastCGI for Apache,  請下載 &lt;a href="http://rubyforge.org/projects/rubyforapache"&gt;RubyForApache&lt;br /&gt;&lt;/a&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;PS. 記得安裝時只要選擇 mod_fastcgi 就好了!!!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;設定你的 Apache&lt;/li&gt; &lt;ul&gt;&lt;li&gt;加上 FastCGI module 功能&lt;br /&gt;#FastCGI&lt;br /&gt;LoadModule fastcgi_module modules/mod_fastcgi.so&lt;br /&gt;FastCgiConfig -restart-delay 120 -idle-timeout 150 -appConnTimeout 100   -init-start-delay 100 -startDelay 100   -maxProcesses 1 -minProcesses 1 -processSlack 1   -initial-env RAILS_ENV=production&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;設定你的 my_app/public&lt;/li&gt;&lt;ul&gt;&lt;li&gt;.htaccess 要改成&lt;br /&gt;#RewriteRule ^(.*)$ dispatch.cgi [QSA,L]&lt;br /&gt;RewriteRule ^(.*)$ &lt;span style="font-weight: bold;"&gt;dispatch.fcgi&lt;/span&gt; [QSA,L]&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;重新啟動 Apache, http://localhost/myapp 應該會快一點&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114109620276583510?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114109620276583510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114109620276583510' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114109620276583510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114109620276583510'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/rails-apache-cgifastcgi-on-windows.html' title='Rails, Apache, CGI/FastCGI on Windows'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114060639697859293</id><published>2006-02-22T18:57:00.000+08:00</published><updated>2006-05-08T10:28:11.563+08:00</updated><title type='text'>聊聊 Ruby on Rails</title><content type='html'>我們來談談一下 Ruby on Rails, 或許可以找到一些新開發 Web 的方法.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Rails 是用    Ruby 語言開發, Ruby 是純 OO/SmallTalk like script 語言, 不用管 build 環境, 可以很快上手, 它的相關程式庫發展也很齊全豐富. 例如:&lt;br /&gt;RubyGems =&gt; installer&lt;br /&gt;REXML =&gt; XML library&lt;br /&gt;Rake =&gt; make/ant&lt;br /&gt;WEBrick =&gt; web server like Tomcat&lt;br /&gt;Test::Unit =&gt; unit testing&lt;br /&gt;XML-RPC =&gt; XML-RPC&lt;br /&gt;SOAP =&gt; SOAP&lt;br /&gt;DRb =&gt; Jave RMI, contributed computing&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Rails 是一套 MVC web framework, 它的設計理念(名言)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Convention over Configuration(CoC)&lt;br /&gt;依照 Rails 定義好的命名規則, Rails 會幫你處理相關運作, 從 url,  html page,  ORM, 資料庫都套用此一原則&lt;/li&gt;&lt;li&gt;Don’t Repeat Yourself(DRY)&lt;br /&gt;盡量讓大部份的事交給 Rails 處理, 但還要能讓開發者達成目的&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Rails 和 J2EE&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Java 陣營: Java + Tomcat + J2EE, Struts, Spring + Hibernate(ORM)&lt;/li&gt;&lt;li&gt;Rails 陣營: Ruby + WEBrick(Apache) + Rails&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Rails 基本是由 Action Pack 及 Active Record 完成&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Action Pack =&gt; Action Control + Action View&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Action Controller =&gt; 處理 URL/HTML Request 的大腦&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Action View =&gt; 產生 html/xml 結果&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Active Record =&gt; 處理資料庫且能將資料庫內容轉成 Object 讓你使用. 也就是一般稱Object Relational Mapping(ORM), like Hibername.&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Rails 團隊有開發過不少 web apps 經驗, see &lt;a href="http://www.37signals.com"&gt;37signals&lt;/a&gt;. 所以 Rails 很完整又很寫的很讚, 從 cookies, session, filter, error, validate, html page layout, AJAX, testing(unit &amp;amp; function), ORM... 都有考慮, 且都有讓你可以加入設定處理你想要做的事.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Rails 不喜歡用 xml 來做設定, 都直接寫在 Ruby 程式裡(這是 Ruby 語言的優勢, 其實那些都是 methods 而已)或用 yaml, 這樣也比較好懂一些.&lt;/li&gt;&lt;li&gt;提供一些簡單的 script 讓你可以快速產生程式&lt;br /&gt;ex: generate scaffold Product Admin&lt;/li&gt;&lt;li&gt;Rails 現在的問題?  你的 web app 要用 Apache(deployment 時). 但用 CGI 慢, 所以要用 FastCGI, 但好像有些安裝問題? Rails 紅了這問題應該會被解決.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;多語系處理問題?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;雖然現在的不少  web app 用 PHP 開發, 但我覺的 PHP 老了, Ruby + Rails 應該讓不少人眼睛一亮. 自己不是很能習慣 PHP 的直率(自己是開發 J2EE web app)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;現在也有不少新的 web framework 冒出頭&lt;/li&gt;&lt;li&gt;Java =&gt; &lt;a href="https://trails.dev.java.net"&gt;Trails&lt;/a&gt;, Groovy=&gt; &lt;a href="http://grails.codehaus.org/"&gt;Grails&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Python =&gt; &lt;a href="http://www.djangoproject.com"&gt;Django&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;PHP: =&gt; &lt;a href="http://www.symfony-project.com/"&gt;Symfony&lt;/a&gt;, &lt;a href="http://www.cakephp.org/"&gt;CakePHP&lt;/a&gt;, &lt;a href="http://www.zend.com/"&gt;Zend&lt;/a&gt;&lt;a href="http://www.zend.com/"&gt; Framework&lt;/a&gt;, &lt;a href="http://www.agavi.org/"&gt;Agavi&lt;/a&gt;, &lt;a href="http://www.phpontrax.com/"&gt;PHP on Trax&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mustap.com/phpzone_post_73_top-10-php-mvc-frameworks"&gt;Top 10 PHP MVC frameworks&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114060639697859293?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114060639697859293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114060639697859293' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114060639697859293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114060639697859293'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/ruby-on-rails.html' title='聊聊 Ruby on Rails'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114043297200971428</id><published>2006-02-20T18:55:00.000+08:00</published><updated>2006-02-21T16:45:56.536+08:00</updated><title type='text'>DRb - distributed ruby</title><content type='html'>DRb, distributed ruby 就像 Java/RMI 角色一般.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;參考文件&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www2a.biglobe.ne.jp/%7Eseki/ruby/druby.en.html"&gt;dRuby&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.chadfowler.com/ruby/drb.html"&gt;Intro to DRb&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.rubygarden.org/ruby?DrbTutorial"&gt;DRb - Distributed Ruby&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Server&lt;/li&gt;&lt;div&gt;&lt;pre&gt;require 'drb'&lt;br /&gt;&lt;br /&gt;class HelloServer&lt;br /&gt;def sayhi&lt;br /&gt; "Hello to my world!"&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;DRb.start_service('druby://localhost:9000', HelloServer.new)&lt;br /&gt;puts DRb.uri, "Ctrl-Break to stop server!"&lt;br /&gt;DRb.thread.join&lt;/pre&gt;&lt;/div&gt;&lt;li&gt;Client&lt;/li&gt;&lt;div&gt;&lt;pre&gt;require 'drb'&lt;br /&gt;&lt;br /&gt;DRb.start_service()&lt;br /&gt;obj = DRbObject.new(nil, 'druby://localhost:9000')&lt;br /&gt;&lt;br /&gt;# Now use obj&lt;br /&gt;5.times do&lt;br /&gt;puts obj.sayhi&lt;br /&gt;sleep 2&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114043297200971428?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114043297200971428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114043297200971428' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043297200971428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043297200971428'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/drb-distributed-ruby.html' title='DRb - distributed ruby'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114043287521903552</id><published>2006-02-20T18:53:00.000+08:00</published><updated>2006-02-21T15:12:29.203+08:00</updated><title type='text'>Benchmark - Ruby 測量程式花費時間</title><content type='html'>Ruby 有提供不錯讓我們得知程式所花費時間&lt;br /&gt;&lt;ul&gt;&lt;li&gt;使用 "Benchmark"&lt;/li&gt;&lt;pre&gt;require 'benchmark'&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;得知程式執行花費時間&lt;/li&gt;&lt;pre&gt;COUNT = 500_000&lt;br /&gt;puts Benchmark.realtime {&lt;br /&gt;1.upto(COUNT) do&lt;br /&gt;  a = "1"&lt;br /&gt;end&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;得知花費時間&lt;/li&gt;&lt;pre&gt;Benchmark.bm do |x|&lt;br /&gt;x.report {&lt;br /&gt;  for i in 1..COUNT&lt;br /&gt;    a = "1"&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;li&gt;報表格式&lt;/li&gt;&lt;pre&gt;Benchmark.bm do |x|&lt;br /&gt;x.report {&lt;br /&gt;  for i in 1..COUNT&lt;br /&gt;    a = "1"&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;x.report {&lt;br /&gt;  COUNT.times do&lt;br /&gt;    a = "1"&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;x.report {&lt;br /&gt;  1.upto(COUNT) do&lt;br /&gt;    a = "1"&lt;br /&gt;  end&lt;br /&gt;}&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114043287521903552?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114043287521903552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114043287521903552' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043287521903552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043287521903552'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/benchmark-ruby.html' title='Benchmark - Ruby 測量程式花費時間'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114043278566443358</id><published>2006-02-20T18:52:00.000+08:00</published><updated>2006-03-03T22:44:51.370+08:00</updated><title type='text'>WEBrick - Ruby 下的 web server</title><content type='html'>WEBrick 是一個完整的 Web 伺服器程式, 用 ruby 寫得蠻簡單易用的.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;參考文件&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://microjet.ath.cx/WebWiki/WEBrick.html"&gt;Gnome's Guide to WEBrick&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.rubyonrails.org/rails/pages/HowToDevelopUsingWEBrick"&gt;How to Develope Using WEBrick&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;範例&lt;/li&gt;&lt;ul&gt;&lt;li&gt;啟動 WEBrick, port 為 2000&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;pre&gt;require 'webrick'&lt;br /&gt;include WEBrick #&lt;br /&gt;&lt;br /&gt;#It's a function stub to start WEBrick&lt;br /&gt;def start_WEBrick(config = {})&lt;br /&gt;config.update(:Port =&amp;gt; 2000)&lt;br /&gt;&lt;br /&gt;server = HTTPServer.new(config)&lt;br /&gt;yield server if block_given?&lt;br /&gt;&lt;br /&gt;['INT', 'TERM'].each do signal&lt;br /&gt;trap(signal) { server.shutdown }&lt;br /&gt;end&lt;br /&gt;server.start&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#To start WEBrick&lt;br /&gt;start_WEBrick do |server|&lt;br /&gt;#...see the following...&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;加入 html document root&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;pre&gt;start_WEBrick do |server|&lt;br /&gt;#document root "/"&lt;br /&gt;doc_root = File.join(Dir.pwd, 'htdocs')&lt;br /&gt;server.mount("/", HTTPServlet::FileHandler, doc_root,&lt;br /&gt;{:FancyIndexing =&amp;gt; true})&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;加入 servelet, 你的 XyzServlet 繼承自 HTTPServlet::AbstractServlet, 處理 do_GET/do_POST&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;pre&gt;class HelloServlet &amp;lt; HTTPServlet::AbstractServlet&lt;br /&gt;def do_GET(req, res)&lt;br /&gt;res["content-type"] = "text/html; charset=UTF-8"&lt;br /&gt;res.body = %{&lt;br /&gt;  &amp;lt;html&amp;gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;  Hello Servlet ...&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;  &amp;lt;/html&amp;gt;&lt;br /&gt;}&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;alias do_POST do_GET&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;class ENVServlet &amp;lt; HTTPServlet::AbstractServlet&lt;br /&gt;def do_GET(req, res)&lt;br /&gt;res["content-type"] = "text/html; charset=UTF-8"&lt;br /&gt;&lt;br /&gt;value = ENV[req.query['key']] if req.query['key']&lt;br /&gt;&lt;br /&gt;res.body = %{&lt;br /&gt;  &amp;lt;html&amp;gt;&lt;br /&gt;  &amp;lt;body&amp;gt;&lt;br /&gt;  The server \"#{req.query['key']}\" is \"#{value}\" ...&lt;br /&gt;  &amp;lt;/body&amp;gt;&lt;br /&gt;  &amp;lt;/html&amp;gt;&lt;br /&gt;}&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;alias do_POST do_GET&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;start_WEBrick do |server|&lt;br /&gt;#document root "/"&lt;br /&gt;doc_root = File.join(Dir.pwd, 'htdocs')&lt;br /&gt;server.mount("/", HTTPServlet::FileHandler, doc_root,&lt;br /&gt;{:FancyIndexing =&amp;gt; true})&lt;br /&gt;&lt;br /&gt;#servlet "/hello"&lt;br /&gt;server.mount("/hello", HelloServlet)&lt;br /&gt;&lt;br /&gt;#servlet "/env"&lt;br /&gt;#ex. http://localhost:2000/env?key=OS&lt;br /&gt;server.mount("/env", ENVServlet)&lt;br /&gt;end&lt;br /&gt;&lt;/pre&gt;&lt;ul&gt;&lt;li&gt;使用&lt;/li&gt;&lt;ul&gt;&lt;li&gt;請下載解壓 &lt;a href="http://www.primarybag.com/primary/w.zip"&gt;w.rar&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;打開 DOS, 執行 ruby w.rb&lt;/li&gt;&lt;li&gt;打開 Browser,&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;http://localhost:2000&lt;/li&gt;&lt;li&gt;http://localhost:2000/hello&lt;/li&gt;&lt;li&gt;http://localhost:2000/env?key=OS&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114043278566443358?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114043278566443358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114043278566443358' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043278566443358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043278566443358'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/webrick-ruby-web-server.html' title='WEBrick - Ruby 下的 web server'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114043231780239855</id><published>2006-02-20T18:43:00.000+08:00</published><updated>2006-02-21T15:15:22.193+08:00</updated><title type='text'>Ruby 在 Eclipse 下的開發環境設定</title><content type='html'>&lt;p&gt;Ruby 最近拜 Ruby on Rails(RoR) 紅透半邊天, 其實 Ruby 還真是不錯, 純 OO 又是 script 語言. 要上手並不難, 它基本程式庫也很豐富了, 除了 unicode 支援較不完整之外. 比起 PHP, 個人蠻推薦 Ruby.&lt;br /&gt;&lt;br /&gt;開發程式習慣整合開發環境及專案管理, 近來在 Eclipse 下發展, 搭配  subversion/subclipse 做專案管理. 接下來簡單介紹大致開發流程&lt;/p&gt;&lt;p&gt;1. 安裝 java/J2SE50, &lt;a href="http://java.sun.com/"&gt;下載&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. 安裝 eclipse &lt;a href="http://www.eclipse.org/downloads/"&gt;下載&lt;/a&gt; (解壓縮到 d:\eclipse 即可)&lt;/p&gt;&lt;p&gt;3. 安裝 ruby &amp; ruby on rails, 這應該是你要玩 ruby 的原因, &lt;a href="http://www.rubyonrails.org/down"&gt;參照&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. 開啟 eclipse, 安裝 Ruby Developement Tool(RDT) &lt;a href="http://rubyeclipse.sourceforge.net/download.rdt.html"&gt;參照&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[Help]/[Software Updates]/[Find and Install...]/&lt;/span&gt;&lt;br /&gt;"Search for new features to install"&lt;br /&gt;"New remote site" 輸入&lt;br /&gt;Name: "Ruby Developement Tool - RDT",&lt;br /&gt;URL: "&lt;a href="http://updatesite.rubypeople.org/release"&gt;http://updatesite.rubypeople.org/release&lt;/a&gt;"&lt;/p&gt;&lt;p&gt;5. 設定 Ruby Developement Tool(RDT) 環境&lt;br /&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;[Window]/[Open Perspective]/[Other]&lt;/span&gt; 開啟 "Ruby" Perspective&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;[Window]/[Preference...]/[Ruby] 下設定 ruby interpreter &amp; Ri/RDoc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[Installed Interpreters]/[Add] &lt;/span&gt;&lt;br /&gt;Name: "ruby 1.8.2"&lt;br /&gt;Location: "d:\ruby\bin\rubyw.exe"&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;[Ri/rdoc]&lt;/span&gt;, Rdoc path: "d:\ruby\bin\rdoc", ri path: "d:\ruby\bin\ri"&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;6. Enjoy it&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114043231780239855?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114043231780239855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114043231780239855' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043231780239855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043231780239855'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/ruby-eclipse.html' title='Ruby 在 Eclipse 下的開發環境設定'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-22714461.post-114043211204934636</id><published>2006-02-20T18:39:00.000+08:00</published><updated>2006-02-21T15:14:00.560+08:00</updated><title type='text'>Subclipse 移除中文化</title><content type='html'>安裝 Subclipse 後出現中文用起來真是怪怪的...&lt;br /&gt;下面方法可幫你回覆到英文環境&lt;br /&gt;&lt;br /&gt;方法 1: eclipse 啟動時加上以下參數: -clean -nl en_US&lt;br /&gt;&lt;br /&gt;方法 2: 或者拿掉那些 "zh*.properties" message 檔&lt;br /&gt;到 plugins\org.tigris.subversion.subclipse.ui_0.9.105 目錄下&lt;br /&gt;找到 &lt;strong&gt;SVNPluginUI.jar&lt;/strong&gt; 移除 message_zh*.properties 檔案,&lt;br /&gt;最後再移除 &lt;strong&gt;plugin_zh*.properties&lt;/strong&gt; 即可&lt;br /&gt;PS. 建議你用 WinRAR 蠻方便.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/22714461-114043211204934636?l=andrewhocoo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://andrewhocoo.blogspot.com/feeds/114043211204934636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=22714461&amp;postID=114043211204934636' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043211204934636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/22714461/posts/default/114043211204934636'/><link rel='alternate' type='text/html' href='http://andrewhocoo.blogspot.com/2006/02/subclipse.html' title='Subclipse 移除中文化'/><author><name>anw</name><uri>http://www.blogger.com/profile/09777751259653173836</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
