<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 170  文章 - 536  trackbacks - 0
    <2007年6月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    我參與的團隊

    隨筆分類(103)

    搜索

    •  

    積分與排名

    • 積分 - 413977
    • 排名 - 135

    最新評論

    閱讀排行榜

    IntelliJ IDEA 10.0 發布了,放出 IntelliJ IDEA 10.0 的注冊機下載。點擊下載
    posted @ 2010-12-18 09:56 steady 閱讀(5916) | 評論 (4)編輯 收藏
         摘要:   閱讀全文
    posted @ 2009-12-14 20:06 steady 閱讀(10617) | 評論 (26)編輯 收藏

      開始并沒有關注這么一個購物搜索的東西,以為只是上網按關鍵詞查查東西,昨天無意中看了說明,發現它遠遠不是這么簡單的東西。它有著一般購物搜索無法相提并論的強大功能,那就是——條形碼搜索。

      攝像頭對于強大的 Nokia S60 系列手機來說,早已成了標配,掃描條形碼等功能,也早就成為手機很容易完成的功能了,但是卻很少有人把條形碼和網絡進一步結合。有道購物搜索是我看到的第一個完成這樣功能的軟件。其實用起來很簡單,手機有個能自動對焦的攝像頭和能上網就行了,拿攝像頭對準商品條形碼處掃描一下,然后會自動上網搜索相關產品,甚至連拍照鍵都不用按了,一切都是自動完成的。產品數據庫也比較豐富,拿身邊的小東西隨便掃了下,水溶C100,益達木糖醇,各種書籍(書籍的數據庫應該是最全的,手邊的書全部都能找到)。

      這是一個相當有創意的產品,當然,這個條形碼數據庫也不是容易得到的,但是這個數據庫和后臺有道搜索結合,就形成了一個非常完美的應用方式,這應該是我看到的讓我眼前一亮的手機軟件之一了。

    posted @ 2009-08-17 17:26 steady 閱讀(2095) | 評論 (0)編輯 收藏

       為了在家里唱K,去拷了個24000首的歌庫,然后配置隨盤送的后羿禮光卡拉OK軟件。或許這個軟件太專業了吧,以至于想隨便配配就能玩不是件容易的事情。用我機子里裝的 KMPlayer 是根本都放不出來的,音樂視頻都是沒有的,然后拿各種播放器一個個試。用了暴風影音(老版本的,新版是垃圾),完美解碼,默認安裝的情況下都是可以出視頻的,聲音是完全沒有的。無奈,只得逐一試下各個選項了,最后發現只有 MPEG2 音頻編碼器設置成 SPDIF 的時候,才會有聲音。之前在網上找的各種解決方案都要注冊,注冊后還沒給你個有效的解決方案,要你重裝系統什么的,還是靠自己吧。估計是做這套軟件的人比較菜,初始化聲音只用了默認的一種音頻解碼方案,而且你還得恰好裝了這個解碼器才行,否則,一個個試吧。

      用了軟件以后,就和歌廳的選歌界面很像了,不然這么多歌曲,用手工選也是很痛苦的事了。

      另外,我用創新 Audigy ZS 聲卡 + 得勝 TS-6310 無線麥克風 + 黑鉆雙子星XP 音箱 + 軟件歌庫,基本能做一個小小的家庭卡拉OK 中心來玩了。

    posted @ 2009-08-17 17:23 steady 閱讀(4313) | 評論 (0)編輯 收藏

      為了編譯方便我把 servlet-api.jar 和 jsp-api.jar 和其他 jar 包都放在一起,在 ant build 的時候就會一并被拷到 Web 項目的 WEB-INF/lib 下,不過這次因此出現了一個 jsp 頁面的編譯錯誤,所有的 jsp 頁面打開都會在頁面上報編譯錯誤,后臺無任何信息。考慮到 jsp 頁面的編譯可能和 jsp-api.jar 有關,于是將 WEB-INF/lib 下的 servlet-api.jar 和 jsp-api.jar 移走,問題解決。

      后來發現放在里面的這兩個包是 tomcat5.5 的,是 JSP 2.0 規范的,而部署的服務器是 tomcat 6.0 是 JSP 2.1 規范的,兩者可能有一定的沖突,才導致這樣的錯誤。

    posted @ 2009-08-17 17:22 steady 閱讀(2586) | 評論 (0)編輯 收藏

      在用 SVN 的時候出現了這樣一個小問題,害得我折騰了半天,一個小小的 s 卻是罪魁禍首。

      因為項目路徑切換,需要從 https://server/trunk 切換到 https://server/tag/1, 不過在文檔中后者寫成了 http://server/tag/1,恰好 SVN server 用 HTTP 和 HTTPS 都是可以訪問的,所以沒覺得這個東西有什么錯誤。不過使用 SVN 做 switch 操作的時候卻總是出現 https://server/trunk is not the same repository as http://server/tag/1,感覺很奇怪,問了一下相關負責人,當時也沒有發現什么問題,不過還是沒法操作,最后無意中把 http://server/tag/1 換成了 https://server/tag/1,一切 ok。

      被這個問題折磨的比較郁悶了,可能是 SVN repository 不能在 HTTPS 和 HTTP 之間切換吧。

    posted @ 2009-08-17 17:21 steady 閱讀(3036) | 評論 (0)編輯 收藏

      其實嘛,瀏覽器對大多數人來說,都是每天必用的軟件了,不過在國內來說,其實也沒啥懸念,IE 占據了絕大多數的份額,在加上個挑戰者 Firefox 在占據著國內微不足道的份額,在加上 Google Chrome 以及其他份額更少的諸如 Opera 之類的,估計一百個人也找不到一個在用吧。

      不過嘛,國內倒是有個不大一樣的地方,我們國人比較善于做殼,于是我們有很多“國產瀏覽器”可以用,最著名的或許要算 Maxthon 遨游了,當然這也是我最喜歡的瀏覽器,也是我上網閑逛必用的瀏覽器,當然了,Maxthon 這個東西嘛不是太穩定,有時候會出現一些莫名其妙的問題,于是換標準的 IE 來用。當然用 Maxthon 也有用 Maxthon 的道理,一個是同步收藏夾,一個是手勢功能,當然還有若干細微的功能也挺不錯,彌補了 IE 的不足吧。不過 Maxthon 不能用 IE 的 Toolbar 和 Plugin 之類的,而獨創了直接的一套插件體系可謂是一大敗筆,于是很多時候為了一些功能,不得不用回 IE,Maxthon 只能成為我瞎逛的首選了。

      說到后起之秀 Firefox 嘛,其實說實話,我對它并不感冒,因為它的速度實在不敢讓人恭維,或許 Firefox 讓我唯一感冒的東西是 Tor 和 Firebug 吧。更多時候我選擇用 Chrome 來替代 Firefox,因為 Chrome 夠快,不得不承認,Chrome 是最快的瀏覽器,特別是在對 JS 的處理上,大大優于前兩者。而且啟動還有個訪問頁面列表的大縮略圖,對于我這種懶得輸網址的人來說,可謂是大大的方便,于是 Chrome 成了我逛技術類網站的首選了。

    posted @ 2009-07-07 11:19 steady 閱讀(1968) | 評論 (0)編輯 收藏
    上午看完變形金剛,這樣的娛樂大片看了感覺就是很爽,不用為復雜的情節去思考,緊張刺激的情節中不乏幽默,最有意思是看到我們公司(Cisco Webex)在變形金剛2里做的遠程戀愛系統的廣告。

    Cisco Webex Transformers2

    Cisco Webex Transformers2

    posted @ 2009-07-06 14:13 steady 閱讀(1959) | 評論 (0)編輯 收藏

      在Java世界里打拼也好幾年了,也看到了各種不同技術的浮浮沉沉,倒是發現了一個簡單的規律,最簡單的東西往往是最有用的,簡單的軟件也是種美。

      在 Java Web 領域,曾經有無數各種各樣的框架,Struts1/2,JSF,Echo1/2,Tapestry,Wicket,等等等等了,這么多不同的框架代表了兩個不同的方向,除了 Struts 這個是基于請求的,其他幾個都是算是事件驅動的,但是后面幾個在整個市場上所占的份額也趕不上 Struts 一家。HTTP 請求本來是很簡單的,而 Struts 就是基于這樣簡單的概念,但是卻有無數人希望重現 VB 時代的那種拖拖拉拉的編程方式,希望用事件驅動一切,但是大部分人都失敗了。失敗的原因也其實不那么復雜,有的是不夠成熟,像 JSF 這樣被 Sun 官方大力推崇的框架,但 Ajax 出現的時候,JSF 中想靈活的用 Ajax 都成了一種奢望,有的是資料太少了。像 Echo2 這樣的框架資料,少的跟珍惜保護動物似的。

      當然也不是沒有成功的,微軟憑借其強大的開發實力,和開發工具的配合,加上沒有給 ASP.net 用戶更多選擇余地,取得了無人匹敵的成功。但是這個成功在 Java 世界是不會擁有的,Java 世界沒有微軟這樣的巨頭,Java 世界中拿得出手的幾個開發工具,Eclipse,Netbeans,IDEA,在所見即所得的開發上遠遠的落后于 Visual Studio。相比微軟帝國,Java 世界多的是中小型的,開源的工具產品。規模上都遠遠落后于微軟,Java 世界唯一可走的路便是簡單了。對 Java 世界來說,簡單不僅僅是種美,更是生存之道。

      起初作為 Java 世界 PK 微軟產品的重頭戲,EJB 在學院派的力捧下誕生了,EJB 似乎從來都不打算讓人活的輕松,一個簡單的東西非得搞的復雜無比才行。而且其持久層 Entity Bean,似乎連基本功能都沒能實現,更別談大規模使用了。EJB 1/2 的時代是開發人員永遠無法忘卻的噩夢。

      Java 世界也從來不缺活躍分子,Rod Johnson 這個有種音樂家氣質的牛人憑借自己多年的積累,推出了 Springframework,這樣一個基于 IoC 和 AOP 兩個概念的簡單易用的框架,完成了很多起初只有 EJB 才能完成的工作,Spring 也一夜成名,成為 Java 世界使用最為廣泛的輕量級應用框架。

      幾乎是同時,來自澳洲的小帥哥 Gavin King 也在用一種與眾不同的方案去替代現有比較復雜的 Java 持久化方案,最后他的 Hibernate 也成為替代原有 EJB 持久化方案的選擇。相對簡單的 Hibernate 也取得了巨大的成功。

      其實這樣的例子在 Java 世界也非常多,以至于后來來自于 Ruby 開發社區的 Ruby on Rails 的出現,給了 Java 開發者當頭一棒,原來還有更簡單的做法哦。于是 Java 世界慢慢的開始對多種腳本語言進行支持,包括 Ruby,以及后來自創的 Groovy。以此去打造類似 RoR 那樣簡單的開放方式。

      生活其實是很簡單的,軟件開發其實也是一樣,用簡單的方式,去打造簡單的軟件,Java 世界用無數失敗的教訓證明了這一點。像我呢,也喜歡用這樣簡單的方式去工作,最喜歡 IDEA 去寫代碼,最喜歡 Struts2 + Spring2 + Hibernate3 這套組合,最最喜歡的是簡單,因為簡單是最美的工作方式。

    posted @ 2009-06-23 16:08 steady 閱讀(3255) | 評論 (6)編輯 收藏

      為了實現工作流中對腳本的支持,簡單的玩了一下 BeanShell,這個小小的嵌入式 Java 代碼解釋器可以將  Java 語言像動態腳本一樣執行,幾行命令,它就能把一段 Java 代碼給玩轉。

      工作流中有個這樣的簡單案例,當一筆單子金額大于 50萬時,應該將任務分配給 Senior Agent 處理,否則交給 Junior Agent 處理,我們用 BeanShell 簡單模擬這段腳本。

        public static void main(String[] args) throws Exception {
            Interpreter i = new Interpreter();
            i.set(”price”, 1000000);
            i.set(”user”, “”);
            i.eval(”if(price > 500000)\n” +
                    “user = \”SeniorAgent\”;\n” +
                    “else \n” +
                    “user = \”JuniorAgent\”;”);
            System.out.println(i.get(”user”));
        } 

      運行結果是打印出了:SeniorAgent

      可以看出,BeanShell 用非常動態化的方式,完成了我們一個簡單的案例的處理,這里,我們只需要將需要解析的 Java 語言的腳本交給 BeanShell 的 Interceptor,并把腳本中用到的參數值傳入,就可以了,最后,我們把運算結果賦給一個變量,然后獲取變量結果,就可以了。

      看到 Developer Works 網站上有一篇 BeanShell 實現公式管理的文章:http://www.ibm.com/developerworks/cn/java/l-formula/index.html,可以參考一下。

    From:
    http://www.steadyxp.com/archives/851.html

    posted @ 2009-02-26 09:56 steady 閱讀(3286) | 評論 (1)編輯 收藏

      服務器上用 HttpClient 遠程調用另一臺服務器的一些資源,但是用 netstat 查看經常出現了很多的 CLOSE_WAIT 的連接,最后追查原因,是因為 HttpClient 的 method.releaseConnection() 并不是強制釋放連接,為了減小連接數,使用了如下解決方案。在 HttpClient 完成請求后的 finally 塊里面這么寫。

        } finally {

               if (method != null) {

                  try {

                      method.releaseConnection();

                  } catch (Exception e) {

                      logger.error("-------> Release HTTP connection exception:", e);

                  }

               }

               if (client != null) {

                  try {

                      ((SimpleHttpConnectionManager) client.getHttpConnectionManager()).shutdown();

                  } catch (Exception e) {

                      logger.error("-------> Close HTTP connection exception:", e);

                  }

                  client = null;

               }

           }


    原文:http://www.steadyxp.com/archives/832.html
    posted @ 2009-02-23 13:49 steady 閱讀(4398) | 評論 (0)編輯 收藏

    前兩天 IntelliJ IDEA 8.0 發布了,在第一時間放出 IntelliJ IDEA 8.0 的注冊機下載。點擊進入下載頁面 原版下載

    posted @ 2008-11-10 16:54 steady 閱讀(15453) | 評論 (12)編輯 收藏

      從淘寶第一個開始屏蔽百度以來,國內很多主流的 SNS 網站和大型的內容性質的網站都開始或即將開始屏蔽百度了,這些網站包括校內網、海內網等國內主要SNS網站,以及搜狐博客、51.com等網站。從SNS社區的說法,他們屏蔽搜索引擎是為了保護用戶的隱私,但更多的是在保護自己的利益,比如說淘寶是在保護其極為客觀的商品信息,而SNS是在保護對其最有價值的用戶信息,特別從搜狐博客來看,更多的是希望提高其搜狗搜索的內容價值,總的來說,東西絕非單純,純粹是一種商業上的運作了,淘寶網敢第一個站出來跟百度斗,其他預謀已久的各大SNS網站跟著后頭就跟著殺出來了。

      這段時間百度又跟三鹿奶粉事件牽扯上了一些不清不楚的關系,搞的百度最近也疲于解釋這些事,當然大家也不會真的相信這種解釋了,因為百度在搜索結果人工干預上已經受到非常多的人的抱怨,我們也完全相信百度能干得出這樣的事情,具體是因為這次風險大還是嫌錢少了沒有去做,我們就不得而知了。

      附一些主要網站的 robots.txt 文件,證明一下百度是如何被屏蔽的。

    http://www.xiaonei.com/robots.txt
    # Robots.txt file from http://www.xiaonei.com
    # All robots will spider the domain

    User-agent:BaiduSpider
    Disallow:/

    http://blog.sohu.com/robots.txt
    User-agent: Googlebot
    Disallow:

    User-agent: baiduspider
    Disallow: /

    User-agent: Nutch
    Disallow:

    User-agent: *
    Disallow: /

    http://www.taobao.com/robots.txt
    User-agent: Baiduspider
    Disallow: /

    User-agent: baiduspider
    Disallow: /

    From: Steady Blog 國內主流SNS開始屏蔽百度

    posted @ 2008-09-17 17:15 steady 閱讀(3687) | 評論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2008-09-15 22:24 steady 閱讀(2643) | 評論 (0)編輯 收藏

      看到在 DBA Notes 的文章(支付寶 + Firefox)說支付寶已經開始支持 Firefox 了。

      目前支付寶對 Firefox 支持的說明:
      1. 支持 Windows 平臺的 Firefox ,支持版本:Firefox 1.5、2.0、3.x;屆時還將提供自動安裝功能,現在準備嘗試的用戶可以到 Mozilla 站點上
    下載支付寶安全控件(AliPay Security Control)(也歡迎廣大 Firefox 愛好者在留言中給我們提一些反饋意見);
      2. 目前在 Windows 平臺下的 Firefox 下暫時還不提供對安全證書的支持,但是對安全證書的支持已經提上日程;
      3. 對 Linux 平臺下 Firefox 的支持已經在內部測試中,預期近期內即可發布;

      可以說,這個是網銀及電子支付業務的一大進步,支付寶可以說是第一個支持 Firefox 瀏覽器的支付解決方案,是第一個沒有使用 ActiveX 實現的解決方案,同時,據支付寶方面的說法“我們目前所開發的 Firefox 插件,未做任何修改,就可以較正常運行在蘋果的 Safari,和 Google 的 Chrome 瀏覽器上。經過分析發現,除了接口方案稍有區別,其大體的結構,還有頁面的Embed 標簽等都是兼容的,相信經過后續的改進,為 Firefox 所開發的安全控件和所修改的頁面,只花很小的代價就可以運行在蘋果和谷歌的瀏覽器上”,對于這方面技術的研究,不光是實現了一個功能,更重要的是,證明了在于非 IE 瀏覽器下同樣可以實現類似 ActiveX 的功能,這樣為 Firefox 和 Chrome 瀏覽器的后續發展提供了有力支持,雖然我用的最多的是 IE,但是 Firefox 和 Chrome 都有令我舍棄不得的好用功能,我想在多家瀏覽器競爭中,我們會得到更多更好的東西。阿里巴巴是一個重視技術,重視創新,有遠見的好企業,贊一個,相反,在相同的電子支付領域,國內多數主流銀行的網銀服務在這方面幾乎不做任何技術創新,改進現有蹩腳的產品,讓用戶長期忍著去用他們讓人作嘔的產品,相比較而言,阿里系的主要產品后面都有 UED 的工作,因為用戶才是他們最重要的。

    From: Steady Blog - 支付寶終于支持Firefox了
    posted @ 2008-09-14 22:03 steady 閱讀(3545) | 評論 (4)編輯 收藏

      在 Web 2.0 的概念被極度熱炒,Ajax 這樣舊瓶裝新酒的技術的應用場景被極度放大,因為 Google 做 Ajax 大家都跟著做,但是這樣大家往往忽略了另外一個更為簡單有效的 Web 端應用平臺 Flash,其實,很多應用場景下,我們可以用 Flash 輕松構建出非常漂亮的互聯網應用。通過最近的一些爬網的使用,找到了一些國內外的一些優秀的 Flash 應用平臺,來和大家做一些分享。

      首先要介紹的是Buzzword,它的前身是 buzzword.com,前幾個月已經被 Adobe 收購,這是一個很炫很好用的在線版 Word,這個來自于 Flash 東家的東西還是相當的奪人眼球的。直接打開了他的 demo,我們可以看到下面這樣的編輯效果。

      第一次使用 Buzzword 就被其幾乎和 Word 相似的流暢的編輯操作,強大的表現效果所震驚,無論是文字編輯功能,還是非常靈活的圖片自由布局,以及簡單好用的表格編輯功能,包括批注等,用起來都是非常的順手,絲毫感覺不出這是在 Web 上使用,在線編輯的文件可以自由的保存在網上或是共享給好友,甚至能方便的導出成 Word,PDF 等格式的文檔,同樣他還能導入我們在本地編輯的 Word 文件,繼續在 Web 上編輯使用。

      當然美中不足的是,Buzzword 暫時還不支持中文,我們只能編輯英文的文檔,另外它的編輯功能和 Google Doc 這樣的前輩比起來,也是有一定差距的,它的在線協作功能,和 Google Doc 這樣的強手比起來還是遜色不少。

      總體來說,buzzword 給我們一個全新的體驗,原來我們在瀏覽器里也是可以如此流暢的使用和 Word 這樣的應用,不得不說,在此方面,Flash 相對 JavaScript 是技高一籌。

      下面我們再來看看一個 Flash 版的在線視頻系統,來自于 Webex,這個當今世界上最大的網絡會議系統提供商,同樣也是頂級的 SaaS 服務提供商,最近也在嘗試著推出了幾款基于 Flash 的網絡會議系統,我介紹其中一個比較酷的,Video Room,是一個在線的多人視頻聊天室。因為是 Flash 的,也就不需要下載客戶端,也不要裝 ActiveX 控件了。

      在 QQ 或者其他聊天工具上,我們也會看到同樣的效果,但是,想想看我們其實是很幸福的,因為我們有 QQ,老外可就沒這么爽了,MSN 或者 Skype 還沒有這么強的多人在線視頻呢,在網頁上就能玩轉視頻聊天,還是個很酷的,特別是當你能即時接收到新的視頻聊天請求時實時彈出的仿 MSN 的對話框,讓你感覺不到這其實是一個網頁。不過這個 Video Room 只提供給我們最基本的視頻音頻功能,不過拉一幫久未謀面的兄弟進來吵吵鬧鬧還是很適合的哦。

      看完了一些國外大公司做的 Flash 應用,我們再把視線集中到國內,讓我們看看聯想實驗室給我們帶來的一些有意思的東西,其中我們可以看到一個叫做 Best4c 的在線版繪圖工具,可以說這就是一個在線版的 Visio。

      我們可以用像操作 Visio 一樣拖一些組件到編輯區域,然后用線把他們連起來,拼成我們需要的圖,如果這不是在瀏覽器里面進行的操作,我們或許真的會把他當成本地運行的軟件呢。Best4c 另外還提供給我們一套在線版的 PowerPoint 工具,讓我們可以在線的制作自己的 PPT。雖然總的來說,best4c 提供的東西不是很產品化,使用起來不是太人性化,但是他也向我們證明了,國內在這方面的開發也在進行中,我們也在努力的和世界一同進步。

      從以上一些應用我們可以看到,其實我們一直以來幾乎可以說是賴以為生的 Office 系列軟件,在線通訊軟件,通過 Flash 強大的圖形功能,讓傳統的單機應用變成了網絡應用,無論是在效果上,還是開發成本,和純的 HTML + JS + CSS 的傳統 Web 應用架構相比,有了較大的改進。從 Flash 成為 Adobe 的一個重要成員,Flash 就開始一步步的蠶食互聯網,前幾年 Flash 攜 FLV 幾乎是將微軟的 WMV 和 ReadNetworks 的 RMVB 兩大流媒體從在線視頻上徹底的趕了出去,而這幾年,Flex 的推出,讓企業應用的前端開發變得簡單,去年推出的 AIR 則是更加深化了 Flash 平臺在個人電腦中的影響。這一切我們可以看到,Flash 正以前所未有的速度改變著互聯網。如果你現在在為企業應用的前端界面而頭疼,Flex 可以幫你找回當年 VB 時代的感覺,如果你在做工作流平臺的在線流程編輯器,或許你可以考慮一下 Flash,它或許能讓你更簡單的開發這樣的圖形應用。

    posted @ 2008-09-08 15:44 steady 閱讀(1901) | 評論 (1)編輯 收藏

      2008年8月29日,W3C 的Web IDL 工作草案正式發布,令人驚奇的是在規范說明中竟然出現了“周杰倫”的名字。

      Web IDL(Interface Definition Language,接口定義語言)該規范定義了一個OMG IDL 3.0的語法子集,用來規范定義的接口。Web IDL 是一個具有多種功能的IDL 變量,便于規范Web平臺中的常用腳本對象的操作。其中包括了大量的擴展功能,以及捆綁了針對ECMAScript 3rd Edition 和Java的語言工具。

      令人驚奇的是,在規范說明書的3.8.9. Stringifies小節,“周杰倫”的名字赫然出現在示例代碼中,堪稱為以中文名出現在W3C規范里的第一人。(使用 UTF-8 編碼查看)

    截圖:

    介紹:http://www.w3.org/TR/WebIDL/
    來源:CSDN

    posted @ 2008-09-06 08:18 steady 閱讀(1913) | 評論 (7)編輯 收藏

      jBPM 是一個非常優秀的開源工作流引擎,雖然他不是一個一站式的工作流平臺,不過它已經為我們提供了比較豐富的底層操作,為了滿足特定的項目需求,我們一般需要對其進行二次開發,才能適用于具體的業務需求。

      其中一個主要的擴展點是針對 TaskNode 進行的用戶的分配。TaskNode 是 jBPM 中一個非常重要的概念,一個任務節點可以包含若干個任務,不同的任務可以由不同的人來完成,任務實例被分配給 actorId 來完成,其中指定到人的分配工作就是 Assignment 要處理的,這也是我們需要定制的功能,為了實現用戶的分配,我們需要實現 AssignmentHandler 接口,接口原型如下。

    public interface AssignmentHandler extends Serializable {    
        void assign(Assignable assignable, ExecutionContext executionContext) throws Exception;
    }

      通常用代碼實現的話,我們可以讓一個類實現這個接口,并在 swimlane 或者 tasknode 中的 assignment 指定該類。但是,這樣的靈活性是顯然不夠的,在系統的使用過程中,分配策略會不斷的進行調整,因此我們需要更為靈活的解決方案,jBPM 本身可以使用基于 Bean Shell 的腳本來寫分配策略,但是 Bean Shell 不是那么強大,我們需要更為強大的解決方案,因此,我們選用了已經被 JBoss 收為旗下的 JBoss Drools 4.0 規則引擎 (在 3.0 的時候曾經改名為 JBoss Rules,4.0 又改回來了)

      完整版本請查看:http://www.steadyxp.com/archives/120.html

    posted @ 2008-09-05 15:29 steady 閱讀(2312) | 評論 (0)編輯 收藏

      一年來您可能聽說 Google 在做新能源,在做手機平臺,這下 Google 又要發射自己的衛星了。

      Google和GeoEye簽署一項排外性協議,Google購買GeoEye即將發射的GeoEye-1號衛星圖像的在線獨家使用權,之前Google已經與另一家主要的衛星影像提供商DigitalGlobe達成排他性協議。

      GeoEye-1號衛星是目前最先進的高分辨率民用遙感衛星,將在本周發射,火箭的外殼將打上Google的logo。GeoEye-1重4,300磅,將在423公里軌道運行,能分辨地面41厘米大小的物體,但鑒于GeoEye與美國政府之間的許可協議,Google只能使用50厘米精度的衛星圖片。"

      我們過去看到過各式各樣上面有 Google Logo 的東西,像筆啊,茶杯啦,我也有一個 Google 送的紙袋,這下連火箭上也有了 Google 的 Logo,這下 Google 的 Logo 走出了地球,飛上了太空。相信不久,Google Earth 也將走向高清時代。

    posted @ 2008-09-05 15:28 steady 閱讀(1280) | 評論 (2)編輯 收藏

      番茄花園美化修改版Windows XP的作者、軟件下載網站番茄花園(tomatolei.com)站長洪磊的父親19日晚22:50獨家向新浪科技證實,洪磊已經于15日(上周五)被警方拘留審查,網站被關閉,服務器及洪磊的筆記本被警方帶走,為洪磊提供的技術開發支持的成都紅果科技有限公司也被查封。

      據知情人士透露,由于此案是直接由上級機關指派給蘇州公安局虎丘區派出所要求查處,并且負責破案的不僅僅是蘇州方面,因此很早就有人猜測這是微軟方面直接參與促成的事件。

      8月20日中午,微軟中國也向媒體正式作出了回應稱,“番茄花園從事的軟件盜版活動在相當長的一段時間以來十分猖獗,包括微軟在內的眾多國內外軟件公司的權益均受到了嚴重損害,鑒于此,微軟日前和其它軟件公司就番茄花園網站的侵權犯罪活動,向國家版權局和公安部進行了投訴,并得到了高度重視。”

      上個月可能最受大家關注的新聞就是這條了,或許大家會簡單的認為這次事件純屬微軟的反盜版行為,但是這次事件絕不僅僅是簡單的反盜版,微軟之意在于一箭雙雕,一方面嚴重的打擊了最大的盜版源,另一方面為其在中國面臨的反壟斷調查提供籌碼,更深層次的意義在于消滅 Windows XP 在市面上的流行。

      讓我們來看看和微軟反壟斷相關的一些相關動作的時間吧:

      7月31日,董正偉向商務部、國家工商總局、國家發改委發出《請求保護公民財產權益的建議申請書》,建議對微軟開展反壟斷調查,罰款10億美元,并責令其公開程序源代碼,并建立微軟產品的價格聽證制度。

      微軟做出的回應是:

      “由于微軟大部分以非正版方式存在,正版產品市場份額很小,因此微軟在中國構成壟斷的前提不存在。”微軟公司資深副總裁、微軟(中國)有限公司董事長張亞勤稱。這是微軟高管自中國《反壟斷法》8月1日實施后第一次正面回應微軟在中國的壟斷問題。

      從時間上來看,我們可以認為打擊番茄花園是微軟為了上面這個回應的提供一個有效證據,增加其在反壟斷調查方面的籌碼。

      最后大家可能忽略了另外一個不是那么重要的信息:

      據國外媒體報道,微軟此前表示,將于2008年6月30終止Windows XP操作系統OEM(原始設備制造商)版和簡裝版的銷售(系統集成商的相應終止日期向后延遲到2008年12月31日)

      也就是說,我們現在已經無法買到正版的 WindowsXP 了,而面對兼容性的問題,對硬件要求過高的問題,也是 Vista 普及的重大瓶頸,特別是在國內 WindowsXP 改版如此流行的情況下,Vista 推廣受阻,微軟一定會想辦法去給盜版 WindowsXP 市場來一次釜底抽薪,讓 Vista 在正版和盜版市場的占有率同步提高。

      可以說,這次微軟打擊番茄花園在各個方面都給微軟帶來了不少的好處,可謂是一個妙招,而番茄花園站長洪磊也就成為了繼珊瑚蟲以后的有一個商業利益的犧牲品了。

    posted @ 2008-09-05 10:02 steady 閱讀(1638) | 評論 (2)編輯 收藏

    大家可以去 Google Chrome 的官方網站去下載:
    http://www.google.com/chrome

    Google chrome特性是:

    • 從界面來看,我們設計了一個簡單而高效的瀏覽器窗口。對大多數人來說,瀏覽器本身并不重要,它只是一個能夠運行互聯網網頁、網站和網絡應用等重要程序的工具。正如谷歌的經典主頁,谷歌瀏覽器延續了簡潔、快速的設計理念,幫助用戶快速準確地到達目的地。
    • 從根本上講,我們提供了一個能更好地支持各種復雜網絡應用的瀏覽器基礎平臺。通過讓每一個標簽相互獨立開來,從而避免了兩個標簽頁產生沖突的可能,同時面對來自惡意網站的攻擊,谷歌瀏覽器提供了更好的保護。我們提高了瀏覽器整體上的速度和響應度。我們還建立了一個更強大的 JavaScript 引擎 V8,以便為下一代網絡應用技術提供支持,這些網絡應用在目前的瀏覽器上幾乎不可能實現。
    • —–來自Google黑板報“瀏覽器的新視角

    Chrome并非基于Firefox,而是基于蘋果的WebKit引擎。盡管Safari并沒有獲得巨大成功,但WebKit卻向它提供了一大優勢:速度。WebKit和谷歌開發的V8 java腳本渲染引擎聯手,理論上將使Chrome在速度上“百尺竿頭,更進一步”。即使Chrome的功能達不到出色的水平,也將成為Firefox的強大競爭對手。

    Google chrome,中文名叫什么好呢?叫“Google 合金”?或者來個跟通俗乃至庸俗的名字“Google 瀏覽器”?呵呵,不管來什么,這個都是一個好事情。我們都充滿著期待,也許過10幾分鐘,也許還有幾個小時,我們都能看到廬山真面目了。不過我突然感覺到自己被來自Google的服務全面包圍:Gmail、Gtalk、Google 輸入法、Google Analytics、Google  Reader  、 Google notebook,當然還有Google search。有點害怕,如果有天,Google告訴我你的Google 信用卡這個月消費是“1000RMB”,賬單如下:…..。我還有什么Google所不知道的?:-(

    再看看老外的Blog,幾乎全球的技術Blog都在寫有關Google Chrome的事情。真佩服Google 如此良好的口碑效應和強大的Marketing能力。有這樣好的宣傳,何愁沒有用戶?

    posted @ 2008-09-03 08:57 steady 閱讀(2028) | 評論 (5)編輯 收藏

    城市風景小區目前物業名為安徽合居美尚物業,該物業是剛于本月才成立的物業公司,只有暫定為三級的資質,無論從管理水平,管理資質上都不能達到一級服務標準,物業收費卻按一級收費收費,有違《合肥市住宅小區物業綜合服務收費指導價標準》的相關規定,但是在眾多業主再三要求以及多次提意見之下,仍然沒有得到任何答復和解決。

    讓我們來看看這個物業的所作所為吧
    無組織無紀律,解決不了任何問題,遇到投訴一概推托,遇到問題一概無能為力,袖手旁觀甚至說風涼話,晚上物業無人值班,出現任何問題沒人可聯系,更不可能幫忙解決;反而人多勢眾,一副欺軟怕硬的樣子,仿佛欺負業主才是正道;物業形同虛設,尤其是保安無所事事,近日來我們小區接連發生2起入戶盜竊事件,被盜住戶已有6家(5號樓4家,6號樓2家,第一時間,高新區公安局均有記錄)。而且盜竊案件是在8.8號連盜四家5天之后又盜2家!!我們的物業“無所畏懼”毫無作為,簡直拿業主的生命財產安全不當回事!!

    相關惡劣表現不勝枚舉!!請問,這樣的物業,你們能夠忍受嗎?請問KFS, 這樣的物業你們是怎么熟視無睹的?那么我們這些業主呢?是該行動起來還是繼續沉默下去呢?

    讓大家都來了解一下,城市風景給了我們怎樣的房子,又給了我們怎么樣的物業?讓一切慘不忍睹的行徑曝光在眾目睽睽之下,讓更多的人來了解這個小區!!

    posted @ 2008-08-13 14:06 steady 閱讀(979) | 評論 (4)編輯 收藏

      淘寶網,國內最大個人網上交易社區正式推出了開放平臺(Taobao Open Platform,TOP),用戶可通過淘寶開放的API,創建各種不同的電子商務應用。

      淘寶開放平臺項目是淘寶軟件公司面向3rd App開發者,提供API接口和相關開發環境的開放平臺。軟件開發者可通過淘寶API來獲取淘寶用戶信息 (賣方和賣方用戶信息,私有信息需要授權)、淘寶商品信息 (全淘寶超過1億個商品的名稱、類目、型號、介紹等信息)、淘寶商品類目信息(全淘寶商品索引及分類明細)、淘寶店鋪信息(全淘寶店鋪信息)、淘寶交易明細信息(在取得用戶授權的情況下,查詢每筆交易的詳細情況)、淘寶商品管理(淘寶商品的上傳、編輯、修改等接口)等信息,并建立相應的電子商務應用。同時,作為淘寶開放平臺TOP項目的唯一合作平臺——阿里軟件平臺在其中也扮演著重要的角色,它將為開發者提供整套的淘寶API的附加服務:測試環境、技術咨詢、產品上架、版本管理、收費策略、市場銷售、產品評估等等。

     

      很多人會聯想到之前 Facebook, Google 等互聯網巨鱷推出的 OpenAPI,這些主要都是社交類的 API,提供 SNS 相關的服務,從而擴大自己的用戶群。但是很多人都認為,淘寶這樣的大型個人交易類的網站,用戶數據是非常私密的資料,那么淘寶為何要提供開放 API 呢。

      大家不妨將視野放寬,擴大到淘寶以外,聚焦到阿里巴巴旗下的另一個子公司——阿里軟件,就能看到淘寶開放平臺的目的所在,和 Facebook 不同,Taobao Open API 的目標不僅僅是擴大自己的用戶規模,重要的是,阿里巴巴要用這個平臺為自己賺錢。或許看到這里,大家都很納悶,既然是開放平臺,都是開放的,如何去賺錢,盈利呢?這個重任被壓在了阿里軟件身上,這個搖錢樹就是近幾年一個很熱的名詞 SaaS。一年前,我們看不出來阿里軟件有什么不同的地方,提供了諸如阿里旺旺等工具,而且都是免費的。從今年年初開始,大家就開始感覺到阿里軟件的變化,它提供的軟件不再是純粹自己開發的了,更多的是將一些重要的數據接口提供給第三方開發者,第三方開發者利用 Taobao Open API 完成自己產品的開發整合工作后,將自己的軟件發布到阿里軟件平臺上,有客戶購買了第三方的服務后,阿里軟件就順理成章的從中抽取傭金。這是一個新穎的模式,也秉承了阿里巴巴一貫的風格,首先讓別人賺錢,再自己賺錢。阿里巴巴希望通過淘寶這樣一個巨大的商業用戶平臺,發展出一個 SaaS 的中小軟件產業圈。

      淘寶是免費的,淘寶開放平臺也是免費的,但是淘寶卻慢慢的開始賺錢,并不是提供免費的東西就不能賺錢,人多了,總是有辦法賺錢的。

    posted @ 2008-08-08 09:31 steady 閱讀(4656) | 評論 (5)編輯 收藏
         摘要:   閱讀全文
    posted @ 2008-08-04 21:38 steady 閱讀(2347) | 評論 (5)編輯 收藏

    Linux 的安全防護,用 fail2ban 自動封IP

      總以為 Linux 比較安全,被攻擊的概率較低,不過我用了非常簡單的 root 賬戶密碼 (password),家里的機子兩次剛掛上網沒半天就被人給改了密碼,很是郁悶,不過兩次的原因都很簡單,掛上網后就開始遭遇不斷的試密碼,因為密碼過于簡單,很快就被攻破了,想想看,這也不是個事,密碼就算比較復雜,天天也還是會被人試密碼,心里總是不爽,找找看有沒有什么輸錯幾次密碼就自動禁止 IP 的工具。這不,還真找到了個叫 fail2ban 的小工具,通過分析日志來自動 ban 入侵者的 IP,話不多說,裝上去用用。

      下載地址在:http://fail2ban.sourceforge.net/rpms/

      找到最新版本的  rpm 包來安裝,裝好后,稍微根據自己的情況改一下配置就可以使用了。

    vi /etc/fail2ban.conf

    #以 daemon 方式啟動 fail2ban
    background = true

    #允許嘗試次數
    maxfailures = 3

    #觸發 maxfailures 之後的封鎖時間(秒); 設為 -1 表示永遠封鎖
    bantime = 3600

    #以 findtime (秒) 時間內的錯誤記錄作為 maxfailures 的計數基準
    findtime = 600

    #排除 IP 范圍, 以空白隔開
    ignoreip = 127.0.0.1 192.168.0.0/24

    #不啟用 mail 通知
    [MAIL]

    enabled = false

    #修改自 VSFTPD, 未提及的部份保持原設定
    [PROFTPD]

    enabled = true
    logfile = /var/log/proftpd/proftpd.log
    failregex = no such user|Incorrect password

    #未提及的部份保持原設定
    [SSH]

    enabled = true
    logfile = /var/log/secure

    service fail2ban start

    這個服務啟動以后,每天都能在 /var/log/fail2ban.log 中看到有攻擊的肉雞被 ban 了。

    2008-08-01 09:13:33,532 WARNING: SSH: Ban (3600 s) 205.189.197.66
    2008-08-01 12:24:41,943 WARNING: SSH: Ban (3600 s) 121.52.209.5

    posted @ 2008-08-02 22:08 steady 閱讀(602) | 評論 (0)編輯 收藏
    經兩次與開發商交涉,未達到預期效果,目前開發商安徽盛通置業對《業主意見書》所反映的種種現象予以否認,并采取不理不采的消極態度對待業主代表的交涉。
    盛通置業總經理王文利用其與徽商集團的某種及其特殊的關系,積極壓制業主對其的種種投訴,對于這樣的情況,小區業主聯合起來,積極展開維權活動。
    posted @ 2008-07-12 20:39 steady 閱讀(549) | 評論 (1)編輯 收藏

    業主意見書

    致:安徽省徽商集團發展有限公司

    由安徽徽商集團發展有限公司(以下簡稱“你方”)開發的徽商·城市庭院三期·城市風景現已按照《商品房買賣合同》約定的時間通知三期業主(以下簡稱“我方”)驗房,但我方在驗房過程中發現諸多有違《商品房買賣合同》中的條款的現象,以及有礙正常使用和存在安全隱患的多處質量問題,并就有關物業的收費有諸多疑議。特向你方提出書面說明,并就賠償和整改提出我方意見,希望你方慎重對待。

    第一條:你方有違《商品房買賣合同》的條款:

    1.違反合同第十四條出賣人關于基礎設施,公共配套建筑正常運行的承諾,驗房當日,上下水不通,供電設施不能正常使用

    2.違反合同補充條款中以下物品的規定:

    (1)    防盜門:所有進戶門都是防火門,而非防盜門

    (2)    單元電子對講保安門:室內未安裝

    (3)    信報箱:未安裝

    第二條:有礙正常使用和存在安全隱患的質量問題:

    1.消防、智能化設施不完善

    2.室內門、窗未按照《建筑安全玻璃管理規定》使用有雙面3c認證標志的安全玻璃,陽臺欄桿玻璃厚度不符合規范,且與可踏面的間隙過大

    3.房屋墻體、樓面多處存在空鼓現象

    4.墻面的垂直偏差大

    5.配套設施不完善:小區道路、綠化、景觀、車庫等都未竣工,未達到一個小區正常交付使用的基本標準。

    第三條:有關物業方面的疑議:

    1.樓書上承諾是信譽較好的深圳長城物業管理有限公司,在我方尚未入住便已撤換,存在虛假承諾嫌疑

    2.安徽合居美物業是剛于本月才成立的物業公司,只有暫定為三級的資質,無論從管理水平,管理資質上都不能達到一級服務標準,物業收費卻按一級收費收費,有違《合肥市住宅小區物業綜合服務收費指導價標準》的相關規定

    就以上問題,我方業主經過集體協商,希望你方按以下方式進行解決:

    對于第一條已構成違約,按照《商品房買賣合同》第九條的規定進行違約責任和由此造成的經濟責任的賠償,并就未按合同約定的安裝、開通在5日內予以符合約定和規范的安裝和開通。

    對于第二條1、2、3、4項進行維修和更換,并根據每戶具體情況進行相關規定的經濟賠償,第5項在10內整改完善完畢,并確保正常存活和使用。

    對于第三條在給出合理解釋的同時,重新核定收費標準,否則我方將集體不交物業管理費。

    此《業主意見書》將委托業主代表親自送達及掛號信兩種方式送達你方。我方要求你方就以上三條涉及的內容,按照我方要求在最先送達之日起3日內就解決辦法和期限做出書面回復。

    我方將保留媒體曝光、政府部門投訴以及追究你方法律責任的權利,希望你方予以重視,積極解決。

    本《業主意見書》尚未涉及事宜,我方將提出另外要求。

    業主簽字:

    posted @ 2008-07-10 21:12 steady 閱讀(638) | 評論 (1)編輯 收藏

    轉自:http://www.hfhouse.com/Forum/dispbbs.asp?boardID=141&ID=313451&page=1

    現在已近午夜,卻毫無倦意,不是不想睡(都是打工一族,明早還得早起辛辛苦苦賺生活費),而是睡不著。因為我已經出離憤怒了!

    上班十年,節衣縮食,精打細算,只想能攢下一點錢,買套房子,好把遠在老家辛苦了一輩子的年邁雙親接來安享晚年,盡一點赤子之心!

    于是,07年,思量再三,相信了徽商集團和盛通置業的宣傳,走近了城市風景的售樓部;

    于是,本人十年積蓄 + 父母一輩子的積蓄 + 賣掉老家小城的房產,終于從KFS和售樓小姐的口中換回了一句承諾——08年6月底交房!

    于是,我和我的親人充滿了希望,似乎美好的生活已經開始向我招手!

    于是,我選擇了信守承諾,安心等待!

    于是,08年7月初,當謎底終于揭開的時候,我發現自己————很傻很天真!

    墻面彎曲(有凸有凹),頗有流線型美感;

    地面傾斜(高低不平),彰顯不對稱之美;

    主衛客衛、墻頂墻體、水管自身,無處不漏;

    從衛生間地面到過道墻壁,從主臥墻面到客廳四周,到處空鼓;

    從廚房到衛生間,所有需要外接籠頭之處均被深埋在墻體中等待我們業主將來挖掘;

    至于防盜門關不上,窗戶/門把手沒裝,插頭面板沒有、S彎管缺少、小區綠化。。。。。。我已學會視而不見!

    這樣的“房子”就是當初承諾的城市“風景”嗎?

    這樣的“房子”符合交房條件嗎?

    這樣的“房子”能夠通過竣工驗收嗎?

    換言之,一件大家可能花了畢生積蓄購買的昂貴商品,在質量明顯嚴重不合格的情況下,能夠做到強迫大家接受,并且大家不能拒絕否則就要罰款嗎?

    于是,事實再一次告訴我們,KFS能夠做到!并且,它已經開始在這樣做了!!

    作為風景的業主,當下的我們,需要的不僅僅是生氣、憤怒和失望,最重要的是,現在我們應該怎么辦?!

    posted @ 2008-07-10 21:02 steady 閱讀(556) | 評論 (1)編輯 收藏
    本帖轉自:http://bbs.hefei.cc/viewthread.php?tid=2180695&extra=page%3D1

    以前看到不平的事情,即使跟自己沒一點關系的,只要我覺得有必要的,我都會發帖罵下。這次,請大家讓我為自己自私一回,罵一罵欺負到我頭上的開發商。
           去年,我家里人拿出了三代人的積蓄,在城市風景(長江西路888號)買了個小窩,從那時起啊我就日日盼,夜夜盼,希望早日能住進去,以至于每個月都要去工地上看看。(合同上約定是2008年6月30日交房
           我在2008年3月份就看出了問題,因為我所在的那棟樓根本就沒人干活,一連好幾個月都是如此,后來售樓部又接連幾次通知要我去買停車位,我才明白,很可能是開發商資金鏈斷裂了。緊張,不安。
            2008年5月30號,我又來到了現場,只見我的那棟樓,進度和幾個月前看到的一樣,相比以前的差別只不過有人在干活了。天啊,一個月內能趕完嗎?!我那棟樓一樓還有的墻沒砌,有的樓板沒裝,空著好大的洞。我把這擔心傳達給了售樓部。售樓小姐信心滿滿地說,沒問題,絕對能交房。于是我繼續等待。
             2008年6月22日,交房的前一周周末,我又去看了,樓板仍未裝,墻仍未砌,陽臺玻璃未裝,窗戶沒裝,售樓小姐仍是信心滿滿,我只好悻悻地回去了。
             而這天之后的這一周里,我幾乎每天都打電話給售樓部,問他們有沒有發收房通知書。他們說發了。我從周一等到周六就是沒有收到
           2008年6月29號(收房的前一天)又去了趟,居然還有工人在我家里砌墻
            到2008年6月30號還沒收到收房通知書,只好自己到售樓部看看了。先去自己的小窩看了下,不管是入戶門還是房間里面的玻璃門,一個都沒裝,水電氣一個都沒通,窗戶完全沒裝好根本關不上,窗戶邊上還露著塑料泡沫,客廳里還有水管露在外面,書房里還有電線鐵管露在外面,兩個廁所和衛生間都在往下滴水,但是看一看自己房子的水龍頭還沒裝。我憤怒了,不,已經出離憤怒了!怒氣沖沖地跑到了售樓部,看到了與我同樣怒氣沖沖的業主們。只有很少的業主收到了收房通知書,一問才知道,開發商故意把收信地址寫得很模糊,不給你電話通知,想讓你收不到不來收房,能拖多久就拖多久,然后就是你違約,他沒違約。無恥啊無恥,房子搞的不成玩意,難道還想強行交房?!開發商后來的一席話讓我更是氣不打一處來,今兒你收也得收,不收也得收:只要房屋結構出來了你就可以收房了(可笑,你搭幾根柱子,裝幾塊樓板,我們就能入住了是吧?!)違約金是沒有的(那簽合同約定干嘛)7月份不管沒收沒收物業費是要交的。后來又得知,一級資質的物業長城物業已于最近換成了開發商新成立的三級資質的物業,收費不變(1.1/每平方),每個月還要多收40元的公共能耗費。天啊,真牛的開發商,真厚臉皮的開發商。又找了家驗房公司查查還有什么問題,查出來以后嚇了一大跳,密密麻麻地寫滿了驗房單:1、房屋內有空鼓十多處;2、垂直度超標幾處;3、房頂不平幾處;4、空調插座不合要求幾處;————————還包括我自己一眼就能看出來的問題,共計三十項。回到售樓部,看到售樓部黑板上貼的文件,怒火再次充滿胸腔幾乎要迸發出來,1、入戶門的合格證書上一個防盜的字樣都沒有,只說是防火門,而合同上約定的是防盜門,這兩者的價格相差一倍;2、居然真的還有竣工驗收備案表,上面還有人簽字了,在這里通報下他們。
    監理公司是:合肥南巽建設項目管理咨詢有限公司
    總監是:卞鑫
    我就想問問卞總監,這么多問題的房子,您是怎么驗收合格的呢?您怎么就敢往表上簽字的呢?水管暴露在外,那么明顯,您就看不見嗎?
    還有更搞笑的事情,所有房子的驗收日期都是2008年6月26號,而6月29日的時候有的房子的墻都還沒砌好,您怎么就驗收通過了?怎么一下子在一天之內把小區內所有的房子都驗收了?

    我人肉搜索了下這個總監:
    序號 姓名 性別 聘用單位 注冊專業1 注冊專業2 執業資格證書編號 崗位證號
    55 卞鑫 合肥南巽建設項目管理咨詢有限公司 房屋建筑工程 0012350

    這位總監總監了不少項目,可謂是經驗豐富,如:
    1、南巽創景花園項目總監卞
    2、合肥市建設委員會


    合建質安[2007]269號





    合肥市2007年建設工程質量


    監督執法檢查情況通報

    四、典型案例


    (一)質量控制較好的工程


    1、創景花園5#樓


    建筑面積:13412m2,結構/層次:框剪/24層;


    建設單位:創景物業公司;項目負責人:張保安


    施工單位:浙江歌山建筑公司;項目經理:張權平


    監理單位:合肥南巽監理公司;總監:卞鑫


    工程質量評價:現場實物觀感質量好,現場管理有序;施工、監理單位的質量保證體系運行良好;施工、監理資料齊全。

        卞鑫還是某次評選評的的優秀監理工程師,對于這個人我沒什么好說的。
        如果是開發商偽造他的簽名,我向他道歉,并將和他一起追究開發商偽造文件的問題;
        如果真是他的簽名,他就是混蛋之極、膽大包天、不負責任,吃喝卡拿要的典型,趁早還是從監理界滾蛋!
        我們小區里并不是每棟樓都是這樣,據說是有別的公司掛靠徽商集團建設的。合肥的那家公司就做的很好,不少業主都收房了,而我所在的樓,很不幸,聽說是淮南的公司開發的,慘不忍睹,幾乎沒有業主收房!我們都在收房單上寫上:問題很多,拒絕收房(寫是因為怕開發商說我們沒來收房,說我們違約)
        我們將近60戶業主100多人已于2008年7月6日在小區內進行了集會,集體簽名,選出了業主代表,并向開發商遞交了定期整改、賠償協議書,如果開發商再不出面處理,我們將訴諸法律和媒體!
    城市風景業主維權在行動!

    如果您是城市風景的業主,請頂下這個帖子,這是為您自己的未來考慮;

    如果您是已經買房未交房的業主,請頂下這個帖子,這是您學習維權經驗的機會;

    如果您是已經即將買房未交房的朋友,請頂下這個帖子,這很可能是您將來要走的一步;

    如果您是暫時不考慮買房的朋友,請頂下這個帖子,看我們如何跟開發商斗智斗勇!

    謝謝諸位!

    posted @ 2008-07-08 20:51 steady 閱讀(1473) | 評論 (12)編輯 收藏
    開發商安徽盛通置業在沒有滿足交房條件的情況下,就向業主發出了交房通知書,引起業主強烈反應。

    7.6號,三期業主集體聚集小區,商討維權方案,并集體簽名授權業主代表代表維權

    7.7號,業主代表得到的反饋:今天上午接到銷售部電話,說是老總出差了,于是我們就找到高新區質檢站并將業主意見書給了質檢站,下午質檢站的一個林質檢員到城市風景現場了解情況,有開發商分管工程的副總和工程部經理陪同,看來幾家的情況后,質檢站承認房屋質量確實存在質量問題,并由工程部人員、質檢員和業主代表開會協商。工程部表示會盡快進行修復。我方要求要求以開發商的名義書面就《業主意見書》逐條在明確時間內給予答復解決。工程部表示認可,并按照我們要求的期限,周三給予明確答復。
    posted @ 2008-07-07 22:28 steady 閱讀(978) | 評論 (15)編輯 收藏
      周末的時候,淘寶對后臺又做出了一次較大的升級,主要是在用戶體驗方面的調整,其實淘寶今年以來,基本上每個月都會有這方面的調整,也說明了淘寶用戶體驗部門的成果了。
      第一次讓我覺得有用的改動就是對收藏的調整,不用出現登錄頁面了,用一個彈出層解決了這些問題。前不久對評價的改動,讓用戶做出好評不需要點這么多按鈕了。
      這次改動我感覺是對我買到或者賣出的東西等一系列功能做出調整,比如說可以直接在列表里面關閉項目了,也是一個彈出層解決的問題。同時,也讓頁面更加簡潔清爽,當然同時也會伴隨用戶的不適應。
      其實我們更喜歡簡單易用的系統,每次操作要輸入很多或點很多都是很折磨人的,畢竟上網應該是簡單,輕松的。Web 發展到現在,單純的頁面跳轉與刷新越來越不流行了,Ajax 的真正價值開始被越來越多的網站開發團隊理解與運用。
    posted @ 2008-06-11 23:09 steady 閱讀(653) | 評論 (1)編輯 收藏
    今天在看榮登 Jolt 大獎的 The Art of Project Management,其中最讓我深有感觸的是這樣一段話:
    The simpler your view of what you do, the more power and focus you will have in doing it. If we can periodically maintain a simple view of our work, we can find useful comparisons to other ways to make things that exist all around us. There will be more examples and lessons from history and modern industries that can be pulled from, compared with, and contrasted against. This is similar to the concept defined by the Japanese word shoshin, which means beginner's mind, or open mind, an essential part of many martial arts disciplines. Staying curious and open is what makes growth possible, and it requires practice to maintain that mindset. To keep learning, we have to avoid the temptation to slide into narrow, safe views of what we do.

    確實,最近已經很久沒有太多興趣去學習新的東西了,包括曾經非常有興趣的 ruby,真想回到當年剛畢業的時候,用那樣的熱情,精神去學習。或許今天算是一個起點吧,畢竟很久很久沒有做下來,好好的看一本書,好好的想著作者要告訴你的東西。

    給自己開了個書單,好好努力,用 beginner's mind 去感受世界,感受前人的智慧。
    posted @ 2008-05-26 14:27 steady 閱讀(391) | 評論 (0)編輯 收藏
    什么是 ESB(Enterprise Service Bus)?
    對于這個問題,長期沒有搞清楚,就連我自己也很難說清楚這到底這是個什么樣的概念,我引經據典來大致的描述一下這個概念。

    第一個定義來自于:O'Reilly 的 《Enterprise Service Bus》

    The ESB concept is a new approach to integration that can provide the underpinnings for a loosely coupled, highly distributed integration network that can scale beyond the limits of a hub-and-spoke EAI broker. An ESB is a standards-based integration platform that combines messaging, web services, data transformation, and intelligent routing to reliably connect and coordinate the interaction of significant numbers of diverse applications across extended enterprises with transactional integrity.

    An extended enterprise represents an organization and its business partners, which are separated by both business boundaries and physical boundaries. In an extended enterprise, even the applications that are under the control of a single corporation may be separated by geographic dispersion, corporate firewalls, and interdepartmental security policies.

    另外一個定義來自于:維基百科的ESB定義
    它是面向服務架構的實現。
    它通常是操作系統和編程語言無關的;
    它應能在Java和.Net應用程序之間工作。
    它使用XML(可擴展標識語言)作為標準通信語言。
    它支持Web服務標準。
    它支持消息傳遞(同步、異步、點對點、發布-訂閱)。
    它包含基于標準的適配器(如J2C/JCA),用于集成傳統系統。
    它包含對服務編制(orchestration)和編排(choreography)的支持。
    它包含智能、基于內容的路由服務(itenerary路由)。
    它包含標準安全模型,用于ESB的認證、授權和審計。
    它包含轉換服務(通常是使用XSLT),在發送應用和接收應用之間轉換格式,簡化數據格式和值的轉換。
    它包含基于模式(schema)的驗證,用于發送和接收消息。
    它可以統一應用業務規則,充實其它來源的消息,分拆和組合多個消息,以及處理異常。
    它可以條件路由,或基于非集中策略的消息轉換,即不需要集中規則引擎。
    它可監視不同SLA(服務級別合約)的消息響應門限,以及在SLA中定義的其它特性。
    它(常常)簡化“服務類別”,向更高或更低優先級用戶做出適當的響應。
    它支持隊列,在應用臨時不可用時用來保存消息。
    它由(地理)分布式環境中的選擇性部署應用適配器組成。

    總的來說,ESB 提供了跨平臺,跨部門,跨應用系統的服務整合的基礎平臺,就我們目前對項目的理解,我們或許還沒有達到這個 level,我們提供的應該是個辦公應用平臺,除非我們確實會進行跨部門,跨業務的服務整合,那樣我們真的是在做 SOA 了,那就有的折騰了。

    不多說了,進入下一個主題 OSGi。
    posted @ 2008-05-26 14:26 steady 閱讀(429) | 評論 (0)編輯 收藏
         摘要:   閱讀全文
    posted @ 2008-02-26 08:56 steady 閱讀(1579) | 評論 (3)編輯 收藏

    綁定在淘寶上的 SaaS 的阿里軟件網店版,應該還是會有一些高級賣家愿意每天花一塊錢用的,里面確實提供了一些比較有用的功能,當然不足的地方也是非常的多。

    先說好的吧:首先,E客服就是比較有意思的東西,解決了很多客服平臺的問題,過去我們為兩個項目做的在線客服,跟它比起來,還是有差距的。平常店里可以同時有幾個人一起打理,而且不會出現一個旺旺多個人使用的情況,它用的是子帳號的概念,各人獨立一塊,互不干涉。還是很不錯的東西。

    打印快遞單應該也是個比較有意思的功能,如果貨物量大的話,這個功能絕對是不可少的,大大減小了人力成本。不過估計我現在還是用不上的。

    商品定時上架是個很好的功能,就是針對淘寶設計的功能,如果熟悉淘寶搜索結果規則的人,會很好的去利用這個規則,讓自己的貨物在最佳瀏覽時間出現在搜索靠前的位置。而定時上架就很好的解決了這個問題,如果有效利用的話,絕對會讓你的商品賣的更好的。

    在說一些不好的吧:首頁有個統計最熱賣的東西,但是沒有找到熱賣產品的排名,這個東西應該是挺有用的吧,不過似乎沒有提供。查看報表里面,經常會刷不出圖片,估計是 IE 的 Cache 原因,不再重新加載圖片了。進銷存這個東西沒有和銷售報告結合起來,應該算是一個缺憾了,希望下一個版本能有更多的東西。不過,不知道下個版本要到哪年,上個版本似乎已經發布半年了。

    From:談談阿里軟件網店版
    posted @ 2008-02-21 16:46 steady 閱讀(814) | 評論 (0)編輯 收藏

    卡巴斯基這個俄國人做的殺毒軟件呢,一直比較彪悍,經常見到什么東西都一陣嘶吼,然后你正常使用的軟件也就掛了,QQ啊,這樣的主流應用也是經常在它的誤殺范圍內。

     對于開發人員來說,因為卡巴斯基更是會有諸多不爽的問題,下面列舉一二,是我的慘痛教訓,也和大家分享一下。

    1. SVN 問題:如果你使用 SVN 做配置管理的話,有時候 check in 代碼會半天沒有反應,如果這時候你把卡巴禁用,就一切正常了。
    2. IntelliJ IDEA 端口沖突問題:用 IDEA 啟動 Tomcat 時,使用了 8080 或者 80 端口,經常會啟動就報端口沖突,而端口絕對是沒有被其他應用程序占用的,而在獨立的 Tomcat 下運行沒有出現這樣的問題,把卡巴對這些端口的監控關閉就一切正常。

    這兩個問題都是比較郁悶的,卡巴斯基很強悍,卻總是讓人很無奈。

    From:對開發人員不友好的卡巴斯基
    posted @ 2008-01-29 10:18 steady 閱讀(1971) | 評論 (7)編輯 收藏

    Jolt Awards 是軟件界的盛宴,被譽為軟件界的奧斯卡,每年的 Jolt 中,能夠看出軟件開發領域的發展和未來的趨勢,讓我們來關注一下今年的大獎得主吧。 

    上周 Summer 推薦 Beautiful Code 的時候,也順便找到了今年的 Jolt Awards Finalists,接著榜單,閑聊一下。

    General Books
      Beautiful Code Edited by Andy Oram and Greg Wilson O’Reilly
    Geekonomics: The Real Cost of Insecure Software by David Rice Addison-Wesley Professional
    Manage It!: Your Guide to Modern Pragmatic Project Management by Johanna Rothman Pragmatic Bookshelf
    Myths of Innovation by Scott Berkun O’Reilly
    Outside In Software Development by Carl Kessler and John Sweitzer IBM Press
    Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard Pragmatic Bookshelf
    Technical Books
      Continuous Integration: Improving Software Quality and Reducing Risk By Paul Duvall, Steve Matyas, Andrew Glover Addison-Wesley Professional
    Fuzzing: Brute Force Vulnerability Discovery By Michael Sutton, Adam Greene, Pedram Amini Addison-Wesley Professional
    Head First SQL Your Brain on SQL—A Learner’s Guide by Lynn Beighley O’Reilly
    The Rails Way by Obie Fernandez Addison-Wesley Professional
    WPF Unleashed by Adam Nathan Sams Publishing
    xUnit Test Patterns: Refactoring Test Code by Gerard Meszaros Addison-Wesley Professional

    圖書方面,看上去幾乎是被 O’Reilly 和 Addison-Wesley 給壟斷了,Pragmatic Bookshelf  也在其中占有了一席之地。圖書中,最大的贏家應該是,Beautiful Code,我在國內某家被我批評過的IT書店上看到了掛上了期數的預告,名字叫《代碼之美》,似乎有抄襲《數學之美》的嫌疑,第一次看到這么多作者一起寫出來這么好的書,33 章的書,就包括了 33 個來自于不同領域的作者,共同創造了如此完美的代碼,在 O’Reilly 的牽線搭橋下,造就了 Beautiful Code,如果有機會,我希望能由東南大學出版社出版這本書的英文影印版,讓我們細細的品味。

    Head First 的新書 Head First SQL Your Brain on SQL 也登上了 Jolt 的舞臺,之前 Head First Design Pattern 和 Head First OOAD 是如此通俗的把面向對象的兩個經典內容:設計模式和面向對象的分析與設計,聊家常一般的擺在我們的面前,精妙的內容組織,淺顯易懂的語言,就連我們這些非常怕看英語的人看起來都毫不費力,不愧為大師級的功力。而這本新書料想也會給 SQL 的新手帶來一種全新的體驗吧。

    Pragmatic Bookshelf 這個書系自從《Pragmatic  Programmer》 開始,就不斷的擴大其影響。從程序員修煉三部曲中,告訴了我們版本控制,單元測試,持續集成這三個開發者的基本工具。隨后的 Pragmatic  Ajax 把 Ajax 推到了大家的面前。當 Ruby on Rails 開始流行的時候,Programming Ruby 和 Agile Web Development with Rails 都在一版二版的洗禮中不斷的升華,已經成為 RoR 開發的經典之作。這次的 XX It 系列又從軟件項目管理角度來 Pragmatic 。我似乎看到過 Ship It 還有 Deploy It 這兩本,或許也是這個系列里的吧。

    The Rails Way 我一開始當成了 The Ruby Way,其實后者的風格我比較喜歡了,于是又套用了它的名號來了個 The Rails Way,雖然現在還沒有拿到,我想這本書會給我們一些新意的。

    Development Environments
      Alpha Five version 8 Alpha Software Inc.
    CodeRush/Refactor! Pro Developer Express Inc.
    IntelliJ IDEA JetBrains
    Komodo IDE 4 ActiveState
    NetBeans IDE 6 Sun Microsystems
    QNX Momentics IDE 4 QNX Software Systems
    Web Development Tools
      3rdRail CodeGear
    Adobe ColdFusion 8 Adobe Systems, Inc.
    Appcelerator Platform Appcelerator, Inc.
    IntelliJ IDEA JetBrains
    NetBeans IDE Sun Microsystems
    RSSBus /n software

    開發工具大獎上已經看不到了 Eclipse 的身影,而 IDEA 依然在榜單上活躍,而我也是一如既往的使用它,即便是在 Rails IDE 中,IDEA 憑借其 Rails 插件,加上它的基礎,用起來還是相當的順手,目前除了不能 Debug,我似乎沒有其他不滿的地方。

    Netbeans IDE 在年末閃亮登場后,帶來了一個更輕更小,更完整的開發工具包,而 Eclipse WTP 一個包動輒就是 2xxM,雖然功能很齊全,不過體積實在是有些過分了,并且沒有一種 IDEA 的那種讓人很爽的感覺。我沒有用完整的 Netbeans 包,因為 Java Web 開發已經習慣了 IDEA + Eclipse 的組合,我只關注了一下 Ruby IDE,功能上來說,確實有其獨到之處,不過在寫代碼上還不能達到非常流暢的速度。不過 Netbeans 在兩年里就來了個咸魚翻身,我們要說 Sun 很努力了。

    Libraries/Frameworks
      Eclipse Modeling Project Eclipse
    Guice Google Inc
    JasperReports JasperSoft
    Qt Jambi Trolltech
    Spring Framework SpringSource
    Zend Framework Zend Technologies

    在開發框架上最活躍的依然是 Java 平臺,這和 Java 平臺一直以來保持的很好的開源社區是分不開的。EMF,Guice,JasperReports,Spring Framework 這幾個一直都是 Java 領域最熱門的開源項目。

    Google Guice 在 Google 的天才程序員 Bob Lee 的創意中誕生了,采用了一種全新的依賴注入的方式,將效率提高了傳說中的 100 倍,雖然對這個數據我不是太在意,而在 Spring 如此成熟的進入 2.0 后,卻有一個后輩小生提出了全新的思路,而 Spring 2.5 也接受了這樣的思路,調整了一些依賴注入的策略,在性能上有了不小的提高。

    經營著 Spring 的 interface21 為了凸顯其 Spring 的品牌,改名為 SpringSource,并且推出了一本《Spring In Production White Paper》,希望能夠在企業應用中占有更大的份額。

    作為 PHP 的領頭羊的 Zend 在 Rails 推出后再也按耐不住了,PHP 一定要有一套官方的 Framework,而且它的特性要很像 Rails,于是 Zend Framework 誕生了,這在幾乎沒有框架概念的 PHP 中注入了一種新的活力,Rails 不光激起了 Java 世界的廣泛關注,在無數個類 Rails 框架后面,Zend 從 PHP 官方的角度接受了 Rails 的思想,改善 PHP 的開發。而 Java 世界里,Grails 也伴隨這 Groovy 1.5 的推出,伴隨著 Grails 的第三個 RC 版,即將走到 1.0 版本。Rails 帶給了 Web 開發無窮的活力。


    聊聊 Jolt Awards 2008
    posted @ 2008-01-12 22:23 steady 閱讀(3770) | 評論 (3)編輯 收藏

      第一次用 Zoundry 客戶端工具來發布博客,WordPress 還是不錯的博客了,提供了 XML-RPC 方式的遠程提交接口,我們可以比較容易的把我們的博客發布到 WordPress 上。

      老外對這方面的支持工作還是做的不錯的,國內的同類系統往往只考慮到功能,好一點的考慮到性能,而在這些新技術帶來的擴展性的增強上似乎沒有太多的理解,雖然 WordPress 在功能上和國內的很多博客有一定的差距,但是人家支持插件,這樣就可以讓地球人都上來擴展一把。Eclipse 的插件風風火火的做了幾年,現在人似乎沒有不用插件開發的了。

      老外在 Web 2.0 中又很多好的思想,技術,拿到國內來就有點變味了,雖說國人在 Web 2.0 技術上跟進的速度還是相當的快,不過思想還是又相當的差距的。

      要好好學學人家做東西的思想,而不僅僅是技術。

    posted @ 2008-01-04 16:42 steady 閱讀(996) | 評論 (0)編輯 收藏

    該文章被發布在我的新博客中:http://4think.cn/blog/index.php/archives/25

      市面上這么多的IM工具,每次打開的時候就要開上一堆,還不時的有個新的IM工具出來,加上一兩個及其有吸引力的功能,然后又不得不裝上,搞的每次開機以后總是要開上一大堆的IM,比如QQ啦,MSN啦,還有Yahoo,Google Talk,飛信,Skype,真的挺麻煩的。

      一年前的時候,突然聽說 Yahoo 可以和 MSN 互通了,于是從此就沒用過 MSN 了,也是對 Microsoft 歧視國內用戶的一種不滿吧,這么多IM工具,最不穩定的也最為常用的要屬 MSN 了,雖然飛信這樣“國”字號的軟件似乎更加的不爭氣,就原諒他吧,誰叫他是咱最有錢的移動運營商呢。可以說,MSN 的掉線率是相當的高,登錄速度也是驚人的,在公司內部傳文字的效率呢更加不用說了,反正沒有人走的快。不過據我們去過美國的一些同事說,MSN 在美國速度是非常快的,包括其下屬的 hotmail,MSN Space,怪不得這么被推崇了,不過沒辦法,畢竟是在國內,屬于不被重視的使用群體,大不了就不用了,于是機子里再也沒有出現過 MSN,所有重要的好友都加到 Yahoo 里了。

      其實說來 Yahoo 也是個比較不爭氣的東西,功能嘛,沒啥強的,不過吃內存的能力還挺強,印象中也就 Skype 可以和他有的一拼,不過好歹人家 Yahoo 還是比較重視中文用戶的,起碼光纜斷的時候還是能用的,而且相關的本地化服務也還是有一定的可用性的,Yahoo的郵件提示是最為迅速的,基本上是新郵件來到5秒之內就得讓你知道,這個功能還是挺體貼用戶的,其實我的一些 IM 的一個重要作用就是 check email,比如說 Google Talk。Yahoo 的客戶端程序其實是比較不穩定的,群聊功能是個殺手,一次領導通知事情,讓大家開個會,結果一位老兄圖方便,Yahoo 把大家全部加進來了,大家的機器全部死翹翹,只好 reset 重啟,自此以后,這個功能再也不敢使用了,Yahoo 工具箱里有個看股市行情的插件,不過這個曲線也太不本地化了,中午休息的時間也畫在上面,一條長長的直線,怎看都別扭。沒辦法啊,公司里唯一允許的 IM 工具,不得不裝,也就不得不去忍受這些了。

      Google Talk 其實是我用的最多的,極為簡潔,擁有我需要的主要功能,email 通知,語音,文本聊天,傳文件(大家都喜歡裝中文版的,沒這個功能,所以也基本找不到人傳文件),其實還有一點重要的就是所有聊天記錄都會保存在 Gmail 里,在哪都不會丟失,也很連貫,這對于我們經常討論需求的人就不會有上句沒下句的了。也不用擔心聊天記錄留在本地泄密。另外還有一點,傳代碼的時候絕對不會變成一堆笑臉什么的。Google Talk 其實功能上是相當有限的,但是我卻非常喜歡,簡潔就是美了。

      下面隆重出場的是唯利是圖、忘恩負義外加極端不安全的 QQ 了,如果不是這么多好友在里面,我是不會開 QQ 的,當然 QQ 作為國內用的最多的 IM 工具(其實叫他聊天工具更確切),QQ 還是有相當多的優勢的,首先網絡穩定性好,傳文件速度快,有遠程協助功能,語音質量也不錯,可以看 IP(還不都是珊瑚蟲的功勞,被忘恩負義的騰訊扼殺了),有群聊功能,也是最適合某些夜晚不甘寂寞的人尋找刺激的工具了,其他的功能我是不大能想到的了,更不用說去用了,所以嘛,QQ 對我來說,太大了,太花哨了,對公司來說也是的,基本上正規的公司,沒有哪個不封 QQ 的,所以嘛,QQ 只能被遠遠的拒之于企業應用的門外,騰訊的 RTX 也就不是那么容易進入企業市場的,誰讓你這么花哨,看了就不想好好工作了。

      Skype 這個東西嘛,對我用處不大,自從充值卡被封事件以后就不再常開了,開會的時候才會去用,畢竟多人語音聊天功能還是挺不錯的。

      國外的大部分 IM 工具都開放互通了,包括 MSN 和 Yahoo,Google Talk 也在和 MS 談互通的問題,國內的 IM 互通嘛,似乎完全不可能,國外那幾家都不是靠 IM 吃飯的,騰訊就不一樣了,如果不保持其 QQ 的占有率,瘋狂的扼殺非“官方”的客戶端,LumaQQ 這么優秀的跨平臺解決方案也就被騰訊自己和諧掉了,最近對珊瑚蟲下狠手也表示其在此方面的決心,呵呵,我的 QQ 從此不升級了。

    posted @ 2008-01-02 11:27 steady 閱讀(2029) | 評論 (4)編輯 收藏

    每個人在開發的時候,都會根據自己的喜好選擇一些好用的工具,當然,通過一些年頭的積累,我自己也有了這么一些順手的工具,就把這些還不錯的東西拿出來和大家分享吧。

    CyberArticle (網文快捕)

      我們在查看資料,或者遇到問題上網搜索的時候,經常會想把自己看到的一些好東西保存下來,以后需要用的時候可以找到,有人把東西復制下來保存成文本,有人用 Word 文檔,也有人直接保存頁面,這些方法固然是可以,不過以后找起來可就比較麻煩了。我們需要一個帶分類的文檔管理工具。

      在對一堆工具的篩選之后,我選中了 CyberArticle,也就是網文快捕,安裝以后,在瀏覽頁面時,IE 和 FF 的右鍵會出現保存全文,保存選中部分這樣的選項,我最喜歡的是保存選中部分這個功能,畢竟我們并不需要一個網頁中一些不相關的文字和圖片。CyberArticle 可以完整的把文章內容或選中部分的內容保存下來,無論是圖片或者其他什么的,都能較好的支持。在保存下自己喜歡的內容后,我們可以手工把這些內容分類,以后會比較容易的找到自己需要的東西。

      另外 CyberArticle 中比較有用的功能是生成電子書。我們在網上搜集到一堆某一類別的文章,為了與他人分享或者便于攜帶,我們可以把這一個獨立的類別的內容導出成 CHM 或 EXE 版本的電子書。

      CyberArticle 可以到 http://www.wizissoft.com/cn/index.aspx 下載,強烈建議使用最新的 5.0 版(只要25塊錢),舊的版本會有相當一部分的文章保存不下來。


    鏈客中國,寫文章也可以賺錢哦
    posted @ 2007-11-29 10:59 steady 閱讀(2088) | 評論 (11)編輯 收藏
        昨天看到新聞,IBM 在其網站上放出了 Lotus Symphony 的 beta 版,看上去有點 Office2007 的一套辦公產品,最重要的是它是基于 Eclipse-RCP 平臺的,如果說 IBM 讓 Lotus 去做一個標準的 Windows 應用像 Office2007 到沒有什么奇怪的,關鍵在于它是 Eclipse 平臺的,IBM 在一個強大的 Eclipse 平臺上,構建出了一個向 Microsoft 最核心產品叫板的應用,這大大的壯大了 Java 愛好者的威風。

        過去我們 Swing / SWT 做的東西似乎很難有直接面向普通用戶的優秀的應用,這次 IBM 是代 Java 出了重重的一拳,Eclipse 平臺不但是與 Microsoft 的 Visual Studio 叫板,甚至可以和 Office 叫板了。

        從另一方面來說,從 Lotus Symphony 的推出,IBM 進一步亮相了 Eclipse RCP 的高級 UI 組件,傳統的 Eclipse 開發出的東西,千篇一律,沒有太大的界面差別,但是 Lotus Symphony 上卻不太容易讓人聯想到 Eclipse,除了看到啟動畫面上 build on eclipse 的只有,還有一些熟悉的菜單項,和 PlugIn 相關的內容才會發現,哇,這個酷酷的應用原來是 Eclipse 平臺上的產品。

        當然 Lotus Symphony 并沒有說是開源的,這些新的,酷酷的 UI 組件也并沒有向開源社區開放,按照 IBM 最近幾年的慣例,遲早是要捐出來的,但前提是先做幾套東西,賣點錢再說,Eclipse WTP 的很多東西來源于 WSAD,很多 Eclipse 的插件也是來源于 Rational 的產品,只是 IBM 覺得沒有什么商業價值了,才捐出來。

        其實我是非常希望 IBM 能盡快和大家分享 Lotus Symphony 的成功經驗,也希望更多的 Eclipse 愛好者能夠開發出更多強大的應用,特別是桌面級應用,讓更多的人看到,Java 在成長,在進取。


    ---------------------------------------------------
    順便做個小廣告 鏈客中國 www.linkedcast.cn 上線運行,歡迎廣大 Blogger 使用


    鏈客中國,寫文章也可以賺錢哦
    posted @ 2007-09-23 08:40 steady 閱讀(1139) | 評論 (8)編輯 收藏
    Java Web 應用似乎總有這樣的情況,有事沒事總是要在 URL 后面加上個 jsessionid,而且似乎不能使用配置的方式直接禁用 URL 傳遞 sessionid,這樣,就比較容易造成安全性的問題,或者在瀏覽器地址欄里留下一堆很不好看的地址,在 Struts2 中,使用了 url 標簽的所有鏈接,甚至 CSS, JS 這樣的東西,都會加上 jsessionid,如何去禁用呢,搜索國內的相關文章,無功而返,詢問我們過去的架構師,也沒有做過,只好想辦法去找國外的網站,找到了這樣的一篇文章。

    http://randomcoder.com/articles/jsessionid-considered-harmful

    通過加入 Filter 的方式過濾掉 URL 中包含的 jsessionid,再重新包裝 Response 返回給瀏覽器。

    因為沒有太多東西,就不多解釋了,大家拿了用就可以了。

    import javax.servlet.*;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpServletResponseWrapper;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;

    /**
     * Servlet filter which disables URL-encoded session identifiers.
     * <p/>
     * <pre>
     * Copyright (c) 2006, Craig Condit. All rights reserved.
     * <p/>
     * Redistribution and use in source and binary forms, with or without
     * modification, are permitted provided that the following conditions are met:
     * <p/>
     *   * Redistributions of source code must retain the above copyright notice,
     *     this list of conditions and the following disclaimer.
     *   * Redistributions in binary form must reproduce the above copyright notice,
     *     this list of conditions and the following disclaimer in the documentation
     *     and/or other materials provided with the distribution.
     * <p/>
     * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
     * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     * POSSIBILITY OF SUCH DAMAGE.
     * </pre>
     
    */
    @SuppressWarnings(
    "deprecation")
    public class DisableUrlSessionFilter implements Filter {

        
    /**
         * Filters requests to disable URL-based session identifiers.
         
    */
        
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
            
    // skip non-http requests
            if (!(request instanceof HttpServletRequest)) {
                chain.doFilter(request, response);
                
    return;
            }

            HttpServletRequest httpRequest 
    = (HttpServletRequest) request;
            HttpServletResponse httpResponse 
    = (HttpServletResponse) response;

            
    // clear session if session id in URL
            if (httpRequest.isRequestedSessionIdFromURL()) {
                HttpSession session 
    = httpRequest.getSession();
                
    if (session != null) session.invalidate();
            }

            
    // wrap response to remove URL encoding
            HttpServletResponseWrapper wrappedResponse = new HttpServletResponseWrapper(httpResponse) {
                @Override
                
    public String encodeRedirectUrl(String url) {
                    
    return url;
                }

                @Override
                
    public String encodeRedirectURL(String url) {
                    
    return url;
                }

                @Override
                
    public String encodeUrl(String url) {
                    
    return url;
                }

                @Override
                
    public String encodeURL(String url) {
                    
    return url;
                }
            };

            
    // process next request in chain
            chain.doFilter(request, wrappedResponse);
        }

        
    /**
         * Unused.
         
    */
        
    public void init(FilterConfig config) throws ServletException {
        }

        
    /**
         * Unused.
         
    */
        
    public void destroy() {
        }

    -------------------------------------------------------------------------------------------------
    順便做個小廣告 鏈客中國 www.linkedcast.cn 上線運行,歡迎廣大 Blogger 使用

    鏈客中國,寫文章也可以賺錢哦
    posted @ 2007-09-08 20:13 steady 閱讀(5682) | 評論 (4)編輯 收藏
    在過去使用 Spring 整合 Hibernate 的時候,都是用這樣的配置方式。

    <bean id="sessionFactory" lazy-init="true"
          class
    ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        
    <property name="mappingResources">
            
    <list>
                
    <value>resources/icustomer/Contact.hbm.xml</value>
                
    <value>resources/icustomer/Customer.hbm.xml</value>
            
    </list>
        
    </property>
        .
    </bean>

    每當需要加入一個新的 VO 時,我需要過來修改配置文件,來引入對新的 VO 的支持。

    現在我使用的時候,是這么配的:
    <bean id="sessionFactory" lazy-init="true"
          class
    ="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
        
    <property name="mappingLocations">
            
    <list>
                
    <value>classpath:resources/**/*.hbm.xml</value>
            
    </list>
        
    </property>
        .
    </bean>

    做項目開發的時候,就再也沒有改過配置。
    posted @ 2007-08-17 13:58 steady 閱讀(1932) | 評論 (5)編輯 收藏
    因為有一個 Struts2 網站發布,需要整合一個論壇來使用,公司的一個項目過去曾經整合過一個英文論壇,但似乎不能滿足我們的需求,需要找一個成熟穩定的中文論壇,與我們的系統結合。

    最終選擇了 Discuz 作為我們的論壇系統,主要是因為它提供了一套可用的 Passport API,來直接與我們現有系統進行整合。

    下面摘錄 Discuz 文檔中的內容來說明整合原理,隨后的幾篇中,將詳細描述具體的整合過程。

    假設已設置如下變量或參數

    • 掛接 Discuz! Passport 的應用程序假設為一套 PHP 語言編寫的 CMS 系統
    • Discuz! 的 URL 為 http://www.myforums.com
    • 應用程序的 URL 為 http://www.mywebsite.com
    • 應用程序的注冊頁面為 http://www.mywebsite.com/register.php
    • 應用程序的登錄頁面為 http://www.mywebsite.com/login.php?action=login
    • 應用程序的退出頁面為 http://www.mywebsite.com/login.php?action=logout

    開啟通行證后的用戶登錄流程

    • 如果用戶在論壇點擊“登錄”,則轉向到事先設置好的應用程序登錄頁面(http://www.mywebsite.com/login.php?action=login),并在登錄頁面的 URL 中加入參數 forward(加入 forward 后的鏈接例如 http://www.mywebsite.com/login.php?action=login&forward=http://www.myforums.com/index.php),用于在登錄后將用戶導向到指定的 URL。

    • 應用程序收到此請求后,按照慣例生成表單,并增加一個表單變量,將 GET 方式傳遞過來的 forward 參數通過表單進行傳遞。

    • 用戶在應用程序的表單中填寫登錄信息,并提交到應用程序的登錄驗證程序。應用程序驗證用戶提交的用戶名和密碼的合法性:

      • 如果不通過:提示用戶名密碼錯誤,要求其返回上一頁重新填寫。

      • 如果通過,需要進行如下操作:

        • 設置自身 Cookie 或 Session,使得應用程序自身處于登錄狀態。

        • 檢查表單中是否提交了 forward 變量,如有,則意味著登錄請求可能是由論壇而來,將此變量傳遞到后面的請求中。如沒有,自行生成 forward 變量,使得論壇登錄后能夠跳轉回到應用程序中。

        • 通過 header('Location: http://www.myforums.com/api/passport.php?action=login&auth=xxx&forward=http://yyy&verify=zzz') 的方式,將登錄請求傳遞到論壇進行處理。其中 auth 用來將用戶信息與資料以特定的格式,加密傳遞給論壇,forward 用于告知論壇 Passport API 完成自身操作后轉向到的 URL 地址,verify 用于驗證前面兩個變量的有效性。auth、forward、verify 格式與結構將在后面進行說明。


    • Discuz! Passport API 在接收到由應用程序通過 header() 提交過來的請求后,進行如下操作:

      • 根據 verify 判斷 auth 和 forward 變量是否合法,如合法則繼續,否則終止。

      • 將 auth 根據既定算法解密,并還原成數組,數組的內容與格式將在后面進行說明。根據數組中的內容,檢查此用戶是否存在。如存在,則根據上述數組中的內容 UPDATE 論壇中相應的用戶資料。如不存在,則使用數組中的信息 INSERT 到論壇用戶資料表中。

      • 論壇設置 Cookie 或 Session,使得論壇自身處于登錄狀態。

      • 根據應用程序反饋的 forward 值,通過 header('Location: http://xxx') 的形式將頁面跳轉到 forward 變量指定的 URL。


    • 至此,登錄流程結束

    開啟通行證后的用戶退出流程

    • 如果用戶在論壇點擊“退出”,則轉向到事先設置好的應用程序退出頁面(http://www.mywebsite.com/login.php?action=logout),并在登錄頁面的 URL 中加入參數 forward(例如 http://www.mywebsite.com/login.php?action=login&forward=http://www.myforums.com/index.php),用于在退出后將用戶導向到指定的 URL。

    • 應用程序收到此請求后,清除自身 Cookie 或 Session,使得應用程序自身處于非登錄狀態。

    • 檢查是否提交了 forward 變量,如有,則意味著登錄請求可能是由論壇而來,將此變量傳遞到后面的請求中。如沒有,自行生成 forward 變量,使得論壇登錄后能夠跳轉回到應用程序中

    • 通過 header('Location: http://www.myforums.com/api/passport.php?action=logout&forward=http://yyy&verify=zzz') 的方式,將退出請求傳遞到論壇進行處理。其中 forward 用于告知論壇 Passport API 完成自身操作后轉向到的 URL 地址,verify 用于驗證 forward 變量的有效性。forward、verify 格式與結構將在后面進行說明

    • Discuz! Passport API 在接收到由應用程序通過 header() 提交過來的請求后,進行如下操作:

      • 根據 verify 判斷 forward 變量是否合法,如合法則繼續,否則終止。

      • 清楚論壇的 Cookie 或 Session,使得論壇自身處于非登錄狀態。

      • 根據應用程序反饋的 forward 值,通過 header('Location: http://xxx') 的形式將頁面跳轉到 forward 變量指定的 URL。


    • 至此,退出流程結束。

    開啟通行證后的用戶注冊流程

    • 如果用戶在論壇點擊“注冊”,則轉向到事先設置好的應用程序注冊頁面(http://www.mywebsite.com/register.php),并在注冊頁面的 URL 中加入參數 forward(例如 http://www.mywebsite.com/register.php?forward=http://www.myforums.com/index.php),用于在注冊后將用戶導向到指定的 URL

    • 應用程序收到此請求后,按照慣例生成表單,并增加一個表單變量,將 GET 方式傳遞過來的 forward 參數通過表單進行傳遞

    • 用戶在應用程序的表單中填寫注冊信息,并提交到應用程序的注冊驗證程序。應用程序驗證用戶提交信息的完整性和合法性:

      • 如果不通過:提示其問題所在,要求其返回上一頁重新填寫

      • 如果通過,需要進行如下操作:

        • 將用戶資料插入到應用程序自身用戶數據庫中

        • 設置自身 Cookie 或 Session,使得應用程序自身處于登錄狀態

        • 檢查表單中是否提交了 forward 變量,如有,則意味著注冊請求可能是由論壇而來,將此變量傳遞到后面的請求中。如沒有,自行生成 forward 變量,使得論壇注冊后能夠跳轉回到應用程序中

        • 通過 header('Location: http://www.myforums.com/api/passport.php?action=login&auth=xxx&forward=http://yyy&verify=zzz') 的方式,將注冊請求傳遞到論壇進行處理。其中 auth 用來將用戶信息與資料以特定的格式,加密傳遞給論壇,forward 用于告知論壇 Passport API 完成自身操作后轉向到的 URL 地址,verify 用于驗證前面兩個變量的有效性。auth、forward、verify 格式與結構將在后面進行說明


    • Discuz! Passport API 在接收到由應用程序通過 header() 提交過來的請求后,進行如下操作:

      • 根據 verify 判斷 auth 和 forward 變量是否合法,如合法則繼續,否則終止

      • 將 auth 根據既定算法解密,并還原成數組,數組的內容與格式將在后面進行說明。根據數組中的內容,檢查此用戶是否存在。如存在,則根據上述數組中的內容 UPDATE 論壇中相應的用戶資料。如不存在,則使用數組中的信息 INSERT 到論壇用戶資料表中

      • 論壇設置 Cookie 或 Session,使得論壇自身處于登錄狀態

      • 根據應用程序反饋的 forward 值,通過 header('Location: http://xxx') 的形式將頁面跳轉到 forward 變量指定的 URL


    • 至此,注冊流程結束

      本部分中,加下劃線顯示的部分,是需要對您的應用程序進行更改的部分,事實上,這部分更改會非常容易和方便。

    posted @ 2007-08-11 17:30 steady 閱讀(3288) | 評論 (3)編輯 收藏

    Reschedule
    rescheduleJob(String triggerName, String groupName, Trigger newTrigger)

    在進行 reschedule 操作的時候,我們通常只需要修改 Trigger 的時間,這時候我們只需要重新 new 一個含有新的 Schedule 時間的 Trigger 對象,reschedule 一下就可以了。

    Unschedule
    unscheduleJob(String triggerName, String groupName)

    進行 unschedule 的時候,我們只需要知道名字和 group 就可以了。

    進行 Schedule 操作前后,Database 中的相關數據都會被更改,在執行 unschedule 或者該 schedule 已經執行過,數據庫中的 trigger 信息都會被刪除。

    posted @ 2007-08-03 09:00 steady 閱讀(1672) | 評論 (4)編輯 收藏

    Quartz 是一個強大的企業級 Schedule 工具,也是目前最好的開源 Schedule 工具,最近因為項目的需要,簡單的用到了 Quartz 的一些功能,對項目中使用 Quartz 的一些問題做簡單的記錄。

    在 Quartz 的應用中,我們用到了以下的一些東西,ScheduleFactory, Scheduler, Job, JobDetail, Trigger,簡單說明一下他們的用途。

    SchedulerFactory 是 Scheduler 的工廠,我們可以從中獲得受工廠管理的 Scheduler 對象。

    SchedulerFactory scheduleFactory = new StdSchedulerFactory();
    Scheduler scheduler = scheduleFactory.getScheduler();

    Scheduler 是一個計劃集,其中可以包含多個 JobDetail 和 Trigger 組成的計劃任務。
    我們可以從 SchedulerFactory 中取得 Scheduler。

    接口Job是每個業務上需要執行的任務需要實現的接口,該接口只有一個方法:

    public interface Job {
        public void execute(JobExecutionContext context)
            throws JobExecutionException;
    }

    我們可以在里面定義我們的 Job 執行邏輯,比如清除過期數據,更新緩存等。

    JobDetail描述了一個任務具體的信息,比如名稱,組名等等。
    JobDetail jobDetail = new JobDetail("SayHelloWorldJob", Scheduler.DEFAULT_GROUP, SayHelloWorldJob.class);
    在上面的構造方法中,第一個是任務的名稱,第二個是組名,第三個就是實際當任務需要執行的回調類。

    Trigger顧名思義就是觸發器,Quartz有個很好的想法就是分離了任務和任務執行的條件。Trigger就是控制任務執行條件的類,當Trigger認為執行條件滿足的時刻,Trigger會通知相關的Job去執行。分離的好處是:
    1.你可以為某個Job關聯多個Trigger,其中任何一個條件滿足都可以觸發job執行,這樣可以完成一些組合的高級觸發條件
    2.當Trigger失效后(比如:一個永遠都不能滿足的條件),你不必去聲明一個新的job,代替的是你可以為job關聯一個新的Trigger讓job可以繼續執行。

    目前的Quartz實現中,存在兩種Trigger,SimpleTrigger和CronTrigger,SimpleTrigger用來完成一些比如固定時間執行的任務,比如:從現在開始1分鐘后等等;而CronTrigger(沒錯,和unix的cron進程的含意一樣)用來執行calendar-like的任務,比如:每周五下午3:00,每月最后一天等等。

    在我們項目中,都是一些固定時間的 Job,所以只用到了 SimpleTrigger。
    Trigger trigger = new SimpleTrigger("SayHelloWorldJobTrigger",Scheduler.DEFAULT_GROUP,new Date(),null,0,0L);
    這個構造方法中,第一個是Trigger的名稱,第二個是Trigger的組名,第三個是任務開始時間,第四個是結束時間,第五個是重復次數(使用SimpleTrigger.REPEAT_INDEFINITELY常量表示無限次),最后一個是重復周期(單位是毫秒),那么這樣就創建了一個立刻并只執行一次的任務。

    但我們定義好了 JobDetail,Job,和 Trigger 后,就可以開始 Schedule 一個 Job 了。

    scheduler.scheduleJob(jobDetail, trigger);

    這條語句就是把job和Trigger關聯,這樣當Trigger認為應該觸發的時候就會調用(實際上是Scheduler調用)job.execute方法了。

    scheduler.start();
    千萬別忘了加上上面的語句,這條語句通知Quartz使安排的計劃生效。

    關于execute方法的參數JobExecutionContext
    JobExecutionContext就和很多Context結尾的類功能一樣,提供的運行時刻的上下文環境,JobExecutionContext中有Scheduler,JobDetail,Trigger等很多對象的引用,從而當你在execute方法內部須需要這些對象的時刻提供的便利。

    在項目中,我們把需要執行的 Job 相對應的一些信息放在 JobExecutionContext 中,在 Job 執行的時候可以調用。

    jobDetail.getJobDataMap().put(userid, id);

    在 Job 中,我們可以拿到相關的 Context 信息:

    jobExecutionContext.getJobDetail().getJobDataMap().getInt(userid);

    JobDetail和Trigger的name和group
    Scheduler實例對應了很多job和trigger的實例,為了方便的區分,Quartz使用name和group這兩個特性,正如你想向的一樣,同一個group下不能有兩個相同name的JobDetail,Trigger同理,同一個Scheduler下不能有兩個相同group的JobDetail,Trigger同理,JobDetail和Trigger的完全限定名為:group + name

    為了讓服務器重啟以后,我們的 Scheduler 信息仍然不丟失,我們通常采用數據庫持久化 Scheduler 的信息。
    DBScript 在 Quartz 的下載包中的:quartz-1.6.0\docs\dbTables 下,選擇自己使用的 DB 相應的 Script 導入數據庫就可以了。
    在應用中,我們需要配置一個 quartz.properties 才能正常使用 DB。我們可以在 quartz-1.6.0\examples\example10 中找到該文件的樣例,稍作一些修改,就可以放到自己項目源碼的根目錄下使用了。

    設置 org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX 即可啟用基于 JDBC 的 Quartz 信息持久化。

    根據項目情況設置以下配置信息:
    org.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX
    org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
    org.quartz.jobStore.useProperties = false
    org.quartz.jobStore.dataSource = myDS
    org.quartz.jobStore.tablePrefix = QRTZ_
    org.quartz.jobStore.isClustered = false

    org.quartz.dataSource.myDS.driver = com.mysql.jdbc.Driver
    org.quartz.dataSource.myDS.URL = jdbc:mysql://localhost:3306/myapplication
    org.quartz.dataSource.myDS.user = root
    org.quartz.dataSource.myDS.password =
    org.quartz.dataSource.myDS.maxConnections = 5

    但是光設置了 Database 不夠,我們還需要在 Application 啟動的時候自動啟動 Scheduler 才行,我們只需要簡單的寫一個 Servlet 的 Listener 并在 web.xml 中聲明該 Listener ,在 Servlet 容易啟動的時候,Scheduler 就開始自動執行。

    public class ScheduleStartListener implements ServletContextListener {
        public void contextInitialized(ServletContextEvent servletContextEvent) {
            try {
               scheduleFactory.getScheduler().start();
            } catch (SchedulerException e) {
               // write log
            }
        }

        public void contextDestroyed(ServletContextEvent servletContextEvent) {
            try {
               scheduleFactory.getScheduler().shutdown();
            } catch (SchedulerException e) {
               // write log
            }
        }
    }

    在 web.xml 里面加入以下配置:
    <listener>
        <listener-class>org.agilejava.scheduler.ScheduleStartListener</listener-class>
    </listener>

    以上簡單的記錄了在項目中關于 Quartz 的一些應用,如果有什么新的使用心得,會在后面繼續加入的。

    posted @ 2007-08-02 16:28 steady 閱讀(3559) | 評論 (4)編輯 收藏
         摘要: 2007年上半年開放式基金資產凈值規模前20基金公司
    2007年上半年股票型基金凈值增長率前20位
    2007年上半年積極配置型基金凈值增長率前20位  閱讀全文
    posted @ 2007-07-02 22:12 steady 閱讀(2045) | 評論 (1)編輯 收藏

    前幾天的快速下跌中,華夏大盤沒有像它在漲的時候那樣成為領漲的基金,每次總要在倒數幾名里面找它,而且這幾天的跌幅總是緊挨著廣發小盤,這又是為何呢?這幾天華夏大盤并沒有像它名字一樣跑贏大盤,反而遠遠的落后于大盤。

    在晨星網上的基金風格箱來看,華夏大盤主體是投資中盤型股,從華夏大盤這幾天的變化幅度來看,比較接近中證指數的中小盤指數,這樣來看,華夏大盤顯然不是真正的大盤。

    或許華夏大盤可能持有了有很多都是上半年被炒高的題材股,或許這樣才能夠使之成為上半年領漲基金的一枝獨秀,成為瘋長期少數能跑贏大盤的基金。但隨著 530 的巨大打擊下,題材股都被攔腰截斷,小盤股的日子變的不那么好過了。

    華夏大盤下半年還能繼續領漲嗎?我看有點玄。

    posted @ 2007-07-02 22:06 steady 閱讀(370) | 評論 (0)編輯 收藏
        通過銀基通購買基金是相當的方便的,可選余地也是非常的大,但是享受的優惠會比較少一點,能買到的基金數量也比直銷要少一點,另外能做的操作也比直銷要相對少一點,比如說轉換,在銀基通中,有的基金就不能互相轉換。

        首先說一下優惠情況,一般標準情況下,股票類的基金申購費用大約是 1.5%,在招行銀基通上購買基金,費用就是 1.5%,沒有優惠,最近在工行上購買基金可以享受 8 折優惠,也就是 1.2%,建行是什么情況就不得而知了,沒有辦證券卡,進不去,在這一點上,建行有這么一點小小的優勢。

        招行銀基通上購買基金基本都是 1000 元起的,設立的門檻非常的低,每次遞增也是最少為 1000 元,而工行的入門門檻就高了不少,最低要 5000 起,對于我等工薪階層,要一次性的湊齊 5000 元才能去工行買基金,實在是不爽的,其每次遞增的額度也是 1000 元。

        另一方面來說,也是說銀行的問題,對于招行來說,大部分網點都配有自動存款機,每次買基金去存款就不用這么麻煩,不用在柜臺上排隊了,另外在銀行下班以后也可以在存款機上進行存款操作,這樣就不用趕著銀行上班的時候才能去存錢了,當然也會碰到機子不能用的時候,有一次晚上十點去存錢,連續跑了兩個網點都發現存款機錢已存滿。但是對于工行建行的絕大多數網點就必須在上班時間跟著大家后頭排隊了。

        用了兩篇的篇幅把銀基通購買基金的一些情況簡單的總結了一下,后面準備說一下用網銀直接在基金公司的直銷站點上購買基金。
    posted @ 2007-07-01 13:58 steady 閱讀(474) | 評論 (1)編輯 收藏
        相信能看到我這篇文章的人如果是基民,相信你的首選購買基金的方式會是網銀,雖然沒有用過所有的網銀,但就我用過的幾個網銀來亂彈一些自己的看法。我在這里說的都是股票型或者配置型基金。

        我用過的網銀包括,招行,建行,工行。網銀上都直接有代銷基金的功能,招行叫做銀基通,里面可以買到超過 250 種以上的基金,建行的網銀因為必須要辦證券卡才能買基金,所以實在是懶得去辦這個破卡,工行上代銷的種類也算是不少,但相對招行來說,還是有相當差距的。

        在網銀上購買基金的申購確認和贖回到帳時間也各自不同,從確認時間上招行是 T+1 天,其他銀行沒有試過,而贖回到帳時間各自有所不同,招行的一般是 T+4,在 T+4 天上午 9:00 后可以到帳,工行和建行是 T+5 天,好像農行,中行,民生,交行都是 T+7 天。

        據說建行的網銀賬戶和證券卡賬戶是獨立的,從網銀轉到證券卡上的錢第二天才能夠轉回網銀賬戶,而且放在證券卡賬戶上的錢是沒有利息的。而招行的網銀與投資賬戶之間的轉賬是隨意的,并且投資賬戶上的錢是有利息的。

        關于網銀要說的話還是很多的,想睡覺了,哪天有空的時候繼續補上。
    posted @ 2007-06-30 23:30 steady 閱讀(549) | 評論 (0)編輯 收藏
    主站蜘蛛池模板: 中文字幕影片免费在线观看| 亚洲不卡在线观看| 国产一级淫片免费播放| 免费A级毛片在线播放| 久久久免费观成人影院| 午夜亚洲乱码伦小说区69堂| 亚洲国产成人精品激情| 亚洲精品视频在线免费| 亚洲av无码片在线播放| 亚洲日韩小电影在线观看| 亚洲成片观看四虎永久| 热久久精品免费视频| 欧亚精品一区三区免费| 国产精品永久免费10000| 一级毛片成人免费看免费不卡 | 亚洲a一级免费视频| 国产免费伦精品一区二区三区| 国产亚洲人成在线影院| 亚洲欧美日韩中文字幕在线一区| 亚洲国产成人精品无码区在线网站| 亚洲爱情岛论坛永久| 亚洲av无码乱码国产精品fc2| 国产精品亚洲二区在线观看| 亚洲?v无码国产在丝袜线观看| 国产精品国产自线拍免费软件| 久久久www成人免费毛片 | 亚洲国产老鸭窝一区二区三区| 亚洲精品无码午夜福利中文字幕 | 国产成人 亚洲欧洲| 精品久久亚洲一级α| 国产精品国产亚洲区艳妇糸列短篇| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲中文字幕久久精品无码A | 免费黄色大片网站| 日韩电影免费在线| 国产精品免费看香蕉| 亚洲av无码天堂一区二区三区| 亚洲国产精品成人一区| 久久亚洲色一区二区三区| 国产亚洲精久久久久久无码77777| 亚洲日韩精品一区二区三区|