跳到主要內容

發表文章

目前顯示的是有「程式設計」標籤的文章

Hadoop with Netbeans 函式包裹至單一專案JAR檔

    在Hadoop雲端環境執行程式時, 主要是將程式先包裹為一個JAR檔後,由Master 將其做為Task送出到各個node進行處理, 然而當系統較為複雜時,程式內引用的處理程序往往更為繁雜, 以生物資訊的案例來說, 一個專案中可能會需要用到如:連結遠端特定服務的library ( Ex:BLAST) , XML 的Library (Ex: JDOM) , 網路連結套件 (Ex: httpclient), WSDL, SAAJ …. 等許許多多的外部函式庫。   這狀況若以Web Service 來說並不會造成問題, 因為Netbeans 會自動Deploy 成一個 war檔進行部署。   但在一般的專案中, Netbeans只會將專案本身包為 JAR檔,其餘外部的函式( 如引入在 /lib/下的外部jar檔) 在build後並不會包入JAR中,而僅是存放在dist/中的lib/目錄下。   這在平常或許沒什麼太大問題, 只要設定classpath或放到公用java classpath (ext/lib)中即可。   但在雲端環境中,由於JAR是做為Task傳送到不同的node server執行, 除非是每個node都預先存放好 library,否則在執行時便會因為僅將專案JAR檔送出, 造成 node server找不到外部library 而引發ClassNotFoundException導致task falue 。   解決上述問題的方式,有以下幾種方法: 將library放入各node Server的共用函式資料夾 將外部涵式解開JAR後,將package複製到自己的專案內,再令其重新build包裹在一起 直接將JAR檔包進JAR中   然而在雲端環境中,若要逐一對node server預先設定外部library, 不只耗時費工 (node server可能高達百臺),更有可能因為外部server而無法進行設定。   以上作法最便利的便是第三種方式:將外部的JAR包入專案的JAR中 此方法類似 Eclipse中的 “Fat Jar” plugin ,可以將外部的JAR直接包裝進JAR中, 而 ...

從程式設計看資訊教育環境

    關於程式設計的課程, 教學時往往有種失落感, 失落之處不單是對同學面對程式感到挫折的同理心, 還有的,是對資訊教育環境不夠健全的無奈。   在這資訊環境趨於複雜的當下, 程式設計真的不是個簡單的領域, 但學校流於形式化的程式設計教學模式, 學生學到的,往往都是難以接軌業界的東西。   物件導向程式設計 學會環境介面 -> 變數 -> 語法 ->  類別方法 -> 事件 ->  物件 (IO, GUI...) ->封裝繼承多形  ......   視窗程式設計 學會環境介面 -> 變數 -> 語法 ->  Layout -> 元件 (IO, GUI, Network) -> 事件 ->  副程式/ 方法...   網頁程式設計 介面 -> HTML -> 動態程式語言 -> 變數 -> 語法 -> 頁面元件  -> 伺服器元件 -> 副程式/ 方法 -> SQL語法 -> 資料庫連結   這樣制式化的教學看起來豐富充實, 但若以就業為考量,這真的足夠嗎? (有些課程連這些內容都沒辦法完成)   以當下業界環境的程式設計趨勢為例, 假設一個開發專案: UI用AJAX呈現,透過ZK / Java實作設計並且以CSS、JQuery, widget美化版面,溝通方式以REST或SOAP方式運作,透過XML, JSON做資料交換、介面溝通,並以EJB實作應用程式開發,實現SOA的軟體架構,達到SaaS的運作精神。.   這樣的內容,以受當下資訊教育訓練的學生,該怎麼面對? 老師們,您瞭解這些內容嗎?   而這些還不包含LBS (Location-based Service)應用、行動裝置程式設計 (Android, iOS應用開發), 雲端程式設計,(map / reduce 架構, Hadoop, Google App Engine....)等等 ...

現在的學生..

  現在的學生真的很可愛, 這是這學期網頁程式設計的一題,請同學用Session傳值方式,自由設計一個測驗問卷。   結果出現這樣一題 :       BP : 哈哈哈!

佛心來著的 Google Data API – for JAVA

HEMiDEMi 的標籤: Google , Google Data API , Java , 程式設計   這幾年來Google 提供了越來越多的產品與服務, 而且幾乎都是免費使用!   例如在服務端, 使用Google Apps ,可以整合整個企業入口與內部系統, 包含了內部人員系統、網域管理系統、E-Mail系統(GMail)、資料管理系統(Google docs)與網站內容管理系統(Google sites)等等多元化的服務。 詳見:『 Google Apps開放個人應用服務囉 』   此外在開發環境,還有容易使用的Google App Engine, 可以讓使用者無需架站,就能擁有一個網路伺服空間 (還是雲端的環境呢) 詳見:『 雲端的開始:Netbeans 無痛 Google App Engine Java 服務開發 』     不過,那在底層的程式端呢? 在這麼大量的服務選擇下,若能讓使用者透過自行開發軟體來連結使用, 不就省去許多的開發時間跟心力?   這樣的需求,Google也都有想到了, Google Data API就是這樣佛心下的產物, 透過Google Data API,造福了許許多多的程式設計師, 在幾乎不用自己開發的狀態下,就可以得到Google提供的服務功能。   只要透過Google 提供的Data API 涵式庫,就能直接連結已經註冊的服務內容, 目前,Google Data API 支援的語言依不同的服務有些微不同, 但普遍有: Java, .NET, PHP, Python, JS, Obj-c, Ruby等, 而目前已開放API連結的服務如下: (Info from : Google )   API Home Guides Client Libraries Google Analytics Data Expor...