Time of Update: 2018-12-03
Ilog JRules今天對比了一下這三個頗有代表性的規則引擎的規則語言。其中Ilog是商業產品,沒有機會實戰。作者:江南白衣 1.一樣的If--Then 句式與Rete引擎 三者都會把原來混亂不堪的if---else---elseif----else謎團, 拆成N條帶優先順序的"If 條件陳述式 then 執行語句" 的句式。 三者都主要使用foreward-chaining的Rete引擎,按優先順序匹配條件陳述式,執行規則語句。
Time of Update: 2018-12-03
背景音樂:《要不要就一起加入G C D》,唱:陳珊妮,詞:夏宇。 JDK5是一個巨大的轉折點(泛型,Annotation,並發...),而JDK6就是一個可安全升級的加強版,對新項目是不升白不升,白升誰不升,而對舊項目就是升了也白升,不升也沒啥損失吧。 稍微整理了一下官方JDK6官方Features and Enhancement說明: 比較有用的升級效能提升
Time of Update: 2018-12-03
定時批次工作是J2EE公司專屬應用程式裡很重要的一環,用來在晚間進行財務掛賬,資料轉存,新聞聯播等等操作。 而在Spring裡,已經很好的整合了Quartz,簡單到像配cron一樣,在xml檔案裡面配一下時間就可以自動執行,不需要寫一行代碼。Spring對Quartz大刀闊斧的簡化堪稱範例,Quartz項目組也許可以學習一下。 <bean id="methodInvokingJobDetail"
Time of Update: 2018-12-03
hu 時時勤拂掃, 莫使有塵埃. --update at 2005.6.22因為伺服器關係暫時不能下載了,要的朋友可以加我QQ:228013,不過:1.書多是英文版2.請善用emule和bbs.itebook.com,能找到的書就不要找我了3.加好友時請寫明要的書名 Software Engineering--鍊石升仙版 《The Agile Software Development(敏捷式軟體開發 (Agile Software Development))》 Alistair
Time of Update: 2018-12-03
第2版:2005.6.22 --修改優缺點比較部分 因為有些IDE不支援,一直沒有完整留意UML的擴充機制,所以也就以為UML不很適合做MDA。比如產生Hibernate的hbm檔案,一些屬性的輔助屬性比如lazy-load,應該放在Class圖的哪裡呢? 最近AndroMDA在TSS上發廣告,介紹說AndroMDA 3.0出來了。就連過去看了一下。原來除了StereoType,UML另有Tagged Value的機制, 可以把一些屬性附在類的方法和屬性上。 總的來說,
Time of Update: 2018-12-03
最近國內的開源項目非常生猛,與Play!Framework有些相近的鬥魚,也是要替代SSH的Nutz, 已經支援Spring 3.0與iBatis 3的Rapid framework 3.0, 在這個好像特別寒冷的年末,儼然一道鮮亮的風景。 SpringSide也發新版了,相比之下創新性有點欠奉,更像是一本日記,將這兩三個月裡遇到的代碼記錄下來與大家分享。JMS示範: ActiveMQ + Spring-JMS的 Topic/Queue生產者, 主動輪詢消費者與Message
Time of Update: 2018-12-03
SSO方案中太多平行對稱的分支選擇,就像博而赫斯那小徑分岔的花園。剛手寫完一個超迷你勁袖珍的SSO,順著 SAML2.0和OpenID的規範,記錄一下這些分岔點:流程是從身份提供者還是消費者發起? 身份提供者,也就是SSO Server了,又叫Id Provider,簡稱Idp。而身份消費者,SSO Client,在SAML裡叫做Sp。 身份提供者發起流程中,使用者登入進SSO Server,SSO Server展現一個Portal/菜單,上有到各SSO
Time of Update: 2018-12-03
Struts2.1繼承了Struts無敵的使用者數量,加上Webwork大為優雅的架構,再加上新鮮出爐的2.1版Convention Plugin在RoR式零設定檔方面的完善,個人對它已相當滿意。 沒人知道多如牛毛的傳統MVC架構中哪個是最好的,但就像硬體界買IBM不會犯錯一樣,Struts2.1也應該是未來一段時間裡安全的選擇,特別是企業裡有N多Team Dev和開發人員的時候。 當然,現在fashion已從傳統MVC架構轉向RIA與Ajax套裝了,這要另論。 Struts2.1.6
Time of Update: 2018-12-03
"SpringSide是以Spring Framework為核心,以主流的技術選型、Pragmatic的編程實踐來開發JavaEE應用的總結與示範。" Hmm...居然還差半個月就有半年沒發新版了,long time no see 啊。 至於原因嘛,與Tim講的 有點相似。 好在公司的新項目選型都與SS接近,所以新代碼裡其實有很多是親愛的同事們的手筆,
Time of Update: 2018-12-03
某個雷電交加的晚上,提交代碼回Google Code伺服器居然需要....所以這個版本就叫做版以示紀念了。 在滿江紅伺服器故障的日子裡,覺得一個普通開源項目堅持上幾年真的很不容易啊,像這個版本用到的IronTrackSQL,連首頁都已經失效了。 感謝曉鋼,伺服器硬生生又救回來了,一眾國內開源項目避免了IronTrackSQL的下場。
Time of Update: 2018-12-03
3.1.2是連跳了3.1.0和3.1.1兩個版本後的GA版本,一邊忙著Mini-Example這一畝三分地的升級,一邊開始Showcase的示範...... 3.1.2版主要變更Struts2:升級Struts 2.1.6 ,使用Convention Plugin 實現完善的MVC零設定檔。JQuery:升級JQuery 1.3.2後速度大為加快,示範JQuery Ajax典型用法及跨域的Mashup。Hibernate:支援DAO or Not
Time of Update: 2018-12-03
"資料同步演算法研究"一文提出了一種改進的資料同步演算法,我在實現的原型系統基礎上,將檔案切分、差異編碼、檔案同步等關鍵演算法抽取出來封裝成動態開發庫libsync,方便自己的開發應用。在本人開發的deduputil,WSIO, wsync等軟體中,均使用了libsync動態函數庫,現已將libsync發布至google code。libsync函數庫由提供三個API,原型描述如下:1、int file_chunk(char *src_filename, char
Time of Update: 2018-12-03
SpringSide是以Spring Framework為核心,提供Pragmatic之中又適合工業化大規模開發的公司專屬應用程式Kickstart。 作為3.1系列的最後一個版本,3.1.8版的代碼品質在Hudson + Sonar 雙塔控制下,慢慢開始好轉了.HibernateTools產生CRUD與測試案例代碼.Hibernate示範升級:支援Oracle示範,擴充Dialect支援資料庫專有特性,
Time of Update: 2018-12-03
作者:江南白衣 原文出處及討論:http://www.blogjava.net/calvin/archive/2005/09/13/12878.html 一個Appfuse式的項目,會通過項目裡最典型的幾個情境,demo團隊目前的體系架構和設計模式。 它的好處有一打,比如為所有項目提供共同的Library
Time of Update: 2018-12-03
"SpringSide是以SpringFramework為核心,以主流的技術選型、Pragmatic的編程實踐來開發JavaEE應用的總結與示範。" 福士搬屋版裡, 不斷將工作項目中的程式碼片段移植過來,而且這種搬運的幸福感估計還會下面的幾個版本中延續。JDK6.0升級,因為不升白不升,有些開源項目也開始強制要求. Memcached 與 Spymemcached用戶端示範. Schedule示範更新, Spring 3.0
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 假設我們有一個1億個資料,其中資料的範圍是0~1億,也就是100M的資料。但是這個數組中丟了一些資料,比如說少了5啊,少了10啊,那麼有什麼辦法可以把這些丟失的資料找回來呢?這個題目不難,但是它可以協助我們拓展思路,不斷提高演算法的運行效率。 對於這個問題,我們一個最簡單的思路就是對各個資料進行flag判斷,然後依次輸出資料。void get_lost_number(int
Time of Update: 2018-12-03
前篇:最美的MVC,ORM方案原來在別處--Ruby on Rails Rails的出現,良性的衝擊了自己目前使用的Spring+Hibernate架構。有衝擊是好的,否則EJB2和Struts現在還一統江湖。 本文主要記述了Hibernate3.0(H3)和Rails Active Record(AR)在定義和使用Domain Objectt方面的優劣,更重要是衝擊過後,計劃如何重構改善自己的架構。POJO定義1.AR定義POJO的只需這樣寥寥幾筆class
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 鏈表重合是一個好玩的問題。原題目是這樣的:有兩個鏈表,那麼如何判斷這兩個鏈表是不是重合的?至於這個鏈表在什麼時候重合的,這不重要,關鍵是判斷這個鏈表究竟有沒有重合。究竟有什麼方法呢? 最簡單的方法就是查看兩者有沒有共同點。那麼依次判斷就行了。int find_node_in_link(LINK_NODE* pLink, LINK_NODE* pNode){while(pLink){
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 前兩篇部落格我們討論了prim最小產生樹的演算法,熟悉了基本的流程。基本上來說,我們是按照自上而下的順序來編寫代碼的。首先我們搭建一個架構,然後一步一步完成其中的每一個子功能,這樣最後構成一個完成prim演算法計算過程。 f)將DIR_LINE隊列中不符合的資料刪除,主要是雙節點都已經訪問過的DIR_LINE資料。void
Time of Update: 2018-12-03
【 聲明:著作權,歡迎轉載,請勿用於商業用途。 聯絡信箱:feixiaoxing @163.com】 排序二叉樹是我們開發中經常使用到的一種資料結構,它具有較好的插入、刪除、尋找特性。但是由於二叉樹的指標較多,所以相比較其他的資料結構而言,二叉樹來得比較麻煩些。但是也不是沒有辦法,下面介紹一下我個人常用的方法。