發表文章

目前顯示的是 2月, 2007的文章

載入 gems 的函式庫

require 'rubygems' require 'rjb' 如上,先載入 rubygems 的函式庫後, 再載入包裝成 gems 的函式庫便可

記錄所有例外訊息

發生例外時,若只會碰出請「發生系統錯誤,請聯絡資訊室」,對資訊室人員而言,他完全不曉得發生什麼例外,所以記錄所有例外訊息,對修改程式助益甚大。 建議加入以下源碼: catch(Throwable e){ String msg = "XXX程序未完成:"+e.getMessage(); log.error(msg); throw new RuntimeException(msg, e); }

檔案衝突管理

SVN 衝突合併檔格式 Top piece of bread Mayonnaise Lettuce Tomato Provolone <<<<<<< .mine Salami Mortadella Prosciutto ======= Sauerkraut Grilled Chicken >>>>>>> .r2 Creole Mustard Bottom piece of bread 如上例 <<<<<<< .mine Salami Mortadella Prosciutto ======= 是本地檔案多出來的差異 ======= Sauerkraut Grilled Chicken >>>>>>> .r2 是線上版本 .r2 多出來的差異 手動解決版本衝突 svn resolved CFILE

版本庫管理

建立版本庫(Repository) 架設 Subversion Server 需要首先要建立一個版本庫(Repository),可以比擬為資料庫的資料檔,如: svnadmin create E:\svndemo\repository 就會在目錄 E:\svndemo\repository下建立一個版本庫。 設定用户和權限 設定認證檔 password-db,修改 E:\svndemo\repository\conf\svnserve.conf: # [general] # password-db = passwd 改為 [general] password-db = passwd 設定認證帳戶-修改同目錄的passwd文件,去掉下面三行的 comment: # [users] # harry = harryssecret # sally = sallyssecret 改成: [users] harry = harryssecret sally = sallyssecret 安裝成 Windows Service 要在 windows 上架 SVN 請安裝以下軟體: svn windows service wrapper 範例: #安裝一個 SVNService 儲存庫在 c:\svnrepo SVNService -install -d -r c:\svnrepo 標準 port: 3690 轉移版本庫 先匯出原來的版本庫至 dumpfile c:\svnlook youngest myrepos 26 c:\svnadmin dump myrepos > dumpfile 再建立一新版本庫 newrepos c:\md newrepos c:\svnadmin create newrepos 匯入 dumpfile c:\svnadmin load newrepos < style="font-weight: bold;">通知使用者轉移 svn 的 URL c:\svn switch --relocate file:///tmp/repos file:///tmp/newlocation . c:\svn update

日期字串互轉

日期字串互轉對資料操作很重要 INFORMIX to_date(strdate, strformat) to_char(date, strformat)

建構 MINUS 等效式

像 Informix 這種不支援 MINUS 運算子的,建構 MINUS 等效式就很重要。 MINUS 運算子第一個運算元的運算式稱為 主查詢 , 第二個運算元的運算式稱為 副查詢 。 select first_name, second_name from doctor MINUS select first_name, second_name from doctor where dept = "surgery" 上式是找出不是外科部的同名同姓醫生。 如上式,select * from doctor 為主查詢, select * from doctor where id == 3 為副查詢。 一般有兩種建構法, 第一是將副查詢的 WHERE 條件作反向式: select * from fred WHERE id != 3; 第二種將副查詢改成投射 rowid 的查詢,令其為 R 並對主查詢加入 rowid NOT IN 副查詢的條件式: select * from doctor WHERE rowid NOT IN (select rowid from fred where id = 3);