今年參加了台大舉辦的 2014 HackNTU

感謝Bert、仲言、海如願意跟我一起組隊

這是我人生第一次參加 Hackathon,一場為時30小時的競賽,我們要在裡面激盪出作品來。

在比賽開始前我們就決定題目了,我們發現現在大學教授的網站大都…很醜,像是上一個世代的 Web 介面,我們希望能夠為教授們產生一個 Reader friendly 的介面,而且對教授來說要很簡單使用,可以讓以往幫教授 maintain 網站的可憐研究生省下不少麻煩。 另一個重要的功能是能夠搜尋各大學的教授資料,讓想要找教授的學生們可以有一個統一的平台能夠找的到,我們想這樣會很方便。

所以我們要做的就是改造教授們的網站這一件事,我覺得我們的目標很明確,沒有把問題設定的太大。

開發中遇到了不少問題,在這裡簡單檢討列一下

使用的開發方式不夠快

我使用 BackboneJS + requireJS 來開發,在這樣緊湊的時間要生出作品來,使用這樣幾乎沒幫你做什麼事的 framework 讓開發的速度不夠快。 在時間不夠的情形下應該還是要使用一些可以快速開發的語言,以後 Javascript 可以改用 Coffeescript , CSS 改用 SASS , HTML 試著用 Jade , framework 方面可以改用 AngularJS 。

不過這次可喜的是用了 Yeoman ,這真是好用的工具,會自動產生需要的 Grunt file 跟 compile 工具,每次要建立新的 Model 或是 View 只要簡單的在 terminal 輸入yo backbone:model ModelName,就會自動幫我產生以define(){return Backbone.Model.extend({})}包好的 module ,實在方便。(而且明明有 livereload 我竟然忘了打開)

之前沒有先串接配搭好

在開發過程發生許多前端跟後端 Cross domain CRUD 的搭配問題,其實這在比賽開始前就應該要先配搭好,整個偕同開發環境也先有配合過會比較好,免得到現場手忙腳亂。 後來在 POST 遇到了一時無解的問題,感謝 Bert 緊急改用 Parse 來解決資料庫的處理,雖然 Parse 不太熟悉的情況下,要拿它來開發還是費了一番功夫,但總算還是解決了問題。

時間好長,我的體力有點不濟

平常還是要多運動,比賽到後來我的腦筋都轉不太起來,大家問的問題我都要想一陣子,有點囧。 其實比賽之間如果能夠有高品質的睡眠睡上一個小時也好,我想對後段的比賽還是有幫助的,但現場睡覺的時候一直聽到 3D printer 跟大家討論程式的聲音以及有人在打英雄聯盟讓我失眠了,以後可以自備耳塞。

結果

因為要回去帶小組(小組員嗷嗷待哺中T^T),所以在 Demo 過後我就先走了,但我一直默默期待我們會得獎啊哈哈哈,等到七點多都沒有消息我還以為沒了,結果 Bert 8點多跟我說我們得了均一教育獎,真開心我都轉圈圈了,均一教育平台我之前有關心過,對於他們做的事情覺得實在很有意義也深感佩服,剛報到 HackNTU 的時候還報名了他們工作坊,可惜後來沒空去聽。

感謝 Bert 辛苦的統籌系統,將後端管理得很好,讓 Mobile 跟前端完全不用擔心。 感謝仲言的 parser ,讓我們有很多資料可以用,還有後來幫忙調 UI 等等細節。 也感謝海如辛苦的做了 Mobile 版,讓我們的系統有多方面的呈現。

這次的 hackday 是個很好的經驗,也的確只花了不到兩天的時間就有了系統的 prototype 可以上線,讓我覺得很興奮,參加比賽後更有一把火要來摸摸更多的技術寫更多的 code ,哈哈,實在是有趣啊。