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

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

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

    隨筆-60  評論-35  文章-15  trackbacks-0
     

    QCurses是什么?
    QCurses是對Linux/Unix下面終端界面庫curses的C++封裝,可以快速開發(fā)基于curses的界面程序,新版本的QCurses更是增加了qcs腳本與解釋器使其成為快速開發(fā)基于字符界面的開發(fā)利器!

    基于需要QCurses主要提供平臺為SCO UNIX5.X的操作系統(tǒng),如果有其他系統(tǒng)的需要可以發(fā)信息告知我,我會考慮加入下一個版本中。

    QQ:1964477
    MSN:qxk2001@hotmail.com
    E-MAIL:qxk2005@gmail.com

    QCurses舊版本的主頁是:http://qclass.xbhome.com/
    新版本的主頁正在制作中。

    新版本功能簡述(待續(xù)):

    1. 編寫qcurses程序只需要編寫“.qcs”腳本文件即可進行qcurses程序編寫,腳本內(nèi)容類似于html文檔,而qcurses自帶的解釋器類似于IE瀏覽器,這樣編程人員就可以從繁雜的代碼編寫中解放出來專心進行業(yè)務(wù)層的代碼編寫了。
    2. 新版本的qcurses支持網(wǎng)絡(luò)傳輸,自帶一個類似于Apache的服務(wù)器,同時使用qcurses自帶的解釋器就可以進行網(wǎng)絡(luò)程序開發(fā),因為每個程序的界面都已經(jīng)使用QCS腳本編寫好了,因此網(wǎng)絡(luò)中傳輸?shù)膬H僅是文本文件了,而這些文件在本地進行解析并且動態(tài)生成界面,同時可以將這個界面中相關(guān)的數(shù)據(jù)提交給qcurses的網(wǎng)絡(luò)服務(wù)器,而業(yè)務(wù)層的實現(xiàn)就可以在這里做到
    3. 待續(xù)……
    posted @ 2006-04-26 20:40 Q系列類、方法、變量…… 閱讀(221) | 評論 (0)編輯 收藏

    一、系統(tǒng)屬性中的項目∶
    鼠標右健單擊桌面上的"我的電腦",選擇"屬性",打開"系統(tǒng)屬性"對話框
    ? 1.關(guān)閉系統(tǒng)還原
    找到系統(tǒng)還原選項, 如果你不是老噼里啪啦安裝一些軟件(難道你比我還厲害),你也可以去掉,這樣可以節(jié)省好多空間。將"在所有盤中禁用系統(tǒng)還原"前面的囗中打鉤,點擊"應(yīng)用"。
    ? 2. 去掉"更新"選項:
    對于大多數(shù)的用戶來說,Windows XP的Windows Update功能似乎作用不大,多數(shù)程況下,補丁越多系統(tǒng)越慢,我們可以去掉它,操作步驟如下:點擊"自動更新"選項卡,將"保持我的計算機最新"前面的"囗"內(nèi)的勾取消,然后點擊"應(yīng)用"。
    ? 3. 打開DMA傳輸模式∶
    選"硬件"選項卡,定"設(shè)備管理器"在設(shè)備管理器里展開"IDE ATA/ATAPI 控制器"前面的"+"號,可看到"主要通道"和"次要通道",右鍵點擊"主要通道"或"次要通道",選屬性,在屬性窗口中點"高級"選項卡 ,將所有的傳送模式都設(shè)定為"使用DMA(若用的)" ,系統(tǒng)就會自動打開DMA支援(在BIOS里也應(yīng)該要先設(shè)為支援DMA),然后點擊"確定"。
    ? 4.為IRQ中斷請求排優(yōu)先次序
    為IRQ中斷請求排優(yōu)先次序計算機的每一個主要部件都設(shè)了個IRQ中斷號。這里就是要通過修改每個IRQ請求的優(yōu)先次序達到優(yōu)化目的。這里主要的優(yōu)化對象是系統(tǒng)/CMOS實時鐘,它通過主板來提升性能。首先,要確定你想要哪個組件獲得更高的性能,然后找到這個硬件正在使用的IRQ中斷號。怎么找呢?打開控制面板里的系統(tǒng)屬性(也可以按鍵盤上的Windows+Break熱鍵組合打開它)。選中"硬件"選項卡,然后點擊"設(shè)備管理器"按鈕。右鍵點擊要查IRQ號的組件,選擇"屬性",然后點擊"資源"選項卡。這里可以看到設(shè)備正在使用的IRQ中斷號(如果沒有IRQ中斷號,選擇另一個設(shè)備)。把中斷號記下來,然后運行注冊表編輯器regedit,找到注冊表中的HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/PriorityControl 位置。我們要在這里建立一個名為IRQ#Priority(其中"#"是具體的IRQ中斷號)的DWORD雙字節(jié)值,然后把它的值設(shè)為1。譬如說,我的系統(tǒng)CMOS實時鐘的IRQ中斷號是8,我要建立的鍵名就是IRQ8Priority。重新啟動計算機之后,就會發(fā)現(xiàn)剛優(yōu)化過的組件性能有所提高。筆者強烈建議用這個方法優(yōu)化系統(tǒng)CMOS實時鐘,因為它能改善整塊主板的性能。當然也可以把多個IRQ中斷號優(yōu)先級提高,但這樣做的效果沒那么好,而且有可能造成系統(tǒng)不穩(wěn)定。要把這個優(yōu)化設(shè)置撤消的話,只要把剛才建立的注冊表鍵值刪掉就OK了。
    ? 5.關(guān)閉"遠程桌面"功能
    顧名思義,這個功能就是讓你可以讓別人在另一臺機器上訪問你的桌面。可以說,在一個網(wǎng)絡(luò)環(huán)境中,比如單位的局域網(wǎng),這個功能很有用(要在防火墻沒有限制的情況下)。比如你有問題了可以向同事求助,他可以不用到你的跟前,直接通過"遠程桌面"來訪問你的機器幫你解決問題。我個人認為這個功能有一定的不安全因素在里面,并且,計算機也不是時時都在出問題,所以我的建議關(guān)掉它,否則你不用它就等于白白浪費內(nèi)存。
    ? 6.優(yōu)化"視覺效果"設(shè)置
    Windows XP在操用界面方面,的確是好看多了,不過好看的背后是以消耗大量內(nèi)存作為代價的,如果你的內(nèi)存沒有256MB以上,最好還是優(yōu)化一下你的"視覺效果"功能。右鍵單擊"我的電腦",點擊屬性,點擊"高級",在"性能"一欄中,點擊"設(shè)置",點擊"視覺效果",在這里可以看到外觀的所有設(shè)置,可以手工去掉一些不需要的功能。
    ? 7.優(yōu)化"啟動和故障恢復(fù)"設(shè)置
    如果在你的系統(tǒng)崩潰時發(fā)現(xiàn)你的硬盤使勁兒的響,那是因為Windows XP正在寫DUMP文件呢,如果你不打算把這個文件寄給微軟(浪費電話費),那么它又有什么用呢?所以筆者的建議是關(guān)閉。右鍵單擊"我的電腦",點擊屬性,點擊"高級",在"啟動和故障恢復(fù)"一欄中,點擊"設(shè)置",其中的"系統(tǒng)失敗"一欄中,建議改為∶自動重新啟動,不轉(zhuǎn)存。
    ? 8. 禁用"錯誤匯報"功能
    這個功能可以在你的Windows XP發(fā)生錯誤的時候,系統(tǒng)自動收集一些錯誤資料然后發(fā)送給微軟公司,以便其完善他們的操作系統(tǒng)(又一個浪費電話費且沒用的功能)。筆者建議關(guān)掉它。如果這個功能對你沒有用,那又何必讓它占用著你的內(nèi)存呢?右鍵單擊"我的電腦",點擊屬性,點擊"高級"→"錯誤匯報",選擇"禁用錯誤匯報"功能。
    ? 9.自定義虛擬內(nèi)存的大小
    在"高級"選項卡中的"虛擬內(nèi)存"欄目內(nèi)點"更改"按鈕。選擇"自定義大小",在"初始大小值"和"最大值"框內(nèi)同時輸入同一數(shù)值,該數(shù)值的大小=你的物理內(nèi)存大小的2.5倍即可,(如果你的內(nèi)存是128M的即輸入576,內(nèi)存越大所用的倍數(shù)越小。如果你有512M以上的內(nèi)存即可禁用虛以內(nèi)存,選擇"無分頁文件")。輸入數(shù)值后,一定要點擊"設(shè)置"按鈕,看到上面框內(nèi)的數(shù)值改變了才生效,然后點確定,關(guān)閉窗口。

    二、顯示屬性中的項目∶
    右鍵單擊桌面空白處,選擇"屬性",打開"顯示 屬性"
    ? 1.關(guān)閉休眠支持
    關(guān)閉"休眠支持"因為休眠功能占的硬盤空間約250M, 所以關(guān)閉比較好,屏幕保護程序-->電源-->休眠--取消"啟用休眠"前面囗內(nèi)的勾(不要打勾)(不過:我覺得休眠還是有用的。)
    ? 2.電源使用方案
    其中"關(guān)閉監(jiān)視器"建議選擇30分鐘為宜,而"關(guān)閉硬盤"這里選擇"從不",因為對硬盤進行關(guān)閉的話,再重新啟動對磁頭有很大的傷害.
    ? 3.刷新率
    一般情況下你把刷新率設(shè)置在75Hz以上顯示器就沒有閃爍感,你就會感覺很舒服。而刷新率和顯示器的帶寬有關(guān)系,帶寬越大其刷新率就越高。另外,俺建議你不要使用額外的刷新率,因為這相當于是對顯示器進行超頻,而且和對CPU的超頻相比傷害更大!只要你的顯示器刷新率達到85Hz就足夠了,而不必刻意追求更高的刷新率,反而會大大減少了顯示器的壽命。

    三、組策略中的項目∶

    開始-運行-鍵入 gpedit.msc ,打開"組策略"窗口
    1. 取消限制可保留帶寬
    展開 "管理模板"中的"網(wǎng)絡(luò)" , 展開 "QoS 數(shù)據(jù)包調(diào)度程序", 在右邊窗右鍵單擊"限制可保留帶寬" ,在屬性中的"設(shè)置"中有"限制可保留帶寬" ,選擇"已禁用",確定即可。當進行完上述修改并應(yīng)用后,用戶應(yīng)該在網(wǎng)絡(luò)連接的屬性對話框內(nèi)的一般屬性標簽欄中能夠看到 "(QoS 數(shù)據(jù)包調(diào)度程序)"。如果沒有該條目,說明修改沒有成功,QoS仍然在占用著20%的帶寬。Home版不支持該操作,無法去除該限制!
    ??? 有必要說明一下,但還是留著讓大家參考!
    ??? 關(guān)于xp或2003有20%的"保留帶寬",有這樣一個推論:去掉后速度提升20%,xp在帶寬上做了手腳。這些說法在網(wǎng)上廣為流行,然而你費時費力去掉這個限制后,卻發(fā)現(xiàn)速度并沒有提升!
    據(jù)我所知,這個方法最早來源于《電腦報》,直到今天這個所謂的"技巧"還在網(wǎng)上廣為流傳。所以,我覺得有必要在這兒說一下。
    ??? 其實根本不用去掉。
    ??? 這個20%帶寬并非"保留",是指在使用QoS 應(yīng)用程序編程接口 (API)的程序最多在每個接口基礎(chǔ)鏈路上可以申請預(yù)留20%的帶寬,但是如果此程序并未充分利用,這些帶寬仍然可以被其他程序所用。
    ??? 在微軟的《技術(shù)資源規(guī)劃》中指出:除非有應(yīng)用程序?qū)iT請求優(yōu)先的帶寬,否則在 Windows XP PC 上運行的應(yīng)用程序可以共享所有的網(wǎng)絡(luò)帶寬。但如果做出請求的應(yīng)用程序沒有發(fā)送數(shù)據(jù),則這些"預(yù)定"的帶寬仍可用于其它應(yīng)用程序。 。。。默認情況下,對終端系統(tǒng)的每個接口上的基礎(chǔ)鏈路而言,應(yīng)用程序可以預(yù)定的合計帶寬最多可為該基礎(chǔ)鏈路速度的 20%。如果預(yù)定了帶寬的應(yīng)用程序沒有發(fā)送足夠的數(shù)據(jù)來充分利用帶寬,則預(yù)定帶寬中未被使用的部分將仍可用于同一主機上的其它數(shù)據(jù)流。
    ??? 可見,所謂20%的保留帶寬純屬個別人斷章取義,誤導視聽而已。


    四、控制面板中的項目∶
    ? 1. 調(diào)用系統(tǒng)聲音方案
    與以往的Windows操作系統(tǒng)相比,Windows XP提供了更加優(yōu)秀的聲音方案,但系統(tǒng)默認卻沒有調(diào)用該方案。為了激活該方案,我們需要執(zhí)行下列操作:打開"控制面板",選擇"聲音、語音、音頻設(shè)備"項,從中找到"修改聲音方案"的任務(wù)欄,在打開的對話框中選擇"Windows默認",此時系統(tǒng)會提示用戶是否保存以前的聲音方案設(shè)置,用戶可以選擇"否"并點擊"確認",完成修改。
    ? 2.在關(guān)機時清理頁面文件
    打開"控制面板",點擊"管理工具"→"本地安全策略"→"本地策略"→"安全選項",雙擊其中"關(guān)機:清理虛擬內(nèi)存頁面文件"一項,點擊彈出選單中的"已啟用"選項,單擊"確定"即可。


    五、注冊表中的項目∶
    點擊開始菜單,選擇"運行",然后輸入"regedit"回車。即可打開注冊表編輯器
    ? 1.加速XP的開關(guān)機縮短等待時間
    找到HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control, 將 WaitToKillServiceTimeout 的佰設(shè)為:1000或更小 ( 原設(shè)定值:20000 )。找到 HKEY_CURRENT_USER/Control Panel/Desktop 鍵,將右邊視窗的WaitToKillAppTimeout 改為 1000, ( 原設(shè)定值:20000 )即關(guān)閉程序時僅等待1秒。將 HungAppTimeout 值改為:500( 原設(shè)定值:5000 ), 表示程序出錯時等待0.5秒。
    ? 2.讓系統(tǒng)自動關(guān)閉停止響應(yīng)的程序
    打開注冊表 HKEY_CURRENT_USER/Control Panel/Desktop 鍵, 將 AutoEndTasks 值設(shè)為 1 ( 原設(shè)定值:0 )
    ? 3.提升Prefetcher服務(wù)性能
    Windows XP自帶了一個名為Prefetcher的服務(wù),這個服務(wù)管理著Windows啟動時的程序初始,其中指定的程序可以在以后使用中快速載入。Prefetcher在默認情況下就是打開的,不過它的性能還可以進一步提升。打開注冊表編輯器,在注冊表中找到 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager/MemoryManagement/PrefetchParameters,其中有一個鍵值名為EnablePrefetcher,多數(shù)情況下它的值是3。推薦設(shè)置值是5,在我的機子上,設(shè)為5的時候工作狀態(tài)最佳。可以隨便試試不同的數(shù)值,直到找到最適合自己機子的值為止。也可以把Prefetcher禁用掉,只需把值設(shè)為0就可以了。不過,除非是為了測試用途,一般人都不會傻到把它設(shè)為0.
    ? 4. 不加載DLL文件
    瀏覽器在使用之后往往會有部分DLL文件在內(nèi)存中緩存好長一段時間,相當大一部分內(nèi)存會被不用的DLL文件點用。為了防止這種事情發(fā)生,找到注冊表如下位置HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer接下來建立一個名為AlwaysUnloadDLL,值為1的雙字節(jié)值。如果想要去除這項優(yōu)化,只需把該鍵值設(shè)為0(也可以干脆把鍵刪掉)。注意:該項優(yōu)化要在Windows重新啟動后才生效。
    ? 5. 完全關(guān)閉Windows XP文件保護功能
    此招慎用,從注冊表中找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon,修改"SFCDisable"鍵值"FFFFFF9D",如果需要重新啟用該功能,重新設(shè)置為"0"就可以了。
    ? 6. 加快窗口顯示速度
    加快窗口顯示速度:我們可以通過修改注冊表來改變窗口從任務(wù)欄彈出,以及最小化回歸任務(wù)欄的動作,步驟如下:打開注冊表編輯器,找到HKEY_CURRENT_USER/Control Panel/Desktop/WindowMetrics子鍵分支,在右邊的窗口中找到MinAniMate鍵值,其類型為REG_SZ,默認情況下此健值的值為1,表示打開窗口顯示的動畫,把它改為0,則禁止動畫的顯示,接下來從開始菜單中選擇"注銷"命令,激活剛才所作的修改即可。
    ? 7.設(shè)置啟動信息或增加警告信息
    如果在啟動Windows XP時,希望顯示一些自己定義的個性化信息,可以按以下步驟來操作:找到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/Winlogon子鍵分支,雙擊在它下面的LegalNoticeCaption健值名稱,打開"編輯字符串"窗口,在"數(shù)值數(shù)據(jù)"文本框中輸入信息對話框的標題,比如"你好,歡迎使用本機器",然后雙擊LegalNoticeText,在隨后出現(xiàn)的"編輯字符串"窗口中輸入想要顯示的警告信息,比如"請不要隨意修改本機的設(shè)置,謝謝!",單擊"確定"按鈕,重新啟動即可看到修改后的效果了。
    ? 8.每次啟動時保持桌面設(shè)置不變
    我們可以通過修改注冊表來保護我們的桌面設(shè)置,無論做了什么樣的修改,只要重新啟動之后桌面就會恢復(fù)原樣。步驟如下:找到HKEY_CURRENT_USERS/Software/Microsoft/Windows/CurrentVersion/Polices/Explorer子鍵分支,在它的下面找到NoSaveSettings,其類型為REG_SZ,將其鍵值改為"0",或者直接刪除該鍵值項,重新啟動系統(tǒng)使設(shè)置生效。
    ? 9.修改鼠標右鍵菜單
    修改鼠標右鍵菜單我們知道在98下可以通過注冊表來修改鼠標右鍵菜單,其實在WinXP中也可以。方法如下:這里以在鼠標右鍵菜單上添加"用DOS窗口在這里瀏覽"為例。打開注冊表編輯器,找到HKEY_CLASSES_ROOT/Directory/shell,然后選中它,點擊鼠標右鍵,新建一個主鍵,取名為"DOS",然后選中新建的主鍵,在右邊雙擊默認字符串值,在彈出的對話框中輸入"用DOS窗口在這里瀏覽",然后選中新建的主鍵,再建立一個主鍵,取名為"command",選中"command"主鍵,修改默認值為"cmd.exe /k /"cd %/""即可。檢查:在任意一個文件夾上按下鼠標右鍵,可以在彈出的菜單里面看到"用DOS窗口在這里瀏覽",選擇用DOS窗口在這里瀏覽,按下鼠標左鍵,看到?jīng)]有,DOS窗口彈了出來!
    ? 10.修改系統(tǒng)ID號
    修改系統(tǒng)ID號(ID號在WinXP里面很重要)在系統(tǒng)屬性里面的常規(guī)標簽下我們可以看到一串數(shù)字,如:55661-005-0809362-22169等等。這就是ID號。正版的WinXP每一套的ID號是不相同的(應(yīng)該可以猜到我的目的了吧?),那么我們可不可以修改呢?當然可以(廢話!如果不可以就沒有必要寫這篇文章了)。跟我來,看看我的本領(lǐng)!1)ID號是存放在注冊表里面的。主要放在這幾個鍵值下:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Internet Explorer/Registration的字符串ProductIdHKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/User inFORMation的字符串產(chǎn)品標識 /*如果沒有使用向微軟注冊的話,這里不會出現(xiàn)*/HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion的字符串ProductIdHKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion的字符串ProductId以上4個地方就是在注冊表中存放ID的鍵值,修改的時候要同時修改,修改完以后再看系統(tǒng)屬性里面的常規(guī)標簽,以免修改失敗,導致ID還原。
    ? 11.修改版本號
    Windows里面有一個內(nèi)部版本號(正式版的是:2600.xpclient.010817-1148),這個版本號也是存放在注冊表中的,具體位置是HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion,它用一個字符串來記錄,修改這個名字叫做BUILDLAB的字符串就可以修改你的XP的版本號。
    ? 12.清除共享文件夾
    WINDOWS XP操作系統(tǒng)一個比較不友好的用戶界面是在"我的電腦"窗口上半部分顯示所有共享的文件夾,如果用戶設(shè)置的共享文件夾較多,每當打開"我的電腦"窗口時,就會列有很多共享文件夾信息。如何刪除這些信息顯示呢?使用注冊表編輯器,并尋找這個主鍵/"HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/EXPLORER/MyComputer/NameSpace/DelegateFolders/",在該主鍵下有一個名為{59031A47-3F72-44A7-89C5-5595FE6B30EE}的副鍵,刪除該副鍵便可清除那些共享文件夾信息。上述修改無需重新啟動便可生效。
    ? 13. 加快開始菜單的顯示速度
    WINDOWS XP系統(tǒng)默認的開始菜單顯示較慢,但用戶可以通過編輯注冊鍵值來加快顯示,具體方法是:打開注冊表編輯器,尋找/"HKEY_CURRENT_USER/CONTROL PANEL/DESKTOP/MENUSHOWDELAY/"主鍵,系統(tǒng)默認值為400,用戶可以根據(jù)自己的喜好適當調(diào)小該鍵值,如200,最低可設(shè)為"0"。
    ? 14.啟動時禁止自動調(diào)用"WINDOWS MESSENGER"
    為了推廣微軟公司推出的即時聊天程序/"WINDOWS MESSENGER/",WINDOWS XP操作系統(tǒng)的默認設(shè)置是在系統(tǒng)啟動時便調(diào)用該程序。但如果你并不習慣使用該程序,可以通過刪除/"HKEY_CURRENT_USER/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/RUN/MSMSGS/"此鍵來實現(xiàn)。
    ? 也可在MESSENGER里設(shè)置,打開MESSENGER,工具--選項--首選項--把"在windows啟動時運行windows messenger"前的鉤去掉就OK了.
    ? 15.禁用頁面文件
    HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/SESSION MANAGER/MEMORY MANAGEMENT禁用內(nèi)存頁面文件"PAGING EXECUTIVE",在正常情況下,XP會把內(nèi)存中的片斷寫入硬盤,我們可以阻止它這樣做,讓數(shù)據(jù)保留在內(nèi)存中,從而提升系統(tǒng)性能。要注意的是,擁有很多內(nèi)存的用戶(256M以上)才好使用這個設(shè)置。這個設(shè)置的名字正如它的功能一樣,叫"DISABLEPAGINGEXECUTIVE"。把它的值從0改為1就可以禁止內(nèi)存頁面文件調(diào)度了。
    ? 也可在性能選項--高級--虛擬內(nèi)存那里點更改--無分頁文件
    ? 16.提升系統(tǒng)緩存
    HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/SESSION MANAGER/MEMORY MANAGEMENT把LARGESYSTEMCACHE鍵值從0改為1,WINDOWS XP就會把除了4M之外的系統(tǒng)內(nèi)存全部分配到文件系統(tǒng)緩存中,這意味著XP的內(nèi)核能夠在內(nèi)存中運行,大大提高系統(tǒng)速度。剩下的4M內(nèi)存是用來做磁盤緩存的,在一定條件下需要的時候,XP還會分配更多一些。一般來說,這項優(yōu)化會使系統(tǒng)性能得到相當?shù)奶嵘灿锌赡軙鼓承?yīng)用程序性能降低。正如前面所說的,必須有256M以上的內(nèi)存,才好激活LARGESYSTEMCACHE,否則不要動它。
    ? 17.輸入/輸出性能
    這個優(yōu)化只對SERVER用戶才有實在意義--它能夠提升系統(tǒng)進行大容量文件傳輸時的性能。在默認情況下,這個鍵值在注冊表中是不存在的,必須自己建一個,在HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/SESSION MANAGER/MEMORY MANAGEMENT下建一個DWORD(雙字節(jié)值)鍵值,命名為IOPAGELOCKLIMIT。多數(shù)人在使用這項優(yōu)化時都發(fā)現(xiàn)8到16M字節(jié)之間性能最好,具體設(shè)什么值,可以設(shè)進去試試看哪個值可以獲得最佳性能。記住這個值是用字節(jié)來計算的,因此,譬如你要分配12M的話,就是12 * 1024 * 1024,也就是12582912。跟前面的內(nèi)存優(yōu)化一樣,只有當你的內(nèi)存大于256M的時候才好更改這里的值。
    ? 18.設(shè)置CPU二級緩存容量
    WINDOWS XP無法自動檢測處理器的二級緩存容量,需要我們自己在注冊表中手動設(shè)置,首先打開:HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTROLSET/CONTROL/SESSION MANAGER/MEMORY MANAGEMENT/,選擇"SECONDLEVELDATACACHE",根據(jù)自己所用的處理器設(shè)置即可,例如PIII COPPERMINE/P4 WILLAMETTE是"256",ATHLON XP是"384",P4 NORTHWOOD是"512"
    ??? 說明一下,但是該項還是保留給大家參考.
    ??? 在眾多的XP優(yōu)化技巧中,較為流行的一種說法是Windows XP系統(tǒng)需要用戶手工打開CPU的二級緩存,這樣才能使CPU發(fā)揮出最大效率。這種說法流傳相當廣泛,現(xiàn)在使用率最高的Windows系統(tǒng)優(yōu)化軟件之一的"Windows 優(yōu)化大師"也是持這種觀點,在它的優(yōu)化設(shè)置欄中就有優(yōu)化CPU二級緩存的選項。
      我們先看看這個所謂的優(yōu)化技巧是怎樣告訴我們的。
      【W(wǎng)indows XP系統(tǒng)中,默認狀態(tài)下CPU二級緩存并未打開。為了提高系統(tǒng)性能,我們可以通過修改注冊表,或使用"Windows優(yōu)化大師"等軟件來開啟它。
      運行注冊表編輯器,展開HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Session Manager/Memory Management分支,雙擊右側(cè)窗口中的"SecondLevelDataCace",然后在彈出的窗口中直接填入當前計算機所使用的CPU的二級緩存容量即可。
      賽揚處理器的二級緩存為128KB,應(yīng)將其值設(shè)置為80(16進制,下同)。PⅡ、PⅢ、P4均為512KB二級緩存,應(yīng)設(shè)置為200;PⅢE(EB)、P4 Willamette只有256KB二級緩存,應(yīng)設(shè)置為100;AMD Duron只有64KB二級緩存,應(yīng)設(shè)置為40;K6-3擁有256KB二級緩存;Athlon擁有512KB二級緩存;Athlon XP擁有256KB二級緩存;Athlon XP(Barton核心)擁有512KB二級緩存。
      使用Windows優(yōu)化大師也可以正確設(shè)置CPU的二級緩存:啟動Windows優(yōu)化大師,選擇"系統(tǒng)性能優(yōu)化",在"文件系統(tǒng)優(yōu)化"中,最上面就是關(guān)于CPU二級緩存的設(shè)置項。拖動滑塊到相應(yīng)的位置后,保存設(shè)置并重新啟動計算機即可。】
      事實真的是這樣嗎?
      我們在微軟的知識庫中找到了如下的內(nèi)容:"HKLM/SYSTEM/CurrentControlSet/Control/Session Manager/Memory Management"中的SecondLevelDataCache鍵的值只有在Windows XP系統(tǒng)從硬件抽象層(Hardware Abstraction Layer )讀取CPU二級緩存(L2)失敗時才會讀取SecondLevelDataCache鍵的數(shù)據(jù)。而且SecondLevelDataCache鍵值=0的意義是二級緩存為256KB。
      在一篇知識庫文章中我們還找到了"Do not change the SecondLevelDataCache entry "這樣的話,在文章中指出一些第三方資料宣稱修改SecondLevelDataCache鍵的值可以提高系統(tǒng)性能是不正確的。二級緩存的數(shù)值是由操作系統(tǒng)檢測并且完全不受SecondLevelDataCache值的影響。
      從微軟知識庫的文章中我們可以看到,所謂的Windows XP系統(tǒng)需要用戶手動打開二級緩存這種說法是錯誤的。Windows XP系統(tǒng)是根據(jù)硬件抽象層讀取CPU的二級緩存數(shù)值。只有在讀取失敗時才會讀取SecondLevelDataCache的值,而且SecondLevelDataCache的默認數(shù)值0所代表的意義就是二級緩存為256KB,而不是表示關(guān)閉。所以CPU的二級緩存在任何時候都是開啟的,用戶沒有必要再自行修改。
    ? 『轉(zhuǎn)自PCONLINE』

    ? 19.加速共享文件夾查看速度
    這是一項很棒的優(yōu)化,在找到這項優(yōu)化之前,我經(jīng)常在漫長地等待窗口顯示其它機子上的共享目錄中敲破頭皮。通常情況下,當WINDOWS XP連接到其它計算機時,會檢查對方機子上所有預(yù)定的任務(wù)--這真是多余,而且還會讓你等上30秒鐘,實在太糟糕了。所幸的是,很容易就可以把這個過程給禁掉。首先,在注冊表中找到HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENT VERSION/EXPLORER/REMOTECOMPUTER/NAMESPACE。在這里面,應(yīng)該有個{D6277990-4C6A-11CF-8D87-00AA0060F5BF鍵。只需把它刪掉,重新啟動計算機后,WINDOWS就不再檢查預(yù)定任務(wù)了,速度明顯提高!
    ? 20.優(yōu)化NTFS文件系統(tǒng)
    NTFS的好處不用說了吧,但也有不足。取消更新最后一次磁盤訪問,這樣對于容量大的分區(qū),會減慢速度。運行"REGEDIT",在HKEY_LOCAL_MACHINE/SYSTEM/CURRENTCONTOLSET/CONTROL/FILESYSTEM)中,加DWORD,數(shù)值為1。
    ? 21.卸載無用的動態(tài)鏈接
    資源管理器經(jīng)常在內(nèi)存中留下無用的動態(tài)鏈接,為了消除這種現(xiàn)象,你可以打開注冊表編輯器,設(shè)置鍵值:HKEY_LOCAL_MACHINE/SOFTWARE/MICROSOFT/WINDOWS/CURRENTVERSION/EXPLORER
    ALWAYSUNLOADDLL=DWORD: 1將其設(shè)為0,這一功能就會被關(guān)閉。注意:為了讓設(shè)置生效,需要重新啟動計算機。六、系統(tǒng)啟動設(shè)置中的項目∶
    點擊開始菜單,選擇"運行",然后輸入"MSCONFIG"回車。
    ? 這是一個系統(tǒng)內(nèi)置的WINDOWS設(shè)置工具。我們要動手腳的是(啟動)選項卡,點擊"啟動"選項卡,這個選項卡中顯示了WINDOWS啟動時運行的所有程序。這里沒有一個程序?qū)INDOWS來說是生死悠關(guān)的,所以放心大膽地把不要的去掉。把你不想要隨系統(tǒng)啟動而啟動的程序前的勾勾去掉之后,WINDOWS啟動會快些,同時空閑的系統(tǒng)資源也會多出一些。

    七、系統(tǒng)清理∶
    ? 1. 刪除WINDOWS強加的附件∶
    用記事本打開/WINDOWS/INF/SYSOC.INF(先將文件復(fù)制一個作為備用),用查找/替換功能,在查找框中輸入",HIDE"(一個英文逗號緊跟HIDE),將"替換為"框設(shè)為空。并選全部替換,這樣,就把所有的,HIDE都去掉了,保存并退出,再運行"添加-刪除程序",就會看見"添加/刪除 WINDOWS 組件"中多出了好幾個選項;這樣你可以刪除那些對于你來說,沒有用的附件。
    ? 2. 刪除系統(tǒng)文件備份
    開始--運行SFC.EXE /PURGECACHE (一般用戶是不怎么用的)
    ? 3. 刪除WINDOWS驅(qū)動備份文件
    WINDOWS/DRIVER CACHE/I386目錄下的DRIVER.CAB文件 (73M)
    ? 4.刪除幫助文件
    刪除WINDOWS/下的HELP文件夾幫助文件(減掉40多M) (使用中文漢化包的文件大小為92兆,剛開始使用XP的最好別刪)
    ? 5.刪除備用的DLL文件
    刪掉/WINDOWS/SYSTEM32/DLLCACHE下文件(減去200--300MB)。(這是備用的DLL文件,只要你拷貝了安裝文件,完全可以這樣做。)?
    ? 6.把我的文檔、IE的臨時文件夾、用戶變量臨時文件和系統(tǒng)臨時文件夾都轉(zhuǎn)到其他分區(qū),如D:/TEMP。
    (同時對系統(tǒng)的速度,和硬盤都有好處,如果使用的是雙系統(tǒng),最好把兩個系統(tǒng)的IE臨時文件都放在同一個文件夾,這樣既加快速度有節(jié)省空間)。1)右鍵點擊"我的文檔"--屬性--移動--移動到∶D:/TEMP。 2)右鍵點擊桌面上的"INTERNET EXPLORER"--"屬性"--在"常規(guī)"選項卡中的"INTERNET臨時文件"欄目中點擊"設(shè)置"按鈕,在彈出的"設(shè)置對話框"中,點擊"移動文件夾",選擇路徑為E:/TEMP,然后點"確定"再"確定"。 3)在系統(tǒng)屬性中點"高級"選項卡,點"環(huán)境變量"接鈕,分別選擇用戶變量下的TEMP、TEM和系統(tǒng)變量下的TEMP、TEM,點編輯,然后將變量值改為E:/TEMP,點擊確定。
    ? 7. 刪除/WINDOWS/IME下不用的輸入法
    刪除/WINDOWS/IME下不用的輸入法! (日文,韓文,繁體中文輸入法,84.5MB) (到底哪個是哪個自己研究一下吧!有時候也要自己動動腦子的,鍛煉一下吧!)
    ? 8.清除預(yù)讀文件
    當XP使用一段時間后,預(yù)讀文件夾里的文件會變的很大,里面會有死鏈文件,這會減慢系統(tǒng)時間。建議,定期刪除這些文件。(C:/WINDOWS/PREFETCH)
    ? 9.請查找USER.DMP文件并刪掉
    有程序出錯,硬盤會響很久,而且會占用很多空間。如果你以前遇到過這種情況,請查找USER.DMP文件并刪掉,可能會省掉幾十M的空間。這是出錯程序的現(xiàn)場,對我們沒用。

    ?

    posted @ 2006-04-21 15:39 Q系列類、方法、變量…… 閱讀(867) | 評論 (0)編輯 收藏

    格式為:

    gcc -fPIC -W -Wformat -Wimplicit -Wmissing-prototypes -Wparentheses -Wstrict-prototypes -Wswitch -Wunused -c qcdefine.cpp qcobject.cpp qcwindow.cpp

    gcc -G -o libqcurses.so qcdefine.o qcobject.o qcwindow.o

    以前在第二步的時候,一直用 -shared 進行動態(tài)鏈接庫的編譯,但是編譯器一直報錯,今天在網(wǎng)絡(luò)上終于找到了解決辦法!原來sco unix下面編譯共享庫居然是使用 -G 而不是 -shared,這個-shared選項在Linux下面我一直用著很不錯,但是在sco unix下面就從來沒有成功過,終于在網(wǎng)上找到了一個強人的答題:

    http://lists.trolltech.com/qt-interest/2000-09/thread00470-0.html

    里面的強人說:On SCO you need -G not -shared.

    真是厲害!!!

    posted @ 2006-04-21 15:38 Q系列類、方法、變量…… 閱讀(324) | 評論 (0)編輯 收藏
    今天無聊閑逛EZ的時候,發(fā)現(xiàn)有一個人發(fā)表了“寂靜嶺”的FLASH版本,抱著新奇的想法去看了一下,是用flash做的,還不錯,但是無聊之際用右鍵點擊了這個flash動畫,選中了里面的“高級”按鈕,自然的就在新窗口中打開了FLASH的老家主頁http://www.macromedia.com/cn/,但是隨之而來的是莫名的疑問,怎么在FLASH主頁中的LOGO位置出現(xiàn)來ADOBE???第一個反應(yīng)是被黑了,但是后來一看,幾乎每一頁都是這樣,“難道曾經(jīng)的網(wǎng)頁三劍客,曾經(jīng)與photoshop對著干的firework轟然倒塌了?以前那些網(wǎng)上人們做的評論還歷歷在目,所為:‘firework比photoshop更加適合網(wǎng)站圖片的處理等等’,而現(xiàn)在唯一能在網(wǎng)頁圖像處理方面能夠與photoshop抗衡的軟件的所屬公司竟然被photoshop的所屬公司收購,那么就意味著以后adobe將一支毒大?下一個版本的photoshop將命名為什么?HomePageImageWorkstation嗎?”,再去網(wǎng)上GOOGLE查詢一下才發(fā)現(xiàn),原來真的證實了我的想法是正確的。

    相關(guān)新聞概述:

    Adobe系統(tǒng)公司今日正式宣布收購Macromedia[2006年4月18日],收購方式是通過股票來進行置換,價值為34億美元。

    posted @ 2006-04-18 00:57 Q系列類、方法、變量…… 閱讀(999) | 評論 (3)編輯 收藏

    ?1. 你們的項目組使用源代碼管理工具了么?
    ??? 應(yīng)該用。VSS、CVS、PVCS、ClearCase、CCC/Harvest、FireFly都可以。我的選擇是VSS。

    ?2. 你們的項目組使用缺陷管理系統(tǒng)了么?
    ??? 應(yīng)該用。ClearQuest太復(fù)雜,我的推薦是BugZilla。

    ?3. 你們的測試組還在用Word寫測試用例么?
     ? 不要用Word寫測試用例(Test Case)。應(yīng)該用一個專門的系統(tǒng),可以是Test Manager,也可以是自己開發(fā)一個ASP.NET的小網(wǎng)站。主要目的是Track和Browse。

    ?4. 你們的項目組有沒有建立一個門戶網(wǎng)站?
      要有一個門戶網(wǎng)站,用來放Contact Info、Baselined Schedule、News等等。推薦Sharepoint Portal Server 2003來實現(xiàn),15分鐘就搞定。買不起SPS 2003可以用WSS (Windows Sharepoint Service)。

    ?5. 你們的項目組用了你能買到最好的工具么?
      應(yīng)該用盡量好的工具來工作。比如,應(yīng)該用VS.NET而不是Notepad來寫C#。用Notepad寫程序多半只是一種炫耀。但也要考慮到經(jīng)費,所以說是"你能買到最好的"。
    ?
    ?6. 你們的程序員工作在安靜的環(huán)境里么?
      需要安靜環(huán)境。這點極端重要,而且要保證每個人的空間大于一定面積。

    ?7. 你們的員工每個人都有一部電話么?需要每人一部電話。而且電話最好是帶留言功能的。當然,上這么一套帶留言電話系統(tǒng)開銷不小。不過至少每人一部電話要有,千萬別搞得經(jīng)常有人站起來喊:"某某某電話"。《人件》里面就強烈譴責這種做法。

    ?8. 你們每個人都知道出了問題應(yīng)該找誰么?
      應(yīng)該知道。任何一個Feature至少都應(yīng)該有一個Owner,當然,Owner可以繼續(xù)Dispatch給其他人。

    ?9. 你遇到過有人說"我以為…"么?
      要消滅"我以為"。Never assume anything。

    10. 你們的項目組中所有的人都坐在一起么?
      需要。我反對Virtual Team,也反對Dev在美國、Test在中國這種開發(fā)方式。能坐在一起就最好坐在一起,好處多得不得了。

    11. 你們的進度表是否反映最新開發(fā)進展情況?
      應(yīng)該反映。但是,應(yīng)該用Baseline的方法來管理進度表:維護一份穩(wěn)定的Schedule,再維護一份最新更改。Baseline的方法也應(yīng)該用于其它的Spec。Baseline是變更管理里面的一個重要手段。

    12. 你們的工作量是先由每個人自己估算的么?
      應(yīng)該讓每個人自己估算。要從下而上估算工作量,而不是從上往下分派。除非有其他原因,比如政治任務(wù)工期固定等。

    13. 你們的開發(fā)人員從項目一開始就加班么?
      不要這樣。不要一開始就搞疲勞戰(zhàn)。從項目一開始就加班,只能說明項目進度不合理。當然,一些對日軟件外包必須天天加班,那屬于剝削的范疇。

    14. 你們的項目計劃中Buffer Time是加在每個小任務(wù)后面的么?
      不要。Buffer Time加在每個小任務(wù)后面,很容易輕易的就被消耗掉。Buffer Time要整段的加在一個Milestone或者checkpoint前面。

    15. 值得再多花一些時間,從95%做到100%好值得,非常值得。
      尤其當項目后期人困馬乏的時候,要堅持。這會給產(chǎn)品帶來質(zhì)的區(qū)別。

    16. 登記新缺陷時,是否寫清了重現(xiàn)步驟?
      要。這屬于Dev和Test之間的溝通手段。面對面溝通需要,詳細填寫Repro Steps也需要。

    17. 寫新代碼前會把已知缺陷解決么?
    ??? 要。每個人的缺陷不能超過10個或15個,否則必須先解決老的bug才能繼續(xù)寫新代碼。

    18. 你們對缺陷的輕重緩急有事先的約定么?
      必須有定義。Severity要分1、2、3,約定好:藍屏和Data Lost算Sev 1,F(xiàn)unction Error算Sev 2,界面上的算Sev 3。但這種約定可以根據(jù)產(chǎn)品質(zhì)量現(xiàn)狀適當進行調(diào)整。

    19. 你們對意見不一的缺陷有三國會議么?
    ??? 必須要有。要有一個明確的決策過程。這類似于CCB (Change Control Board)的概念。

    20. 所有的缺陷都是由登記的人最后關(guān)閉的么?
      Bug應(yīng)該由Opener關(guān)閉。Dev不能私自關(guān)閉Bug。

    21. 你們的程序員厭惡修改老的代碼么?
      厭惡是正常的。解決方法是組織Code Review,單獨留出時間來。XP也是一個方法。

    22. 你們項目組有Team Morale Activity么?
      每個月都要搞一次,吃飯、唱歌、Outing、打球、開卡丁車等等,一定要有。不要剩這些錢。

    23. 你們項目組有自己的Logo么?
      要有自己的Logo。至少應(yīng)該有自己的Codename。

    24. 你們的員工有印有公司Logo的T-Shirt么?
      要有。能增強歸屬感。當然,T-Shirt要做的好看一些,最好用80支的棉來做。別沒穿幾次就破破爛爛的。

    25. 總經(jīng)理至少每月參加次項目組會議要的。
      要讓team member覺得高層關(guān)注這個項目。

    26. 你們是給每個Dev開一個分支么?
      反對。Branch的管理以及Merge的工作量太大,而且容易出錯。

    27. 有人長期不Check-In代碼么?
      不可以。對大部分項目來說,最多兩三天就應(yīng)該Check-In。

    28. 在Check-In代碼時都填寫注釋了么?
      要寫的,至少一兩句話,比如"解決了Bug No.225(給bug編號)"。如果往高處拔,這也算做"配置審計"的一部分。

    29. 有沒有設(shè)定每天Check-In的最后期限?
      要的,要明確Check-In Deadline。否則會Build Break。

    30. 你們能把所有源碼一下子編譯成安裝文件嗎?
      要的。這是每日編譯(Daily Build)的基礎(chǔ)。而且必須要能夠做成自動的。

    31. 你們的項目組做每日編譯么?
      當然要做。有三樣東西是軟件項目/產(chǎn)品開發(fā)必備的:1. bug management; 2. source control; 3. daily build。

    32. 你們公司有沒有積累一個項目風險列表?
      要。Risk Inventory。否則,下個項目開始的時候,又只能拍腦袋分析Risk了。

    33. 設(shè)計越簡單越好越簡單越好。
      設(shè)計時候多一句話,將來可能就帶來無窮無盡的煩惱。應(yīng)該從一開始就勇敢的砍。這叫scope management。

    34. 盡量利用現(xiàn)有的產(chǎn)品、技術(shù)、代碼千萬別什么東西都自己Coding。BizTalk和Sharepoint就是最好的例子,有這兩個作為基礎(chǔ),可以把起點提高很多。或者可以盡量多用現(xiàn)成的Control之類的。或者盡量用XML,而不是自己去Parse一個文本文件;盡量用RegExp,而不是自己從頭操作字符串,等等等等。這就是"軟件復(fù)用"的體現(xiàn)。

    35. 你們會隔一段時間就停下來夯實代碼么?
      要。最好一個月左右一次。傳言去年年初Windows組在Stevb的命令下停過一個月增強安全。Btw,"夯"這個字念"hang",第一聲。

    36. 你們的項目組每個人都寫Daily Report么?
      要寫。五分鐘就夠了,寫10句話左右,告訴自己小組的人今天我干了什么。一則為了溝通,二則鞭策自己(要是游手好閑一天,自己都會不好意思寫的)。

    37. 你們的項目經(jīng)理會發(fā)出Weekly Report么?
      要。也是為了溝通。內(nèi)容包括目前進度,可能的風險,質(zhì)量狀況,各種工作的進展等。

    38. 你們項目組是否至少每周全體開會一次?
      要。一定要開會。程序員討厭開會,但每個禮拜開會時間加起來至少應(yīng)該有4小時。包括team meeting, spec review meeting, bug triage meeting。千萬別大家悶頭寫code。

    39. 你們項目組的會議、討論都有記錄么?
      會前發(fā)meeting request和agenda,會中有人負責主持和記錄,會后有人負責發(fā)meeting minutes,這都是effective meeting的要點。而且,每個會議都要形成agreements和action items。

    40. 其他部門知道你們項目組在干什么么?
      要發(fā)一些Newsflash給整個大組織。Show your team's value。否則,當你坐在電梯里面,其他部門的人問:"你們在干嘛",你回答"ABC項目"的時候,別人全然不知,那種感覺不太好。

    41. 通過Email進行所有正式溝通
      Email的好處是免得抵賴。但也要避免矯枉過正,最好的方法是先用電話和當面說,然后Email來確認。

    42. 為項目組建立多個Mailing Group
      如果在AD+Exchange里面,就建Distribution List。比如,我會建ABC Project Core Team,ABC Project Dev Team,ABC Project All Testers,ABC Project Extended Team等等。這樣發(fā)起Email來方便,而且能讓該收到email的人都收到、不該收到不被騷擾。

    43. 每個人都知道哪里可以找到全部的文檔么?
      應(yīng)該每個人都知道。這叫做知識管理(Knowledge Management)。最方便的就是把文檔放在一個集中的File Share,更好的方法是用Sharepoint。

    44. 你做決定、做變化時,告訴大家原因了么?
      要告訴大家原因。Empower team member的手段之一是提供足夠的information,這是MSF一開篇的幾個原則之一。的確如此,tell me why是人之常情,tell me why了才能有understanding。中國人做事喜歡搞限制,限制信息,似乎能夠看到某一份文件的人就是有身份的人。大錯特錯。權(quán)威、權(quán)力,不在于是不是能access information/data,而在于是不是掌握資源。

    45. Stay agile and expect change 要這樣。
      需求一定會變的,已經(jīng)寫好的代碼一定會被要求修改的。做好心理準備,對change不要抗拒,而是expect change。

    46. 你們有沒有專職的軟件測試人員?
      要有專職測試。如果人手不夠,可以peer test,交換了測試。千萬別自己測試自己的。

    47. 你們的測試有一份總的計劃來規(guī)定做什么和怎么做么?
    ??? 這就是Test Plan。要不要做性能測試?要不要做Usability測試?什么時候開始測試性能?測試通過的標準是什么?用什么手段,自動的還是手動的?這些問題需要用Test Plan來回答。

    48. 你是先寫Test Case然后再測試的么?
      應(yīng)該如此。應(yīng)該先設(shè)計再編程、先test case再測試。當然,事情是靈活的。我有時候在做第一遍測試的同時補上test case。至于先test case再開發(fā),我不喜歡,因為不習慣,太麻煩,至于別人推薦,那試試看也無妨。

    49. 你是否會為各種輸入組合創(chuàng)建測試用例?
      不要,不要搞邊界條件組合。當心組合爆炸。有很多test case工具能夠自動生成各種邊界條件的組合--但要想清楚,你是否有時間去運行那么多test case。

    50. 你們的程序員能看到測試用例么?
      要。讓Dev看到Test Case吧。我們都是為了同一個目的走到一起來的:提高質(zhì)量。

    51. 你們是否隨便抓一些人來做易用性測試?
      要這么做。自己看自己寫的程序界面,怎么看都是順眼的。這叫做審美疲勞--臭的看久了也就不臭了,不方便的永久了也就習慣了。

    52. 你對自動測試的期望正確么?
      別期望太高。依我看,除了性能測試以外,還是暫時先忘掉"自動測試"吧,忘掉WinRunner和LoadRunner吧。對于國內(nèi)的軟件測試的現(xiàn)狀來說,只能"矯枉必須過正"了。

    53. 你們的性能測試是等所有功能都開發(fā)完才做的么?
      不能這樣。性能測試不能被歸到所謂的"系統(tǒng)測試"階段。早測早改正,早死早升天。

    54. 你注意到測試中的殺蟲劑效應(yīng)了么?
      蟲子有抗藥性,Bug也有。發(fā)現(xiàn)的新Bug越來越少是正常的。這時候,最好大家交換一下測試的area,或者用用看其他工具和手法,就又會發(fā)現(xiàn)一些新bug了。

    55. 你們項目組中有人能說出產(chǎn)品的當前整體質(zhì)量情況么?
      要有。當老板問起這個產(chǎn)品目前質(zhì)量如何,Test Lead/Manager應(yīng)該負責回答。

    56. 你們有單元測試么?
      單元測試要有的。不過沒有單元測試也不是不可以,我做過沒有單元測試的項目,也做成功了--可能是僥幸,可能是大家都是熟手的關(guān)系。還是那句話,軟件工程是非常實踐、非常工程、非常靈活的一套方法,某些方法在某些情況下會比另一些方法好,反之亦然。

    57. 你們的程序員是寫完代碼就扔過墻的么?
      大忌。寫好一塊程序以后,即便不做單元測試,也應(yīng)該自己先跑一跑。雖然有了專門的測試人員,做開發(fā)的人也不可以一點測試都不做。微軟還有Test Release Document的說法,程序太爛的話,測試有權(quán)踢回去。

    58. 你們的程序中所有的函數(shù)都有輸入檢查么?
      不要。雖然說做輸入檢查是write secure code的要點,但不要做太多的輸入檢查,有些內(nèi)部函數(shù)之間的參數(shù)傳遞就不必檢查輸入了,省點功夫。同樣的道理,未必要給所有的函數(shù)都寫注釋。寫一部分主要的就夠了。

    59. 產(chǎn)品有統(tǒng)一的錯誤處理機制和報錯界面么?
      要有。最好能有統(tǒng)一的error message,然后每個error message都帶一個error number。這樣,用戶可以自己根據(jù)error number到user manual里面去看看錯誤的具體描述和可能原因,就像SQL Server的錯誤那樣。同樣,ASP.NET也要有統(tǒng)一的Exception處理。可以參考有關(guān)的Application Block。

    60. 你們有統(tǒng)一的代碼書寫規(guī)范么?
      要有。Code Convention很多,搞一份來發(fā)給大家就可以了。當然,要是有FxCop這種工具來檢查代碼就更好了。

    61. 你們的每個人都了解項目的商業(yè)意義么?
      要。這是Vision的意思。別把項目只當成工作。有時候要想著自己是在為中國某某行業(yè)的信息化作先驅(qū)者,或者時不時的告訴team member,這個項目能夠為某某某國家部門每年節(jié)省多少多少百萬的納稅人的錢,這樣就有動力了。平凡的事情也是可以有個崇高的目標的。

    62. 產(chǎn)品各部分的界面和操作習慣一致么?
      要這樣。要讓用戶覺得整個程序好像是一個人寫出來的那樣。

    63. 有可以作為宣傳亮點的Cool Feature么?
      要。這是增強團隊凝聚力、信心的。而且,"一俊遮百丑",有亮點就可以掩蓋一些問題。這樣,對于客戶來說,會感覺產(chǎn)品從質(zhì)量角度來說還是acceptable的。或者說,cool feature或者說亮點可以作為質(zhì)量問題的一個事后彌補措施。

    64. 盡可能縮短產(chǎn)品的啟動時間要這樣。
      軟件啟動時間(Start-Up time)是客戶對性能好壞的第一印象。

    65. 不要過于注重內(nèi)在品質(zhì)而忽視了第一眼的外在印象程序員容易犯這個錯誤:太看重性能、穩(wěn)定性、存儲效率,但忽視了外在感受。而高層經(jīng)理、客戶正相反。這兩方面要兼顧,協(xié)調(diào)這些是PM的工作。

    66. 你們根據(jù)詳細產(chǎn)品功能說明書做開發(fā)么?
      要這樣。要有設(shè)計才能開發(fā),這是必須的。設(shè)計文檔,應(yīng)該說清楚這個產(chǎn)品會怎么運行,應(yīng)該采取一些講故事的方法。設(shè)計的時候千萬別鉆細節(jié),別鉆到數(shù)據(jù)庫、代碼等具體實現(xiàn)里面去,那些是后面的事情,一步步來不能著急。

    67. 開始開發(fā)和測試之前每個人都仔細審閱功能設(shè)計么?
      要做。Function Spec review是用來統(tǒng)一思想的。而且,review過以后形成了一致意見,將來再也沒有人可以說"你看,當初我就是反對這么設(shè)計的,現(xiàn)在吃苦頭了吧"

    68. 所有人都始終想著The Whole Image么?要這樣。項目里面每個人雖然都只是在制造一片葉子,但每個人都應(yīng)該知道自己在制造的那片葉子所在的樹是怎么樣子的。我反對軟件藍領(lǐng),反對過分的把軟件制造看成流水線、車間。參見第61條。

    69. Dev工作的劃分是單純縱向或橫向的么?
      不能單純的根據(jù)功能模塊分,或者單純根據(jù)表現(xiàn)層、中間層、數(shù)據(jù)庫層分。我推薦這么做:首先根據(jù)功能模塊分,然后每個"層"都有一個Owner來Review所有人的設(shè)計和代碼,保證consistency。

    70. 你們的程序員寫程序設(shè)計說明文檔么?
      要。不過我聽說微軟的程序員1999年以前也不寫。所以說,寫不寫也不是絕對的,偷懶有時候也是可以的。參見第56條。

    71. 你在招人面試時讓他寫一段程序么?
      要的。我最喜歡讓人做字符串和鏈表一類的題目。這種題目有很多循環(huán)、判斷、指針、遞歸等,既不偏向過于考算法,也不偏向過于考特定的API。

    72. 你們有沒有技術(shù)交流講座?
      要的。每一兩個禮拜搞一次內(nèi)部的Tech Talk或者Chalk Talk吧。讓組員之間分享技術(shù)心得,這筆花錢送到外面去培訓劃算。

    73. 你們的程序員都能專注于一件事情么?
      要讓程序員專注一件事。例如說,一個部門有兩個項目和10個人,一種方法是讓10個人同時參加兩個項目,每個項目上每個人都花50%時間;另一種方法是5個人去項目A,5個人去項目B,每個人都100%在某一個項目上。我一定選后面一種。這個道理很多人都懂,但很多領(lǐng)導實踐起來就把屬下當成可以任意拆分的資源了。

    74. 你們的程序員會夸大完成某項工作所需要的時間么?
      會的,這是常見的,尤其會在項目后期夸大做某個change所需要的時間,以次來抵制change。解決的方法是坐下來慢慢磨,磨掉程序員的逆反心理,一起分析,并把估算時間的顆粒度變小。

    75. 盡量不要用Virtual Heads 最好不要用Virtual Heads。
      Virtual heads意味著resource is not secure,shared resource會降低resource的工作效率,容易增加出錯的機會,會讓一心二用的人沒有太多時間去review spec、review design。一個dedicated的人,要強過兩個只能投入50%時間和精力的人。我是吃過虧的:7個part time的tester,發(fā)現(xiàn)的Bug和干的活,加起來還不如兩個full-time的。參見第73條。73條是針對程序員的,75條是針對Resource Manager的。

    ?

    posted @ 2006-04-15 12:57 Q系列類、方法、變量…… 閱讀(1871) | 評論 (3)編輯 收藏
    完全開源,里面有完整的.cpp文件,同時免費提供咨詢,這個是for sco unix5.x的,如果有需要可以來下載

    地址:
    http://m.tkk7.com/Files/qclass/qcurses-scounix.zip
    posted @ 2006-04-04 16:58 Q系列類、方法、變量…… 閱讀(697) | 評論 (0)編輯 收藏

    ---- 建立消息驅(qū)動Bean ----
    * 菜單→File→New→Project,從樹形菜單中選擇EJB→EJB Project點擊[Next]按鈕
    * Project Name填入"MsgTest",點擊[Next]→按鈕后勾選所有選項,點擊[Next]→將Create an EJB Client ...前面的√去掉,點擊[Finish]按鈕。
    * 右鍵點擊工程名→New→Other,從樹形菜單中選擇EJB→XDoclet Enterprise JavaBean,點擊[Next]按鈕
    * 選擇MessageDrivenBean,點擊[Next]按鈕
    * ClassName填入"TestMsgBean",Java package填入"com.msgtest.ejb",點擊[Next]按鈕
    * Destination JNDI Name填入"TestMessage",其余不修改,點擊[Finish]按鈕

    ---- 建立測試 -----
    * 菜單→File→New→Other,從樹形菜單中選擇Java→JUtil Test Case→點擊[Next]按鈕,如果出現(xiàn)對話框選擇"YES"
    * Package 填入"com.msgtest.test",Name填入"Msgtest",點擊[Finish]按鈕
    * 將%JBOSS_HOME%/client下面的所有jar文件都加入到工程路徑中來,因為要連接JBOSS需要這些JAR,下面的加入的步驟
    ? 1. 菜單→Project→Properties,從樹形菜單中選擇Java Build Path,點擊Libraries選項卡,選擇Add Library
    ? 2. 選擇User Library,點擊[Next]
    ? 3. 點擊User Libraries按鈕
    ? 4. 點擊New按鈕,輸入JBoss1.4RC1Client,點擊[OK]按鈕
    ? 5. 點擊Add Jars按鈕,選擇%JBOSS_HOME%/client目錄下面的所有jar文件,除了jboss-j2ee.jar
    ? 6. 點擊[ok]按鈕,點擊[Finish]按鈕,點擊[ok]按鈕

    * 將 Msgtest.java 文件編輯成下列代碼:
    里面值得注意的是 Factory 對應(yīng)的是 jms/QueueConnectionFactory,Queue對應(yīng)的是 queue/TestMsg

    如果以上兩條忘記了,第一條可以參看http://localhost:8080/jmx-console/中關(guān)于jboss.jms的部分,里面應(yīng)該有一行alias=QueueConnectionFactory,而這個"QueueConnectionFactory",就是我們需要的JNDI
    至于第二條,可以參看在部署完畢工程的時候JBoss的操作屏幕會出現(xiàn)對應(yīng)的queue/xxx就是對應(yīng)的部分

    package ?com.msgtest.test;

    import ?java.util.Hashtable;

    import ?javax.jms.ConnectionFactory;
    import ?javax.jms.JMSException;
    import ?javax.jms.Queue;
    import ?javax.jms.QueueConnection;
    import ?javax.jms.QueueConnectionFactory;
    import ?javax.jms.QueueSender;
    import ?javax.jms.QueueSession;
    import ?javax.jms.Session;
    import ?javax.jms.TextMessage;
    import ?javax.naming.Context;
    import ?javax.naming.NamingException;

    import ?junit.framework.TestCase;

    public ? class ?Msgtest? extends ?TestCase? {
    ????
    public ? void ?test()
    ????
    {
    ????????javax.naming.InitialContext?initialContext
    = null ;
    ????????
    try ? {
    ????????????Hashtable?props?
    = ? new ?Hashtable();
    ????????????props.put(
    ????????????????Context.INITIAL_CONTEXT_FACTORY,
    ????????????????
    " org.jnp.interfaces.NamingContextFactory " );
    ????????????props.put(
    ????????????????Context.URL_PKG_PREFIXES,
    ????????????????
    " org.jboss.naming:org.jnp.interfaces " );
    ????????????props.put(Context.PROVIDER_URL,?
    " jnp://localhost:1099 " );????????????
    ????????????initialContext?
    = ? new ?javax.naming.InitialContext(props);
    ????????????QueueConnectionFactory?queueConnectionFactory;
    ????????????queueConnectionFactory?
    = ?(QueueConnectionFactory)initialContext.lookup( " QueueConnectionFactory " );
    ????????????Queue?queue?
    = ?(Queue)initialContext.lookup( " queue/TestMsg " );
    ????????????
    ????????????QueueConnection?queueConnection?
    = ?queueConnectionFactory.createQueueConnection();
    ????????????QueueSession?queueSession?
    = ?queueConnection.createQueueSession( false ,Session.AUTO_ACKNOWLEDGE);
    ????????????QueueSender?queueSender?
    = ?queueSession.createSender(queue);????
    ????????????TextMessage?message?
    = ?queueSession.createTextMessage();
    ????????????
    for ?( int ?i? = ? 0 ;?i? < ? 5 ;?i ++ )? {
    ????????????????message.setText(
    " This?is?message? " ? + ?(i? + ? 1 ));
    ????????????????System.out.println(
    " Sending?message:? " ? + message.getText());
    ????????????????queueSender.send(message);
    ????????????}
    ????????????
    ????????}
    ? catch ?(NamingException?e)? {
    ????????????
    // ?TODO?Auto-generated?catch?block
    ????????????e.printStackTrace();
    ????????}
    ? catch ?(JMSException?e)? {
    ????????????
    // ?TODO?Auto-generated?catch?block
    ????????????e.printStackTrace();
    ????????}

    ????}

    }

    * 將工程目錄下面的 build/classes 目錄下面的所有文件打包成一個 MsgTest.jar 文件
    ? jar cvf MsgTest.jar *
    * 將生成的 MsgTest.jar 拷貝到 %JBOSS_HOME%/server/default/deploy/目錄下,啟動JBoss

    運行這個例子
    posted @ 2006-04-03 18:46 Q系列類、方法、變量…… 閱讀(1602) | 評論 (1)編輯 收藏
         摘要: 完全調(diào)配Eclipse+JBOSS4.0進行J2EE開發(fā) 編寫人:Q龍(邱洋)聯(lián)系QQ:1964477電子郵件:qxk2005@gmail.com ? 一、安裝所需軟件 ? ● 下載并且安裝eclipse3.1.2,推薦使用lomboz-wtp-emf-gef-je...  閱讀全文
    posted @ 2006-04-03 12:17 Q系列類、方法、變量…… 閱讀(3625) | 評論 (6)編輯 收藏
    充分利用最近充電的結(jié)果:
    EJB:會話Bean、消息驅(qū)動Bean、定時器
    感覺J2EE的這寫元素和其使用的機制真的能很好的完成現(xiàn)有企業(yè)系統(tǒng)的快速開發(fā),同時由于提供EJB的服務(wù)器,比如JBOSS自己都帶有天然的集群功能,因此可以很好的滿足那些可以通過跟客戶解釋說:“增加服務(wù)器”來增加系統(tǒng)性能的開發(fā)公司有很大的好處。

    缺點嗎?呵呵,我認為最大的缺點就是地層代碼不是我們完全掌握,對于數(shù)據(jù)傳輸過程中遇到的比如黑客攻擊等事情,無能為力(軟件層)
    posted @ 2006-04-03 12:12 Q系列類、方法、變量…… 閱讀(448) | 評論 (2)編輯 收藏
    唉,看來這年頭還是多支持支持國貨,看看blogger.com的速度再看看blogjava.net就知道什么是差距,以前認為google的就是好,現(xiàn)在才知道在某些方面原來國內(nèi)的才是真正適合你的。
    posted @ 2006-03-31 20:12 Q系列類、方法、變量…… 閱讀(158) | 評論 (0)編輯 收藏
    僅列出標題
    共6頁: 上一頁 1 2 3 4 5 6 
    主站蜘蛛池模板: 亚洲成aⅴ人在线观看| 热99re久久免费视精品频软件| 亚洲第一区在线观看| 久久久久久亚洲av无码蜜芽| 无码视频免费一区二三区 | 全免费一级毛片在线播放| 亚洲看片无码在线视频| 免费在线观看的网站| 亚洲熟妇丰满xxxxx| 日韩中文字幕免费| 色视频在线观看免费| 亚洲高清无码在线观看| 99久久成人国产精品免费| 亚洲国产一二三精品无码| 免费无码又爽又刺激高潮视频 | 亚洲色中文字幕无码AV| a级毛片毛片免费观看永久| 久久久久无码精品亚洲日韩 | 中文字幕在线免费| 日本亚洲免费无线码| 日韩毛片免费在线观看| 一级毛片免费毛片毛片| 亚洲色偷拍另类无码专区| 免费无码专区毛片高潮喷水| 1000部拍拍拍18免费网站| 亚洲国产精品综合久久久| 国产精品久久永久免费| 亚洲免费黄色网址| 最新仑乱免费视频| 全部一级一级毛片免费看| 亚洲色图综合在线| 国产中文字幕在线免费观看| 国产亚洲欧洲精品| a级毛片在线视频免费观看| 国产免费久久精品| 老牛精品亚洲成av人片| 亚洲精品成人久久久| 三级黄色片免费看| 亚洲日韩乱码中文无码蜜桃| 成人免费一区二区无码视频| 日亚毛片免费乱码不卡一区|