摘要: 要點:絕對不應(yīng)該在構(gòu)造函數(shù)和析構(gòu)函數(shù)中調(diào)用虛函數(shù)。
閱讀全文
摘要: 有兩個相同的棧,一個里面放著自大到小排列的數(shù),棧頂?shù)臄?shù)最小,另一個棧是空的.
不允許利用其它的數(shù)據(jù)結(jié)構(gòu),只能利用這兩個棧,要求把第一個棧里的數(shù)字反過來,從
小到大排列,結(jié)果還放在原來的那個棧里面。
閱讀全文
摘要: 單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。例如,你可能把一個很大的值放入一個有序list 中去,然后確認(rèn)該值出現(xiàn)在list 的尾部。或者,你可能會從字符串中刪除匹配某種模式的字符,然后確認(rèn)字符串確實不再包含這些字符了。
單元測試是由程序員自己來完成,最終受益的也是程序員自己。可以這么說,程序員有責(zé)任編寫功能代碼,同時也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的一致。
要進(jìn)行充分的單元測試,應(yīng)專門編寫測試代碼,并與產(chǎn)品代碼隔離。個人認(rèn)為,比較簡單的辦法是為產(chǎn)品工程建立對應(yīng)的測試工程,為每個類建立對應(yīng)的測試類,為每個函數(shù)(很簡單的除外)建立測試函數(shù)。
閱讀全文
摘要: 測試用例就是測試數(shù)據(jù)及與之相關(guān)的功能的一個特定集合,它是為驗證被測試程序(為測試程序路徑或驗證是否符合特定功能等方面的需求)而設(shè)計的。在單元測試過程中,測試用例的設(shè)計應(yīng)與復(fù)審工作相結(jié)合,根據(jù)設(shè)計的測試用例選取不同的測試數(shù)據(jù),將增加發(fā)現(xiàn)各類錯誤的可能性;另外,根據(jù)項目的具體情況確定測試用例項。如:測試用例編號、用例輸入、用例預(yù)期輸出、被測單元的版本號、實際輸出等。單元測試用例的設(shè)計既可以使用白盒測試也可以使用黑盒測試,但以白盒測試為主,黑盒測試側(cè)重于功能,白盒測試側(cè)重于邏輯。
白盒測試進(jìn)入的前提條件是測試人員已經(jīng)對被測試對象有了一定的了解,基本上明確了被測試軟件的邏輯結(jié)構(gòu)。具體過程就是針對程序邏輯結(jié)構(gòu)設(shè)計和加載測試用例,驅(qū)動程序執(zhí)行,檢查在不同點程序的狀態(tài),以確定實際的狀態(tài)是否與預(yù)期的狀態(tài)一致。
一般來說,為了度量測試的完整性,測試工作中通常要求達(dá)到一定的覆蓋率要求。因為通過覆蓋率的統(tǒng)計可以知道測試是否充分,對軟件的哪個部分所做的測試不夠,指導(dǎo)我們?nèi)绾卧O(shè)計增加覆蓋率的測試用例。這樣就能夠提高測試質(zhì)量,盡量避免設(shè)計無效的用例。
在白盒測
閱讀全文
摘要: 最常見的通配符是?和*。其中,?可以代表一個字符(不能沒有),*可以代表任意多個字符(可以為空)。
首先是?,根據(jù)?的功能,?表示任意字符,也就是說在匹配過程中,?永遠(yuǎn)匹配成功。本質(zhì)上,?并沒有修改算法,而僅僅修改了匹配規(guī)則——遇到?則一定匹配。
然而*與此不同,*的作用是匹配任意多個字符,顯然我們不能簡單的修改匹配過程而滿足要求。如果我們重新思考*的作用,我們會發(fā)現(xiàn)*的另一個作用就是分割P串,即如果P=P1*P2,那么與其說*代表匹配任意多個字符,不如說P的匹配條件是在匹配P1子串后再匹配P2子串。
因此,可以寫出帶通配符的字符串匹配算法
閱讀全文
摘要: 數(shù)據(jù)庫范式是數(shù)據(jù)庫設(shè)計中必不可少的知識,沒有對范式的理解,就無法設(shè)計出高效率、優(yōu)雅的數(shù)據(jù)庫。甚至設(shè)計出錯誤的數(shù)據(jù)庫。而想要理解并掌握范式卻并不是那 么容易。教科書中一般以關(guān)系代數(shù)的方法來解釋數(shù)據(jù)庫范式。這樣做雖然能夠十分準(zhǔn)確的表達(dá)數(shù)據(jù)庫范式,但比較抽象,不太直觀,不便于理解,更難以記憶。
閱讀全文
摘要:
關(guān)系數(shù)據(jù)庫設(shè)計之時是要遵守一定的規(guī)則的。尤其是數(shù)據(jù)庫設(shè)計范式 現(xiàn)簡單介紹1NF(第一范式),2NF(第二范式),3NF(第三范式)和BCNF,另有第四范式和第五范式留到以后再介紹。 在你設(shè)計數(shù)據(jù)庫之時,若能符合這幾個范式,你就是數(shù)據(jù)庫設(shè)計的高手。j
閱讀全文
摘要: 摘要:一,一個大容量的頁面文件容器;二、一個高效的HTTP下載器;三、一個完善的URL提取器;四、一個便利的結(jié)構(gòu)化數(shù)據(jù)提取器
閱讀全文
摘要: 轉(zhuǎn)自javaeye。一個高性能的Web爬蟲,必須有一個合適的網(wǎng)頁容器。該容量最大的特點是要能夠通過URL直接存取網(wǎng)頁內(nèi)容,并且要求有很高的性能,在一個千萬級別的容器中存取一萬次的時間應(yīng)在1分鐘左右(普通PC上)。采用拆衷的辦法,在文件系統(tǒng)的基礎(chǔ)上建立一組大文件和一組輔助文件,輔助文件實現(xiàn)通過URL定位該URL代表的網(wǎng)頁在大文件中的位置,從頁實現(xiàn)不隨文件數(shù)量增長而性能變化的快速存取。以下將描述一個簡潔的實現(xiàn)。
閱讀全文
摘要: 在網(wǎng)上搜集并整理了一些常用中文分詞包,后面慢慢補(bǔ)全: 庖丁解牛分詞包;LingPipe,開源自然語言處理的Java開源工具包;JE分詞包;LibMMSeg;IKAnalyzer;PHPCWS
閱讀全文
摘要: 從網(wǎng)上總結(jié)的比較好的生成隨機(jī)序列的算法:)
閱讀全文
摘要: 在做VC項目時,用到的關(guān)于動態(tài)鏈接庫的一些知識。
鏈接動態(tài)鏈接庫的一些方法
閱讀全文
摘要: 這是甲骨文公司總裁Larry Ellison (Oracle CEO) 在耶魯大學(xué)Yale University 給2000級畢業(yè)生the graduating class of 2000所作的演講全文,由于他句句驚人,很冷,最后被耶魯大學(xué)保安請下講臺。該演講號稱歷史最牛之演講,但是否classic則不得而知,美國出版的一本大學(xué)經(jīng)典演講集未將其收入其中。
歷史上最牛的演講———甲骨文總裁拉里埃里森在耶魯大學(xué)的演講
耶魯?shù)漠厴I(yè)生們,我很抱歉---如果你們不喜歡這樣的開場白。我想請你們?yōu)槲易鲆患?事。請你---好好看一看周圍,看一看站在你左邊的同學(xué),看一看站在你右邊的同學(xué)。 請你設(shè)想這樣的情況:從現(xiàn)在起5年之后,10年之后,或30年之后,今天站在你左邊的 這個人會是一個失敗者;右邊的這個人,同樣,也是個失敗者。而你,站在中間的家伙, 你以為會怎樣? 一樣是失敗者。失敗的經(jīng)歷。失敗的優(yōu)等生。
閱讀全文
摘要: Bill Joy MIT BBS上說微軟電話面試的一道題就是“Who do you think is the best coder, and why?”。我覺得挺有意思的,也來湊個熱鬧。排名不分先后。
傳奇編程高手:
Bill Joy
John Carmack
David Cutler
Donald E. Knuth
Ken Thompson
Rob Pike
Dennis M. Ritchie
Edsger Wybe Dijkstra
Anders Hejlsberg
閱讀全文