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

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

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

    零雨其蒙's Blog

    做優秀的程序員
    隨筆 - 59, 文章 - 13, 評論 - 58, 引用 - 0
    數據加載中……

    2007年8月31日

    游戲開發入門

         摘要: 游戲服務器:SmartFoxServer:smartfoxserver.com簡單的游戲可以用apache minawebsocket provider:jetty客戶端:可以轉換成任何平臺的開發工具:http://china.unity3d.comHTML5&JS游戲引擎/框架基于HTML5的游戲框架:http://www.cnblogs.com/sc-xx/archive/2011/0...  閱讀全文

    posted @ 2012-06-01 16:08 零雨其蒙 閱讀(1264) | 評論 (5)編輯 收藏

    Oracle Coherence初啼

         摘要:      昨天寫了個Coherence的小例子,使用了Oracle Enterprise Pack for Eclipse,直接用它創建了一個ADF項目,連帶創建了JPA項目,在Configuration里添加了Coherence,這樣就有了配套的jar包了。      Coherence利用多播自動組成集群,類可以不實現序列化接口,這...  閱讀全文

    posted @ 2012-05-23 16:41 零雨其蒙 閱讀(2094) | 評論 (0)編輯 收藏

    JVM源碼分析-Java運行

         摘要: 最近在看Java并發編程實踐和Inside JVM兩本書,發現如果不真正的了解底層運作,那么永遠是霧里看花。因此從http://openjdk.java.net/groups/hotspot/上下載了源代碼,準備研究一番。要想完全研究懂我覺得得對計算機體系結構,C,C++編程,Linux內核都有比較深入的理解。由于并非從事JVM開發工作,因此不會研究的那么深入。 入手就從“java ...  閱讀全文

    posted @ 2012-04-26 18:05 零雨其蒙 閱讀(25624) | 評論 (2)編輯 收藏

    京城七高校,貧嘴大聯歡

         摘要:   閱讀全文

    posted @ 2009-06-09 11:33 零雨其蒙 閱讀(606) | 評論 (0)編輯 收藏

    gigix早年間與andyyehoo的論戰

     

    http://www.javaeye.com/topic/8007?page=1

    andyyehoo:

    比較一下下面的兩段代碼,說真的,雖然說Java效率低一點可以原諒,不過比較一下這兩段代碼的效率,真是..............雖然java效率比Cn個等級大家都接受了,可是不意味著就可以把系統效率丟到爪哇國去了啊

    第一個是直接new一個對象,接著調用一個方法。

    第二個是首先getApplicationContext,這個過程就首先不知道耗費多少了。然后是間接的getBean,創建一個對象。接著通過調用3個比reflaction更低效率的方法,設置各個參數,最后是調用。

    純粹的比較方法數,已經是第一個的3倍了,更不提每個方法的效率比第一個還慢多少。

    當然,第二段的靈活性可能是高很多,但是這樣的靈活性真的需要嘛?在大部分系統的大部分區域,我們需要大量的在EJB,JMS 或者 WEB SERVICE 里面切換嘛?


    我們公司的答案不是,所以這個也是我們到現在還不普遍使用spring,而是部分使用spring的原因,也是spring的好處。系統小部分的靈活性需要非常高的部分,我們才利用springbeanfactory功能,事務控制要求嚴格部分,才使用它的事務管理功能。但是絕大部分,我們不使用。可以說是剛柔并濟吧,不靈活的部分是剛,靈活部分是柔,系統如果全部是柔的話,那就軟綿綿無力了,如果全部是剛的話,那么就太脆而易斷,作為一個真正實用的系統,剛柔還是按80/20原則的好。


    引用

    UserManager userManager = new UserManager();

    String userIDRetured = userManager.addUser("John Smith")

    引用

    ServiceRequest bsr = this.getApplicationContext().getBean("businessServiceRequest");

    bsr.setServiceName("User Services");
    bsr.setOperation("addUser");
    bsr.addRequestInput("param1", "addUser");

    String userIDRetured = (String) bsr.service();

    gigix:

    andyyehoo 寫道:

    比較一下下面的兩段代碼,說真的,雖然說Java效率低一點可以原諒,不過比較一下這兩段代碼的效率,真是..............雖然java效率比C低n個等級大家都接受了,可是不意味著就可以把系統效率丟到爪哇國去了啊

    第一個是直接new一個對象,接著調用一個方法。

    第二個是首先getApplicationContext,這個過程就首先不知道耗費多少了。然后是間接的getBean,創建一個對象。接著通過調用3個比reflaction更低效率的方法,設置各個參數,最后是調用。

    純粹的比較方法數,已經是第一個的3倍了,更不提每個方法的效率比第一個還慢多少。

    當然,第二段的靈活性可能是高很多,但是這樣的靈活性真的需要嘛?在大部分系統的大部分區域,我們需要大量的在EJB,JMS 或者 WEB SERVICE 里面切換嘛?


    你講這么大一通,我說你純粹扯淡。只要addUser方法里面訪問一次數據庫,你所有那些性能考量全都是白費。哪怕你節約一萬次對象創建和方法調用,連接數據庫的網絡開銷就足以讓你的整個努力化為烏有。你也知道80/20原則,按照80/20原則,J2EE應用根本就不應該考慮性能問題,除非涉及到RPCI/O操作。你在內存里優化得再好,如果由于架構上的原因多一次RPC調用,整個系統的性能立馬就掉下來了。與其追求這種毫無價值的、微秒級的性能提升,我寧可追求全面的靈活性。

    andyyehoo:

    gigix 寫道:

    你講這么大一通,我說你純粹扯淡。只要addUser方法里面訪問一次數據庫,你所有那些性能考量全都是白費。哪怕你節約一萬次對象創建和方法調用,連接數據庫的網絡開銷就足以讓你的整個努力化為烏有。你也知道80/20原則,按照80/20原則,J2EE應用根本就不應該考慮性能問題,除非涉及到RPCI/O操作。你在內存里優化得再好,如果由于架構上的原因多一次RPC調用,整個系統的性能立馬就掉下來了。與其追求這種毫無價值的、微秒級的性能提升,我寧可追求全面的靈活性。

    addUser調用數據庫的時間,大家都是一樣的,為什么我不能考慮這里調優?
    這樣寫,并不會多出一次數據庫或者RPC的調用。除非是很復雜的部分,那么我會考慮局部使用。對于系統80%的代碼,簡單化處理是不會帶來任何問題的。


    J2EE應用根本就不應該考慮性能問題?那我所有字符串連接都用+好不好?我做一步catch一次exception好不好?我所有Java方法的調用都通過reflection進行好不好?根本這個詞用得太過了。

    "我寧可追求全面的靈活性",這個正是問題所在,過分的追求靈活性,將降低效率,我們必須在靈活性和效率中間取得平衡點。xxx說了添加多一個中間層,可以解決大部分的問題。中間層越多,當然靈活性約好,但是效率是低了。其實當然,效率這個東西是兩頭大,中間小的一個東西,最耗費時間的,往往是一開始的調用(用戶點擊傳到處理層)和最后的調用(調用數據庫,WEB service),但是這并不意味著,我們就可以無節制的,忽略中間的效率。

    gigix:

    andyyehoo 寫道

    addUser調用數據庫的時間,大家都是一樣的,為什么我不能考慮這里調優?
    這樣寫,并不會多出一次數據庫或者RPC的調用。除非是很復雜的部分,那么我會考慮局部使用。對于系統80%的代碼,簡單化處理是不會帶來任何問題的。

    你是真不明白呢還是故意抬杠?一次數據庫操作或者RPC的速度是十毫秒級的,通常一個J2EE業務操作包括幾次網絡傳輸和幾次數據庫操作,也就是說在最理想的情況下一個業務操作的速度是百毫秒級甚至秒級的。我請問你,你要節省多少次對象創建、多少次方法調用才能把響應時間提升100毫秒?有個成語可以貼切地形容這種優化:杯水車薪。

    andyyehoo 寫道

    J2EE應用根本就不應該考慮性能問題?那我所有字符串連接都用+好不好?我做一步catch一次exception好不好?我所有Java方法的調用都通過reflection進行好不好?“根本”這個詞用得太過了。

    你還真說對了。我所有字符串連接都是用+;我的業務對象外面有動態代理提供的AOP,也就是說所有方法調用都是通過reflection進行的;我的動態代理里面對異常全部做了包裝,也就是說每個方法調用都有try...catch...的包裹。我得到的效果是什么?更清晰的代碼,更優雅的架構,以及,更容易找到系統的性能瓶頸,更容易優化性能。有些事情也許你沒有聽說過,但不代表它不是真的。

    andyyehoo 寫道

    "我寧可追求全面的靈活性",這個正是問題所在,過分的追求靈活性,將降低效率,我們必須在靈活性和效率中間取得平衡點。xxx說了“添加多一個中間層,可以解決大部分的問題”。中間層越多,當然靈活性約好,但是效率是低了。其實當然,效率這個東西是兩頭大,中間小的一個東西,最耗費時間的,往往是一開始的調用(用戶點擊傳到處理層)和最后的調用(調用數據庫,WEB service),但是這并不意味著,我們就可以無節制的,忽略中間的效率。

    同樣一個問題,我換另一個角度來問你:你要做多少次字符串連接,才能浪費100毫秒時間?你可以自己寫個程序,對比一下StringBuffer.appendString.+的性能差距,看看需要多大的字符串才能讓你損失100毫秒。如果你能告訴我這個結果,我一定很有興趣知道。別忘了,100毫秒僅僅是一次普通J2EE業務操作整體響應時間的數十分之一而已。

    andyyehoo:

    引用:

    你還真說對了。我所有字符串連接都是用+;我的業務對象外面有動態代理提供的AOP,也就是說所有方法調用都是通過reflection進行的;我的動態代理里面對異常全部做了包裝,也就是說每個方法調用都有try...catch...的包裹。我得到的效果是什么?更清晰的代碼,更優雅的架構,以及,更容易找到系統的性能瓶頸,更容易優化性能。有些事情也許你沒有聽說過,但不代表它不是真的。


    lol:
    我相信你的系統是這樣的,但是不代表所有的系統都需要象你這樣。對于很多中小型系統來說,如此優雅的架構并不都是必須的。

    而且,你這樣對開發的效率有影響,代碼量又多啦,呵呵,對開發人員總體素質的要求也高了不少,公司的成本又高囖。 這些都是需要考慮的。:evil:

    當然,我承認后一種方法的先進性和靈活性,但是,還是那個問題,不需要拿牛的殺雞,而現在的市場,雞還是比牛多一些。

    gigix這也是你的想當然。如果采用一個優雅的架構,普通程序員只需要編寫面向對象的程序就足夠了。他不需要考慮如何管理事務,他不需要考慮如何記錄日志,他甚至不需要考慮如何獲得和關閉數據庫連接,而且他寫的每個模塊都可以從系統中摘出來單獨測試。難道開發這樣的程序會更慢、寫更多的代碼、對開發人員要求更高?相反,如果做太多代碼級的優化,勢必損害架構的優雅和靈活,會導致更多的重復代碼,會使得各個模塊耦合緊密而不能獨立測試,那樣的系統才是代碼量更多、對開發者要求更高的。

    我只舉一個最簡單的例子。你認為如果我們需要一個UserManager,那么就直接new UserManager()好了。但是這樣一來,開發client代碼的人就無法只測試他自己的業務邏輯,他的單元測試還必須同時兼顧UserManager的邏輯。我請問你,這是不是比寫一個mock來測試自己這一個模塊有更高的難度?一旦UserManager修改了實現,它的作者必須與所有使用者溝通,以保證這些人的單元測試不會失敗,這是不是增加了工作量降低了開發效率?如果client代碼能夠這樣寫:

    [code:1]
    public class MyClass {
    private UserManager _um;
    public void setUserManager(UserManager um) {
    _um = um;
    }
    public void doSomething() {
    _um.doSomething();
    }
    }
    [/code:1]

    編寫client的人不必考慮該創建UserManager的哪個實現類,也不必考慮如何創建,也不必關心這個對象的生命周期,也不用管它是本地對象還是RPC stub。難道這樣寫程序不是更輕松、代碼量更少、對程序員的要求更低嗎?

    andyyehoo

    gigix寫道:

    這也是你的想當然。如果采用一個優雅的架構,普通程序員只需要編寫面向對象的程序就足夠了。他不需要考慮如何管理事務,他不需要考慮如何記錄日志,他甚至不需要考慮如何獲得和關閉數據庫連接,而且他寫的每個模塊都可以從系統中摘出來單獨測試。難道開發這樣的程序會更慢、寫更多的代碼、對開發人員要求更高?相反,如果做太多代碼級的優化,勢必損害架構的優雅和靈活,會導致更多的重復代碼,會使得各個模塊耦合緊密而不能獨立測試,那樣的系統才是代碼量更多、對開發者要求更高的。

    在正規公司里面,分工明確的話,都是專人寫好架構,普通程序員按照架構往里面填代碼就是的啦。正常情況下,他也是不需要如何管理事務,記錄日志,獲得和關閉連接,每個模塊也可以單獨測試。

    但是,程序調試出錯的時候,他們也需要自己查看日志,考慮一下各方各面的因素才能調試,按照第二種寫法,無疑,這些程序員的素質要相對高一些,考慮的問題更多一些,才能進行調試的。

    gigix寫道:

    我只舉一個最簡單的例子。你認為如果我們需要一個UserManager,那么就直接new UserManager()好了。


    這個是例子這么寫的,需要靈活的部分,我們自然會用其它方法寫。不過在最簡單的情況中,我們是會這么寫,更簡單的情況,直接還調用靜態方法,不會不給吧,呵呵

    gigix

    andyyehoo 寫道

    這個是例子這么寫的,需要靈活的部分,我們自然會用其它方法寫。不過在最簡單的情況中,我們是會這么寫,更簡單的情況,直接還調用靜態方法,不會不給吧,呵呵 :lol:


    別的不多說,就說這一件事好了。我要求所有程序員嚴格遵循“針對接口編程”的原則,每個組件必須提供一個接口和一個實現,獲得組件必須以接口的形式、通過dependency injection獲得。而按照你的說法,你要求程序員在提供功能時有時針對接口編程,有時針對對象編程,有時靜態方法實現,也就是說你要求程序員清楚這三種設計的語義區別和利弊權衡。我想請問你,究竟是誰對程序員的要求更高呢?

    andyyehoo

    引用

    別的不多說,就說這一件事好了。我要求所有程序員嚴格遵循針對接口編程的原則,每個組件必須提供一個接口和一個實現,獲得組件必須以接口的形式、通過dependency injection獲得。

    佩服佩服,沒有程序員抗議嘛?

    引用

    有時針對接口編程,有時針對對象編程,有時靜態方法實現,也就是說你要求程序員清楚這三種設計的語義區別和利弊權衡。

    我們現在是這樣,不過,這個好像是JAVA程序員的基本功吧,雖然現在很多程序員基本功不好,那樣的話,還是我們要求高點,按照你那樣寫的話,都快可以機器產生代碼了,呵呵,可以考慮開始向自動產生代碼發展了。

    不過嘛,還是那個問題,出了bug,你們調試還是比較困難點吧?

    gigix

    andyyehoo 寫道

    引用

    別的不多說,就說這一件事好了。我要求所有程序員嚴格遵循針對接口編程的原則,每個組件必須提供一個接口和一個實現,獲得組件必須以接口的形式、通過dependency

    injection獲得。

    佩服佩服,沒有程序員抗議嘛?

    引用

    有時針對接口編程,有時針對對象編程,有時靜態方法實現,也就是說你要求程序員清楚這三種設計的語義區別和利弊權衡。

    我們現在是這樣,不過,這個好像是JAVA程序員的基本功吧,雖然現在很多程序員基本功不好,那樣的話,還是我們要求高點,按照你那樣寫的話,都快可以機器產生代碼了,呵呵,可以考慮開始向自動產生代碼發展了。

    不過嘛,還是那個問題,出了bug,你們調試還是比較困難點吧?



    對象怎么創建、對象的生命周期怎么管理,這些都是跟業務沒關系的infrastructure。讓程序員可以不操心這些infrastructure,一心關注自己的業務邏輯,怎么會有人抗議?

    你說調試比較困難,我就真的很懷疑你究竟有多少經驗了。任何一個有經驗的J2EE開發者都會知道,OOD做得越好,debug越輕松。OOD做得好,你才可能做出完備的單元測試,然后用單元測試快速鎖定debug的范圍。我們調試比較困難嗎?我真的不知道該怎么回答這個問題,因為我已經好久沒開過debugger了。

    andyyehoo

    引用

    你說調試比較困難,我就真的很懷疑你究竟有多少經驗了。任何一個有經驗的J2EE開發者都會知道,OOD做得越好,debug越輕松。OOD做得好,你才可能做出完備的單元測試,然后用單元測試快速鎖定debug的范圍。我們調試比較困難嗎?我真的不知道該怎么回答這個問題,因為我已經好久沒開過debugger了。



    所指的bug,是指需要在spring的配置,aop搭建的事務控制,日志中穿梭尋找的bug,不過這個對于你來說應該是很熟了,所以沒什么感覺了,一樣快速鎖定了。應該就是良好的架構使這定位個過程很快的。反正有固定步法的話,走7步和走5步差不多吧,呵呵。

    gigix

    andyyehoo 寫道

    引用

    你說“調試比較困難”,我就真的很懷疑你究竟有多少經驗了。任何一個有經驗的J2EE開發者都會知道,OOD做得越好,debug越輕松。OOD做得好,你才可能做出完備的單元測試,然后用單元測試快速鎖定debug的范圍。我們調試比較困難嗎?我真的不知道該怎么回答這個問題,因為我已經好久沒開過debugger了。

    所指的bug,是指需要在spring的配置,aop搭建的事務控制,日志中穿梭尋找的bug,不過這個對于你來說應該是很熟了,所以沒什么感覺了,一樣快速鎖定了。應該就是良好的架構使這定位個過程很快的。反正有固定步法的話,走7步和走5步差不多吧,呵呵。



    這些事情更不需要debug,因為它們都在冒煙測試的范圍內。只要一開始測試通過,你做了一件事以后變得不通過了,馬上就可以知道是你剛才的改動造成了破壞。這里沒有5步、7步的調試,只有1步:回退你上一分鐘做的修改。

    說起來,好象你也開始贊成:OOD和良好的架構才是真正重要的,而不是20毫秒的性能提升。

    andyyehoo:

    引用

    說起來,好象你也開始贊成:OOD和良好的架構才是真正重要的,而不是20毫秒的性能提升。

    :lol: 我一直的觀點是,OOD和良好的架構當然很重要的,但是要根據項目選擇合適靈活的架構,而不必全部采用最靈活的系統,而在這個基礎上,“20毫秒的性能提升”,也是需要考慮的事情之一,而不可以完全拋之腦后。

    突然想到A計劃2成龍說的,我不能接受任何人,以國家民族利益的崇高名義,草菅任何無辜市民的生命。(記不太清,大概)哈哈,有點象

    posted @ 2008-08-04 15:47 零雨其蒙 閱讀(756) | 評論 (1)編輯 收藏

    統一軟件開發過程學習筆記

    統一軟件開發過程

     

     UP的幾個核心概念,也可以說是最佳實踐:用例驅動(所有的分析設計測試都是圍繞用例展開),迭代(因此我們會不斷地編寫用例,繪制用例圖,進行分析,設計,實現,部署和測試活動),基于組件(我們看到最后軟件是由組件構成的),以架構為中心(分層架構,完整的對象模型,核心領域模型)

    核心工作流

    模型

    過程

    UML

    需求

    用例模型

    1 描述企業的業務流程,編寫業務用例,然后以用例圖來表示各個用例之間的關系(include/extend),及使用(use)該用例的參與者(Actor

    用例圖

    2 使用活動圖來表示業務流程

    活動圖

    3 根據業務流程,明確系統功能,編寫系統用例,使用用例圖表示各個用例之間的關系,及使用該用例的參與者。

    用例圖

    4 使用系統順序圖描述系統事件與系統操作

    順序圖

    分析

    分析模型

    描述用例實現的對象模型,它是工件:設計模型的一個抽象。 分析模型包含用例分析的結果、工件:分析類的實例。

     

    用例實現-分析

    5 對于用例中的一個或多個場景進行分析,然后抽象出一些分析類(包括邊界類,控制類和實體類),分析類將被映射為設計類(分析類代表角色,一個分析類可以由1或多個設計類實現)。分析類也可以稱之為業務模型,或者是領域模型。分析類通常可跨越多個用例,其表示領域中的概念。

    類圖

    6 分析類與分析類之間的交互,由協作圖來表示。這樣稱之為用例實現。

    協作圖

    以上兩者再輔之以文本,可以用來描述用例實現,每個用例對應于一個用例實現[1]

     

    設計

    設計模型

     

     

    用例實現-設計

    7 設計類代表系統中完成功能的類。它受到分析類的啟發或者是為了解決一些軟件問題而被設計出來。

    類圖

    8 用例實現。根據分析模型中的用例實現,來完成設計模型中的用例實現。

    順序圖

     可以使用包圖來表示系統的分層架構。

     

    10 某些設計對象是由狀態決定的,也就是說根據其狀態的不同,其會表現出不同的行為。狀態圖可以表示一個對象的狀態轉換關系及順序,可以理解為對象狀態流程圖。

    狀態圖

    實現

    實現模型

    11 將系統抽象為組件,實現模型即由組件構成。這符合UP包含基于組件的思想。(Jacobson是組件開發之父)

    組件圖

    實施

    實施模型

    12 實施模型根據相互連接的節點定義實際的系統架構。

    實施圖

     

     



    [1] [Larman03]RoseRUP模板中都認為用例實現屬于設計模型,然而本書認為分析模型和設計模型中都存在用例實現,在分析模型中,用例實現表現為領域對象與領域對象之間的交互,設計模型中,表現為設計類與設計類之間的交互。不過由于UP是用例驅動開發的,因此,基于用例的分析與設計,都可以理解為用例實現。

    posted @ 2008-06-24 00:11 零雨其蒙 閱讀(651) | 評論 (1)編輯 收藏

    信管人的財會筆記(記帳)

         摘要:   賬戶與會計科目: 會計科目與賬戶是兩個既有區別又有聯系的概念。其共同點在于兩者都按會計對象的內容設置,相同名稱的會計科目與賬戶反映的經濟內容相同。兩者的區別在于,會計科目只是一個名稱,只表明某類經濟內容,而賬戶既有名稱又有結構,可以記錄和反映某類經濟內容的增減變動及其結果。在實際工作中,會計人員往往不加區別地把會計科目與賬戶作為同義語。 賬戶結構如下: 賬戶名稱(會計科目) ...  閱讀全文

    posted @ 2008-06-06 14:28 零雨其蒙 閱讀(999) | 評論 (0)編輯 收藏

    項目組內部推薦書目

         摘要: 本文介紹理解本項目所有架構、設計思想和具體技術、工具使用的著作,閱讀以下著作,可以更好的理解我們的項目為何如此架構,為什么要使用這些工具,以及過去在項目中出現的文檔中所簡單描述的內容的背后原理是什么。

      閱讀全文

    posted @ 2008-02-14 15:27 零雨其蒙 閱讀(835) | 評論 (0)編輯 收藏

    企業應用架構模式學習筆記(2)

         摘要: 這一部分完成了對于該書第一部分的學習,并且學習了領域層模式,特別是領域模型模式,并對于數據層的活動記錄進行了研究  閱讀全文

    posted @ 2008-02-01 23:47 零雨其蒙 閱讀(684) | 評論 (0)編輯 收藏

    企業應用架構模式學習筆記(1)

         摘要: Martin Fowler的《企業應用架構模式》,很經典,這一部分的筆記主要對應于書中第一章和第二章的部分內容,對于領域邏輯層進行了部分人討論,對領域模型與事務腳本模式做了簡要分析。還包括對于對象到數據庫映射的簡單討論,與現實使用的DAO模式和Hiberante進行了概念映射  閱讀全文

    posted @ 2008-01-27 23:54 零雨其蒙 閱讀(451) | 評論 (0)編輯 收藏

    如何判斷對方是否喜歡自己的信息經濟學解釋

         摘要: 本文旨在利用信息經濟學的知識解決我們在戀愛之前的階段中需要決策問題:如何判斷對方是否喜歡自己?
      閱讀全文

    posted @ 2007-12-11 00:17 零雨其蒙 閱讀(2494) | 評論 (2)編輯 收藏

    8月6日到9月15日項目小結(一)

         摘要: 8月6日到9月15日項目小結,第一部分主要回顧了在過去的一個多月里我們都做了什么~  閱讀全文

    posted @ 2007-09-18 01:24 零雨其蒙 閱讀(784) | 評論 (3)編輯 收藏

    項目隨想錄

            發現自己不怎么會起題目了。中午回去還沒走到寢室,就接到劉老師的電話,說要把程序調通,于是中午吃完飯立馬跑回去,把顯示問題解決了。其實那個無效數字問題是因為在HQL語句中使用了cast(pw as integer),將字符串轉成Integer型,可是數據庫中的內容編程了字母加數字,自然會轉換失敗了,唉,真不理解隨便改什么業務主鍵啊。

       下午上企業資源規劃,我的名字成了所有老師舉的例子的主角,三個小時,我的名字被提及至少50次,每隔2分鐘就要提一次,后來我都聽麻木了,不知道自己叫什么了。

       老師主要講了4方面的內容:1、信息管理專業的知識架構(技術基礎層,技術應用層(ms是這個吧),管理應用層)、應用與研究的關系,2、信息技術緣何發展3、流行的信息系統概念(ERP,MIS,EC,EAI,BPR,SCM)4、還有啥來著?記不住了,老師還讓總結筆記呢,唉,明天問別人吧。

        晚上和球去跑步了,本來感覺自己挺疲乏的,可是跑步過程感覺疲乏一點點消退,跑完后感覺有點暈,看來還是感冒有點虛,再加之沒睡好覺,運動量有點大,于是買了盒奶,和果汁,坐著和球聊了好久,又去吃了串,回來洗了澡,別提有多爽了,感覺人也有精神了,我覺得鍛煉什么太重要了,運動就應該像吃飯睡覺一樣不可或缺,一樣重要,減肥其次,增強體魄才是最重要的。

     

        我需要花費一定時間好好總結一下從8月13號到9月15號,這一個月時間項目總結,仔細分析一下經驗和教訓,我們得到了什么,驗證了什么,出了什么問題,癥結究竟是什么,要分得很清楚很細致,這樣才行。我是覺得收獲很大,不過想想以后的項目開發感覺有些絕望,使用現在的開發方式實在是太痛苦了,我今天想了想我們的系統經常做的用戶交互就是在一個ComboBox中選擇了某個選項,其他若干個Text或ComboBox框中的內容要隨之變化,使用我們現在的方法,實現這個東西要動用好多代碼,而且其方式就好比在Delphi中隨意拖拽Query一樣有害。并且遭遇到復雜的頁面流程又該怎么辦,如何測試,莫非只能使用alert?看來我們的系統好像并不適合B/S模式,其實從垂直切片的角度來說,我們的驗證工作做得很成功,可是從老板的角度來考慮,或許我們就是失敗的了,因為我們沒有做出一個足夠豐富的原型。

        要學的東西很多,明天去復習運籌,晚上寫總結報告,周一老板他們估計就回來了吧

    posted @ 2007-09-16 00:12 零雨其蒙 閱讀(263) | 評論 (0)編輯 收藏

    又看到希望了

        昨天還在困擾Hibernate的復雜,今天看了一上午Spring,把HibernateTemplate,HibernateDaoSupport兩個類的源代碼看了一下,發現Spring絕對是大大簡化我們的開發,降低我們學習Hibernate的門檻。Hibernate中的許多寫法,Spring把它們統一和簡化了。下午跟老邢分了分工,我負責看關聯和映射,他負責看CRUD,再加上Spring的簡化,我想起碼我們現在上路還不算太危險。

        表現層在用Ext,一個新的Ajax庫,資源非常之少,和DWR沒法比;不過它的豐富程度遠遠超越了Ajax JSP Tags。剛才剛和老大一起完成一個實驗,我們終于可以取到某一行記錄的內容了!花費了一個多小時的時間。 

        如今Struts似乎只是用一個Action了,標簽和Form Bean沒必要用了,Ext代替了,其實覺得還不如用Spring MVC好了。多引進一個框架,無端增加了復雜性,又需要多學一種技術。不過Struts的Validate還是需要進一步研究的,不過它的優先級可以推后一些。

     

         似乎又看到一些希望了,使用Ext我們實現了取一條記錄的內容,那么接下來對這條記錄進行修改和刪除就沒問題了。接下來,在頁面上利用div彈出一個添加/修改的頁面還需要研究,之后就是“冒泡”。

        某些工作還比較無序,比如使用MyEclipse生成的POJO,DAO和部署文件總是需要重構,移動位置,修改名字等,不過這個也可以放在稍后研究。

     

         明天開會希望能給老師們演示一些基本功能,畢竟我們也做了有近20天了,按照XP來說,2周算是一個迭代過程,那么也該展示一些東西了。

         明晚SHE演唱會,希望下午的會不要開太久,那個地方真的是好遠啊~

     

    posted @ 2007-08-31 18:42 零雨其蒙 閱讀(248) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 色婷婷亚洲十月十月色天| 另类小说亚洲色图| 中文字幕亚洲精品无码| 亚洲欧美精品午睡沙发| 一级做a毛片免费视频| 18禁无遮挡无码国产免费网站| 青青草免费在线视频| 国产亚洲精品影视在线产品| 老司机亚洲精品影院| 色多多免费视频观看区一区| 久久成人免费播放网站| 国产伦一区二区三区免费 | 成人一区二区免费视频| 95免费观看体验区视频| 免费日韩在线视频| 亚洲国产精品xo在线观看| 女人隐私秘视频黄www免费| 处破痛哭A√18成年片免费| 亚洲成AV人片在线观看无| 日本永久免费a∨在线视频 | 免费爱爱的视频太爽了| 亚洲精品午夜视频| 久久国产精品2020免费m3u8| 亚洲欧洲中文日韩久久AV乱码| 亚洲熟妇AV一区二区三区浪潮| 在线免费观看你懂的| 亚洲AV永久无码精品水牛影视| 一区二区视频免费观看| 亚洲 另类 无码 在线| 亚洲自国产拍揄拍| 麻豆国产人免费人成免费视频| 亚洲大片免费观看| 无码乱肉视频免费大全合集| 亚洲伊人久久大香线焦| av免费不卡国产观看| 亚洲成aⅴ人片久青草影院按摩| 性生交片免费无码看人| 亚洲欧美国产欧美色欲| 亚洲成A人片77777国产| 精品多毛少妇人妻AV免费久久| 亚洲成人精品久久|