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

<channel>
	<title>Philip@Swarchy</title>
	<atom:link href="http://philipatswarchy.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://philipatswarchy.wordpress.com</link>
	<description>我在Swarchy的日子</description>
	<lastBuildDate>Tue, 25 Dec 2007 10:54:22 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>zh-tw</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='philipatswarchy.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/8560115387cb4d5cdc25a9096960d724?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Philip@Swarchy</title>
		<link>http://philipatswarchy.wordpress.com</link>
	</image>
			<item>
		<title>[Flash]How to detect flash player version</title>
		<link>http://philipatswarchy.wordpress.com/2007/04/02/flashhow-to-detect-flash-player-version/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/04/02/flashhow-to-detect-flash-player-version/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 03:59:46 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[flash]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/04/02/flashhow-to-detect-flash-player-version/</guid>
		<description><![CDATA[前一篇文章提到的 chart 是別人家做好的 flash 元件，所以很多地方都有受限，現在有人反映 flash player 6 看不到 chart，好吧，既然有人反應那就來找找怎麼去判斷 browser 的 flash player 版本(心中OS：現在 flash 版本都到 9 了麻煩升個級好嗎? -__-)&#8230;
我找到兩個方式：
一、在 object tag 上加上 codebase 指定版本
&#60;object classid=&#8221;xxx&#8221; codebase=&#8221;http://fpdownload.macromedia.com/pub/shockwave/cabs/
flash/swflash.cab#version=8,0,0,0&#8243; &#8230; &#62;
&#8230;
&#60;/object&#62;
但是 FF2 好像不太吃這一套&#8230;
二、 用 JS 判定
詳見 這裡，這應該是最穩的辦法&#8230;
不過還真是有點小麻煩，若是在做 flash 的時候就加上檢查版本的功能，那不就沒這麼多事了嗎? 唉~
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=24&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>前一篇文章提到的 chart 是別人家做好的 flash 元件，所以很多地方都有受限，現在有人反映 flash player 6 看不到 chart，好吧，既然有人反應那就來找找怎麼去判斷 browser 的 flash player 版本(心中OS：現在 flash 版本都到 9 了麻煩升個級好嗎? -__-)&#8230;</p>
<p>我找到兩個方式：</p>
<p>一、在 object tag 上加上 codebase 指定版本</p>
<blockquote><p>&lt;object classid=&#8221;xxx&#8221; codebase=&#8221;http://fpdownload.macromedia.com/pub/shockwave/cabs/<br />
flash/swflash.cab#version=8,0,0,0&#8243; &#8230; &gt;<br />
&#8230;<br />
&lt;/object&gt;</p></blockquote>
<p>但是 FF2 好像不太吃這一套&#8230;</p>
<p>二、 用 JS 判定</p>
<p>詳見 <a href="http://www.quirksmode.org/js/flash.html" target="_blank">這裡</a>，這應該是最穩的辦法&#8230;</p>
<p>不過還真是有點小麻煩，若是在做 flash 的時候就加上檢查版本的功能，那不就沒這麼多事了嗎? 唉~</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=24&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/04/02/flashhow-to-detect-flash-player-version/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>[JavaScript]How to set resize event in IE &amp; FF2</title>
		<link>http://philipatswarchy.wordpress.com/2007/04/02/javascripthow-to-set-resize-event-in-ie-ff2/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/04/02/javascripthow-to-set-resize-event-in-ie-ff2/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 02:57:17 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/04/02/javascripthow-to-set-resize-event-in-ie-ff2/</guid>
		<description><![CDATA[前陣子，為了 layout 上的 flash chart 能夠 liquid width，在 try error 了無數次之後，好不容易找到最簡單能夠重新 render chart 的方式，卻栽在設定 resize 的 event 上，在 IE 上只要在 tag 上加上 onresize=&#8221;xxx&#8221; 就OK，FF2 就不吃這一套，屢試不爽
（╯￣皿￣）╯︵┴─┴
查了一下資料，原來 FF2 的 resize 只有在 window 物件上才有，而且是叫〝resize〞不是〝onresize〞，好吧，那就設成   window resize 吧..
BUT, 我以為我找到關鍵的所以應該沒問題了，錯錯錯~~  原來 IE &#38; FF2 的 event 指定方式不一樣啊~~~~
好吧， 再去問了谷歌得到解答如下：
 // if FF2
if(window.addEventListener)
{
window.addEventListener(&#8216;resize&#8217;, function(){render_chart();}, false);
}
// if IE
if(window.attachEvent)
{
window.attachEvent(&#8220;onresize&#8221;, function(){render_chart();});
}
唉~ 真是麻煩~ [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=23&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>前陣子，為了 layout 上的 flash chart 能夠 liquid width，在 try error 了無數次之後，好不容易找到最簡單能夠重新 render chart 的方式，卻栽在設定 resize 的 event 上，在 IE 上只要在 tag 上加上 onresize=&#8221;xxx&#8221; 就OK，FF2 就不吃這一套，屢試不爽</p>
<p>（╯￣皿￣）╯︵┴─┴</p>
<p>查了一下資料，原來 FF2 的 resize 只有在 window 物件上才有，而且是叫〝resize〞不是〝onresize〞，好吧，那就設成   window resize 吧..</p>
<p>BUT, 我以為我找到關鍵的所以應該沒問題了，錯錯錯~~  原來 IE &amp; FF2 的 event 指定方式不一樣啊~~~~</p>
<p>好吧， 再去問了谷歌得到解答如下：</p>
<blockquote><p> // if FF2<br />
if(window.addEventListener)<br />
{<br />
window.addEventListener(&#8216;resize&#8217;, function(){render_chart();}, false);<br />
}<br />
// if IE<br />
if(window.attachEvent)<br />
{<br />
window.attachEvent(&#8220;onresize&#8221;, function(){render_chart();});<br />
}</p></blockquote>
<p>唉~ 真是麻煩~ </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=23&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/04/02/javascripthow-to-set-resize-event-in-ie-ff2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>[Ubuntu]Ubuntu 更改時區</title>
		<link>http://philipatswarchy.wordpress.com/2007/03/19/ubuntu-change-time-zone/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/03/19/ubuntu-change-time-zone/#comments</comments>
		<pubDate>Mon, 19 Mar 2007 02:23:04 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/03/19/ubuntu-change-time-zone/</guid>
		<description><![CDATA[今早因某台 Server 時間不正確，所以 Google 了一下 ubuntu 更改時區的用法
以下作法 參考至 调整更改ubuntu时区 和 鳥哥的 Linux 私房菜-NTP 時間伺服器
$ sudo  tzselect
依選項選擇你在的時區
$ sudo  cp  /usr/share/zoneinfo/Aisa/Taipei  /etc/localtime
更換時區檔
$ sudo  ntpdate  time.stdtime.gov.tw
對時，其它台灣的 Time Server 請參考 國家時間與頻率標準實驗室 的說明
$ sudo  hwclock -w
將時間寫入 BIOS
$ sudo  crontab -e
@daily            /usr/sbin/ntpdate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=21&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>今早因某台 Server 時間不正確，所以 Google 了一下 ubuntu 更改時區的用法</p>
<p>以下作法 參考至 <a href="http://ray.opensource.com.cn/article.asp?id=96" target="_blank">调整更改ubuntu时区</a> 和 <a href="http://linux.vbird.org/" target="_blank">鳥哥的 Linux 私房菜</a>-<a href="http://linux.vbird.org/linux_server/0440ntp.php" target="_blank">NTP 時間伺服器</a></p>
<p>$ sudo  tzselect<br />
依選項選擇你在的時區</p>
<p>$ sudo  cp  /usr/share/zoneinfo/Aisa/Taipei  /etc/localtime<br />
更換時區檔</p>
<p>$ sudo  ntpdate  time.stdtime.gov.tw<br />
對時，其它台灣的 Time Server 請參考 <a href="http://www.stdtime.gov.tw/chinese/home.htm" target="_blank">國家時間與頻率標準實驗室</a> 的說明</p>
<p>$ sudo  hwclock -w<br />
將時間寫入 BIOS</p>
<p>$ sudo  crontab -e<br />
@daily            /usr/sbin/ntpdate time.stdtime.gov.tw &gt; /dev/null<br />
將對時寫進 crontab 每天做一次</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=21&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/03/19/ubuntu-change-time-zone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>[ActiveRecord]Dynamic attribute-based finders</title>
		<link>http://philipatswarchy.wordpress.com/2007/02/05/activerecorddynamic-attribute-based-finders/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/02/05/activerecorddynamic-attribute-based-finders/#comments</comments>
		<pubDate>Mon, 05 Feb 2007 02:33:20 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/02/05/activerecorddynamic-attribute-based-finders/</guid>
		<description><![CDATA[說明：(節錄至ActiveRecord::Base)
Dynamic attribute-based finders are a cleaner way of getting (and/or creating) objects by simple queries without turning to SQL.
用法：
可以簡單利用 find_by_xxx or find_all_by_xxx 來取得資料(xxx =&#62; column name)
ex: Person.find_by_user_name(user_name)
也可使用複數的條件(and/or)來取得資料
ex: Person.find_by_user_name_and_password(user_name, password)
最最最好用的就是這個功能，先判斷資料是否存在，若存在回傳此筆資料，若不存在 create 這筆資料
ex:
  # No 'Summer' tag exists  
  Tag.find_or_create_by_name("Summer") # equal to Tag.create(:name =&#62; "Summer") 
  # Now the 'Summer' tag does [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=20&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>說明：(節錄至<a href="http://api.rubyonrails.org/classes/ActiveRecord/Base.html">ActiveRecord::Base</a>)<br />
<tt>Dynamic attribute-based finders are a cleaner way of getting (and/or creating) objects by simple queries without turning to SQL.</tt></p>
<p>用法：</p>
<p>可以簡單利用 <tt>find_by_xxx</tt> or <tt>find_all_by_xxx</tt> 來取得資料(xxx =&gt; column name)<br />
ex: <tt>Person.find_by_user_name(user_name)</tt></p>
<p>也可使用複數的條件(and/or)來取得資料<br />
ex: <tt>Person.find_by_user_name_and_password(user_name, password)</tt></p>
<p>最最最好用的就是這個功能，先判斷資料是否存在，若存在回傳此筆資料，若不存在 create 這筆資料<br />
ex:<br />
<tt>  # No 'Summer' tag exists  </tt><br />
<tt>  Tag.find_or_create_by_name("Summer") # equal to Tag.create(:name =&gt; "Summer") </tt><br />
<tt>  # Now the 'Summer' tag does exist </tt><br />
<tt>  Tag.find_or_create_by_name("Summer") # equal to Tag.find_by_name("Summer")</tt></p>
<p>或是不想直接 create 只是先初始化一個新的物件的話<br />
ex:<br />
<tt> # No 'Winter' tag exists  </tt><br />
<tt> winter = Tag.find_or_initialize_by_name("Winter") </tt><br />
<tt> winter.new_record? # true</tt></p>
<p>這些finders實在是方便，故特別記一筆以免忘記~</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=20&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/02/05/activerecorddynamic-attribute-based-finders/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>[DRB]Distributed Ruby Objects Simple Sample</title>
		<link>http://philipatswarchy.wordpress.com/2007/02/02/distributed-ruby-objects-simple-sample/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/02/02/distributed-ruby-objects-simple-sample/#comments</comments>
		<pubDate>Fri, 02 Feb 2007 08:03:28 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/02/02/distributed-ruby-objects-simple-sample/</guid>
		<description><![CDATA[Distributed Ruby Objects (以下簡稱 drb)，是 Ruby Standard Library 中用來做到類似 RPC (Remote procedure call) 的函式庫，以下紀錄最基本的 Server 端和 Client 端的 sample。
Server:
 require &#8216;drb&#8217;
class TimeServer
def get_current_time
Time.now
end
def stop_server
DRb.stop_service
end
end
uri = &#8216;druby://localhost:7788&#8242;
front_object = TimeServer.new
DRb.start_service(uri, front_object)
# Wait for the drb server thread to finish before exiting.
DRb.thread.join
這樣一來最簡單的 Server 端就OK了，只要執行這段 Ruby code，Client端就可以用 druby://localhost:7788 來叫用服務。
Client:
 require &#8216;drb&#8217;
server_uri = &#8220;druby://localhost:7788&#8243;
timeserver = DRbObject.new_with_uri(server_uri)
#call remote object method &#8216;get_current_time&#8217;
puts [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=19&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Distributed Ruby Objects (以下簡稱 drb)，是 Ruby Standard Library 中用來做到類似 RPC (Remote procedure call) 的函式庫，以下紀錄最基本的 Server 端和 Client 端的 sample。</p>
<p>Server:</p>
<blockquote><p> require &#8216;drb&#8217;</p>
<p>class TimeServer</p>
<p>def get_current_time<br />
Time.now<br />
end</p>
<p>def stop_server<br />
DRb.stop_service<br />
end</p>
<p>end</p>
<p>uri = &#8216;druby://localhost:7788&#8242;<br />
front_object = TimeServer.new</p>
<p>DRb.start_service(uri, front_object)</p>
<p># Wait for the drb server thread to finish before exiting.<br />
DRb.thread.join</p></blockquote>
<p>這樣一來最簡單的 Server 端就OK了，只要執行這段 Ruby code，Client端就可以用 druby://localhost:7788 來叫用服務。</p>
<p>Client:</p>
<blockquote><p> require &#8216;drb&#8217;</p>
<p>server_uri = &#8220;druby://localhost:7788&#8243;</p>
<p>timeserver = DRbObject.new_with_uri(server_uri)</p>
<p>#call remote object method &#8216;get_current_time&#8217;<br />
puts timeserver.get_current_time</p>
<p>#stop remote service<br />
timeserver.stop_server</p></blockquote>
<p>就這麼簡單，不過方便歸方便，安全的問題也要特別注意</p>
<p>若想深入了解的人可以參考以下連結：</p>
<p><a href="http://www.chadfowler.com/ruby/drb.html" target="_blank">Intro to DRb</a><br />
<a href="http://www.ruby-doc.org/stdlib/libdoc/drb/rdoc/index.html" target="_blank">drb: Ruby Standard Library Documentation </a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/19/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/19/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=19&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/02/02/distributed-ruby-objects-simple-sample/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>如何在寫一般 Ruby Code 時使用 Rails 的 ActiveSupport</title>
		<link>http://philipatswarchy.wordpress.com/2007/02/01/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activesupport/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/02/01/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activesupport/#comments</comments>
		<pubDate>Thu, 01 Feb 2007 03:56:53 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[ActiveSupport]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/02/01/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activesupport/</guid>
		<description><![CDATA[就只要改一行：
require &#8220;rubygems&#8221;
require &#8220;active_support&#8221;
就這麼簡單，害我找半天，本以為要像使用 ActiveRecord 般
require &#8220;rubygems&#8221;
require_gem &#8220;activerecord&#8221;
依樣畫葫蘆的結果完全沒反應
require &#8220;rubygems&#8221;
require_gem &#8220;activesupport&#8221;
怎麼會這樣勒?????
在Google中也沒找到相關資料，我記得require_gem &#8220;activerecord&#8221; 之後除了ActiveRecord外還可直接使用ActiveSupport，但若只想使用ActiveSupport的功能把整個ActiveRecord都require進來實在太肥，索性直接進 ActiveRecord 的原始碼裡面看到底是怎麼弄的，結果改一行就解決~~
YA~~ 以後可以直接使用 1.days.ago 或是 Time.now.tomorrow 這類簡單的表示法啦~~~
Rails萬歲~~~ OpenSource 萬歲~~~~~
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=18&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>就只要改一行：</p>
<h2><strong>require &#8220;rubygems&#8221;<br />
require &#8220;active_support&#8221;</strong></h2>
<p>就這麼簡單，害我找半天，本以為要像使用 ActiveRecord 般</p>
<p>require &#8220;rubygems&#8221;<br />
require_gem &#8220;activerecord&#8221;</p>
<p>依樣畫葫蘆的結果完全沒反應</p>
<p>require &#8220;rubygems&#8221;<br />
require_gem &#8220;activesupport&#8221;</p>
<p>怎麼會這樣勒?????<br />
在Google中也沒找到相關資料，我記得require_gem &#8220;activerecord&#8221; 之後除了ActiveRecord外還可直接使用ActiveSupport，但若只想使用ActiveSupport的功能把整個ActiveRecord都require進來實在太肥，索性直接進 ActiveRecord 的原始碼裡面看到底是怎麼弄的，結果改一行就解決~~</p>
<p>YA~~ 以後可以直接使用 1.days.ago 或是 Time.now.tomorrow 這類簡單的表示法啦~~~</p>
<p>Rails萬歲~~~ OpenSource 萬歲~~~~~</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=18&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/02/01/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activesupport/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>[Ruby] dump excel data example.</title>
		<link>http://philipatswarchy.wordpress.com/2007/01/16/ruby-dump-excel-data-example/</link>
		<comments>http://philipatswarchy.wordpress.com/2007/01/16/ruby-dump-excel-data-example/#comments</comments>
		<pubDate>Tue, 16 Jan 2007 07:03:42 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2007/01/16/ruby-dump-excel-data-example/</guid>
		<description><![CDATA[require 'win32ole'
def getAbsolutePath filename
  fso = WIN32OLE.new('Scripting.FileSystemObject')
  return fso.GetAbsolutePathName(filename)
end 
filename = getAbsolutePath("sample1.xls")
xl = WIN32OLE.new('Excel.Application')
book = xl.Workbooks.Open(filename) 
begin
book.Worksheets.each do &#124;sheet&#124;
  sheet.UsedRange.Rows.each do &#124;row&#124;
    record = []
    row.Columns.each do &#124;cell&#124;
      record &#60;&#60; cell.Value
    end
    puts record.join(",")
  end
end
ensure 
  book.Close
  xl.Quit
end
Reference: Win32OLE 活用法 【第 2 回】 Excel
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=17&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><code>require 'win32ole'</code></p>
<p><code></code><code>def getAbsolutePath filename<br />
  fso = WIN32OLE.new('Scripting.FileSystemObject')<br />
  return fso.GetAbsolutePathName(filename)<br />
end</code><code> </code></p>
<p><code></code><code>filename = getAbsolutePath("sample1.xls")<br />
xl = WIN32OLE.new('Excel.Application')<br />
book = xl.Workbooks.Open(filename)</code><code> </code></p>
<p><code></code><code>begin<br />
</code><code>book.Worksheets.each do |sheet|<br />
  sheet.UsedRange.Rows.each do |row|<br />
    record = []<br />
    row.Columns.each do |cell|<br />
      record &lt;&lt; cell.Value<br />
    end<br />
    puts record.join(",")<br />
  end<br />
end</code><code><br />
</code><code>ensure</code><code> <br />
  book.Close<br />
  xl.Quit<br />
end</code></p>
<p><code>Reference: <a target="_blank" href="http://jp.rubyist.net/magazine/?0004-Win32OLE" title="Win32OLE 活用法 【第 2 回】 Excel">Win32OLE 活用法 【第 2 回】 Excel</a></code></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=17&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2007/01/16/ruby-dump-excel-data-example/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>如何在寫一般 Ruby Code 時使用 Rails 的 ActiveRecord 存取 Database</title>
		<link>http://philipatswarchy.wordpress.com/2006/12/17/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activerecord-%e5%ad%98%e5%8f%96-database/</link>
		<comments>http://philipatswarchy.wordpress.com/2006/12/17/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activerecord-%e5%ad%98%e5%8f%96-database/#comments</comments>
		<pubDate>Sun, 17 Dec 2006 06:30:07 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2006/12/17/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activerecord-%e5%ad%98%e5%8f%96-database/</guid>
		<description><![CDATA[
require "rubygems"
require_gem "activerecord"
require "active_record"

ActiveRecord::Base.establish_connection(
:adapter =&#62; "mysql",
:host =&#62; "hostname",
:database =&#62; "yourdb",
:username =&#62; "dbuser",
:password =&#62; "dbuserpw"
)

class MyTable &#60; ActiveRecord::Base
end
這樣就可以在一般 Ruby Code 中使用 ActiveRecord 的 CRUD (Create, Read, Update, Delete) 存取你的 Database 了.
Update: 2007-03-16
因為 require_gem 已經被廢除了，所以改用 require &#8216;active_record&#8217; 代替
另外，從 Lighty RoR 最簡潔有力的網頁框架: 在 Rails 之外使用 ActiveRecord 這篇中發現，還可以利用設定 config 的方式將 ActiveRecord 的設定寫在 code 外
想知道詳細用法可至上述網頁看看  
    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=12&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><pre>
require "rubygems"
<strike>require_gem "activerecord"</strike>
require "active_record"

ActiveRecord::Base.establish_connection(
:adapter =&gt; "mysql",
:host =&gt; "hostname",
:database =&gt; "yourdb",
:username =&gt; "dbuser",
:password =&gt; "dbuserpw"
)

class MyTable &lt; ActiveRecord::Base
end</pre>
<p>這樣就可以在一般 Ruby Code 中使用 ActiveRecord 的 CRUD (Create, Read, Update, Delete) 存取你的 Database 了.</p>
<p>Update: 2007-03-16</p>
<p>因為 require_gem 已經被廢除了，所以改用 require &#8216;active_record&#8217; 代替</p>
<p>另外，從 <a href="http://lightyror.thegiive.net/index.html" title="Lighty Ror" target="_blank">Lighty RoR 最簡潔有力的網頁框架</a>: <a href="http://lightyror.thegiive.net/2007/03/rails-activerecord_15.html" target="_blank">在 Rails 之外使用 ActiveRecord</a> 這篇中發現，還可以利用設定 config 的方式將 ActiveRecord 的設定寫在 code 外</p>
<p>想知道詳細用法可至上述網頁看看 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/12/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/12/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=12&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2006/12/17/%e5%a6%82%e4%bd%95%e5%9c%a8%e5%af%ab%e4%b8%80%e8%88%ac-ruby-code-%e6%99%82%e4%bd%bf%e7%94%a8-rails-%e7%9a%84-activerecord-%e5%ad%98%e5%8f%96-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>How to install Trac on Ubuntu</title>
		<link>http://philipatswarchy.wordpress.com/2006/12/17/how-to-install-trac-on-ubuntu/</link>
		<comments>http://philipatswarchy.wordpress.com/2006/12/17/how-to-install-trac-on-ubuntu/#comments</comments>
		<pubDate>Sun, 17 Dec 2006 06:10:20 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[Trac]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2006/12/17/how-to-install-trac-on-ubuntu/</guid>
		<description><![CDATA[Prerequisites

 Apache with SSL
SVN

Installation

Install Package

$ sudo apt-get install trac


Create the Trac Environments Directory

$ sudo mkdir /home/trac
$ sudo chown www-data:www-data /home/trac


Setup Apache2
&#60;VirtualHost servername:443&#62;
    ServerName servername
    ServerAdmin admin@servername

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem

    DocumentRoot /var/www/trac
    &#60;Directory /&#62;
    [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=11&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h3>Prerequisites</h3>
<ul>
<li> Apache with SSL</li>
<li>SVN</li>
</ul>
<h3>Installation</h3>
<ol>
<li><strong>Install Package</strong>
<ul>
<li><code>$ sudo apt-get install trac</code></li>
</ul>
</li>
<li><strong>Create the Trac Environments Directory</strong>
<ul>
<li><code>$ sudo mkdir /home/trac</code></li>
<li><code>$ sudo chown www-data:www-data /home/trac</code></li>
</ul>
</li>
<li><strong>Setup Apache2</strong>
<pre>&lt;VirtualHost servername:443&gt;
    ServerName servername
    ServerAdmin admin@servername

    SSLEngine On
    SSLCertificateFile /etc/apache2/ssl/apache.pem

    DocumentRoot /var/www/trac
    &lt;Directory /&gt;
        Options None
        AllowOverride None
        allow from all
    &lt;/Directory&gt;

    # Trac settings
    &lt;Directory "/var/www/trac"&gt;
        Options +FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    &lt;/Directory&gt;

    &lt;Directory "/var/www/trac/projects"&gt;
        AllowOverride None
        Options ExecCGI -MultiViews +FollowSymLinks
        AddHandler cgi-script .cgi
        Order allow,deny
        Allow from all
    &lt;/Directory&gt;

    # for multiple projects
    RewriteEngine on
    RewriteRule ^/projects/+$            /projects/index.html [L]
    RewriteCond /home/trac/$1            -d
    RewriteRule ^/projects/([[:alnum:]_]+)(/?.*)    /projects/trac.c
gi$2 [S=1,E=TRAC_ENV:/home/trac/$1]
    RewriteRule ^/projects/(.*)          /projects/index.html

    # You need this to allow users to authenticate
    # trac.htpasswd can be created with
    # cmd 'htpasswd -c trac.htpasswd' (UNIX)
    # do 'man htpasswd' to see all the options
    &lt;LocationMatch "/projects/[[:alnum:]_]+/login"&gt;
        AuthType Basic
        AuthName "trac"
        require group dev
    &lt;/locationMatch&gt;

    ErrorLog /var/log/apache2/trac_error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/trac_access.log combined
    ServerSignature On
&lt;/VirtualHost&gt;</pre>
</li>
<li><strong>Setup Trac web home directory (/var/www/trac)</strong>
<ul>
<li>index.html</li>
<li>projects/
<ul>
<li>trac.cgi -&gt; /usr/share/trac/cgi-bin/trac.cgi</li>
</ul>
</li>
<li>trac -&gt; /usr/share/trac/htdocs</li>
</ul>
</li>
<li><strong>Restart Apache</strong>
<ul>
<li><code>$ sudo chown -R www-data /usr/share/trac</code></li>
<li><code>$ sudo apache2 -k restart</code></li>
</ul>
</li>
<li><strong>Creating Environments</strong>
<ul>
<li><code>$ sudo mkdir /home/trac</code></li>
<li><code>$ sudo trac-admin /home/trac/YourProjectNameHere initenv</code></li>
<li><code>$ sudo chown -R www-data /home/trac/YourProjectNameHere</code></li>
<li> The &#8220;trac-admin&#8221; command shown above prompted me to enter:
<ul>
<li>the project name (<tt>YourProjectNameHere</tt>)</li>
<li>the path to svn repository (<tt>/home/svn/YourProjectNameHere</tt>)</li>
<li>the path to the Trac templates directory (<tt>/usr/share/trac/templates</tt>)</li>
<li>&#8230;</li>
</ul>
</li>
</ul>
</li>
<li><strong>Access your project</strong>
<ul>
<li><code>https://servername/project/YourProjectNameHere</code></li>
</ul>
</li>
</ol>
<h3> Reference Link:</h3>
<p><a href="http://trac.edgewall.org/wiki/TracOnUbuntu" title="TracOnUbuntu - The Trac Project - Trac" target="_blank">TracOnUbuntu &#8211; The Trac Project &#8211; Trac </a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/11/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/11/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/11/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/11/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/11/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=11&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2006/12/17/how-to-install-trac-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
		<item>
		<title>BACKUP and RESTORE WIKI/SVN/TRAC</title>
		<link>http://philipatswarchy.wordpress.com/2006/12/17/backup-and-restore-wikisvntrac/</link>
		<comments>http://philipatswarchy.wordpress.com/2006/12/17/backup-and-restore-wikisvntrac/#comments</comments>
		<pubDate>Sun, 17 Dec 2006 05:16:55 +0000</pubDate>
		<dc:creator>Philip</dc:creator>
				<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[Subversion]]></category>
		<category><![CDATA[Trac]]></category>

		<guid isPermaLink="false">http://philipatswarchy.wordpress.com/2006/12/17/backup-and-restore-wikisvntrac/</guid>
		<description><![CDATA[WIKIDB

Backup

mysqldump -u root -pxxxxxx wikidb &#62; backup.sql


Restore

mysql  -u root -pxxxxxx wikidb &#60; backup.sql



SVN

Backup

svnadmin dump /svn/repository_path &#62; dumpfile


Restore

svnadmin load /svn/repository_path &#60; dumpfile



TRAC

Backup

Copy /trac/projrct


Restore

Just put the copy back&#8230;



       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=10&subd=philipatswarchy&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h3>WIKIDB</h3>
<ul>
<li>Backup
<ul>
<li>mysqldump -u root -pxxxxxx wikidb &gt; backup.sql</li>
</ul>
</li>
<li>Restore
<ul>
<li>mysql  -u root -pxxxxxx wikidb &lt; backup.sql</li>
</ul>
</li>
</ul>
<h3>SVN</h3>
<ul>
<li>Backup
<ul>
<li>svnadmin dump /svn/repository_path &gt; dumpfile</li>
</ul>
</li>
<li>Restore
<ul>
<li>svnadmin load /svn/repository_path &lt; dumpfile</li>
</ul>
</li>
</ul>
<h3>TRAC</h3>
<ul>
<li>Backup
<ul>
<li>Copy /trac/projrct</li>
</ul>
</li>
<li>Restore
<ul>
<li>Just put the copy back&#8230;</li>
</ul>
</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/philipatswarchy.wordpress.com/10/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/philipatswarchy.wordpress.com/10/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/philipatswarchy.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/philipatswarchy.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/philipatswarchy.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/philipatswarchy.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/philipatswarchy.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/philipatswarchy.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/philipatswarchy.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/philipatswarchy.wordpress.com/10/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/philipatswarchy.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/philipatswarchy.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=philipatswarchy.wordpress.com&blog=573100&post=10&subd=philipatswarchy&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://philipatswarchy.wordpress.com/2006/12/17/backup-and-restore-wikisvntrac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6d9e951041f4c41c876beba1c3cd4e58?s=96&#38;d=identicon" medium="image">
			<media:title type="html">Philip</media:title>
		</media:content>
	</item>
	</channel>
</rss>