2012年8月30日 星期四

PHP使用Ubuntu SMTP

因為研究需求,需要再Ubuntu 使用SMTP做收發信的伺服器,
SMTP是傳輸email的標準協定,一般來說SMTP使用的Port是25,
可是當初想利用PHP建立SMTP伺服器,失敗很久才發現
PHP要在Ubuntu裡使用伺服器需要openSSL作為溝通,
所以要在Ubuntu裡安裝openSSL,安裝指令是
sudo apt-get install openssl,只要安裝openSSL就能利用
PHP使用STMP,但是要記得更改PHP裡的Smtp_port,
改成你的要的!

雲端運算 Map-Reduce

Map-Reduce 是 Hadoop 的主要運算核心,
最早提出這方法的人是Google,後期來運用在雲端技術上,
Map-Reduce 可以將資料平行分散到雲端上面分別同步進行運算,
再回傳各點運算的值在做整合, 
這樣可以解省成本以及可以快速運算,

如果資料量不夠大就沒辦法顯示他的好處,

Map-Reduce 的原理

Map-Reduce 分成兩端,Map和Reduce,
先將資料分解成很多小問題,
再給傳到每個雲端上的map進行運算,
就成值傳給Reduce做部份整合,
之後再將 Reduce 的資料整合,
最後得到一開始想要的運算結果。



參考資料來源;
http://www.slideshare.net/waue/hadoop-map-reduce-3019713
http://www.ithome.com.tw/itadm/article.php?c=49410&s=7

JBOSS


JBOSS是開放源代碼的,遵從J2EE規範的純java EJB server。

JBOSS Suite由以下幾個模塊(或者API)組成:
server、SpyderMQ、Jaws、Zola、Zoap、Castor、Jetty、Test

server是Jboss server,核心是一個EJB容器並且支援EJB1.1規範。

SpyderMQ是JMS的java,JMS 1.0.2規範。

Jaws全名是Just Another Web Storage,Jaws API實現java對像和關係資料庫的映射

Zola提供jboss例程序,來說明J2EE應用的開發和。

Zoap 支持Simple Object Access Protocol(SOAP)訪問

Castor是JBOSS與Castor的整合並且提供Java Data Object。

Tomcat是JBOSS與Tomcat的整合並且提供J2EE環境。


Jetty是JBOSS與Jetty的整合並且提供J2EE環境。


Jboss/Test Jboss的測試環境。


Jboss與Web 服務器(Tomcat和Jetty)
Tomcat與Jetty均為Web server,Jboss與Web server在同一個Java虛擬機中運行,Servlet用EJB不用經過網絡而因此提高效率。

參考網址:
http://tangblack.blogspot.tw/2012/07/jboss-7.html

2012年8月27日 星期一

HTML5 介紹


     HTML5是繼HTML4.01版本,兩個版本卻相差了許多年,HTML5開始慢慢崛起是在2007Apple的iphone狂銷後,賈伯斯在一篇類似公開信的聲明中說到HTML5才是未來網路業界的趨勢,此外Google相關產品也持續深化支援HTML5。
    隨著HTML5標準發展越來越強大,現在也可以撰寫手機App,目前有三種撰寫手機APP方式:
第一種做法是Native App的開發方式,採用JavaC程式語言撰寫App,在編譯後安裝至手機運行,例如:Android 固定是用java開發,Iphone則是objective-C,兩者開發出來的程式只能在自家系統上執行,所以不能跨平台 

第二種做法就是HTML5的做法,採用HTML5標準開發App,有點像是在設計網頁,或是撰寫Web應用程式。只要把網頁或Web應用程式封裝成App後,就能直接安裝至手機運行,有跨平台優勢。


第三種Native +HTML5實際上是一種加殼的方式,將HTML5用和瀏覽器封裝起來,使用者沒有任何不習慣的感覺,和App Store上下載的App沒有什麼兩樣。


目前以第二種或第三種方式開發行動裝置上的App環境有5個,以表格來表示。

 Platform
 Build Target
 Language
 Adobe Flex
 iOS/Android/
Blackberry
 Native(原生)
 Action Script/MXML
 Titanium
  iOS/Android/
  Native(原生)
 PHP/Ruby/HTML+CSS+JS
 PhoneGap
   iOS/Android/
Blackberry/Symbian/Bada
   Hybrid
 HTML+CSS+JS
 Corona
 iOS/Android
  Native(原生)
 Lua
 MonoCross
 Everything(-JAVA ME)
  Native(原生)/Hybrid
 .NET/C#

目前最多人用的是Titanium以及PhoneGap這兩個,MonCross因為有些功能有限制,必須付費才能使用所以使用者相對比較少,其他Adobe Flex以及Corona使用開發語言關係使用此環境開發人數也很少。

下面以PhoneGap做一個Hello World來介紹

剛創好專案後可以看到元件頁面與android開發沒甚麼不同



程式碼是載入index.html方式執行
直接使用html語法開發


這是執行模擬器顯示出來的結果

使用上述開發方式優點

1.使用者使用App時萬一行動裝置網路中斷,可以離線使用。
2.可以使用Native 資源,像是GPS、Camera...等
3.跨平台,不用針對各家系統開發。

缺點
除了要精通HTML5/CSS3/Javascript外,還得了解各平台瀏覽器特色例如:Apple、google、微軟...等的瀏覽器都不同。



 



2012年8月21日 星期二

Ubuntu 12.04 LTS

  2012年4月底時,Canonical發表代號為Precise Pangolin的Ubuntu 12.04,桌機版與伺服器版皆是有5年更新保證的長期支援版本(Long Term Support, LTS),Ubuntu 12.04 LTS總計有54種產品映像與2種雲端映像,支援41種語言。
  Ubuntu作業系統每半年就會進行一次更新,每兩年會有一個長期支援版,Ubuntu 12.04為該平台第4個長期支援版,更新保證可到2017年4月。Canonical Ubuntu業務工程師吳尚融解釋,也就是說,在2017年之前,導入Ubuntu 12.04的企業,每隔2年都可以免費更新至最新版,還能使用認證、資安、規範稽核與硬體支援等服務,更利於大型企業採用。更重要的是,由於Ubuntu伺服器12.04 LTS版本是OpenStack雲端架構的參考平台,Ubuntu與OpenStack的整合便成為企業建構私有雲基礎架構時的平台選項,這也是相當自然的發展。Canonical 也與OpenStack開發人員合作,為混合雲的建置提供具備支援及認證的組態架構。吳尚融指出,Ubuntu LTS版本更特別擴大支援範圍,未來Ubuntu 12.04 LTS將能與新版OpenStack相容,以確保未來數年雲端開發測試能有穩固基礎。
  未來除了OpenStack目前的Essex最新版本之外,Ubuntu 12.04LTS也將支援未來所有OpenStack的更新版本,企業用戶可就此長期支援版本進行標準化,同時仍可與Folsom等最新OpenStack版本相容。而Ubuntu 12.04 LTS也針對企業大型雲端部署推出新增功能,諸如MAAS(Metal as a Service)、Juju、AWSOME以及Landscape等。
  在Ubuntu 12.04問世同時,Canonical也推出更新版的Juju服務部署工具,節省企業大規模部署時所需之時間成本。將DevOps最佳應用範例(best practice)與可重複使用的Charm部署套件結合,Juju能將Hadoop、Cassandra及Jenkins等複雜的雲端服務,透過一致化的組態,如同佈建私有雲或公共雲等雲端環境一般,部署在工作站、甚至是裸機上。

Ubuntu 12.04 LTS 改善以下幾點
1.調整生命週期,用更多的時間解決問題。
2.將基礎架構和平台方面的變化降至最低。
3.目標驅動和連續的性能基準測試項目。
4.一流的可用性,滿足特殊互動需要。
5.硬體類型的增強和認證,便於在數據中心部署。


參考出處
[1] http://news.networkmagazine.com.tw/classification/software-application/2012/06/06/40099/