Archive

‘未分類’ 分類過的Archive

mysql concat 亂碼問題排除

2013年11月3日 尚無評論
在MYSQL SQL語法之中,如果你要將各欄位的資料串接在一起取回,可以使用 concat(str1,str2) 即可達到串接成一個欄位。但在串接時可能會遇到怪怪的亂碼,這時請注意是否串接的資料欄位型態均是varchar,因為當使用concat串接後結果出現亂碼時,通常都是連接的欄位類型不同而導致,當concat中的參數一個是varchar類型,一個是int類型時,因型態不同就會出現亂碼。此時我們可以先將非varchar的欄位型態轉換後再concat即可。
 
例如:
 
concat('金額小計:',CONVERT(amount,char))

 

 

 

Categories: Database, 未分類, 程式開發 Tags:

如何排除Eclipse Error This Project Needs To Migrate WTP Metadata

2013年7月31日 尚無評論

最近很少開Eclipse,結果一開後發現怎麼編譯程式都有一個錯誤訊息

上網查一查才知,在該專案按滑鼠右鍵,跑出選單後,執行Valiadate就好了

真神奇,問題排除了~但怎麼發生的我還是不知道

不過我也不想深入瞭解原因~XD

 

Categories: 未分類, 程式開發 Tags:

好用的JSON.stringify(物件建立JSON字串)

2013年5月12日 尚無評論

在Client Server 架構,最麻煩的就是debug,單單server 可以用開發工具的debug mode來抓問題,而client只能借助一些瀏覽器的工具來抓問題而且也沒有debug mode,頂多只有console.log 可以用,多半都要用alert 來顯示相關資訊,而現在ajax 盛行,要抓問題時,不再只是顯示一個單值這麼容易,所以今天來介紹一下如何顯示json的值!

JSON.stringify是什麼呢?

在查資料的同時,才發現自己都是東摸一點,西學一點,沒有學習一個完整性,所以都要花上不少時間,或浪費不少時間,json格式已經瞭解並大量在使用了,但看到JSON.stringify才知,這麼好用的函式怎麼這麼晚才去瞭解呀!  在Firefox 3.1、Internet Explorer 8以上,已經都有支援,它可以將物件轉成JSON字串,所以在查詢時就很方便,以往當我們要將javascript 的物件查看其內容時,在alert 這物件只會顯示這是個[object],還要特別去指定一個屬性才會顯示該屬性質,要查詢時蠻不方便的,而透過JSON.stringify轉成JSON字串後,就可以很輕鬆查看

JSON.stringify怎麼用?

使用語法:

JSON.stringify(value [, replacer] [, space])
value:目標物件(陣列)
replacer:要比對顯示的對像物件(陣列)
space:要補的空白

如果你有個物件要顯示,最簡單的方式如下:

var obj= new Object();
obj.name="Tony";
obj.age=33;
obj.tel="0912332112";
obj.sex="M";

alert(JSON.stringify(obj));

這時你可以得到:

 

多棒呀!!,JSON完整的資訊全顯示出來了,不過還有更棒的,可以在後面加上空白

alert(JSON.stringify(obj,null,4));

顯示時排列的很整理,更方便閱讀了說!!

至於中間參數replacer的用法,就是可以進行過濾的動作,將符合replacer的顯示出來,相關用法我這邊就不多寫了,如有興趣,可以看這篇文章,寫的蠻不錯的~簡單易懂 : JSON.stringify 语法讲解 – 随风浪迹天涯 – 博客园

感想

以往再使用json都是透過ajax 傳遞,所以可以透過查看response就可以看到相關內容,這次單單用在client就覺得JSON.stringify特好用的,看來還是要多多把基本功打好才行呀~^^

Categories: AJAX, Java Script, WebDesign, 未分類 Tags:

JavaMail使用在weblogic上的注意事項

2012年4月20日 尚無評論

今天花了半天時間在找一個很詭異的問題
就是客戶反應程式安裝在他們的weblogic上之後,就無法送信了
而他們的mail server是不用認證的

前去瞭解,並且開了debug mode 看了一下~發現系統似乎一直卡在這裡

DEBUG: setDebug: JavaMail version 1.4.1
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth false

但自己另外寫一個簡單的寄信程式,就都可以成功到下一個動作

DEBUG SMTP: trying to connect to host “aaa.xxxxx.com.tw”, port 25, isSSL false

最後發現問題在於原先使用的元件取得屬性物件要放入javamail所需要的資料是採用以下方式

Properties properties = System.getProperties();

但如果重新new 一個來使用就能正常運作

Properties properties = System.getProperties();

這個元件好幾年都沒事發生使用在weblogic上就出現怪問題
當然排除後是不是要繼續追查原因呢?…算了~寫下來留作紀念好了
如有網友知道衝突的原因,再麻煩告知一下~感恩喔!

如何使用Proxy取得動態的IP(採用proxy.pac)

2011年3月16日 尚無評論

忽然想要連到某一網站時可以每次使用不同的連外IP,呵~別問我想幹嘛~就是忽然想到,其實有人有做這樣的功能,不過要收錢的~所以不用!!

當然也有免錢的,但有點難用,像ProxyFree提供多個proxy 網頁列表,透過他的網頁輸入網址,連結到你想要網頁,也是可以的!

上面列了許多的Web Proxy site,點選後就會出現一頁有很多廣告的輸入網址頁:

不過你要每一頁去點~好累,加上他不能提供每次都換IP這樣就不優了!! 講到這邊應該知道什麼是Proxy吧~如果不知道自己去找google吧!

後來有在網路上看到有人可以利用Proxy.pac的腳本製作動態的proxy server,所謂的pac檔就是Proxy Auto Config File,一般會使用檔案是用在公司有多台proxy server,可以透過這個檔案,針對你的IP進行proxy server的分流,或是針對~目的網站,進行分流,就可以對一些對公司無幫助的網站用一台限制較多的proxy server,而公司常用的網站,就透過另一台proxy server,這樣就可以做有效的控管!

Proxy.pac的設定方式如上圖,在網際網路選項的網路選項,點選區域網路設定,並設定使用自動組態指令碼,輸入file://d:/proxy.pac 指定到本機的D槽去就可以啦

Pac檔的語法是用javascript,看來應該不難,但網路多半都是剛提及的分流範例,有需要自行點以下連結:

Proxy Server 的分流程式( proxy.pac) 這類型的多半就是透過FindProxyForURL來進行分流

function FindProxyForURL(url,host)

{

if (host == “www.mydomain.com“)

return “DIRECT”;

return “PROXY myproxy:80;

PROXY myotherproxy:8080;

DIRECT”;

}

或是再加上myIpAddress()取得client 使用者的IP來判斷要用哪個proxy server 以下範例有支援VMware:

function FindProxyForURL(url, host)

{
var myIP = myIpAddress().split(‘|’);
var ip;
if (isInNet(host, “192.168.0.0”,”255.255.255.0″)) {
return “DIRECT”;
}
if (isInNet(host, “127.0.0.1”,”255.255.255.255″) ) {
return “DIRECT”;
}
while (ip = myIP.shift()) {
if (isInNet(ip, “10.1.0.0”, “255.255.0.0”) ) {
return “SOCKS 127.0.0.1:3128”;
}
}
return “DIRECT”;
}

而有另一編網誌PAC腳本的編寫寫到可亂數取Proxy server,看來這篇正好符合我的使用 (大力推薦這篇寫的蠻完整的),不過他寫亂數取,如要加大量的proxy server 加起來很累,所以改一下寫法,以後加的時後就很方便,詳如下:

var proxyArray = new Array(

“109.95.55.13:8000”,

“93.73.184.137:8090”

);

function FindProxyForURL(url,host)

{

return randomProxy();

}

function randomProxy()

{

return “PROXY “+proxyArray[Math.floor( Math.random() * proxyArray.length -1 )];

}

看來蠻簡單就可以達到這效果,再來就是怎麼找那麼多free proxy server了,這還是最麻煩的~~因為這種free proxy server 常會掛點真麻煩!!
參考資料:
Categories: 未分類 Tags:
分頁: 1 2 下一頁