絕影的預感沒錯,bossliu的進步大大出乎了他的預料,正是所謂士別三日當刮目相看,以前在公司技術雖然不比他高多少,但起碼也是旗鼓相當,後來又在看雪論壇上發了一篇精華文章,自以爲內力得到極大地提升,沒想到bossliu也絕非等閒之輩,eb剛開始才幾天,絕影就感覺到來自bossliu的壓力。
最初讓bossliu做消息服務器,絕影大大方方地撥給他一週時間,想一週時間要是能做得穩定,拿出來能直接用,尤不失下曹從事。bossliu滿口答應,估計得還是保守了一點,沒想到第二天便對絕影說:“消息服務器已經做好了,winsock,以前在公司就專做這塊,能不能給我個大點的case,免得一身武功荒廢了。”
bossliu說得輕鬆,絕影分明感覺到這裏面有點挑釁的味道。再看看他做的消息服務器,功能上也基本符合設計要求,在gps公司鍛鍊了一年,bossliu的mfc也用得爐火純青,單是那casyncsocket的使用便讓絕影喫了一驚。對於winsock編程,絕影一直以來都是沿用羅雲彬那本彙編書上的方法,用多了,便覺得刀槍根棍棒都耍得有模有樣,至於mfc裏的socket類也不再去研究。
後來事實證明絕影的這一先入爲主的思想真是害死人。羅雲彬第一版書上的winsock編程部分存在一個致命的bug――根本沒有解決粘包問題,雖然在第二版上修正了這個bug,但還是讓絕影花了好大的力氣才讓思想轉過這個彎。
明白了這個問題,回過頭來再想想以前做的socket相關程序,難怪小規模迴環測試一下還不錯,一放到服務器上耐力測試便運行得莫名其妙,所以有些人老說:“怎麼運行不對呢?明明沒有錯誤啊。”或者說:“我是世界上技術最牛的人了,還有比我牛的人嗎?沒看到啊。”其實你找不到錯誤並不代表錯誤不存在,同樣,你看不到技術比你牛的人並不代表世界上就沒有技術比你牛的人。
驗收了bossliu的產品,絕影半開玩笑地說:“boss啊,早知道你肯定有研究成果,咋的你就是不願意拿出來分享呢?”
bossliu擺擺手:“boss大人,你不是一直專注於彙編嗎?這點東西對你來說算‘研究成果’?別的小弟我就不說了,要是這憑這玩藝也敢在你面前班門弄斧,那還不被你笑死!被你笑死的事情我不做!”
張廠長又去了幾趟城隍廟,對他來說收穫還是頗豐,絕影一直覺得他有點中飽私囊的嫌疑,一一查看了購物清單,奈何都在公司允許範圍之內,就是出門動不動就打車,次數多了,周總的意見也就大了起來。開會的時候,周總嚴肅地說:“關於出差打車,我的意見是除非項目緊急,能坐公車就坐公車,又環保又省錢,這一直是國外推崇的啊。”
絕影在下面撇撇嘴,暗自嘀咕道:“你以爲咱都是出租車司機啊?跑大老遠出差還得先調研公交車分佈路線。”
等到指紋儀寄到公司,張廠長算是圓滿完成任務。那指紋儀放在桌上,和絕影原先想像的不一樣,主要是體積太大,居然足足有自己的音響那麼大。
張廠長左右擺弄着那臺機器,像是自言自語道:“體積是大了點,不過根據技術手冊,性能應該比較穩定,先讓我來試試。”
試驗結果出來,搞得張廠長好像丟了很大面子。那機器性格也太古怪,還非得人來將就它,首先你得把手洗趕緊,就算稍稍多了點汗,影響識別效果不說,搞壞了機器責任還得自負;然後你得端端正正把指頭肉最多的地方不偏不倚地按到指定位置,必要時,你還得先目測一下那掃描器中心位置在哪裏;第三,你得聽到嘟一聲後才放手,放早了不行這容易理解,居然放晚了也識別不通過。
絕影失望地搖搖頭,張廠長連忙說:“也有很精確的,不過價格太離譜了,用那個,是不切實際的。”
幾個人決定先從ui模塊開始,由絕影負責,指紋儀和攝像頭模塊可以同步進行,分別由張廠長和bossliu負責。
ui的表現形式又是個大難題,用傳統的dialogbase和singledocument肯定不行,版面實在太有限了,要是用multipledocuments,各個頁面的佈局還得分別設計,頁面之間的數據交換又是個大問題,說不定還得設計專門的數據交換模塊。
絕影一籌莫展,轉身看看bossliu,這一看不要緊,嚇得他差點報警。
本來bossliu桌子四周的圍欄比較高,他人整個鑽進去也頂多冒點腦袋頂上的頭髮出來,絕影望了半天,望不到bossliu的腦袋,卻只見上面煙霧繚繞。上次說哪個大商場裏發生火災,當場燒死百十來人,本來他打死也不相信,想一個大活人,兩隻腳好好的,還能讓火給鱉死?現在看到這場面,難道傳說中的火災已經發生在可憐的bossliu座位上。正驚慌失措,卻見bossliu突然站了起來,高呼一聲:“有構思了!”然後慢滿掐滅所剩無幾的菸屁股,把它往菸缸裏使勁憋進去。
再看看他的菸缸,已經被他嚴重超載得不成樣子,本來覈定載菸屁股30根,bossliu卻硬生生至少憋了至少130根進去,再加上這一年來,bossliu的煙癮也隨着他的技術不斷進步,看三包煙盒空蕩蕩地擺在桌子上,絕影終於鬆了口氣道:“嚇死人了!”
這一說,bossliu也發覺了自己的失態,忙說:“激動了激動了,對不起,對不起。”
“不是說這個,說你抽的煙。老子以爲失火了。”
bossliu打趣道:“boss啥時候變得這麼敏感?要是一年前公司失火,如果只有一個人被燒死,那肯定是boss你,因爲你肯定還坐在那裏寫程序。要鎮定,你看那泰坦尼克號,就算馬上就要沉了,人家拉提琴的還是一樣拉着提琴,這是什麼精神?這就是敬業精神!”
絕影白了他一眼,努力讓自己鎮定下來,問:“什麼啊?啥事那麼高興。”
“攝像頭這模塊,我有構思了,就用vfw,網上好多現成代碼,boss你以後不要再這樣照顧我了,大case,我要大case。”
“大case,有!ui界面設計方案有沒有?”
“最討厭做界面。”
“有點深度好不好?什麼對話框單文檔多文檔的都不要來,來就要來個高級的。就高級的,你有沒有什麼好點子。”
“高級的就是有,就怕技術不成熟?”
“有就儘管說,人有多大膽,地有多大產。”
“那個norton總知道吧,新版本出來,我就是一直覺得他那界面很特別,你看,不就是個網頁麼?如果能把界面像網頁那樣做,不但容易美化,還容易批量生產,你想想,要在dialog上調整某個static的字體,還是得寫點代碼吧?網頁就不一樣了,直接在html上加個font就搞定。”
絕影去bossliu機器上看了看他的norton,還真做得像個網頁,什麼按鈕都沒有,放上去鼠標就變成手的形狀,就是個超鏈接,再點開,便“卡”地一聲跳到另外一個頁面。如果是這樣的界面,真的能實現多個頁面間的方便切換。做軟件,做終還得考慮用戶的使用,你要是從登記頁面轉到分診頁面還得用菜單點上好幾下,人家的意見就大得很,周總一直以來的設計思想就是“一鍵式”,就點一下,想去哪個頁面去哪個頁面。像csdn論壇一樣,導航欄擺左邊,要去哪頁你點一下就ok。
擺弄了半天,絕影自言自語道:“做這玩藝,好像是得費點功夫。”
“我就想boss應該沒興趣去做,還得等我以後自己去研究了。”
“放屁!就用這個方案!去查查,這是啥玩藝類。網上研究界面的人多得很,肯定有現成的。”
“不勞boss大架了,之前我稍微研究了一下,貌似這是個cdhtmldialog類,vc2003裏面已經實現了,不過vc6沒有這個類。”
回到自己的位置,絕影認真看了看新版本的msdn,真有這個類,不過是基於對話框的,這肯定也不符合要求,因爲至少得在左邊要一個導航欄,用document/view結構就很簡單,大不了就是換個view類。按照微軟的設計思想,有ctrl就應該有view,有cdhtmldialog就應該有cdhtmlview,去網上查一查,乖乖,關鍵字cdhtmlview在google上居然只有四個檢索結果。
絕影突然猶豫了,他開始懷疑自己,在這之前,他從來沒有猶豫過。任何東西,只要周總陳董交給他,雖然對破解的case他會說:“不保證能做出來。”但是他心裏從來沒想過什麼東西我可能做不出來。在他看來,只要有人能做出來,就一定有辦法,所以每次有新的case,新的技術難題,他從來不會退縮,他總說:別人能做到,爲什麼我不能做到?
可是這個挑戰太大了,dtmlview應該是剛出來不久,還沒有很成熟的技術,公司在這方面更沒有什麼技術積累,而擺在眼前是個實實在在的case,3個月以後就得把東西交給人家,這樣做,萬一做到一半做不動了,整個case就等於失敗,而且這種失敗和dap不同,對公司來說,這是直接的經濟損失,信譽損失,對自己來說,“小絕啊,從來沒讓我們失望過”這個神話將被打破,對bossliu來說,難得的一次兩個自認爲高手的人在一起合作的機會以失敗告終,這上非常慘痛的失敗。
不知什麼時候,bossliu悄悄站在了絕影旁邊,他沒有打擾他,像是在等待他什麼。絕影像bossliu一樣突然站起來,說:“就用這個方案。”
bossliu說:“好,我儘快把攝像頭模塊搞完,一起來搞這個。”
“嗯,我先認真調研一下,先寫一個頁面的demo出來,以後其它頁面就可以照這個批量生產了。”
幾年以後,當bossliu回憶起當初的情景,仍然心有餘悸地對絕影說:“boss啊,其實當時你決定用dhtmlview是相當冒險的啊,我都捏了一把冷汗。”
絕影笑笑:“我是全身冷汗。”
如果這個世界上所有的技術都是專門一本書或者成冊集中在一起,肯定還能造就一大批高手,問題是往往事與願爲,就比如這cdhtmlview,google上的技術資料雖然少得可憐,好多功能腦子裏能想像但又找不到具體實現的代碼,好在html這東西當初設計得還不錯,什麼javascript啊vbscript啊都能支持,這又給程序員極大的想像空間。這功能c++代碼實現不了,想辦法用javascript嵌入到html裏面去,再想辦法從c++裏面調用javascript,雖然步驟是多了一點,而且據說javascript效率不高,但是用戶不知道,管他黑貓白貓,抓住老鼠就是好貓。
張廠長的指紋識別模塊和bossliu的攝像頭模塊都如期close掉,絕影也把第一個簡單頁面做了出來,看看case進度表,正好趕上,這讓他懸着的心稍微放了一點下來。趕緊又讓張廠長開始做html頁面設計,bossliu繼續投入到ui其它頁面的開發。
bossliu對這樣的安排已經習以爲常,卻難壞了張廠長,他早已習慣在close掉一個case後自己給自己放一段小假。
燕兒知道絕影忙,但是能說他什麼呢?就算說了也解決不了問題,還得碰一鼻子灰,她唯一能說的就是:“喫飯能不能慢點,你嚼一嚼不行嗎?難道還非得趕那幾分鐘時間。”
其實喫飯真是件好事啊。不但能填飽肚子,還能趁這點時間想點問題,平時都對着電腦,思維難免陷入死角,走到飯桌子上來,思維便又稍微舒展開一點,這時候想問題往往有意想不到的收穫。
絕影一邊往嘴裏扒飯一邊對燕兒點頭,本來他還想:“嗯,嗯。”兩聲,奈何嘴裏全是飯,開不了口,只覺得這飯菜送到嘴裏,瞬間便進了胃,食道大大超負荷工作,不斷抗議。你抗議?抗議有個p用,你抗議我就鎮壓你,加大劑量繼續把飯菜往裏送,那破賽揚366還能讓我超到800多呢。說豬八介喫人蔘果一口吞掉,連味道都嘗不出來,以前絕影不相信,那老豬的食道也寬得太離譜了。聽燕兒說到自己,這纔來仔細想想飯菜到底是什麼味呢?還真沒嚐出來,可惜這一桌子有魚有肉,就這樣白白給浪費掉。
喫完飯回到公司,周總差異地問:“小絕,小劉,你們還不去喫飯?”
“已經喫過了。”
“哦,都喫過了,我還以爲你們只是去上廁所呢。”
二人哼哈兩聲,便又扒在了電腦上。()