2004趨勢百萬程式設計競賽初賽
[2004趨勢程設競賽]為期七天的趨勢百萬程式設計競賽如期開跑。這次跟小路,宜德,小紅,還有月亮組一隊。彗星命名法配合id命名法,隊名P/2004 K1 (Joyful Star)。16號中午大家相約在蘇文鈺實驗室集合看題目,這次的題目是Central Computer Activity Monitor System,主要是用client-server的架構來達到網路即時監控的功能。工作分配月亮負責server全部,小紅負責Network packets,小路負責Mail sending/receiving,宜德負責File modification/creation,而我則是CPU usage和Process execution;後來發現File需要用到kernel programming,所以宜德的部份就交由小紅處理,而接手client GUI的設計。由於題目跟第一屆的題目十分神似,因此將可輕易套用前兩三天研究考古題所學到的JNI來實現系統的監控。於是乎,第一天就先把簡單的CPU usage和Process execution完成了。也因此第二天開始擬定document,同時研究了一下弄出了簡單版的Makefile。同時月亮的server也已經具備初步雛形,client也配合加入網路功能,開始進行之後的溝通測試。小紅也超猛的,兩天之內就把Network packets弄到stable,因此第三天也順利把Network整合進client。第四天的進展似乎不大,小路的Mail部分歷經了好幾次的發現bug和debug成stable過程,而宜德GUI則大底完成。第五天進展也蠻有限的,整合了client和GUI成為clientCore。另外晚上跟阿仁去找張燕光聊天,這才發現原來他已經在網路上找到別人寫好的類似的系統,於是很高興的回PC教室報好信息,而月亮也馬上在網路上找到另外一份小紅覺得很有價值的資料,真是太棒了!第六天,月亮繼續研究JFreeChart,加入diagram圖形顯示,其他部分的測試也慢慢趨於stable。最後一天,小路Mail大底完成,雖然整合當中還是會當機,不過後來也順利讓server讀到mail的動態了。月亮的圖表也一個一個的加入,成為漂亮的server。小紅也開始把configure及File和client做整合。比較可惜的是小紅的部分整合一直到最後一刻還是有怪問題出現。最後的一個小時,真的是太刺激了,除了小紅的整合之外,還有document部分,有太多之前不確定的部分必須在這時候硬擠出來,直到deadline的前一兩分鐘還在改build的文件,最後終究順利上傳,真是辛苦小路宜德和月亮了,大家都辛苦了!

雖然說最後上傳的結果不是很理想,不過過程當中可是每個人都收穫不少。月亮說他更徹底了解Java Swing的架構流程,小紅則是把kernel programming練的如火純青,小路應該也是第一次做kernel方面的programming吧,被當機弄到快瘋掉了,宜德除了programming的長進外也留下了他在台南最後的回憶。至於我自己,除了更深入體會Java所謂"不用重新發明輪子"(不過在這之前還必須先知道有哪些輪子可以用)的意義之外,也看了不少document及版權宣告的格式,另外還更了解Makefile的運作,真的學了不少。緊張刺激的最後一個小時過了之後,宜德請大家到歐納吃午餐,檢討和分享彼此心得,不愧是隊長。吃完午餐回寢室馬上倒,昏迷到晚上八點自然醒,九點PC教室整理過後,結束了有趣的一個禮拜,回到正常生活。



