發表文章

目前顯示的是 9月, 2011的文章

Online Regular Expression Tester:線上正規式測試驗證工具網站

圖片
先前(其實是好久以前了)的文章中介紹過了 java 中正規式的應用, 也介紹了一個在 eclipse 中測試、驗證正規式的好用套件, 另外也給了一些介紹正規式用法的連結,分別條列如下: java.util.regex正規式的應用:Pattern和Matcher Eclipse 好用套件:Regular Expression Tester Java Regular Expression的學習筆記 [精華] 今天要介紹的其實是線上的 Regular Expression Tester, 畢竟有時候要寫 code 出來測試也太麻煩了, 不如先在線上好好測試過,ok後再一一寫進 code 中。 而且這些網站對初學 Regular Expression 的人也很有幫助, 只要填入測試資料和寫好的 Regular Expression 就能得到測試結果, 也就能得知自己的做法對不對囉! 以下就附上幾個常見且好用的測試網站: Regexp Editor: http://myregexp.com/ 這個網站使用 java 寫成,需要 java 才能執行,但可以測試很多不同的功能, 如:Find, Match, Split, Replace等,另外他也支援將 regular expression轉換為 java用法, 也就是自動幫你加上 escape 的 \ ,非常好用。 另外這個網站也提供了 Eclipse 的 plugin, http://myregexp.com/eclipsePlugin.html RegexPlanet: http://www.regexplanet.com/simple/ 這個網站在測試後會將你所用的語法、escape過的java語法列出來, 另外也會整理出測試符合的字串、數量等,也是相當好用。 介紹可見: [工具] RegEx: online regular expression testing RegExr: http://gskinner.com/RegExr/ 這個網站可以測試基本的 matching 和 replace,在右方也有基本的語法供使用, 想知道更多關於此網站的介紹,可見: RegExr : Online Regular Expression Testing To...

Windows Live Messenger 2011 連不上:Proxy問題,Error 81000306

MSN 出現 Error Code 81000306 是幾乎每個用過 MSN 的人都遇到過的問題, 而這個問題的解答眾說紛紜,只要 google 一下就能發現 許多人的解答 , 不過印象中遇上這個問題時通常是因為微軟的 server 掛了或有錯誤才暫時連不上, 照著那些步驟去做不一定有效,等到微軟修好後就連得上了。 第一段就撇清了解答 Error Code 81000306 的責任,那這篇到底要說些什麼呢? 如果你符合以下的一些狀況的話再進來看,不然就去看  許多人的解答  即可。 這篇針對 Windows Live Messenger 2011或 Windows Live Essentials 2011才可能出現的問題做處理, 而這兩樣都只能在 Win7 安裝,所以如果不是可以不用繼續往下看了。 使用 Windows 7 (Win7) 安裝 Windows Live Messenger 2011或 Windows Live Essentials 2011 Windows Live Essentials 2011無法 線上安裝 ,就算用 離線安裝 成功後最後也連不上 透過 Proxy 上網 無法登入Live Essentials其他服務,如Live Mesh,或登入 MSN 時得到 Error Code 81000306,訊息類似: 您無法登入 Windows Live Messenger  您可能因為 Proxy 設定、DNS 快取或防火牆發生了問題而無法登入。 同學、同事、其他台電腦使用舊版 MSN 可正常連線登入 如果你符合上述的條件,恭喜你!你即將要脫離這困境了。 這個問題的原因是因為: 新版的 MSN 不只透過 IE 上的 Proxy 設定連線, 還加上部分程式走 Winhttp 的 Proxy 設定連線,但因為 winhttp proxy 的預設值就是直接存取, 所以就算再 IE 上設定了 proxy 還是連不上,唯一的辦法就是去修改 winhttp 的 proxy 設定。 解決方法: 進入win7 dos mode後輸入命令: C:\Windows\system32>netsh n...

SVN:快速刪除 .svn 目錄

Subversion (SVN) 是個很好用且廣受歡迎的版本管理工具軟體, 但因為他的版本控制會將某些資料寫在 .svn 資料夾中, 且只要有加入的資料夾底下就會有一個 .svn, 這讓我們到時候要發佈程式碼, 或想將某個資料夾移出版本控制時遇上很大的麻煩。 當然我們可以手動進到每個資料夾將 .svn 給移除, 然而當資料夾一多,且每個資料夾底下又有許多資料夾, 如此一層一層刪根本就不可能。 這一篇整理了我在網路上看到的兩種做法供大家參考: 第一種方法就是下簡單的指令來刪除, 方法是用 windows 的 cmd 或 Linux 的 command line 切換到所要刪除的根目錄, 然後下這個指令: for /r ./ %a in (./) do @if exist "%a\.svn" rd /s /q "%a\.svn" 如果覺得這個指令太麻煩,也可以將他做成 batch 來執行。 第二種方法是將上面的指令換一種方式來執行, 先將以下分隔線內的文字存成 .reg 檔, 點兩下執行後就會註冊到 windows 的機碼中, 之後可以在資料夾的右鍵選單選擇「Delete SVN Folders」, 執行後就會發現要刪的東西已經被清空囉。 ============================================================== Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]  @="Delete SVN Folders" [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN\command]  @="cmd.exe /k \"TITLE Removing SVN Folders in %1 && FOR /r \"%1\" %%f IN (.svn _svn) DO RD /s /q \"%%f\" \"" =====...

XenCenter 無法顯示 VM 的 Console 視窗

有在使用虛擬化環境的人最熟悉的應該就是 VMware 了, 而另外也有人使用的是 Xen , 架設 XenServer 後我們可以使用 XenCenter 來控管所有的 VM, 上面有許多 Tag 能讓我們看到及設定 VM 的相關資料, 例如:General、Storage、Network等等 而在所有頁籤中最常用的大概就屬 Console 了吧, 他可以讓我們像透過遠端連線一般直接連接到電腦進行操作, 但如果連線後卻發現 Console 一片空白要怎麼辦呢? 解決方法如下: 移動到 %AppData%\Citrix\ 目錄 當中會有個 XenCenterMain.exe_Url_xxxxxxxxxx 的資料夾 刪除這個 cache 資料夾 接著 Console 和 Performance 應該就都可以正常運作囉! 關鍵字:xen, xen server, xen center, console, 視窗, 無法, 錯誤, 空白, blank, not working, 失效 參考資料: Fix XenCenter Not Displaying Console Or Performance Statistics

Eclipse環境設定:修改預設編碼設定、顯示行號、調整字體大小與自動完成

對 Java 程式開發人員而言,Eclipse 是相當熟悉的一款 IDE, 就算本身是使用 NetBeans、JBuilder 等其他的 IDE, 應該至少也有聽過他的大名吧。 每個程式開發的環境都一樣, 雖然一旦建起來之後幾乎就都不需要去動了, 但總是會有機會需要重新建立。 對 Eclipse 而言,每次我在重新建立環境的時候一定要更改一些設定, 分別是: 預設編碼 顯示行號 調整字體大小 程式自動完成 首先預設編碼的地方除了 IDE workspace console 本身的編碼外, 還要設定預設的 html, css, jsp 等的預設編碼, 他們修改的路徑如下: workspace:Window->Preferences->General->Workspace 右方 Text file encoding,建議改為 UTF-8 html:Window->Preferences->Web->HTML files 右方 encoding css:Window->Preferences->Web->CSS files 右方 encoding jsp:Window->Preferences->Web->JSP files 右方 encoding 顯示行號則可在 Window->Preferences->General->Editor, 右方 show line numbers 勾選。 除了上面的編碼和顯示行號的設定外, 因為每天寫程式用眼過度對眼睛實在很偒, 所以記得要去調整一下字體的大小喔! 調整的地方在:Window->Preferences->Corlors and Fonts->Java->Java Editor Text Font 如果要調整所有的字體的設定的話則可以在: Window->Preferences->Corlors and Fonts->Basic->Text Font 調整, 預設 Java Editor Text Font 就會引用 Basic 的設定,要在哪邊改就看大家囉。 另外我們在寫程式...

無法遠端連接MySQL:message from server: "Host xxx is not allowed to connect to this MySQL server"

通常無論我們在寫測試程式或demo, 如果要用到資料庫,我們常會使用MySQL。 為了方便起見,通常就都在本機(也就是localhost安裝一份MySQL), 使用起來倒也相安無事。 然而事情總不是這麼簡單 orz, 平常在 Java 裡再平凡也不過的一行程式碼, conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", username, password); 換作了從非本機的遠端 IP 連接, conn = DriverManager.getConnection("jdbc:mysql://remoteIP:3306/test", username, password); 竟然死也連不上,還跳出一個訊息是: message from server: "Host  is not allowed to connect to this MySQL server" 這到底是怎麼一回事呢? 後來查了一些資料,發現出現這種狀況都是因為想直接用 root 帳號從遠端連, 會出現錯誤訊息其實是因為 MySQL 為了安全性的因素, 所以將權限最大的 root 帳號限定只能由本機端 localhost 連到資料庫。 那要怎麼解決這種狀況呢?解決方法有兩種: 把 root 的權限開放,讓他也能從遠端連! 新建一個帳號,讓他只有所要連接的資料庫的權限,只要是非 root 帳號都可以從遠端連。 接下來針對兩種解決方法做分析, 第一種方法有點自找麻煩,就已經因為安全性的問題要把 root 帳號綁在 localhost 了, 你竟然還要找死把權限開放,如果不是什麼程式已經寫死的問題的話, 真的很不建議這麼做。 就算真的要這麼做,也請把要開放的 remoteIP 範圍設定好, 透過限定適當的 IP 範圍,也可避免直接被外部攻擊。 要開放帳號連接權限的方式如下: shell> mysql --user=root -p   輸入密碼 mysql> use mysql   mysql> GRANT SELECT,INSERT,UPDATE,DELETE ON [db_name...

Online UUID Generator:線上UUID產生器

引用別人寫的 javascript 簡單做了一個線上 UUID 產生器如下: 上面如果沒出現輸入框和按鈕的話可能是主機出問題了,請稍後重試或回報給我。 出現亂碼的話請選擇 UTF-8 編碼再重新讀取一次。 其他我寫的線上工具: Online UrlEncoder:線上轉換中文網址為UTF-8編碼 關鍵字:javascript, 線上, online, uuid, guid, generator, 產生器 參考資料: http://www.broofa.com/Tools/Math.uuid.js Online UrlEncoder:線上轉換中文網址為UTF-8編碼