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ù)):
- 編寫qcurses程序只需要編寫“.qcs”腳本文件即可進行qcurses程序編寫,腳本內(nèi)容類似于html文檔,而qcurses自帶的解釋器類似于IE瀏覽器,這樣編程人員就可以從繁雜的代碼編寫中解放出來專心進行業(yè)務(wù)層的代碼編寫了。
- 新版本的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)就可以在這里做到
- 待續(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) |
編輯 收藏