網頁

搜尋此網誌

2013年6月25日 星期二

Beginning Eclipse

Eclipse 是一個強大的整合式開發環境 (Integrated Development Environment, IDE) ,除了可以開發 Java 應用程式之外,也支援其他程式語言的開發,如 C, C++, Python, PHP 等。

這篇文章將說明如何將 Eclipse 安裝在 Ubuntu 上,或者你也可以參閱官方的安裝指南

Step 1. 安裝Java Virtual Machine (JVM)
  • 可以參考 Ubuntu 的社群文件:https://help.ubuntu.com/community/Java
  • JVM 有很多實踐方式,建議安裝 Oracle Java ,可以參考安裝教學
    • 前往http://www.oracle.com/technetwork/java/javase/downloads/index.html
    • 依照作業系統是32或64位元選擇 JRE 下載,以64位元為例,選擇下載 Linux x64 的檔案為 jre-7u21-linux-x64.tar.gz
    • 在 /usr 下建立 java 目錄,指令:sudo mkdir /usr/java
    • 將 jre-7u21-linux-x64.tar.gz 解壓縮至 /usr/java 下,
      指令:sudo tar xzvf jre-7u21-linux-x64.tar.gz -C /usr/java/ --no-same-owner
    • 利用 update-alternatives 安裝 java 命令,指令:
      sudo update-alternatives --install "/usr/bin/java" "java" "/usr/java/jre1.7.0_21/bin/java" 1
    • 在 Terminal 中輸入:java -version,將顯示版本資訊,用以測試 java 是否安裝成功。
Step 2. 安裝 Eclipse
  • 前往http://www.eclipse.org/downloads/
  • Eclipse 有不同套裝軟體(差異請參考比較表),建議下載 Eclipse Classic ,請依據作業系統是32或64位元選擇。
  • 下載後,解壓縮至 /opt 目錄下,以64位元的最新版 Eclipse 為例,指令:
    sudo tar xzvf eclipse-SDK-4.2.2-linux-gtk-x86_64.tar.gz -C /opt --no-same-owner
  • 變更權限,指令:sudo chgrp -R sudo /opt/eclipse/
  • 執行 /opt/eclipse/eclipse 這個執行檔將啟動 Eclipse Classic ,第一次啟動會要求設定工作區 (workspace)
Step 3. 安裝 Marketplace Client
  • Eclipse Classic 預設是沒有安裝 Marketplace Client ,有了 Marketplace Client 可以讓我們安裝延伸套件更加方便,有點類似 App Store !
  • 啟動 Eclipse ,在工具列的 Help 選擇「Install New Software...」,在 Work With 選擇 Juno 項目,下方表格中選擇 General Purpose Tools 的 Marketplace Client 。
  • 按下 Next ,之後確認 License 繼續安裝。安裝完成後會要求重新啟動 Eclipse 。
Step 4. 安裝 Eclipse Color Themes
  • Eclipse Color Themes 是一個佈景配色管理的套件,能夠讓Eclipse的編輯環境有不同的高亮 (highlight) 顯示方式。
  • 啟動 Eclipse ,在工具列的 Help 選擇「Eclipse Marketplace...」,搜尋 Eclipse Color Themes 安裝,完成後重新啟動 Eclipse。
  • 另外必須安裝 Web content engine library for GTK+才能正常工作,
    指令:sudo apt-get install libwebkitgtk-1.0-0
  • 上述步驟都完成後,可以在 Eclipse 的 Preferences 裡面的 Appearance 看到 Color Theme 的設定項目。
到此,你已經擁有一個完整又強大的程式開發環境囉!

補充:
2013/07已經發布 Eclipse 4.3 (代號 Kepler ),看來把 Eclipse Classic 稱為 Eclipse Standard ,這次發行增加許多功能,請見http://eclipse.org/kepler/

###

2013年6月12日 星期三

Big Data 大數據

Big Data稱為巨量資料大數據,這大概是雲端運算之後最為流行的科技議題,然而沒多少人知道什麼是巨量資料。現在,這本「大數據」清楚解釋什麼是巨量資料,以及巨量資料對人類造成的革命性改變(如同雲端運算對商業模式的影響),這本書的內容在技術方面著墨不深,主要是說明巨量資料的觀念與影響,非常適合任何對於巨量資料有興趣的人閱讀,可說是巨量資料的入門書(科普書)。

麥爾荀伯格、庫基耶著,林俊宏譯,大數據,台北:天下遠見,2013。
譯自: Big data: a revolution that will transform how we live, work, and think

「大數據」整本書是一個金字塔架構,全書共10章,從現在談到未來,如果你真的沒有時間,只看第一章也能對巨量資料有基本的認識,這本書建議各位依序閱讀完全,感覺就像上了兩位大數據專家的一堂課。

巨量資料目前還沒有明確定義,不妨參考 Gartner 公司的研究副總裁蘭尼 (Doug Laney) 提出的「三個V」性質(參閱第一章參考資料),即資料量 (volume) 、速度 (velocity) 、種類 (variety) ,這樣對於「巨量」會比較有感覺。這本書沒有確切說明何謂巨量資料,主要是強調巨量資料帶來的改變,主要改變有三點:
  1. 能夠取得、分析的資料量大為增加
  2. 不會堅持一切都要做到精確
  3. 放下長久以來對於因果關係的堅持
之所以有這些改變在於現在是從「小量資料」轉變到「巨量資料」的時刻,由於科技的進步,分析處理巨量資料已經不再困難,然而過去小量資料 (small data) 的時代發產出來概念已不適用於未來。

第一個改變來自於資料取得不是隨機抽樣的方式。過去,因為處理資料能力有限,不得不對真實世界以隨機抽樣取得小量資料,現在,已有能力處理巨量資料,資料的取得盡可能是真實世界的全部且完整的資訊,或者說:全部都是樣本。

第二個改變基於第一個。由於資料是全部的測量點(取樣點),因而產生三個結果:發生錯誤的可能性相對提高、取得不同來源與類型的資料、各資料格式也會不盡一致,這些都是雜亂 (messy) 。雜亂是巨量資料的特性,資料的「精確」已經不是重點,關注的反而是「可能性」這個目標,由於有了全部的資料,我們在乎的是整體輪廓的價值。對於巨量資料而言,資料的數量比品質更為重要。

第三個改變是最重要的變革。基於我們已經擁有完整的資料,分析某個現象的因果關係其實已經不太重要,不太需要知道「為何如此」,我們只需要了解現象之間彼此的相關性 (correlation) ,觀念必須改為知道「正是如此」就夠了,這個概念讓我們得到更多新的「因果關係」,將足以改變我們看待一切的方式。

上述這三個改變將影響我們的生活與工作,並建立全新的思考方式,若想更進一步瞭解巨量資料,這本「大數據」絕對值得好好閱讀。

###

2013年6月4日 星期二

Selenium Browser Automation 瀏覽器自動化

Selenium (硒) 」是一套瀏覽器自動化 (browser automation) 的套件軟體,包含一系列工具程式 (suite of tools) ,最主要的目的是用來自動化測試 (testing) 網頁應用程式 (web application) ,或者利用自動化的功能建立網頁操作的管理工作。簡單來說,利用Selenium去幫我們操作瀏覽器,免除人為操作而達成自動化。

Selenium目前的版本是第2版,稱為「Selenium 2」,Selenium 的工具程式主要有4個部分,其中以 IDE 和 WebDriver 最為重要,各程式介紹如下:
  • Selenium IDE
    這是一個 Firefox 的附加元件,提供測試工作的錄製、編輯、執行與除錯等功能。
  • Selenium WebDriver
    這是一個用來操作瀏覽器的 API,對 Selenium 而言就像是瀏覽器的「驅動程式」,不同瀏覽器必須安裝不同的 WebDriver ,呼叫這個 API 的方式是安裝不同程式語言的程式庫,程式庫將直接對瀏覽器進行操作(直接呼叫瀏覽器的 API )。這是在第2版才加入的工具程式, Selenium WebDriver 又稱為「Selenium 2」。
  • Selenium Remote Control
    簡稱 Selenium RC ,也稱為「Selenium 1」,目前不建議 (deprecated) 使用。 Selenium RC 採用 Server-Client 架構的方式進行瀏覽器自動化,主要是利用瀏覽器內的 JavaScript 來達到自動化的操作。
  • Selenium Grid
    這是可以同時間執行多個 Selenium 的技術,由一個 Hub 和多個 Node 組成一個 Grid ,使用者透過 WebDriver 將測試工作送至 Hub ,而 Hub 將依據瀏覽器不同分派至特定 Node 執行,利用這種方式可以縮短總執行時間。
執行 Selenium 瀏覽器自動化必須在有桌面環境的系統下執行,例如 Windows 或 Ubuntu Desktop 的作業系統,因為 Selenium 會去真的啟動瀏覽器程序並控制它的動作,若要在 Ubuntu Server 上執行就會發生錯誤(沒有安裝瀏覽器)。

一般會建議使用 Windows 系統進行自動化測試,因為在 Windows 上可以執行 Internet Explorer (IE)、Chrome、Firefox、Safari 都不會有問題,適合進行 Web Application 的相容性(跨瀏覽器)測試,因為 IE 只能在 Windows 上執行!不然就是使用 Selenium RC Server ,遠端操作不同作業系統的瀏覽器。

###

熱門文章