MacroViz

多媒體設計、數位學習、英語學習、日語學習

用 Java 寫 WordPress Client

野部最近透過 Java 開發一個小工具,主要功能是能夠發佈文字和圖片到 WordPress 裡面來。

由於不想透過暴力法直接存取資料庫,所以決定採用 XML-RPC 的方法來上傳資料,感覺比較文雅些,寫好的程式也可以相容於其他主流的部落格系統。

在實作上遇到一件想不通的怪事情。因為 XML-RPC 規定圖片檔要先經過 Base64編碼才能上傳。但是當檔案上傳完畢後,伺服器裡放的居然是Base64編過碼的檔案。照理說,應該要在遠端解碼才對。後來觀察了 WordPress下的 xmlrpc.php 這隻程式,才知道並沒有解碼的程序。只好自己手動處理。請將 1516 行的:

$bits = $data['bits'];

改成:

$bits = base64_decode($data['bits']);

果然圖片恢復正常,系統還會自動產生縮小圖,真是有趣的發現。基本上,上傳文字與圖片的核心功能都已經開發的十之八九了,剩下的就是修飾的工作了。以下是這次實作的一些參考資料:

Java 開發環境:

Sun JDK 5.0 & NetBeans 5.5.1 (下列網址可以直接下載二合一的套件)
http://java.sun.com/javase/downloads/index_jdk5.jsp

XML-RPC 函式庫:

Redstone XML-RPC Library (感覺比Apache XML-RPC 好用些)
http://xmlrpc.sourceforge.net/

如何上傳文字:

张岭 (Zhang Ling’s Blog)『博客网(bokee/blogchina)至WordPress搬家攻略 』
http://www.zhangling.org/blog/20060710/bokee-migration-wordpress-howto.html

如何上傳圖片

RFC:metaWeblog.newMediaObject
http://www.xmlrpc.com/metaWeblogNewMediaObject

Encoder une image au format Base64 en JAVA
http://home.tele2.fr/bobremy/code_source/java/java_conversion_image_Base64.html

posted by 野部 聖広 in Java,WordPress,程式設計 and have Comments (4)

Ubuntu Linux 架設 Tomcat 伺服器

野部看了整個下午的 Tom and Jerry (湯姆貓與傑利鼠) 的卡通。託可愛的湯姆貓的福,讓我解決了一個長久的疑問:Ubuntu下要如何配置 Tomcat 伺服器。

Tomcat 伺服器是一個很方便的 JSP 網頁伺服器,之前一直想要架設架不起來,看完卡通後靈感一來,沒想到一下就弄好了,之前抓不到竅門弄好久都弄不好,現在只要按照下列步驟安裝便可:

  1. 用 Synaptic 套件管理程式,安裝 tomcat5.5、tomcat5.5-admin、tomcat5.5-webapps這3個套件。
  2. 開瀏覽器,Tomcat預設首頁是http://localhost:8180/
  3. 萬一沒有顯示沒有關係,去終端機輸入 sudo /etc/init.d/tomcat5.5 restart 就可以啟動伺服器,此時應該可以看到預設首頁了。
  4. 進去Admin或Manager介面要修改一個檔案,終端機輸入
    gedit /usr/share/tomcat5.5/conf/tomcat-users.xml
  5. 新增一行 <user username="admin" password="您的管理密碼" roles="manager"/>
  6. 執行第三步驟重新啟動Tomcat 伺服器。

以下為參考到的連結:

posted by 野部 聖広 in Linux,Ubuntu,程式設計 and have No Comments

讓Ubuntu Linux下的Eclipse的Visual Editor(VE)正常運作

swing.png swt.png

左圖,Linux下Eclipse執行Swing。右圖,Linux下Eclipse執行SWT。

昨天把我心愛的筆記型電腦的資料備份出來後,直接用Ubuntu把XP取代掉了。不過當然不能浪費隨機版windows了,所以日後會安裝在vmware裡,繼續替我工作。

今天的重點是,如何讓Eclipse的Visual Editor(VE)正常運作呢?所謂的VE,是Eclipse下的視覺化開發JAVA的IDE環境,在Win32環境下,因為大都使用Sun Java的關係,運作正常。然而Linux預設使用的 Java Virtual Machine (JVM) 則是 GCJ,支援度不足,因此安裝VE之後,每次開啟Eclipse就會掛掉。

之前請教Google大神,一直找不到答案。無意間參考到了下面兩位前輩的文章,沒想到一下子就解決了這個問題。


  1. http://www.douglas.tw/2007/06/ubuntu-eclipse.html
  2. 郭朝益老師
    http://oss-tw.blogspot.com/2007/10/ubuntudebian-java-for-eclipse-ide.html

首先,進到Ubuntu的套件管理程式將Java相關的套件安裝完畢後。用文字編輯器開啟新文件,輸入 (這裡應該根據安裝的Java 版本而定):

CODE:
  1. JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun

將檔案存到自己的使用者目錄下的 ("~"毛毛蟲符號表示自己的目錄):

~/.eclipse/eclipserc

重新開啟Eclipse就大功告成了,請參考成功執行VE的畫面。

posted by 野部 聖広 in Linux,Ubuntu,程式設計 and have No Comments

如何在ASP.Net 2.0 之下寫AJAX應用程式

ASP .Net 2.0 技術,由Visual Studio 2005 與 .Net Framework 2.0 support的技術,主要有幾個優點:支援MVC架構與傳統混成架構。許多網頁伺服器腳本語言無法做到MVC分離模型,更別說預編譯了。這缺點在PHP 特別明顯(雖說我也是PHP死忠愛好者...),Smarty與CodeCharge樣板畢竟還是無法達到預編譯的境界,這事實上是拖慢許多網頁設計公司 製程的重要原因之一。但是ASP .Net 2.0 做到了。

IDE開發環境免費,雖說微軟開放VWD Express版免費下載居心叵測,但是,免錢的盡量用也是不變的道理,與其要被盜,不然開放,或許也是個方法。

最可能會被吐口水的優點,就是那比爾蓋茲死都不放的Basic語言,.Net 背後可使用VB語C#撰寫,根據個人經驗,移植度高達90%以上,如果用的都是通用控制項,沒有特別針對磁碟IO處理,這樣的程式,貼到網頁能跑,貼到應 用程式裡也能跑(By the Way, 貼到 PDA也能跑),懶人大作戰之必備工具之一。換句話說,拋棄工程師的尊嚴,快速替公司結案,.NET可說是最好選擇,但不見是長久之計。(君不見竹科大老 們多半使用微軟ASP 3.0之Solution現在要換,哀哀叫)

好啦,扯太遠,重點是,微軟放出AJAX套件了,趕快去裝吧,這是VWD的外掛,所以請先裝VWD吧,SQL免費版順便。

http://ajax.asp.net/
http://msdn.microsoft.com/vstudio/express/vwd/
http://msdn.microsoft.com/vstudio/express/sql/default.aspx

他只有增加幾個控制項,但是這就夠嚇人的啦,特別是UpdatePenal,以往要透過Post與伺服器更新的控制項與方法,放到這裡面,就可以達到不用全頁更新的效果了。配合Timer,網頁小時鐘兩行就解決了,這樣寫程式太過輕鬆,有時候會有罪惡感。

posted by 野部 聖広 in AJAX,程式設計 and have No Comments