這一次,絕影發(fā)了火,他厲聲說道:“什么技術(shù)到家不到家,老子最討厭那些會個‘select’就說自己精通數(shù)據(jù)庫,能背幾條指令就說擅長匯編的人。什么應(yīng)該做什么不應(yīng)該做什么,跟你說,以前老子和BOSS Liu還幫別人修過電腦呢!出去給老子改BUG去!”
先看絕影心情還好,Bug Yang好不容易鼓起勇氣說出了他的心聲,哪料到絕影現(xiàn)在突然發(fā)這么大火,他徉徉地說:“不是說不罵人的嗎?”邊說邊退出了辦公室。
現(xiàn)在的年輕人啊,就是這么自以為是。BUG?BUG在哪里?我沒看到BUG就是沒有BUG。牛人?牛人在哪里啊?我沒看到牛人我就是世界上最牛的人。技術(shù)?這技術(shù)有什么用?我沒看到這技術(shù)的用途它就是沒用。抱著這種思想,于是一天只想著我要做什么,根本就不考慮我應(yīng)該做什么。久而久之,膽子越來越大,大話越來越牛,技術(shù)反而越來越粗糙。
泉州的醫(yī)院還是經(jīng)常來電話,還是指名點姓要絕影接,現(xiàn)在是慢慢開始抱怨啟動速度越來越慢,但他們畢竟還很客氣,絕影是什么人?在他們看來,就影就是這個體檢車數(shù)字化項目的總工程師。對總工程師,能不客氣么?所以,出了問題就要先從自己身上找原因,一段時間過去,能找的原因都找完了,可速度還是越來越慢。到時候,終于忍不住試探著說:“絕工啊,那速度的問題,你看看能不能想辦法幫我我們解決啊,這數(shù)據(jù)量一大,實在太慢了,再這樣下去,基本上就沒法用了啊!
絕影表面上打著哈哈道:“嗯,我下來再調(diào)研一下,爭取近期給你們拿出個方案!
這樣說其實是有所保留的,其實絕影知道自己根本算不上什么工程師,就算有這個技術(shù)也沒這個資歷,什么工程師啊,教授啊,做起事情來當(dāng)然可以稍微怠慢一下,畢竟人家肚里有東西,干起事情來有效率,一天解決別人一周的問題。就算實在什么也沒有就靠忽悠起家的,至少人家后面有個大后臺!
絕影什么也沒有,所以必須自己做好。
其實EB中存在的問題他早就能考慮到,那個HTML中的Table全部是用JavaScript生成,等到數(shù)據(jù)量成千上萬的時候,單是生成這個列表就是件很浪費時間的事情。
可事情比原來想像的還要糟。以前的設(shè)計還是存在一定問題,EB啟動的時候會先將數(shù)據(jù)庫中所有數(shù)據(jù)讀到內(nèi)存以便匹配指紋,數(shù)據(jù)量小還行,這數(shù)據(jù)量一大,就靠那無線網(wǎng)絡(luò)的傳輸,只怕都要等個三五分鐘,再加上超大的內(nèi)存占用,程序運行起來,肯定慢得像烏龜。
問題擺在面前,就得趕緊解決,別人那體檢車,每天體檢兩次,光DR圖片大小就得突破一個G,要是因為軟件問題停工個一天兩天,這損失他承擔(dān)不起。
于是趕緊開會,雖說火基本上已經(jīng)燒到了眉毛,他還是平靜地說:“怎么樣。啃P,BUG改得怎么樣了?”
“改完了,這次是真的沒BUG了,我檢查了好多次了,這次保證肯定絕對可以用了。”
“放屁,你那是‘暫時沒有發(fā)現(xiàn)BUG’,我跟你說了好多次了,你沒發(fā)現(xiàn)BUG不代表BUG不存在!”
“是是是,暫時沒發(fā)現(xiàn)。影頭,可以做其它的了!
“好,你不是說要做大CASE嗎?EB的代碼你也看了,算大了吧。咱們現(xiàn)在就來做這個。先來修改一下EB的問題,主要有兩個:一、啟動速度太慢,我想到的解決辦法是啟動時采用多線程方式,在后臺讀取數(shù)據(jù),不再讀取數(shù)據(jù)庫中所有的數(shù)據(jù),僅讀取體檢號和指紋,匹配指紋的時候再通過體檢號去數(shù)據(jù)庫查詢其它信息。因為他們體檢的時候很少用到指紋儀,雖然記錄多,但只有一個體檢號,占用的內(nèi)存也不大。二、各個頁面的顯示速度太慢,特別是體檢人列表這一頁,主要是因為頁面的顯示用的是JavaScript,效率不高,而且是把所有記錄都顯示到同一頁。當(dāng)時我們設(shè)計那頁的時候還不知道除了JavaScript之外還能用什么辦法,但隨著CASE的進行,到后期我們已經(jīng)掌握了IHTMLDocument2和IHTMLElement接口,用這兩個接口來操作性能應(yīng)該要高得多。另外還要分頁顯示,比如一頁就查30條記錄,要再看其它的,就點下一頁。就像google,隨便輸入個熱門關(guān)鍵字檢索結(jié)果動輒幾十萬上百萬條,要是全部都顯示到一頁,光是生成個頁面都得等死人。這個我后來也調(diào)研了,用‘select’的‘top’子句!
絕影在上面把自己的想法一股腦講給下面,基本上把問題產(chǎn)生的原因和解決方法都描述得清清楚楚,就是沒差寫出具體代碼了。Bug Yang他們在下面表面上聽得認(rèn)認(rèn)真真,實際上他一直在熱血沸騰興奮不已,根本就沒在乎他講的什么。等到他話音還沒落,Bug Yang立即踴躍而上,說道:“影頭,說那些都沒用,直接告訴我讓我做什么就行了!”
“老實點!再跳,又讓你回去改BUG。”
這么說,Bug Yang又努力讓自己安靜下來。
“啟動部分我來做,你和小唐去解決第二個問題,小唐做查詢和分頁顯示,你把所有JavaScript的調(diào)用改成IHTMLDocument2和IHTMLElement的,關(guān)于那兩個接口的用法,在EB的代碼里面就有例子,解決起來應(yīng)該不難,有什么問題就來問我,別誤了工作。”
說完,絕影揮揮手示意散會,Bug Yang終于如愿以償接到大“CASE”,像揀了個寶似的。在這最后時刻,還不忘表現(xiàn)自己,回頭道:“報告影頭,保證按時完成任務(wù)!
回想一下,從五一回來,其實還沒認(rèn)真休息一下,燕兒也早已經(jīng)習(xí)慣了絕影這樣一個接一個的CASE。她就是不明白,天底下CASE為什么總是這樣多,而做CASE的人為什么總這么少,那CASE讓絕影去做,再怎么做都做不完。
絕影也沒怎么去哄他,反正他早就知道自己一寫程序就投入得不得了,現(xiàn)在給燕兒講這么多也沒用,哪怕是跟她說:“明天就做完了,我一定和你去去看電影!彼(dāng)時聽了是高興,但就算明天真的做完了,周總突然說:“小絕啊,又來了一個大CASE!蹦呐滤⒉灰⒖倘タ戳⒖倘プ,但他肯定會立刻撲上去的,這就像饑餓的狗撲在火腿腸一樣。這樣,反而讓她更傷心。
與其這樣,還是破罐子破摔了吧。
下文:瘋狂的程序員 第五十一回
本文鏈接:http://www.95time.cn/column/member/2008/6186.asp
出處:瘋狂的程序員
責(zé)任編輯:bluehearts
上一頁 瘋狂的程序員 第五十回 [1] 下一頁
◎進入論壇休閑灌水版塊參加討論
|