觀察 JVM 讀取了哪些 CLASS

我們的環境中 JRE 是有被刪減過的,所以有時寫新功能時
會出現 ClassNotFoundException 或者是 NoClassDefFoundError 之類的錯誤訊息
通常這是表示 JVM 在函式庫中找不到指定的 CLASS。

為了要儘快發現少了哪些東西
可以在 tomcat 上(我們的環境是 web 的,所以 Java 是跑在 tomcat 上面)加參數
也就是去修改 /bin/catalina.sh。

2012年4月24日 星期二

Google Map API 入門教學(一):將 Google Map 放入網頁

Google Map API 目前已經是 v3 版本了,不需要特別申請 API,不過規定跟之前一樣,不能將 Google Map API 用在需要付費的地方。

Google 官方文件其實已經有蠻不錯的入門教學,不過說明個人覺得稍微少了點
所以自己在學習的同時也順便來記錄一下!

要在網頁上顯示 Google Map,最基礎需要的就是一個 HTML 網頁
然後網頁中去執行 Google 提供的 JavaScript API 在網頁上顯示地圖。
網頁的部份其實後續很少在改,因為動作幾乎都是靠 JavaScript 在做的。

553 Mail from must equal authorized user

今天在尋找免費且有支援 TLS/SSL 加密的 SMTP 服務時,測試跑出以下的錯誤訊息:

553 Mail from must equal authorized user

原本以為是帳號密碼打錯之類的,還重打了幾次帳號~

2012年4月22日 星期日

免費的 SVN 服務

免費的 SVN 服務:
assembla
有支援免費的 SVN 跟 Git 服務~。

2012年4月20日 星期五

Invalid byte 1 of 1-byte UTF-8 sequence.

今天遇到 dom4j 丟出以下的 Exception

org.dom4j.DocumentException: Invalid byte 1 of 1-byte UTF-8 sequence.

查了一下網路之後,得到的結果是因為讓 dom4j 的 SAXReader 讀取 XML 時
XML 在標頭宣告自己的編碼是 UTF-8,但實際上檔案儲存時並不是用 UTF-8。
後來發現我用 NotePad++ 儲存的 XML 檔忘了選編碼了
要在 NotePad++ 的工具列上選 [編碼][編譯成 UTF-8 碼] 或者 [編譯成 UTF-8 碼 (檔首無 BOM)]

2012年4月19日 星期四

在 Java 中刪除 HTML tag 的屬性內容

當需要用 Java 把 HTML tag 的屬性內容刪除時,可以利用類似以下的方法:
line = line.replaceAll("<html([^<]*)>", "<html>");

MySQL 效能調教相關知識

先留一些資料下來。

1、關於 MySQL的記憶體使用量計算

轉貼文章內提到的資訊:
MySQL 記憶體需求量的計算
min_memory_needed = global_buffers + (thread_buffers * max_connections)

(1) global_buffers 包含:

key_buffer
innodb_buffer_pool
innodb_log_buffer
innodb_additional_mem_pool
net_buffer

(2) thread_buffers 包含:

sort_buffer
myisam_sort_buffer
read_buffer
join_buffer
read_rnd_buffer

2012年4月18日 星期三

透過 Exchange Server 用 JavaMail 寄信

跟之前不同的地方在於,要透過 Exchange Server 好像必須提供 Authenticator,程式碼必須修改以下的部份:

JavaMail 相關資源

先記錄一下 JavaMail 相關的一些資源

1、JavaMail API - FAQ
FAQ 當中有提到使用 JavaMail 連接 Exchange Server 時,帳號要打的內容必須是 domain_name/windows_account/mail_account,不過目前尚未實際側試過...。
2、JavaMail quick start
3、JavaMail Properties

在 jQuery 檢查 checkbox 的點選狀態

用 jQuery 一般要檢查一個 checkbox 是不是有被點選
通常都直接檢查有沒有 checked 屬性,範例如下:
$(function() {
  $("#checkbox").change(changeEventForEnabled);
});

function changeEventForEnabled() {
  if($("#checkbox").attr("checked")) {
    $("#text").removeAttr("disabled");
  }
  else {
    $("#text").attr("disabled", true);
  }
}
上面的目的是當 id="checkbox" 的元件被點選時,會把 id="text" 的欄位開啟(刪除 disabled 屬性)
反之則是把 id="text" 的欄位關閉(刪除 disabled 屬性)

2012年4月2日 星期一

在 Windows Server 2008 安裝 Exchange Server 2010

安裝圖文教學可參考 [1]
基本上只要按照圖文教學一步一步做,就可以把 Exchange Server 2010 裝好了!