2009年8月21日 星期五

比賽的開始與結束









終於走完 2009 趨勢雲端程式比賽,感觸良多,原先我只是想要在僅剩的學生生涯裡,透過比賽摸索自己的實作能力。一開始規劃參加Android跟趨勢比賽,但基於時間關係僅參加趨勢比賽,沒想到很幸運地通過趨勢的初賽(那時可還是口試前2個禮拜),並在複賽中經歷著 48 小時的努力,十分感謝隊友的付出,一起完成了這個足跡。


回顧起來,雖然對 Hadoop 不懂,但熱心的趨勢科技,主動開了幾堂課,因此稍稍地了解,只是面對著新穎的開發環境,常常讓自己困惑,像是演算法在此架構對不對、記憶體管控會不會爆掉等等的遲疑,多少影響開發信心與效率,這點又再一次驗證「思而不學則殆」的古語!凡事由基石建起,真的要花點時間了解 Hadoop 環境跟架構。


初賽期一開始花三天熟悉並使用 Java 語言和 Hadoop 環境,沒想到第四天又走使用 C/C++ streaming 的方式,最後花了一天做 Web 介面的流程掌控和報告。程式部分,主要提出一種資料儲存的設計,提出一次 Map & Reduce 做 Counting ,再一次 Map & Reduce 做 Sorting,以此完成 Term Counting & Sorting 服務,並保有一點點資料索引的特性。這就是初賽過程,除了報告上的應用呈述外,可能有實作 Web 介面而沾到點分數。儘管我們幾乎是在初賽那幾天才初探 Hadoop ,但基於老師在日常生活中教導的資料處理方式,讓我們很快地適應 Map & Reduce 架構,這應該算是另類的優勢吧。


複賽,還滿刺激的,很多題目甚至專有名詞我都搞不懂,只好先處理基本題目,再套上初賽的 Web 介面、流程,除此之外,初賽的程式完全沒用到了,比較慶幸的,賽前三天有稍微討論一下可能出題的方向,恰好想過如何處理差集的實作,再一次被幸運的女神眷顧啦。分工上比初賽更好,主要先解決幾題基本題跟網頁介面,其他重要議題的構想、實作、演算法驗證,則依序由隊友大力扛下啊,真是太讚了,以至於最後 8 小時工作效率大增,彼此的整合也更加順利。


連續 48 小時比賽,真的滿累的,比賽期間超過 24 小時沒睡。經過一天沉澱才越來越能接受手中的獎牌,而團體的努力是有加乘的效應的, 1 + 1 > 2 啊。比較深刻的回憶是比賽期間有段撞牆期,看不懂題目,只是不斷地實作出想要的工具或介面,幸運的是在倒數 8 小時內,像似打通任督二脈般地,一不會兒就用之前開發的工具整合出雛型。只是距離別隊還是有段小差距,大概就像別人的成果是 Product 而我們實作的就只能稱作 Project 吧!


anyway, 很高興有這份機會參加活動,希望自己能保有這份活力地面對未來的工作啦!


相關連結:



沒有留言:

張貼留言