<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0" xml:base="http://dennys.tiger2.net">
<channel>
 <title>Dennys Diary</title>
 <link>http://dennys.tiger2.net</link>
 <description />
 <language>zh-hant</language>
<geo:lat>24.820393</geo:lat><geo:long>120.980072</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/dennys" type="application/rss+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">dennys</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdennys" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdennys" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdennys" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.bloglines.com/sub/http://feeds.feedburner.com/dennys" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdennys" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fdennys" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fdennys" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
 <title>XBMC Babylon 9.04 安裝筆記</title>
 <link>http://dennys.tiger2.net/blog/2009/07/01/xbmc-904-babylon</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;這篇是寫給自己看的, 這樣以後才知道 upgrade 時要作些什麼...&lt;/p&gt;
&lt;p&gt;&lt;a href="http://xbmc.org/"&gt;XBMC&lt;/a&gt; 現在的安裝比以前簡單多了, download, 解開, 就可以執行了, 需要設定的地方很少了, 我只做了幾個動作.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;把喜歡的字型放到 media\Fonts, 我是直接把 arial.ttf 蓋掉.&lt;/li&gt;
&lt;li&gt;把 language 目錄下用不到的語言檔都刪除.&lt;/li&gt;
&lt;li&gt;把 skin\PM3.HD\language 目錄下用不到的語言檔都刪除.&lt;/li&gt;
&lt;li&gt;修改 skin\Project Mayhem III\NTSC\Font.xml 或是 skin\PM3.HD\720p (看你用哪個 skin), 把字型放大, 因為懶得研究哪個設定是對應到那個項目的, 所以我把所有小於 24 的全部都改成 24. 不過說實在的, 覺得還是有點小...&lt;/li&gt;
&lt;li&gt;如果是全新安裝, 到這裡就可以了. 如果是升級, 把之前的 UserData 目錄拿來用, 就所有的設定和資料都回來了.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;幾個比較重要的設定檔如下:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UserData\guisettings.xml: 所有的 GUI 設定都在這裡, 萬一設定搞爛掉了 (i.e. 設定錯誤的字型或 skin, 會讓整個畫面的字都出不來), 可以備份這個檔案回來即可.&lt;/li&gt;
&lt;li&gt;UserData\sources.xml: 這個檔案放的是外部資源的設定, 譬如設定把家裏其他電腦用網路芳鄰分享出來的目錄, 就會存在這個檔案裡面.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最後, 關於 &lt;a href="http://xbmc.org/" class="alinks-link" title="XBMC Media Center"&gt;XBMC&lt;/a&gt; 9.04 Babylon 的新功能可參考下列文章.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://fafner-hideaway.blogspot.com/2009/04/xbmc-babylon-alpha-1.html"&gt;XBMC Babylon Alpha 1 試用心得&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fafner-hideaway.blogspot.com/2009/04/xbmc-babylon-alpha-1_06.html"&gt;XBMC Babylon Alpha 1 中文影片資料庫模式&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://fafner-hideaway.blogspot.com/2009/04/xbmc-babylon-beta-1-and-espn-video.html"&gt;XBMC Babylon Beta 1 and ESPN Video Plugin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hNAjxMDWSSvZmQI_nSNFrq99R-k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hNAjxMDWSSvZmQI_nSNFrq99R-k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hNAjxMDWSSvZmQI_nSNFrq99R-k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hNAjxMDWSSvZmQI_nSNFrq99R-k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=KWiCqg2a0gI:WCsQcEAqnKk:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=KWiCqg2a0gI:WCsQcEAqnKk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=KWiCqg2a0gI:WCsQcEAqnKk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=KWiCqg2a0gI:WCsQcEAqnKk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=KWiCqg2a0gI:WCsQcEAqnKk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=KWiCqg2a0gI:WCsQcEAqnKk:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/07/01/xbmc-904-babylon#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/12">Media</category>
 <pubDate>Tue, 30 Jun 2009 22:04:48 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2326 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>Miranda-IM 0.8, 終於支援 MSN Offline message 了</title>
 <link>http://dennys.tiger2.net/blog/2009/06/18/miranda-im-0.8</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;&lt;a ref="http://www.miranda-im.org/2009/06/17/miranda-im-v0-8-0-released/"&gt;Miranda-IM 0.8&lt;/a&gt;, 終於支援 MSN Offline message 了. 之前不支援的時候, 一直有個不方便的地方, 就是如果有人用送訊息過來然後斷線, 或是有人用 invisible 送訊息過來, 沒法送 offline message 的話, 就沒法送訊息回去. 為了這個還得開個 &lt;a href="http://www.pidgin.im/"&gt;Pidgen&lt;/a&gt; (因為沒有裝 MSN, 而有 portable 的 IM 軟體大概也只有 &lt;a href="http://www.miranda-im.org/" class="alinks-link" title="Miranda IM client"&gt;Miranda-IM&lt;/a&gt; 和 Pidgen 了), 實在是頗不方便.&lt;/p&gt;
&lt;p&gt;新功能可參考上面連結, 下面是 Common 和 MSN 的部份(AIM, ICQ, IRC 等也沒在用就沒看了).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for multiple accounts (without dll renaming) for all protocols &lt;/li&gt;
&lt;li&gt;SSL support has been added to the core &lt;/li&gt;
&lt;li&gt;Support for compressed HTTP transactions &lt;/li&gt;
&lt;li&gt;MSN: Rewritten to support WLM 8.5 protocol (and all it features) &lt;/li&gt;
&lt;li&gt;MSN: &lt;strong&gt;Offline messaging&lt;/strong&gt; &lt;/li&gt;
&lt;li&gt;MSN: Added Hotmail Notifier functionality&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;升級過程基本上是很順利的, 碰到幾個問題&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;所有自己輸入的 Nickname 都沒了&lt;/li&gt;
&lt;li&gt;JGMail (我用這個來上 GTalk, 並且可以自動檢查 &lt;a href="http://gmail.com/" class="alinks-link" title="Google Mail"&gt;GMail&lt;/a&gt; 的新信.) 看來完全不相容, 找了一下, 更新成 &lt;a href="http://forums.miranda-im.org/showthread.php?t=5730"&gt;0.6.2.2&lt;/a&gt; 就可以了&lt;/li&gt;
&lt;li&gt;&lt;a href="http://addons.miranda-im.org/details.php?action=viewfile&amp;amp;id=2457"&gt;tabSRMM&lt;/a&gt;不會自動更新, 得自己去抓新版的下來.(這和 0.8 應該沒關)
&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;另外, 關於 multiple account 的部份, 以前是 copy 幾個 DLL 出來 (MSN2.DLL, MSN3.DLL, ...), 現在內建支援了, 可參考&lt;a href="http://wiki.miranda-im.org/Connecting_to_multiple_accounts"&gt;這邊&lt;/a&gt; (我沒在用, 就沒有測試這部份了)&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/N999xuw0OW54tW0vxFfGM9h0BW0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N999xuw0OW54tW0vxFfGM9h0BW0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/N999xuw0OW54tW0vxFfGM9h0BW0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/N999xuw0OW54tW0vxFfGM9h0BW0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g-sbE5vZiEA:n7_NWK6RbVM:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g-sbE5vZiEA:n7_NWK6RbVM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=g-sbE5vZiEA:n7_NWK6RbVM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g-sbE5vZiEA:n7_NWK6RbVM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g-sbE5vZiEA:n7_NWK6RbVM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g-sbE5vZiEA:n7_NWK6RbVM:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/06/18/miranda-im-0.8#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/30">Miranda-IM</category>
 <pubDate>Sat, 20 Jun 2009 23:57:57 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2325 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>在 Oracle 上使用 Regular Expression</title>
 <link>http://dennys.tiger2.net/blog/2009/06/01/oracle-regular-expression</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;最近有個 SQL 的需求, 內容很簡單, 要把某個欄位是 '99', '999', '9999', ..., '9...9999' (最多是30個9) 的資料都 SELECT 出來, 方法其實也很簡單, 就 SELECT * FROM table1 WHERE field1 IN ('99', '999', '9999', .....) 就可以了, 不過問題在於, 類似的條件有三個, 所以寫起來就會變成 IN 裡面有 100 個參數... 當然是可以解決, 不過覺得方法滿 ugly 的. 而且, 印象中, IN 後面參數太多, 會導致 performance 變差. 之前就是有個需求, IN 後面的參數個數不固定, 但又要求一定要用 bind variable, 不能在程式裡面用字串產生 SQL, 於是就寫成 IN (?,?,?,?,...) 固定寫 100 個, 如果查詢個數不到 100 個, 就給空值, 超過 100 個, 就用迴圈. 那時候就有發現 IN 太多, 速度會變慢...&lt;/p&gt;
&lt;p&gt;本來第一個反應是如果有 &lt;a href="http://zh.wikipedia.org/w/index.php?title=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&amp;amp;variant=zh-tw"&gt;Regular Expression&lt;/a&gt; 的話就簡單了, 不過印象中 Oracle 並沒有支援. 但是查了一下, 原來 Oracle 10g 開始就有提供 Regular Expression 了. 目前提供了 4 個 function, 分別是 REGEXP_LIKE, REGEXP_INSTR, REGEXP_SUBSTR 和 REGEXP_REPLACE, 相對於以前的 LIKE, INSTR, SUBSTR 以及 REPLACE.&lt;/p&gt;
&lt;p&gt;所以呢, 最後就寫成&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="sql geshifilter-sql" style="font-family:monospace;"&gt;&lt;ol&gt;&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #993333; font-weight: bold;"&gt;SELECT&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;*&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &lt;span style="color: #993333; font-weight: bold;"&gt;FROM&lt;/span&gt; table1&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: bold; font-style: italic;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp;&lt;span style="color: #993333; font-weight: bold;"&gt;WHERE&lt;/span&gt; REGEXP_LIKE&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;field1&lt;span style="color: #66cc66;"&gt;,&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;'^([9]{2,30})$'&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;YA! 搞定收工 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/020_bingo.gif" title="bingo" alt="bingo" class="smiley-content" /&gt;&lt;/p&gt;
&lt;p&gt;參考文件:&lt;br /&gt;
&lt;a href="http://www.oracle.com/technology/oramag/webcolumns/2003/techarticles/rischert_regexp_pt1.html"&gt;Writing Better SQL Using Regular Expressions&lt;/a&gt;, 這份是官方文件, 第一頁是介紹, 第二頁有詳細的參數說明&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hR0hBDoCYl1-GGbzQ6TPyp_EuxA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hR0hBDoCYl1-GGbzQ6TPyp_EuxA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hR0hBDoCYl1-GGbzQ6TPyp_EuxA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hR0hBDoCYl1-GGbzQ6TPyp_EuxA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=3HcUQoB0oag:1nT8SPebLtw:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=3HcUQoB0oag:1nT8SPebLtw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=3HcUQoB0oag:1nT8SPebLtw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=3HcUQoB0oag:1nT8SPebLtw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=3HcUQoB0oag:1nT8SPebLtw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=3HcUQoB0oag:1nT8SPebLtw:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/06/01/oracle-regular-expression#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/47">Oracle</category>
 <pubDate>Sun, 31 May 2009 22:01:50 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2321 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>Run an Oracle Stored Procedure Without Create</title>
 <link>http://dennys.tiger2.net/blog/2009/05/28/oracle-procedure-without-deploy</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;如果想要在 Oracle 測試某個 Stored Procedure, 但是又不想把程式 create 起來, 可以用下面的方法. 把程式直接宣告起來, 然後再呼叫, 就可以了. &lt;/p&gt;
&lt;p&gt;&lt;div class="geshifilter"&gt;&lt;div class="plsql geshifilter-plsql" style="font-family:monospace;"&gt;&lt;ol&gt;&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #00F;"&gt;DECLARE&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #00F;"&gt;PROCEDURE&lt;/span&gt; proc1&lt;span style="color: #00F;"&gt;&amp;#40;&lt;/span&gt;var1 &lt;span style="color: #00F;"&gt;VARCHAR2&lt;/span&gt;&lt;span style="color: #00F;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #00F;"&gt;IS&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #00F;"&gt;BEGIN&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &lt;span style="color: #00F;"&gt;DBMS_OUTPUT&lt;/span&gt;&lt;span style="color: #00F;"&gt;.&lt;/span&gt;put_line&lt;span style="color: #00F;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #F00;"&gt;'this is in proc1'&lt;/span&gt;&lt;span style="color: #00F;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #00F;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: bold; font-style: italic;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #00F;"&gt;END&lt;/span&gt;&lt;span style="color: #00F;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #00F;"&gt;BEGIN&lt;/span&gt; proc1&lt;span style="color: #00F;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #F00;"&gt;'parameter1'&lt;/span&gt;&lt;span style="color: #00F;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #00F;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &lt;span style="color: #00F;"&gt;DBMS_OUTPUT&lt;/span&gt;&lt;span style="color: #00F;"&gt;.&lt;/span&gt;put_line&lt;span style="color: #00F;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #F00;"&gt;'this is main'&lt;/span&gt;&lt;span style="color: #00F;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #00F;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&lt;span style="color: #00F;"&gt;END&lt;/span&gt;&lt;span style="color: #00F;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;換個角度來說, 就是即使沒有 create procedure 的權限, 也可以執行 stored procedure... 怎麼感覺好像是漏洞啊 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/Roving/tongue.png" title="Tongue" alt="Tongue" class="smiley-content" /&gt;&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/y5DRwerR2ah8QBIcL809mx6SQtE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y5DRwerR2ah8QBIcL809mx6SQtE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/y5DRwerR2ah8QBIcL809mx6SQtE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/y5DRwerR2ah8QBIcL809mx6SQtE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=tFTJQHwKuCc:uSGbsdyMuOM:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=tFTJQHwKuCc:uSGbsdyMuOM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=tFTJQHwKuCc:uSGbsdyMuOM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=tFTJQHwKuCc:uSGbsdyMuOM:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=tFTJQHwKuCc:uSGbsdyMuOM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=tFTJQHwKuCc:uSGbsdyMuOM:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/05/28/oracle-procedure-without-deploy#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/47">Oracle</category>
 <pubDate>Wed, 27 May 2009 22:11:21 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2300 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>Google Calendar 就是要這樣才好用啊</title>
 <link>http://dennys.tiger2.net/blog/2009/05/19/google-calendar-task</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;&lt;a href="http://www.google.com/calendar/"&gt;Google Calendar&lt;/a&gt; 真是個好東西, 只是一直沒有 to-do list 之類的功能. &lt;a href="http://gmail.com/" class="alinks-link" title="Google Mail"&gt;GMail&lt;/a&gt; 前一陣子已經有提供了, 不過 to-do list 這東西還是和 calendar 比較接近吧. 最近 &lt;a href="http://www.google.com/calendar" class="alinks-link" title=""&gt;Google Calendar&lt;/a&gt; 也提供這個功能了, 叫做 tasks, 可參考 &lt;a href="http://gmailblog.blogspot.com/2009/05/tasks-now-in-calendar-too.html"&gt;Tasks, now in Calendar too&lt;/a&gt;, 有提到如何使用 Tasks&lt;/p&gt;
&lt;p&gt;結果如下 (可以點圖進入 Flickr 之後, 選全部尺寸, 看最大的), 我是只有建兩個 calendar, 一個個人用, 一個工作用, 然後分成兩種顏色. 右邊放 task, 再利用 &lt;a href="http://userscripts.org/scripts/show/8507"&gt;Google Calendar Header and Navigation Switcher&lt;/a&gt; 把畫面放到最大 (要使用這個得先安裝 &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/748"&gt;Greasemonkey&lt;/a&gt;, 當然 &lt;a href="http://firefox.org/"&gt;Firefox&lt;/a&gt; only), 在 1024x768 的畫面就很清楚了.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/dennys_blog/3546229174" title="Google Calendar"&gt;&lt;img src="http://farm4.static.flickr.com/3575/3546229174_396d50a3c4.jpg" alt="Google Calendar" title="Google Calendar"  style="margin:5px;" class=" flickr-photo-img" height="387" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;這樣就不用再去&lt;a href="http://www.rememberthemilk.com/"&gt;記得什麼牛奶&lt;/a&gt;了 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/Roving/tongue.png" title="Tongue" alt="Tongue" class="smiley-content" /&gt; (當然, Remember The Milk 的功能是很強, 只是我只需要一個簡單的 to-do list 而已啊)&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/UF2wrYlLEEn_Fd3vdx-9AeIJIBQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UF2wrYlLEEn_Fd3vdx-9AeIJIBQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/UF2wrYlLEEn_Fd3vdx-9AeIJIBQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/UF2wrYlLEEn_Fd3vdx-9AeIJIBQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=2_Vxutidjh8:DgnyQd0McWk:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=2_Vxutidjh8:DgnyQd0McWk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=2_Vxutidjh8:DgnyQd0McWk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=2_Vxutidjh8:DgnyQd0McWk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=2_Vxutidjh8:DgnyQd0McWk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=2_Vxutidjh8:DgnyQd0McWk:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/05/19/google-calendar-task#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/24">Google</category>
 <pubDate>Tue, 19 May 2009 15:59:27 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2320 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>洋蔥黃椒炒蛋</title>
 <link>http://dennys.tiger2.net/blog/2009/05/14/onion-capsicum-annuum-egg</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;今天下班後, 想著晚餐要吃什麼... 想到昨天長輩有說, 冰箱有水餃, 於是呢, 就準備回家吃水餃了... &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/008_watery.gif" title="watery 水汪汪" alt="watery 水汪汪" class="smiley-content" /&gt;&lt;/p&gt;
&lt;p&gt;煮水餃呢, 當然一開始就是要煮開水啦, 很快的, 水開了, 打開冰箱 ... 翻翻翻翻翻翻翻翻翻翻翻翻翻翻翻 ... 怎麼沒有水餃呢 ... 偶然眼睛往旁邊一瞄, 看到空袋子, 原來, 已經被人捷足先登了 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/018_不要啊.gif" title="不要啊" alt="不要啊" class="smiley-content" /&gt; &lt;/p&gt;
&lt;p&gt;但是飯還是要吃的, 總不能餓壞自己... 於是呢, 就繼續翻冰箱, 看到 雞蛋, 嗯, 這個會處理. 洋蔥, 這個也沒問題, 只要記得切的時候要放到水裡面, 就不會淚眼汪汪了... 黃椒, 這個也不錯, 那就來個洋蔥黃椒炒蛋吧 ...  &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/dennys_blog/3531169568" title="洋蔥黃椒炒蛋"&gt;&lt;img src="http://farm3.static.flickr.com/2014/3531169568_c733420af3.jpg" alt="洋蔥黃椒炒蛋" title="洋蔥黃椒炒蛋"  style="margin:5px;" class=" flickr-photo-img" height="375" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;首先呢, 謹記長輩的指示, 在製作 XX炒蛋的時候, 一定要先炒蛋, 炒個大概就可以, 然後拿起來, 再把其他東西放進去, 等差不多了再把蛋放回去, 這樣蛋就不會消失... 於是, 蛋就打下去了, 大概八分熟就先拿起來. 再來就把切好的洋蔥和黃椒也放進去快炒... 炒的過程中發現, 有些洋蔥和黃椒太大塊了, 一定是剛剛&lt;a href="http://sunnys.tiger2.net/node/560"&gt;刀子&lt;/a&gt;不利, 所以沒切好... 於是當場表演起大火快炒加在鍋裡切菜 (叔叔是有練過的, 小朋友請勿模仿啊 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/Roving/wink.png" title="Wink" alt="Wink" class="smiley-content" /&gt;) ... &lt;/p&gt;
&lt;p&gt;其實最近假日還滿常亂煮的, 只是手邊都沒相機, 最後成品如下, 這就是今日晚餐, 洋蔥黃椒炒蛋 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/007_讚美主.gif" title="讚美主" alt="讚美主" class="smiley-content" /&gt;&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/dennys_blog/3530367421" title="洋蔥黃椒炒蛋"&gt;&lt;img src="http://farm3.static.flickr.com/2288/3530367421_f0f3ec3554.jpg" alt="洋蔥黃椒炒蛋" title="洋蔥黃椒炒蛋"  style="margin:5px;" class=" flickr-photo-img" height="375" width="500" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;後記1: 其實我根本沒有放到水裡切洋蔥... 也沒有流眼淚啊. 這次才切半顆, 上次切一顆也沒有... 大概是洋蔥進化了吧 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/Roving/tongue.png" title="Tongue" alt="Tongue" class="smiley-content" /&gt;&lt;br /&gt;
後記2: 大火快炒加在鍋裡切菜是把火先關掉再切的, 沒事還是不要亂演特技啊&lt;br /&gt;
後記3: 學一下英文, 青椒是 &lt;a href="http://en.wikipedia.org/wiki/Capsicum_annuum"&gt;capsicum annuum&lt;/a&gt;, 不知道英文有沒有分不同顏色的青椒...&lt;/p&gt;
&lt;p&gt;最後呢, 謝謝觀賞, 下次有機會再和大家分享...  &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/032_掰掰.gif" title="掰掰" alt="掰掰" class="smiley-content" /&gt;&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r_PqI3DQUJN-vboY6ns3rbleSeQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r_PqI3DQUJN-vboY6ns3rbleSeQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r_PqI3DQUJN-vboY6ns3rbleSeQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r_PqI3DQUJN-vboY6ns3rbleSeQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g8PAhFXy-Ps:T6ZAbokhs2E:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g8PAhFXy-Ps:T6ZAbokhs2E:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=g8PAhFXy-Ps:T6ZAbokhs2E:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g8PAhFXy-Ps:T6ZAbokhs2E:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g8PAhFXy-Ps:T6ZAbokhs2E:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=g8PAhFXy-Ps:T6ZAbokhs2E:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/05/14/onion-capsicum-annuum-egg#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/58">Food</category>
 <pubDate>Thu, 14 May 2009 15:45:28 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2319 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>懶人整合 Apache + SVN</title>
 <link>http://dennys.tiger2.net/blog/2009/05/03/apache-svn-integration</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;假設 &lt;a href="http://httpd.apache.org/"&gt;Apache&lt;/a&gt; 和 &lt;a href="http://subversion.tigris.org/"&gt;SVN&lt;/a&gt; 都裝好了&lt;/p&gt;
&lt;p&gt;1. 因為懶得自己 build, 但是又得生出 library, 所以直接找現成的. 我用的是 &lt;a href="http://bitnami.org/stacks"&gt;BitNami Stack&lt;/a&gt;. BitName 提供了很多現成安裝整合好的工具, 類似 &lt;a href="http://www.apachefriends.org/zh_tw/xampp.html"&gt;XAMPP&lt;/a&gt;. 以我使用的 &lt;a href="http://bitnami.org/stack/redmine"&gt;BitName Redmine&lt;/a&gt; 為例, 裝好之後, 把 /opt/redmine-0.8.3-0/apache2/modules/ 的 mod_dav_svn.so 和 mod_authz_svn.so 給 copy 出來, 放到你自己的 &lt;a href="http://httpd.apache.org/" class="alinks-link" title="Apache"&gt;Apache&lt;/a&gt; 的 module 目錄下&lt;/p&gt;
&lt;p&gt;2. 把 /opt/redmine-0.8.3-0/subversion/lib 的所有東西也 copy 到 Apache 的 lib 目錄下 (這部份有點討厭, 因為 library 就混在一起了, 應該有辦法分目錄吧?)&lt;/p&gt;
&lt;p&gt;3. 執行 svnadmin create /path/to/repository&lt;br /&gt;
建立好你的 SVN 的 repository 目錄&lt;/p&gt;
&lt;p&gt;4. 建立 Apache 的帳號密碼&lt;br /&gt;
如果是第一次建立使用這個指令&lt;br /&gt;
&lt;span class="geshifilter"&gt;&lt;code class="geshifilter-text"&gt;htpasswd -c /path/to/somedirectory/htpasswd admin_user&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
如果是修改密碼則把 -c 拿掉即可, 如下&lt;br /&gt;
&lt;span class="geshifilter"&gt;&lt;code class="geshifilter-text"&gt;htpasswd /path/to/somedirectory/htpasswd admin_user&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
另外, 也可以透過 &lt;a href="http://www.htaccesstools.com/htpasswd-generator/"&gt;Htpasswd Generator&lt;/a&gt; 這個網站來產生編碼過的密碼&lt;/p&gt;
&lt;p&gt;5. 修改 httpd.conf 加上這兩行&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;LoadModule dav_svn_module modules/mod_dav_svn.so&lt;br /&gt;
LoadModule authz_svn_module modules/mod_authz_svn.so&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;6. 修改 httpd.conf 或是存放 virtual host 的檔案, 以 XAMPP 來講是 httpd-vhosts.conf&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;&amp;nbsp; &amp;nbsp; &amp;lt;Location /svn&amp;gt;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; DAV svn&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; SVNPath /path/to/repository&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; AuthType Basic&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; AuthName &amp;quot;ubversion repositories&amp;quot;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; AuthUserFile /path/to/somedirectory/htpasswd&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; Require valid-user&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;lt;/Location&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;7. 重啟 Apache 之後, &lt;a href="http://example.com/svn" title="http://example.com/svn"&gt;http://example.com/svn&lt;/a&gt; 就可以直接存取了.&lt;/p&gt;
&lt;p&gt;注意: 以上真的是懶人法, 有不少東西都沒設定到, 譬如 SVN 的權限管理之類的. 目的只是弄個可以給自己個人透過 Apache 存取的 SVN 而已.&lt;/p&gt;
&lt;p&gt;另外, 在用 SVN 的過程中發生慘劇, 因為 SVN 會產生很多 .svn 的檔案, 而我在建立某些新功能時, 直接把整個目錄作 copy/paste 然後就開始改寫, 結果看來是 SVN 把新目錄當成舊目錄, 程式碼就亂掉了... &lt;a href="http://www.selenic.com/mercurial/wiki/"&gt;Mercurial&lt;/a&gt; 只會產生一個 .hg 檔案, 而且 &lt;a href="http://www.google.com/" class="alinks-link" title=""&gt;Google&lt;/a&gt; 也&lt;a href="http://google-code-updates.blogspot.com/2009/04/mercurial-support-for-project-hosting.html"&gt;宣佈&lt;/a&gt;將會支援 Mercurial, 或許可以研究一下, 不過 &lt;a href="http://bitbucket.org/tortoisehg/stable/wiki/Home"&gt;TortoiseHg&lt;/a&gt; (Mercurial 的 GUI) 是那種和檔案總管整合在一起的, 我個人不是很喜歡, 我比較喜歡 standalone 的程式. 另外就是, 還不太會裝 ... 雖然 apt-get install mercurial 就裝起來了, 不過得先花點時間弄清處他的安裝, 重點是要好搬家和重灌, 如果是像 SVN 那樣, 只是一個目錄就可以搬來搬去的話就很讚了.&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/h4Nclch5k1kq58-Giv8sjyqnwDk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h4Nclch5k1kq58-Giv8sjyqnwDk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/h4Nclch5k1kq58-Giv8sjyqnwDk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/h4Nclch5k1kq58-Giv8sjyqnwDk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=_JOT88cwGGE:6gqfcJF4_Xw:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=_JOT88cwGGE:6gqfcJF4_Xw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=_JOT88cwGGE:6gqfcJF4_Xw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=_JOT88cwGGE:6gqfcJF4_Xw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=_JOT88cwGGE:6gqfcJF4_Xw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=_JOT88cwGGE:6gqfcJF4_Xw:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/05/03/apache-svn-integration#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/19">Apache</category>
 <pubDate>Sat, 02 May 2009 23:34:22 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2317 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>如何對 Drupal 的 cron 做 Debug </title>
 <link>http://dennys.tiger2.net/blog/2009/03/26/drupal-cron-debug</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;&lt;a href="http://drupal.org/" class="alinks-link" title=""&gt;Drupal&lt;/a&gt; 的 cron 是個好用的東西, 但有時候出問題時也很難 debug, 當看到這幾個訊息時, 通常是上次的 cron 執行失敗了&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;Attempting to re-run cron while it is already running.&lt;br /&gt;
Cron run exceeded the time limit and was aborted.&lt;br /&gt;
Cron has been running for more than an hour and is most likely stuck.&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;在 variable 裡面, 有兩個相關參數, cron_last 是上次執行的時間, cron_semaphore 是代表 cron 正在執行. 所以如果執行 cron 的途中系統掛了, 可能就得手動清掉 semaphore, 不然即使你手動執行 cron, 系統也會回應已經有一個 cron 在執行了. 可用下列指令:&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;DELETE FROM variable WHERE name=&amp;quot;cron_semaphore&amp;quot;;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;另外如果要看 cron 是執行到哪裡出問題了, 可修改 includes/module.inc&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;&amp;nbsp; foreach (module_implements($hook) as $module) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $function = $module .'_'. $hook;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if ($hook == 'cron') watchdog('cron', &amp;quot;hit $module cron&amp;quot;); &amp;nbsp; // add this line&lt;br /&gt;
&amp;nbsp; &amp;nbsp; $result = call_user_func_array($function, $args);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; if (isset($result) &amp;amp;&amp;amp; is_array($result)) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $return = array_merge($return, $result);&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; &amp;nbsp; else if (isset($result)) {&lt;br /&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; $return[] = $result;&lt;br /&gt;
&amp;nbsp; &amp;nbsp; }&lt;br /&gt;
&amp;nbsp; }&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;執行結果如下, 可以看出 cron 執行到哪裡了.&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/dennys_blog/2365667427/" title="Flickr 上 Dennys Blog 的 Drupal cron"&gt;&lt;img src="http://farm4.static.flickr.com/3200/2365667427_6dc881c1b9.jpg" width="500" height="397" alt="Drupal cron" /&gt;&lt;/a&gt;&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6U0rNeLj7riaqabrhRDwAyPOjBQ/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6U0rNeLj7riaqabrhRDwAyPOjBQ/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6U0rNeLj7riaqabrhRDwAyPOjBQ/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6U0rNeLj7riaqabrhRDwAyPOjBQ/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=VFGpWoJZTag:IvT8O9ODPcg:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=VFGpWoJZTag:IvT8O9ODPcg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=VFGpWoJZTag:IvT8O9ODPcg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=VFGpWoJZTag:IvT8O9ODPcg:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=VFGpWoJZTag:IvT8O9ODPcg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=VFGpWoJZTag:IvT8O9ODPcg:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/03/26/drupal-cron-debug#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/27">Drupal</category>
 <pubDate>Wed, 25 Mar 2009 16:00:11 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">425 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>JDBC Leaked Connection in WebLogic</title>
 <link>http://dennys.tiger2.net/blog/2009/03/24/weblogic-jdbc-leaked-connection</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;最近發現某個 &lt;a href="http://www.bea.com/framework.jsp?CNT=index.htm&amp;amp;FP=/content/products/weblogic" class="alinks-link" title=""&gt;WebLogic&lt;/a&gt; 的 JDBC connection 只會增加, 不會減少, 意思是說, 程式和 WebLogic 拿了很多 JDBC connection, 但是都沒有還給系統. 在程式執行一段時間之後, 就會拿不到 JDBC connection 了, 然後就掛了. WebLogic 的 console 可以看到, connection 的數字一直增加.&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/dennys_blog/3373931575" title="jdbc_monitor"&gt;&lt;img src="http://farm4.static.flickr.com/3596/3373931575_16a47e0632_o.jpg" alt="jdbc_monitor" title="jdbc_monitor"  class=" flickr-photo-img" height="132" width="929" /&gt;&lt;/a&gt;&lt;br /&gt;
WebLogic 的  log 如下, 整個 stack trace 就不全列出來了, 重點在於, 當 WebLogic 的 JDBC connection pool 的 connection 都被要光之後, 後面的程式就無法和 database 連線了.&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;java.sql.SQLException: Internal error: Cannot obtain XAConnection &lt;br /&gt;
weblogic.common.resourcepool.ResourceDeadException&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;結果就是:&lt;br /&gt;
User: &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/004_狂暴.gif" title="狂暴" alt="狂暴" class="smiley-content" /&gt;&lt;br /&gt;
Programmer: &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/085_stress.gif" title="stress 壓力" alt="stress 壓力" class="smiley-content" /&gt;&lt;br /&gt;
&lt;br/&gt;&lt;/br/&gt;&lt;/p&gt;
&lt;p&gt;因為在上圖中的 WebLogic 的 console 看到的 "leaked connection count" 一直都是 0, 所以我也沒有往這個方向思考過. 不過後來才發現需要做一些設定才能偵測 leaked connection, 如下&lt;br /&gt;
1. 設定 WebLogic 的 "Inactive Connection Timeout", 這個參數的意義是, 如果有個 JDBC connection 被拿走之後, 超過一段時間沒有使用 (如下圖, 代表 10 分鐘), 則系統就會自動收回. (其實設定這個之後, 這個問題基本上就已經暫時解決了)&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/dennys_blog/3374748492" title="jdbc_connection_pool"&gt;&lt;img src="http://farm4.static.flickr.com/3578/3374748492_ca4a5aa6b2_o.jpg" alt="jdbc_connection_pool" title="jdbc_connection_pool"  class=" flickr-photo-img" height="89" width="881" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;2. 打開偵測的工具, 如下圖, 系統就會在 log 顯示 leaked connection 的資訊&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/dennys_blog/3374748472" title="jdbc_diagnostics"&gt;&lt;img src="http://farm4.static.flickr.com/3587/3374748472_7f27e6d7da_o.jpg" alt="jdbc_diagnostics" title="jdbc_diagnostics"  class=" flickr-photo-img" height="441" width="745" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;設定好之後 (不用重開 WebLogic) , 觀察系統一段時間, 結果如下, 看到 "leaked connection count" 的值不再是 0 了, 而 active connection 在沒人使用時, 也會降到 0 了.&lt;br /&gt;
&lt;a href="http://www.flickr.com/photos/dennys_blog/3374748508" title="jdbc_monitor_leaked"&gt;&lt;img src="http://farm4.static.flickr.com/3554/3374748508_d7bd3e285c_o.jpg" alt="jdbc_monitor_leaked" title="jdbc_monitor_leaked"  class=" flickr-photo-img" height="132" width="929" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;之後 WebLogic 的 log (放在 user_projects/domains/%domainname%/%servername%/logs, 而不是自己 AP 的 log) 如下, 整個 stack trace 滿大的, 重點在第 28 行, 問題發生在 "com.test.dao.getStatus" 這個 method, 意思就是說, 有某個 JDBC connection 在這個程式被拿走之後, 一直沒有還給系統, 於是就找到兇手了.  &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/onion/051_cheerily.gif" title="cheerily 爽" alt="cheerily 爽" class="smiley-content" /&gt;&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;&lt;ol&gt;&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;####&amp;lt;Mar 11, 2009 11:14:36 PM CST&amp;gt; &amp;lt;Warning&amp;gt; &amp;lt;JDBC&amp;gt; &amp;lt;testserver1&amp;gt; &amp;lt;Server1&amp;gt; &amp;lt;[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'&amp;gt; &amp;lt;&amp;lt;WLS Kernel&amp;gt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;&amp;gt; &amp;lt;1236748476017&amp;gt; &amp;lt;BEA-001153&amp;gt; &amp;lt;Forcibly releasing inactive connection &amp;quot;[weblogic.jdbc.wrapper.JTAConnection_weblogic_jdbc_wrapper_XAConnection_oracle_jdbc_driver_LogicalConnection-TEST_DS-311, oracle.jdbc.driver.LogicalConnection@42a794]&amp;quot; back into the connection pool &amp;quot;TEST_DS&amp;quot;, currently reserved by: java.lang.Exception&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.common.internal.ConnectionEnv.setup(ConnectionEnv.java:291)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:314)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.common.resourcepool.ResourcePoolImpl.reserveResource(ResourcePoolImpl.java:292)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:425)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.java:316)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:93)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.common.internal.ConnectionPoolManager.reserve(ConnectionPoolManager.java:61)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.jta.DataSource.getXAConnectionFromPool(DataSource.java:1474)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.jta.DataSource.refreshXAConnAndEnlist(DataSource.java:1303)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.jta.DataSource.getConnection(DataSource.java:426)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.jta.DataSource.connect(DataSource.java:383)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:339)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:81)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:423)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:144)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:139)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.Loader.doQuery(Loader.java:673)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.Loader.doList(Loader.java:2220)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.Loader.list(Loader.java:2099)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.test.dao.getStatus(dao.java:194)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.GeneratedMethodAccessor755.invoke(Unknown Source)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.reflect.Method.invoke(Method.java:585)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:194)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:102)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:133)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:226)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:124)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3395)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.security.service.SecurityManager.runAs(Unknown Source)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2140)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2046)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1366)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.work.ExecuteThread.execute(ExecuteThread.java:200)&lt;/div&gt;&lt;/li&gt;
&lt;li style="font-family: monospace; font-weight: normal;"&gt;&lt;div style="font-family: monospace; font-weight: normal; font-style: normal"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at weblogic.work.ExecuteThread.run(ExecuteThread.java:172)&lt;/div&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;使用環境: WebLogic 10.0 MP1, JDBC driver 使用的是內建的 Oracle thin driver. 另外也發現一件事情, 如果改用 &lt;a href="http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jdbc_drivers/usedriver.html"&gt;Bea 的 Oracle driver&lt;/a&gt;, 則 connection 成長的速度會放慢, 但最後還是一樣會爆掉的啦 &lt;img src="http://dennys.tiger2.net/sites/all/modules/smileys/packs/Roving/tongue.png" title="Tongue" alt="Tongue" class="smiley-content" /&gt;&lt;/p&gt;
&lt;p&gt;ps: 上面的 user v.s. programmer 是虛構的, 這個系統根本就還沒上線...&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/XFWpdtoixp3Pl7eQCkdNEdwPzrY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XFWpdtoixp3Pl7eQCkdNEdwPzrY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/XFWpdtoixp3Pl7eQCkdNEdwPzrY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/XFWpdtoixp3Pl7eQCkdNEdwPzrY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=WgtpwjQ1k9s:ZHqoUke38Ro:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=WgtpwjQ1k9s:ZHqoUke38Ro:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=WgtpwjQ1k9s:ZHqoUke38Ro:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=WgtpwjQ1k9s:ZHqoUke38Ro:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=WgtpwjQ1k9s:ZHqoUke38Ro:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=WgtpwjQ1k9s:ZHqoUke38Ro:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/03/24/weblogic-jdbc-leaked-connection#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/14">Java</category>
 <pubDate>Mon, 23 Mar 2009 16:00:00 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2292 at http://dennys.tiger2.net</guid>
</item>
<item>
 <title>Command Line Deploy on NetWeaver</title>
 <link>http://dennys.tiger2.net/blog/2009/03/21/netweaver-command-line-deploy</link>
 <description>&lt;!-- google_ad_section_start --&gt; &lt;p&gt;要把 ear 檔給 deploy 到 NetWeaver, 標準的作法應該是使用 &lt;a href="http://help.sap.com/SAPHELP_NW70/helpdata/EN/3c/7d9e2588827546a2b8f2e7d8a26434/frameset.htm"&gt;SDM Remote GUI Client&lt;/a&gt;  , 使用上是不困難, 但有幾個缺點&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;雖然說是 Remote GUI, 但是基本上你的環境得有安裝 NetWeaver 才行, 也不知道能不能只單單安裝 SDM. 因此我都是用 VNC 連上去再做 deploy&lt;/li&gt;
&lt;li&gt;GUI 的好處是簡單, 缺點就是你如果常常要做這個動作, 然後一直在選檔案, 執行, 確認, ... 等等按來按去, 按久了也真的滿累的&lt;/li&gt;
&lt;li&gt;這個 GUI 有個很怪的地方, 沒法 re-deploy, 也就是說, 如果要更新版本時, 得先把舊版 un-deploy, 然後再 deploy, 這樣真的滿不方便的&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;因此呢, 需要研究如何在 NetWeaver 上使用 command line deploy. 研讀了一下使用手冊 (裝好 SDM 就有了, 放在 &lt;SDM-Install-Dir&gt;/program/doc/SDMCommandLineDoc***_en_final.pdf), 指令如下&lt;br /&gt;
步驟1: 把 SDM 停下來 (*** 代表你 instance 的名字, 通常是三個大寫字元)&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;/usr/sap/***/JC00/SDM/program/StopServer.sh&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
步驟2: 把模式改成 standalone, 這樣才能做 command line deploy.&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;sdm jstartup sdmhome=/usr/sap/***/JC00/SDM/program mode=standalone&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
步驟3: 執行這個指令, 就可以 deploy 了. updateversions 這個參數的目的在於, 如果版本一樣, 還是可以 re-deploy.&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;cd /usr/sap/***/JC00/SDM/program&lt;br /&gt;
java -jar bin/SDM.jar deploy file=/tmp/AP.ear updateversions=all&lt;/div&gt;&lt;/div&gt;&lt;br/&gt;&lt;/br/&gt;&lt;/sdm-install-dir&gt;&lt;/p&gt;
&lt;p&gt;要注意的是, 上面步驟執行之後, Remote GUI 就不能使用了, 得使用下列指令把模式切回來才能使用 GUI.&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;sdm jstartup sdmhome=/usr/sap/***/JC00/SDM/program mode=standalone&lt;br /&gt;
/usr/sap/***/JC00/SDM/program/StartServer.sh&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;至於 undeploy, 執行下列指令即可, compname/compvendor 請參考 ear 檔裡面的 SAP_MANIFEST.MF&lt;br /&gt;
&lt;div class="geshifilter"&gt;&lt;div class="text geshifilter-text" style="font-family:monospace;"&gt;java -jar bin/SDM.jar undeploy compname=Application_Name compvendor=test.com&lt;/div&gt;&lt;/div&gt;&lt;/p&gt;
&lt;p&gt;以上是 NetWeaver 7.0 的作法, 7.1 不知道會不會有什麼不同.&lt;/p&gt;
&lt;p&gt;參考:&lt;br /&gt;
&lt;a href="http://help.sap.com/saphelp_nw70/helpdata/EN/22/a7663bb3808c1fe10000000a114084/frameset.htm"&gt;NetWeaver Software Deployment Manager&lt;/a&gt;&lt;/p&gt;
 &lt;!-- google_ad_section_end --&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/oIg9haZOdfw_zHxmFxevs1gH53g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIg9haZOdfw_zHxmFxevs1gH53g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/oIg9haZOdfw_zHxmFxevs1gH53g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/oIg9haZOdfw_zHxmFxevs1gH53g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/dennys?a=QRJdwCodXiY:b5BY-ZjjmYo:mPSYA5ADI54"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=mPSYA5ADI54" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=QRJdwCodXiY:b5BY-ZjjmYo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?i=QRJdwCodXiY:b5BY-ZjjmYo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=QRJdwCodXiY:b5BY-ZjjmYo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=QRJdwCodXiY:b5BY-ZjjmYo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/dennys?a=QRJdwCodXiY:b5BY-ZjjmYo:bcOpcFrp8Mo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/dennys?d=bcOpcFrp8Mo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;</description>
 <comments>http://dennys.tiger2.net/blog/2009/03/21/netweaver-command-line-deploy#comments</comments>
 <category domain="http://dennys.tiger2.net/taxonomy/term/14">Java</category>
 <pubDate>Sat, 21 Mar 2009 15:39:27 +0000</pubDate>
 <dc:creator>dennys</dc:creator>
 <guid isPermaLink="false">2291 at http://dennys.tiger2.net</guid>
</item>
</channel>
</rss>
