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

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

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

    每日一得

    不求多得,只求一得 about java,hibernate,spring,design,database,Ror,ruby,快速開發
    最近關心的內容:SSH,seam,flex,敏捷,TDD
    本站的官方站點是:顛覆軟件

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      220 隨筆 :: 9 文章 :: 421 評論 :: 0 Trackbacks

    2007年6月18日 #

         摘要: 你每天經常訪問哪些站點?

    你的收藏夾里有多少收藏的站點?  閱讀全文
    posted @ 2008-08-09 14:42 Alex 閱讀(2386) | 評論 (2)編輯 收藏

         摘要: 上次參加open party朋友拿了一本《開源技術選型手冊》,翻了一下,整理成腦圖(圖的效果還是比文字好哦)  閱讀全文
    posted @ 2008-08-06 10:30 Alex 閱讀(2496) | 評論 (5)編輯 收藏

         摘要: 從svn版本上checkout出來的新的版本,dwr部分的xml配置文件是紅色提示錯誤,一開始以為是jsp的普通驗證錯誤,后發現不是那么回事。  閱讀全文
    posted @ 2008-08-04 15:00 Alex 閱讀(1570) | 評論 (0)編輯 收藏

    1.很多人喜歡用代碼開發工具的debug功能來跟蹤問題,雖然最終可以解決問題,但是從方向或者思想上不建議這樣做,我依然記得最初我的技術經理對我說過 “代碼不是調出來的”。

    2.不是調出來的那是怎么出來的呢? “寫出來的。” 呵呵,別扭,但是想想看,是否有點道理?

    3.從另一個層面,我們需要加強代碼的規范的寫法,這就好比設計,先盡量將設計(在敏捷的年代似乎談設計不太入流,那么你可以認為那是一種思考吧)做的到位一點

    4.回到一個大的命題:戰略如果錯誤,執行的越快死的越快;同理,思路或者方向如果有問題,做的越帶勁,你越難受。

    5.讓我們朝這個目標挺進:代碼一次編寫就通過! 我見過一些這樣的高人,只要你努力,是可以做到的。

    posted @ 2008-08-03 20:56 Alex 閱讀(2453) | 評論 (23)編輯 收藏

         摘要: 又一陣熱風吹過來了,猶如當初的asp,猶如近段時間的SOA  閱讀全文
    posted @ 2008-08-03 01:02 Alex 閱讀(2009) | 評論 (2)編輯 收藏

         摘要:   閱讀全文
    posted @ 2008-07-03 14:13 Alex 閱讀(1604) | 評論 (0)編輯 收藏

         摘要:   閱讀全文
    posted @ 2008-07-03 14:12 Alex 閱讀(2968) | 評論 (1)編輯 收藏

         摘要:   閱讀全文
    posted @ 2008-07-03 14:11 Alex 閱讀(3520) | 評論 (5)編輯 收藏

    //本站點內容來自于 顛覆軟件

    1.機器的ip經常改變,到公司一個ip,到客戶那一個ip,到家又是一個ip,不知怎么搞的,今天到家oracle的dbconsole就啟動不了了.

    2.用命令行的方式啟動 emctl.bat start dbconsole,結果還提示ORACLE_SID 還沒有設置,暈,這個怎么沒有了,set 一個吧 set ORACLE_SID=dggmcc (我的數據庫實例)

    3.還是有錯,提示找不到192.168.0.52.這個地址,應該是ip和當初裝數據庫的時候IP不一樣的緣故,將hosts設置一下 192.168.0.52   IDEA

    4.OK

    posted @ 2008-07-03 14:10 Alex 閱讀(1043) | 評論 (0)編輯 收藏

    1.架構的分類:業務架構、數據庫架構、軟件設計架構,正在流行的所謂soa架構也算吧

    2. 涉及到的主要內容:

    • 需求分析
    • 領域分析
    • UML建模
    • 文檔設計管理
    • 設計模式
    • 基于javaEE5的設計(jsf+EJB3)[個人感覺jboss seam是最好的代表了]

    3.今天一同事說在網上看到統計數據說基于soa的架構做的項目比傳統的做法成功率確實高,可能性是存在的,不過也不排除這些統計數據是某些大廠贊助的結果 :)

    4.今年打算有機會的話培訓一下軟件設計師的課程,內容摘要如下:(來自國信培訓)

    一、面向對象分析設計與UML

    Ø 面向對象分析與設計OOAD

    Ø UML建模與ICONIX進程

    Ø 領域建模與用例建模

    Ø 需求分析與UseCase

    Ø 健壯性分析

    Ø 時序圖

    Ø 對象圖、狀態圖、活動圖與協作圖

    Ø 類圖、包圖與組件圖

    Ø 部署圖

    Ø UMLRUP

    Ø 設計進度和設計粒度的控制

    二、設計模式

    Ø GOF設計模式

    Ø 創建型模式

    Ø 結構型模式

    Ø 行為型模式

    Ø 模式擴展

    Ø 開源項目中的設計模式

    Ø 模式與交流

    三、軟件設計管理

    Ø 軟件設計文檔

    Ø 軟件流程改進策略

    Ø 軟件設計風險管理

    四、相關軟件設計案例集

    posted @ 2008-07-03 14:08 Alex 閱讀(1581) | 評論 (0)編輯 收藏

    //本站點內容來自于www.foxlog.org


    1.中國還沒有真正偉大的軟件公司,就當自己做一下白日夢了

    2.需要一個協同軟件,比如oracle協作套件,或者IBM的Lotus,目的,提供郵件、文檔、工作空間、門戶、網絡會議、移動辦公等,讓公司的所有資源在一個統一的平臺上實施;當然,出于成本考慮,我也可以選擇google的企業套件,最直接的方式了,而且效果不錯,不過沒有網絡會議和門戶功能,可以考慮使用webEx等 (近期,流行的一個觀點是在協作平臺里引入web2.0的相關技術)

    3.需要一個學習平臺,比如oracle ilearing.用于員工的入職須知,技能培訓,為學習型組織提供一個最有力的幫助,最大的問題可能不是學習平臺本身,而是學習內容的規劃和設計,必要的時候需要購買 .  學習平臺最終的目的就是一是培訓員工,另一個就是知識共享。現在很多公司有這么一個毛病,公司運營了很多年,但是隨著員工的逐步更換和流失,很多以前精華的東西都不見了,如果主意了知識的共享和積累(通過軟件平臺),這個問題就是另一種情況了.

    4.需要一個 oa平臺,主要基于公司的業務流程,目前大多數oa是基于工作流的機制來實現。事實上,oa的發展歷程已經比較長了,也相對比較成熟,但是究竟能發揮多大作用或者該如何發揮最大的作用還依然是一個問題。

    5.建立一個項目管理系統平臺,所有項目都在上面監控,它應該是動態的,可以看到每一天的進度,最好能從上面能對項目的各個組員的工作作出評估,作出即時的溝通和修正。

    6.軟件開發過程系統:包含架構設計管理、開發動態控制管理、版本控制、測試管理 .這些內容的主要目的是保證開發的規范話、文檔化

    7.會議系統管理. 每個公司都需要開會,但是開會的層次差別太大了,存在的問題主要有:會議目標不明確,會議過程沒有效率,會議結果不明確,會議結束后沒有后期跟蹤管理.關于這方面可以推薦一篇文章 九段秘書

    8.以上好像偏重于技術的層面比較多,實際上一個公司的老總最看重的其實必然是市場,所以一個適合自己公司的ERP或者CRM系統也許是必要的,注意,我這里說的是也許。

    9.最后,所有的軟件僅僅提供了一個平臺,它是“死”的,或者說其本身并不會發生什么作用,更關鍵的是看不見的“軟件”——企業文化,一切的效率與創新都來自于公司的文化氛圍,在這個基礎上,軟件才會有推波助瀾的作用。

    posted @ 2008-07-03 14:07 Alex 閱讀(1079) | 評論 (3)編輯 收藏

         摘要: 很多東西是拿來被利用的,被 Fuck的,不是讓你消磨時間的.  閱讀全文
    posted @ 2007-09-01 12:42 Alex 閱讀(2562) | 評論 (5)編輯 收藏

         摘要: 項目,是一個范圍很廣的概念,三峽大壩是一個項目,IT企業的一次開發任務也是一個項目,個人某個時間段的活動安排仍然可以看作是一個項目.

      閱讀全文
    posted @ 2007-08-19 13:15 Alex 閱讀(1824) | 評論 (7)編輯 收藏

         摘要: 經常用到update語句,不過很少用到其他表的數據來更新當前表,這次用到了,總結一下

      閱讀全文
    posted @ 2007-08-19 12:49 Alex 閱讀(2273) | 評論 (1)編輯 收藏

    key words: plsql,導出數據,大數據量

    最近的賬務的項目中需要導出Excel報表,數據量比較大,解決方案如下 :

    1.通過plsql在服務器端查詢出符合要求的紀錄,然后直接寫到文本文件中

    2.在web端通過流的方式讀文本文件,通過POI寫到Excel,將生成的Excel流寫到respoonse實現下載

    這樣做的好處是不必一次性將滿足條件的紀錄全部取出來,而是通過流的方式.

    這個方式原來在處理Blob類型的字段時有直接的getStream來支持的,這次普通的數據只好通過文件的方式來實現.

    貼一段sample的代碼


    sql 代碼
     
    1. create or replace procedure alex_table_to_txt(filepath varchar2,filename varchar2) is  
    2. --var  
    3. v1 alex2.name%type;  
    4. v2 alex2.address%type;  
    5. v3 alex2.groupname%type;  
    6.   
    7. output varchar2(200);  
    8.   
    9. --file var  
    10. file_handle UTL_FILE.FILE_TYPE;  
    11.   
    12. cursor readtable is select t.name,t.address,t.groupname from alex2 t;  
    13. begin  
    14. file_handle:=utl_file.fopen(filepath,filename,'w',6000);  
    15. open readtable;  
    16.   
    17. loop  
    18. fetch readtable into v1,v2,v3;  
    19. exit when readtable%notfound;  
    20. output:=v1 || ',' || v2 || ',' || v3 ;  
    21. utl_file.put_line(file_handle,output);  
    22.   
    23. end loop;  
    24.   
    25. close readtable;  
    26. utl_file.fclose(file_handle);  
    27. end alex_table_to_txt;  
    28. /  

     

    歡迎討論你的方案

    posted @ 2007-08-18 12:46 Alex 閱讀(4271) | 評論 (1)編輯 收藏

         摘要: 一般來說,我們碰到問題都是無非google,看相關文檔,請教專家,問圈子里的朋友,等等。我這里說的主要是個人自己的解決思路。

      閱讀全文
    posted @ 2007-08-18 12:17 Alex 閱讀(1368) | 評論 (2)編輯 收藏

    好久沒有來這里了,blogjava的朋友們你們還好嗎。

    我的 blog搬家了,以后將主要在這里維護: www.foxlog.org 

    需要和我交換連接的朋友請聯系我 mail to me :  idea.wang@gmail.com,或者在我 blog留言
    http://www.foxlog.org/%E7%BB%99%E6%88%91%E7%95%99%E8%A8%80
    posted @ 2007-07-27 15:21 Alex 閱讀(661) | 評論 (0)編輯 收藏

    1.查看系統Swap空間使用

    [root@jumper usr]# free
                 total       used       free     shared    buffers     cached
    Mem:        513980     493640      20340          0     143808     271780
    -/+ buffers/cache:      78052     435928
    Swap:      1052248      21256    1030992

    2.在空間合適處創建swap文件

    [root@jumper usr]# mkdir swap
    [root@jumper usr]# cd swap
    [root@jumper swap]# dd if=/dev/zero of=swapfile bs=1024 count=10000
    10000+0 records in
    10000+0 records out
    [root@jumper swap]# ls -al
    total 10024
    drwxr-xr-x    2 root     root         4096  7月 28 14:58 .
    drwxr-xr-x   19 root     root         4096  7月 28 14:57 ..
    -rw-r--r--    1 root     root     10240000  7月 28 14:58 swapfile


    [root@jumper swap]# mkswap swapfile
    Setting up swapspace version 1, size = 9996 KiB


    3.激活swap文件
    [root@jumper swap]# swapon swapfile
    [root@jumper swap]# ls -l
    total 10016
    -rw-r--r--    1 root     root     10240000  7月 28 14:58 swapfile
    [root@jumper swap]# free
                 total       used       free     shared    buffers     cached
    Mem:        513980     505052       8928          0     143900     282288
    -/+ buffers/cache:      78864     435116
    Swap:      1062240      21256    1040984
    [root@jumper swap]#  

     

     

    Swap,即交換區,除了安裝Linux的時候,有多少人關心過它呢?其實,Swap的調整對Linux服務器,特別是Web服務器的性能至關重要。通過調整Swap,有時可以越過系統性能瓶頸,節省系統升級費用。 

    本文內容包括: 


    Swap基本原理 

    突破128M Swap限制 

    Swap配置對性能的影響 

    Swap性能監視 

    有關Swap操作的系統命令 
    Swap基本原理 

    Swap的原理是一個較復雜的問題,需要大量的篇幅來說明。在這里只作簡單的介紹,在以后的文章中將和大家詳細討論Swap實現的細節。 

    眾所周知,現代操作系統都實現了"虛擬內存"這一技術,不但在功能上突破了物理內存的限制,使程序可以操縱大于實際物理內存的空間,更重要的是,"虛擬內存"是隔離每個進程的安全保護網,使每個進程都不受其它程序的干擾。 

    Swap 空間的作用可簡單描述為:當系統的物理內存不夠用的時候,就需要將物理內存中的一部分空間釋放出來,以供當前運行的程序使用。那些被釋放的空間可能來自一些很長時間沒有什么操作的程序,這些被釋放的空間被臨時保存到Swap空間中,等到那些程序要運行時,再從Swap中恢復保存的數據到內存中。這樣,系統總是在物理內存不夠時,才進行Swap交換。 

    計算機用戶會經常遇這種現象。例如,在使用Windows系統時,可以同時運行多個程序,當你切換到一個很長時間沒有理會的程序時,會聽到硬盤"嘩嘩"直響。這是因為這個程序的內存被那些頻繁運行的程序給"偷走"了,放到了Swap區中。因此,一旦此程序被放置到前端,它就會從Swap區取回自己的數據,將其放進內存,然后接著運行。 

    需要說明一點,并不是所有從物理內存中交換出來的數據都會被放到Swap中(如果這樣的話,Swap就會不堪重負),有相當一部分數據被直接交換到文件系統。例如,有的程序會打開一些文件,對文件進行讀寫(其實每個程序都至少要打開一個文件,那就是運行程序本身),當需要將這些程序的內存空間交換出去時,就沒有必要將文件部分的數據放到 Swap空間中了,而可以直接將其放到文件里去。如果是讀文件操作,那么內存數據被直接釋放,不需要交換出來,因為下次需要時,可直接從文件系統恢復;如果是寫文件,只需要將變化的數據保存到文件中,以便恢復。但是那些用malloc和new函數生成的對象的數據則不同,它們需要Swap空間,因為它們在文件系統中沒有相應的"儲備"文件,因此被稱作"匿名"(Anonymous)內存數據。這類數據還包括堆棧中的一些狀態和變量數據等。所以說,Swap 空間是"匿名"數據的交換空間。 

    突破128M Swap限制 

    經常看到有些Linux(國內漢化版)安裝手冊上有這樣的說明:Swap空間不能超過128M。為什么會有這種說法?在說明"128M"這個數字的來歷之前,先給問題一個回答:現在根本不存在128M的限制!現在的限制是2G! 

    Swap 空間是分頁的,每一頁的大小和內存頁的大小一樣,方便Swap空間和內存之間的數據交換。舊版本的Linux實現Swap空間時,用Swap空間的第一頁作為所有Swap空間頁的一個"位映射"(Bit map)。這就是說第一頁的每一位,都對應著一頁Swap空間。如果這一位是1,表示此頁Swap可用;如果是0,表示此頁是壞塊,不能使用。這么說來,第一個Swap映射位應該是0,因為,第一頁Swap是映射頁。另外,最后10個映射位也被占用,用來表示Swap的版本(原來的版本是Swap_space ,現在的版本是swapspace2)。那么,如果說一頁的大小為s,這種Swap的實現方法共能管理"8 * ( s - 10 ) - 1"個Swap頁。對于i386系統來說s=4096,則空間大小共為133890048,如果認為 1 MB=2^20 Byte的話,大小正好為128M。 

    之所以這樣來實現Swap空間的管理,是要防止Swap空間中有壞塊。如果系統檢查到Swap中有壞塊,則在相應的位映射上標記上0,表示此頁不可用。這樣在使用Swap時,不至于用到壞塊,而使系統產生錯誤。 

    現在的系統設計者認為: 

    1.現在硬盤質量很好,壞塊很少。 

    2.就算有,也不多,只需要將壞塊羅列出來,而不需要為每一頁建立映射。 

    3.如果有很多壞塊,就不應該將此硬盤作為Swap空間使用。 

    于是,現在的Linux取消了位映射的方法,也就取消了128M的限制。直接用地址訪問,限制為2G。 

    Swap配置對性能的影響 

    分配太多的Swap空間會浪費磁盤空間,而Swap空間太少,則系統會發生錯誤。 

    如果系統的物理內存用光了,系統就會跑得很慢,但仍能運行;如果Swap空間用光了,那么系統就會發生錯誤。例如,Web服務器能根據不同的請求數量衍生出多個服務進程(或線程),如果Swap空間用完,則服務進程無法啟動,通常會出現"application is out of memory"的錯誤,嚴重時會造成服務進程的死鎖。因此Swap空間的分配是很重要的。 

    通常情況下,Swap空間應大于或等于物理內存的大小,最小不應小于64M,通常Swap空間的大小應是物理內存的2-2.5倍。但根據不同的應用,應有不同的配置:如果是小的桌面系統,則只需要較小的Swap空間,而大的服務器系統則視情況不同需要不同大小的Swap空間。特別是數據庫服務器和Web服務器,隨著訪問量的增加,對Swap空間的要求也會增加,具體配置參見各服務器產品的說明。 

    另外,Swap分區的數量對性能也有很大的影響。因為Swap交換的操作是磁盤IO的操作,如果有多個 Swap交換區,Swap空間的分配會以輪流的方式操作于所有的Swap,這樣會大大均衡IO的負載,加快Swap交換的速度。如果只有一個交換區,所有的交換操作會使交換區變得很忙,使系統大多數時間處于等待狀態,效率很低。用性能監視工具就會發現,此時的CPU并不很忙,而系統卻慢。這說明,瓶頸在 IO上,依靠提高CPU的速度是解決不了問題的。 
    系統性能監視 

    Swap空間的分配固然很重要,而系統運行時的性能監控卻更加有價值。通過性能監視工具,可以檢查系統的各項性能指標,找到系統性能的瓶頸。本文只介紹一下在Solaris下和Swap相關的一些命令和用途。 

    最常用的是Vmstat命令(在大多數Unix平臺下都有這樣一些命令),此命令可以查看大多數性能指標。 

    例如: 
    # vmstat 3 
    procs memory swap io system cpu 
    r b w swpd free buff cache si so bi bo in cs us sy id 
    0 0 0 0 93880 3304 19372 0 0 10 2 131 10 0 0 99 
    0 0 0 0 93880 3304 19372 0 0 0 0 109 8 0 0 100 
    0 0 0 0 93880 3304 19372 0 0 0 0 112 6 0 0 100 
    ............ 

    命令說明: 
    vmstat 后面的參數指定了性能指標捕獲的時間間隔。3表示每三秒鐘捕獲一次。第一行數據不用看,沒有價值,它僅反映開機以來的平均性能。從第二行開始,反映每三秒鐘之內的系統性能指標。這些性能指標中和Swap有關的包括以下幾項: 


    procs下的w 
    它表示當前(三秒鐘之內)需要釋放內存、交換出去的進程數量。 

    memory下的swpd 
    它表示使用的Swap空間的大小。 

    Swap下的si,so 
    si表示當前(三秒鐘之內)每秒交換回內存(Swap in)的總量,單位為kbytes;so表示當前(三秒鐘之內)每秒交換出內存(Swap out)的總量,單位為kbytes。 
    以上的指標數量越大,表示系統越忙。這些指標所表現的系統繁忙程度,與系統具體的配置有關。系統管理員應該在平時系統正常運行時,記下這些指標的數值,在系統發生問題的時候,再進行比較,就會很快發現問題,并制定本系統正常運行的標準指標值,以供性能監控使用。 

    另外,使用Swapon-s也能簡單地查看當前Swap資源的使用情況。例如: 
    # swapon -s 
    Filename Type Size Used Priority 
    /dev/hda9 partition 361420 0 3 

    能夠方便地看出Swap空間的已用和未用資源的大小。 

    應該使Swap負載保持在30%以下,這樣才能保證系統的良好性能。 

    有關Swap操作的系統命令 


    增加Swap空間,分以下幾步: 
    1)成為超級用戶 
    $su - root 

    2)創建Swap文件 
    # dd if=/dev/zero of=swapfile bs=1024 count=65536 

    創建一個有連續空間的交換文件。 

    3)激活Swap文件 
    #/usr/sbin/swapon swapfile 

    swapfile指的是上一步創建的交換文件。 4)現在新加的Swap文件已經起作用了,但系統重新啟動以后,并不會記住前幾步的操作。因此要在/etc/fstab文件中記錄文件的名字,和Swap類型,如: 
    /path/swapfile none Swap sw,pri=3 0 0 

    5)檢驗Swap文件是否加上 
    /usr/sbin/swapon -s 


    刪除多余的Swap空間。 
    1)成為超級用戶 

    2)使用Swapoff命令收回Swap空間。 
    #/usr/sbin/swapoff swapfile 

    3)編輯/etc/fstab文件,去掉此Swap文件的實體。 

    4)從文件系統中回收此文件。 
    #rm swapfile 

    5)當然,如果此Swap空間不是一個文件,而是一個分區,則需創建一個新的文件系統,再掛接到原來的文件系統上。

    posted @ 2007-06-18 14:27 Alex 閱讀(1020) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 99热在线日韩精品免费| 最近免费中文在线视频| 麻豆精品不卡国产免费看| 亚洲国产成人久久精品动漫 | 亚洲成人免费在线| 成人电影在线免费观看| 亚洲国产精品久久网午夜| www视频免费看| 亚洲免费人成视频观看| 五月天婷亚洲天综合网精品偷| 国产精品久久亚洲一区二区| 亚洲avav天堂av在线不卡| 午夜一级毛片免费视频| 精品在线免费观看| 国产亚洲精彩视频| 亚洲成人午夜电影| 亚洲精品无码久久久影院相关影片| a毛片全部播放免费视频完整18| 色偷偷女男人的天堂亚洲网| 日本免费一二区在线电影| 久久狠狠躁免费观看2020| 亚洲欧洲精品国产区| 亚洲欧洲精品成人久久奇米网 | free哆拍拍免费永久视频| 国产成人精品日本亚洲专| 久久亚洲高清观看| 亚洲成a人片在线观看日本麻豆| 日日摸夜夜添夜夜免费视频| 亚洲免费闲人蜜桃| 亚洲va中文字幕无码久久| 国产桃色在线成免费视频| 免费在线看污视频| 深夜福利在线视频免费| 亚洲欧洲日产国码久在线| 亚洲精品国产肉丝袜久久| 久久91亚洲人成电影网站| 亚洲人成网站色在线入口| 日韩成人免费视频播放| 免费看韩国黄a片在线观看| 日本一区二区三区在线视频观看免费 | 亚洲午夜成激人情在线影院|