使用Java去操作Lotus Notes,大都需要import兩個Jar:Notes.jar與NCSO.jar。只用Notes.jar還需安裝Notes Client才能與Server連,而NCSO.jar則是透過IBM制定的CORBA協議DIIOP連接到Domino Server的。
由IBM提供Sample連接,老是出現以下Exception:
使用Java去操作Lotus Notes,大都需要import兩個Jar:Notes.jar與NCSO.jar。只用Notes.jar還需安裝Notes Client才能與Server連,而NCSO.jar則是透過IBM制定的CORBA協議DIIOP連接到Domino Server的。
由IBM提供Sample連接,老是出現以下Exception:
想不到因為專案關係,接觸可能會派上用場的CORBA。CORBA是跨語言的元件模型,底蘊還摸不清楚,先記下如何使用Maven操作CORBA。
module ChinaApp |
一段時間沒記Blog了,顯示筆者狀態由【研發】轉為【專案】。研發時用Survey最新技術看是否有助提升開發品質,專案時則需選擇最穩定技術,取得進度與風險之間的最佳平衡。三年前接手他人銀行專案前,我為該專案研發最適用的Framework,即使專案成員在程式能力不強,依然需當作客戶看待。之後我接手成為該專案Leader,卻屢屢與其中一位成員衝突,該成員說詞是為何以前可以現在不行,而我回答就是因為可以,前Leader才會被換掉。最後身為Leader,我把他換下來了。角色的轉換,不單關注焦點思維不同,連決策及身負的責任也殊異。
以上與本主題無關,目前要著手的專案,對Log有個By Size與By Time的需求。目前最新的Log4J核心Jar並無此功能,週邊我倒是找到兩個,一個是今年5/18釋出的TimeAndSizeRollingAppender,自http://simonsiteblog.blogspot.com/取得,並無Maven Repository。所以得比照Oracle的JDBC Jar方式放置到Local Repository。以下是用log4j.xml配置:
任何一套Web Framework,都會遇到一對多,甚至再一對多或多對多的編輯畫面,雖然各有自己解決方式,但學習門檻、普遍適用性問題,都得考慮是否值得投資時間學更複雜的用法。而JSON一出,我倒覺得可以一分為二,單一的Table的增改刪查可以依賴Web Framework既有的解決方案,而複雜關聯性的增刪改查,可以統一使用JSON,也比XML省空間。
我還是用net.sf.json-lib套件,在前端Post(或Get)到後端的變數是JSON格式字串,它若不是物件(Object)就是陣列(Array),其用法區分如下:
這是個令人詬病的錯誤代碼,Oracle的Sequence物件提供nextval和currval兩個method,nextval取得下一個序號值返回,而顧名思義,currval應當是取得目前序號值返回。事實上錯,執行currval之前必須先執行過nextval才能生效,否則就丟出ORA-08002錯誤代碼,而currval需保持在同一個Session才有效用。Oracle這樣設計的用意…,只能逼得我改變insert策略,在insert的UI時先顯示nextval的值,按儲存後,原本SQL要insert id欄位可以用nextval變成抓UI的ID值來insert。女子火闌。
有個看我的Blog而加入我的msn一個網友,有個Regex問題如下:
1101,"24,236,136","7,256","641,351,276","123",25.50,27.10,25.50,26.60,+,1.20,26.55,213,26.60,125,10.73
jQuery真是夠了。可以在Google Chrome work的addClass竟無法在IE8和FireFox 3上Run。原因竟是each這個迴圈,結果我習慣用break跳出迴圈在Google Chrome沒事,結果在jQuery真正的跳出迴圈關鍵字是return。
以前學Perl是羨慕其散漫不拘乃至天馬行空的語意邏輯,但始終我只是個Perl的入門者。jQuery也有這種傾向,先記錄我在SelectBoxes這個plugin遇到的怪事之二、三。
第一件,SelectBoxes似乎會cache,假設<select>是用addOption新增,順序是<option 1>、<option 2>、<option 3>,若是用jQuery的empty()或html('')清空,再用addOption新增<option 3>、<option 4>,結果<option 4>會出現在<option 1>的第一個位置,<option 3>在第三個位置,而<option 2>的位置卻是空著一列。若使用removeOption(/./)清空,則無此現象。
在Eclipse執行Maven的jetty:run過程,總出現以下這行討厭的訊息:
[WARNING] Using platform encoding (MS950 actually) to copy filtered resources, i.e. build is platform dependent!
有別於PostgreSQL可以直接把欄位定義為陣列型態,Oracle是透過自訂型態的方式達成目標,飯粒如下:
create or replace Type varray_phone as varray(3) of varchar2(20) |
上述是定義一個名為varray_phone的Type,是維度為三個varchar2(20)的資料型態。所以varray是宣告陣列維度,of後接的不止Oracle的資料型態度,也可以接更複雜的Oracle Object型態,複雜的部份就不討論。而其Create、Insert的用法很簡單,如下: