在網路上有一些網路購物比價類型的網站,提供消費者可以快速比對各網路賣場的產品,以節省搜尋、比較的時間。程式設計師蕭博文依照自己的使用需求,建立比價網站「比價小資女Myyasui」(發音為「雅速以」,取自日語便宜的發音)同時,他也針對線上音樂、股票財經資訊推出相關的實用網站,像是「無料音樂Music.G」、「便宜的台股」等,並開發Android平臺的版本。雖然網站還不出名,但是他願意花時間積極嘗試自己的想法,並付諸實行。

蕭博文建立這些網站,除了與個人本身的需求有關,可能也與工作經歷有些關連。

他最早是在網際威信(HiTrust)擔任工程師時,主要負責介接銀行的網路付款閘道(Payment gateway)系統開發及維護,之後在臺灣酷樂時代(Ezpeer)負責後端接收唱片公司的轉檔工作,以及Windows Mobile手機的應用程式開發,在雅虎奇摩擔任資深工程師時,擅長C++、Java、PHP與Python程式語言的他,負責後端拍賣系統及電子商務平臺的程式開發。

也許是這樣的背景,讓他在工作上產生一些想法,並從前年開始,陸續撰寫這些拍賣、音樂、金融相關等等的資訊整合網站。

相信很多人也會在工作時,產生一些不錯的構想,蕭博文在2010年就已經利用工作之餘開始建立Myyasui網站,去年,一家美國的網路賣場想找他去幫忙後端程式的開發,卻因為簽證問題延宕了行程,讓他開始重新思考自己未來的方向。最終,他決定把握住這樣的機會,利用時間比較多的這段日子,讓自己的構想全部實現,順便把這段日子當作充電,再看看未來是要繼續工作,或是成立個人工作室。

以自身需求為出發點,積極打造心中所構想的網站

Myyasui這個網站是蕭博文與他學生時期的好友Mark(InDeepNight的IT部落格站長)所共同維護,蕭博文主要負責網站技術開發,而Mark則是負責內容與維護網站的工作。

當初會想架設這些網站,一方面是蕭博文自己的需求,另一方面也利用這樣的機會練習寫程式。像設立Myyasui這個網站,就是因為他覺得現有的比價網站,在使用介面上對他來說,並不夠方便,像是同個頁面只能顯示10到20樣商品,並且無法依網路賣場來分類。畢竟每個人都有自己習慣的搜尋與檢索方式。

於是,他所設計的介面上有很大的改變,讓比價結果在同個網頁便能夠瀏覽所有商品,並能按照不同賣場分類。雖然,這樣網頁的開啟速度會比較慢,但更能便於一般人尋找並比較。

有趣的是,他在Myyasui網站的頁面上也加入正妹牆、型男牆與童裝牆的連結,方便使用者去搜尋網路賣場服飾相關的產品。這樣的應用是透過提供圖片網址,再呼叫Face.com的開放API來分辨是男人、女人或小孩,以打造不同搜尋型態的應用。

而在「無料音樂Music.G」這個網站中,蕭博文整合了YouTube與維基百科,讓自己能夠方便地去播放音樂並找到歌手資料。為了讓音樂搜尋時夠精準,他大量使用YouTube提供的API,讓搜尋時可以更符合自己的需求。舉例來說,先透過YouTube的Tag資訊來分類,找到指定音樂類型的影片;同時,為了過濾掉一些不符需求的影片,他加入時間的限制條件,以一般歌曲長度3分鐘到6分鐘為限,同時加入關鍵字的過濾;最後,並透過Python內建的函式difflib.SequenceMatcher濾掉類似的標題,讓影片搜尋結果能夠更貼近於自己的需求。

在介面設計上,歌曲欄目的排列方式,也能夠與一般媒體播放器的播放清單相像,如此利用YouTube的資源,便可化身為免費的雲端音樂平臺。

至於「便宜的台股」這個網站,則是可以方便地搜尋到財經訊息與政府所公開的經濟資訊。許多政府、金融相關的統計資料雖然已經開放,但一般使用者要搜尋其實相當不易,像是美國耐久財訂單、臺灣景氣對策信號等各項經濟指標,或是融資融券餘額、營收連增率連續3個月成長等臺股數據,一般人從各類機關網站中,要找到這些資訊可能要花上不少功夫。而蕭博文透過擷取網路上的資料,再用正規表示法去解析它,並放進資料庫,最後再利用Google Blogger的API建立文章,讓這些資訊能夠在同個網站中呈現。

善用開放API與網路資源,並藉由實做提升程式設計能力

蕭博文表示,這些網站技術並不難,網路上也有很多相關的資訊可以參考,不過,他認為最簡單有效的辦法,還是要多看官方所提供的文件。同時,他也將製作網站當作學寫程式的過程,像是他之前曾利用新學的Python去撰寫程式。畢竟,要學程式語言最快的方式,就是直接實做。

其實,網路上有許多開放API與公開資訊能夠利用,可以依照自己的需求打造符合自身使用習慣的實用網站,蕭博文也很鼓勵大家可以善用這樣的網站。

在開放API的議題上,蕭博文觀察到,Google在開放API方面算是相當全面,目前臺灣的政府網站上也已經有越來越多的開放資料可以利用,免費提供網站或App開發人員來運用,像是氣象、交通、防災等即時或統計資料的應用。但要注意的是,如果所運用的資料是來自使用者介面、程式內容常常改版變動的網站,可能需要時時關注與維護,以便擷取到最新的資訊。

當然,開發人員還是要注意這些資料運用的合理性,避免可能衍生出的法律問題。像是比價網站這類網頁資訊整合應用,合法性上還是有些模糊地帶。

透過實做、思考,不斷精進技術

回過頭來看,蕭博文會走上寫程式這條路,主要是受到他二技同學林俊孝的影響。林俊孝在念書時就已經開始寫遊戲接案子,當時,蕭博文剛對寫程式感到興趣,林俊孝便告訴他,要學寫程式最快的方式就是寫遊戲,從此,蕭博文開始走上這條路。

在幾年的工作經歷中,令他印象深刻的是在Ezpeer負責DRM數位版權管理的工作。由於當時國內瞭解這方面的人很少,他們只能查詢國外的文件,並不斷去嘗試,在解決了電腦端的問題後,轉換到Windows Phone平臺又是新的問題,當時原廠文件上也沒有任何解決辦法,只能經過不斷嘗試才能找到答案,雖然過程相當辛苦,但是在完成之後總是可以獲得一些成就感。

蕭博文對於撰寫程式方面,也獲得了許多寶貴的意見。過去,他總是習慣專心於「寫」程式這件事,後來在雅虎資訊工作時,他的主管劉明倫則給他不同的啟發。劉明倫告訴他,寫程式要是不斷地思考,並精進自己的程式碼,寫完、能跑、只能是60分的水準。寫程式不僅僅是邏輯思考,更要能養成懷疑的精神、追根究底的態度,才能讓自己的程式碼有所精進。

舉例來說,像是思考JavaBean為什麼要get與put的問題,如果只是為了拿出變數和放入變數,為何不能直接存取變數呢?這部份是否能靠程式語言本身就可以解決?像是在Objective c中,可以用@property、@synthesize來做到。

此外,要勇敢地懷疑權威,程式不是別人怎麼寫、怎麼說,自己就照著寫,有太多東西可能因為變成慣例而忽略,如果自己能認真思考,可能會有更好的解法。


IT人物-程式設計師 蕭博文

● 出生年:1979年出生
● 學經歷:臺北工專化學工程系、高雄第一科大資訊管理系,曾任職於網際威信、臺灣酷樂時代與雅虎資訊擔任資深工程師,目前致力於網站開發與手機平臺上的App開發
● 作品:
Myyasui:www.myyasui.com
無料音樂Music.G:music.gunblues.com
便宜的台股:stock.gunblues.com

熱門新聞

Advertisement