BuzzShare Inside備份 – 本站已搬遷至http://clay0529.blogspot.com

Entries from 一月 2009

回顧鼠年 ─ 讀書還是比較好

一月 27, 2009 · 2 則留言


圖片來源:Vista 2.0

2009牛年到了!

以往的農曆春節期間,我們家總要到處奔波,四處拜訪不熟的親戚們,除了看看大家過得好不好之外,順便向長輩講講吉祥話拜年。跑了二十多年制式的流程,今年總算可以寫意地在家中好好地休息。於是我想趁著連續假期,好好地回顧過去一年有了多少成長。

遙想鼠年的前四分之三處於還「國債」的狀態,在軍營裡的生活就像複製貼上一樣固定,很少有動腦的機會。這些回憶我不喜歡拿出來咀嚼,免得惹身邊的朋友嫌棄(當過兵的人一定多少有同感…)。也就是說,去年有意義的日子,其實是從9月16日退伍這一天開始起算的。

退伍後找了一陣子工作,所幸當時雷曼兄弟還沒有倒店,景氣熱呼呼的,順利地找面試上幾家公司。經過深思熟慮後,決定從0開始學寫程式,從打嘴砲專長的MBA變身為苦幹實幹的Java軟體工程師

轉換跑道總是有陣痛期。記得上班第一週的作業是要使用Spring Framework做出一個會員管理網頁(使用Spring web mvc+Hibernate+DB2+#$&%^…) ─ 儘管當時我連Java的Path都設錯。結果可想而知,怎一個慘字了得~

工程師界的外星語言沒有打倒我,努力了一陣子也是會理解的。從10月6日開始,接觸Java共計三個月餘,趁著歲末將所學到的各種技術工具做個回顧整理:

  • Programming languages
    • Java, PHP
  • Web development
    • Front-end: HTML, CSS, JavaScript
    • Back-end: PHP, J2EE
    • Database: MySQL, DB2
    • Server : Tomcat, Websphere Application Server
  • Mobile development
    • Android
  • System administration
    • SUSE, Ubuntu linux
  • Frameworks
    • OR-Mapping: Hibernate
    • Glue: Spring Framework
    • AJAX: GWT, jQuery, DWR
  • Development Tools
    • IDE: Eclipse, Aptana, Rational Application Developer for WebSphere Software(RAD)
    • Build: Ant, Maven
    • Continuous Integration: Continuum, Hudson
    • Version Control: CVS, SVN, Clear Case/Clear Quest

雖說上面許多技術只略懂皮毛,列成一長串主要是希望看起來厲害些。工作至今的這段時間雖然辛苦(嚴格說起來,再苦也沒有當兵苦!),但每天都可以學習新的技術,做起事來非常有成就感。

在網路創業方面,現在能更深刻地體會瞭解相關技術對評估點子的重要性。期許自己未來在學習新技術的同時,也不忘觀察網路世界的動向,累積ideas,希望有一天兩者能擦出愛的火花,弄點有搞頭的東西出來!

分類: Java

Lucene搜尋引擎入門 ─ 安裝Web Application

一月 24, 2009 · 張貼留言

Lucene是一個成熟的免費開放原始碼工具程式庫,由Apache基金會提供。相較於自己寫搜尋引擎,Lucene提供了一個好用的API,讓網路應用程式開發者做全文索引(index)和搜尋。它能處理諸如 word、html、pdf、excel等文件格式的全文搜尋,但如果要搜尋其他格式的文件,則需要特定的Extractor支援才行。

Lucene裡面準備了Command-line與Web Application兩種不同的Demo方式,讓開發者實際感受一下它的功能。在這裡我們使用Lucene 2.4.0版,實際建立一個網頁版的Demo搜尋引擎。

環境設定

準備Java Web Application開發環境:

1. JDK: 1.4.x 以上版本(Required)

2. 網路伺服器軟體(Server): Tomcat (本範例使用Tomcat 6.0.18)

取得Lucene

請至Apache網站免費下載Lucene 2.4.0,這裡以Windows作業系統為例,所以我們選擇下載lucene-2.4.0.zip這個檔案。

安裝Lucene

1. 解壓縮Lucene2.4.0.zip

2. 複製luceneweb.war檔案到Tomcat資料夾的webapps資料夾內,例如D:\Java\Server\apache-tomcat-6.0.18\webapps,啟動Tomcat後會自動產生名為luceneweb的資料夾。

建立Index

1. 將lucene-core-2.0.0.jarlucene-demos-2.0.0.jar加入到環境變數CLASSPATH裡。

2. 在luceneweb建立搜尋的根目錄,往後要搜尋的檔案都放在這個資料夾內。為了方便起見,範例直接複製D:lucene\docs資料夾到D:\Java\Server\apache-tomcat-6.0.18\webapps\luceneweb\docs。

3. 在D:\lucene下建立存放index目錄的資料夾D:\lucene\index。

4. 修改D:\Java\Server\apache-tomcat-6.0.18\webapps\luceneweb\configuration.jsp,將預設的index路徑由

String indexLocation = "/opt/lucene/index";

改為

String indexLocation = "D:\\lucene\\index";

5. 打開Command line視窗(開始->執行->cmd),輸入指令:

java org.apache.lucene.demo.IndexHTML -create -index “D:\lucene\index” “D:\Java\Server\apache-tomcat-6.0.18\webapps\luceneweb”

若是出現找不到org.apache.lucene.demo.IndexHTML類別,表示CLASSPATH設定不正確,此時可直接指定jar檔的CLASSPATH位置:

java -classpath D:\lucene\lucene-demos-2.4.0.jar;D:\lucene\lucene-core-2.4.0.jar org.apache.lucene.demo.IndexHTML -create -index “D:\lucene\index” “D:\Java\Server\apache-tomcat-6.0.18\webapps\luceneweb”

成功後執行後會看到如下圖的畫面:

成果驗收

到這裡我們已經成功安裝了簡單的Lucene Web Application,啟動Tomcat,連線至http://localhost:8080/luceneweb/ 看看成果吧!

1. 首頁只有一個搜尋框,輸入”demo”字串搜尋:

2. 因為Lucene已經做了索引資料(index),所以可以快速地傳回搜尋結果:

其他搜尋解決方案:

Reference:

分類: Java · 程式設計

重新包裝專業知識,讓網站幫你找客人 ─ Sungevity

一月 14, 2009 · 張貼留言

Sungevity是個在2008年Web 2.0 Summit中大放異彩的網站,它的創舉在於把「購買太陽能板」這件專業且複雜的事情搬到網路上,大大降低客戶購買太陽能板的門檻。Sungevity宣稱,客戶只要在這個網站填入住家地址(目前只限美國地區),然後他們會利用Google的衛星圖技術,分析你家屋頂的受光狀況,再根據客戶的用電需求,從各式各樣的太陽能板中幫你挑選出最適合的產品。

聽起來很神奇,但Sungevity厲害的不是網頁技術(其實沒有複雜的技術),而是在於他們把複雜的太陽能板安裝知識「標準化」後,再簡化到只要靠一個輸入字串(地址)就可以取得足夠的客戶背景資訊,提供相對「夠多」的專業建議給潛在客戶。想想,太陽能板的安裝必須考慮到各地的地理位置、氣候、日照天數、頂樓面積、電力需求等因素,才能從眾多廠牌型號中選出適合的板子進行安裝,這是多麼複雜的一件事情,而Sungevity竟然只需要一個地址!

藉由這個網站,Sungevity的業務工程師可以把時間花在最有價值的工作上,不需要大街小巷滿街跑,大大降低了開發客戶的成本;對潛在客戶來說,打電話找廠商詢問是很高的心理障礙,因為很可能遇到過度熱心或糾纏不休的業務,在Sungevity的網站,很簡單就可以取得專業建議。相較於打電話,上網輸入地址顯然是相對簡單的選擇。

進一步延伸Sungevity的概念,這種「將專業知識部分標準化,降低客戶心理障礙」的idea很適合用在產品大眾化並以業務員作為銷售主力的行業,例如:金融、保險或汽車業等。

而這種模式要成功,重點在於能否讓客戶不知不覺中提供最關鍵的資訊。現在的網友已經沒有耐心填寫洋洋灑灑長長一串的表格。以Sungevity來說,他們將太陽能板安裝業的專業知識濃縮到只要一個「地址」當作Key Word,藉由「地址」延伸出氣候、日照天數、頂樓面積等資訊,便足夠作出專業判斷。

把產業知識濃縮成一個Key Word是很難的,但如果一時之間想不到的話,或許可以繞點遠路達到一樣的效果。以保險業務員為例,也許可以設計幾個有趣的是非/選擇題,取得客戶的風險偏好、職業等關鍵資訊,再根據這些資訊回覆一張分析圖,告訴客戶依據他的條件,怎樣的資產配置是健康的,例如有多少百分比放定存、多少買保險、多少投資基金等等,讓客戶作自我評估。如果他赫然發現在漂亮理專妹妹的推薦下,自己原來買了太多的基金,卻從未想過應該買張保險…這時候,你可能就因此爭取到了一個客戶! 如果客戶沒有需求也無妨,可以使用e-mail或在網站上分享訊息的方式保持聯絡,讓客戶覺得你是專業可信賴的,一旦需要保險的時候第一個就想到你!

類似金融、保險、汽車等,都是專業知識含量高,且消費者即使有需求也很難克服心理障礙尋求業務員服務的產品。對多數人來說,隔著網路心理障礙絕對會降低很多,如果能將Sungevity的概念稍加變化,提供一些簡單的工具吸引消費者上門使用,不僅業務員可以將時間花在最有價值的工作上,對消費者的干擾也會減至最低,並與競爭對手作出明顯區隔。是很值得一試的做法。

Reference:

分類: Entrepreneurship · 新創網站