跳到主要內容

發表文章

目前顯示的是 三月, 2012的文章

Mac快速鍵新發現

偶然間發現新的快速鍵....
Command + Tab : 大家都知道是切換不同程式的快速鍵,但是Mac中會把程式作Group,如果要切換該Group中的各程式子畫面,通常不容易...這樣一來,下面這個快速鍵就很好用拉!
Command + ~ : 可以切換目前程式Group中的子視窗
給大家參考∼

Web Service + Base Authentication + Un-Certificated SSL

如果一般建立Web Service Client,訪間常看到的Generator都可以幫上忙但是如果連線的目的地有Base Authentication跟未經第三方機關認證的SSL時候...頭就通了@@
PS: 先誇獎一下...Apache CXF真是個好東西,要找時間好好研究一下!
在新版的Eclipse Web Tool版中找到了CXF的Client Generator,套用Generator後出來了一個簡單的測試JSP液面如題,一直卡在認證根SSL的地方....幾經波折之後,在網海中找到了解答...
1. 畢竟是連線時候遇到的問題,直覺想到是需要在最終連線的Stub物件上呼叫道Call物件的地方加上properties設定:_call.setProperty(org.apache.axis.client.Call.USERNAME_PROPERTY, "your login name"); //使用者名稱_call.setProperty(org.apache.axis.client.Call.PASSWORD_PROPERTY, "your login password"); //密碼
2.同樣是連線問題,為了要跳過SSL警告,在同各地方加了一段忽略提示:_call.setProperty("axis.socketSecureFactory","org.apache.axis.components.net.SunFakeTrustSocketFactory"); //讓asix強制接受SSL呼叫
主要參考的網站如下:http://www.nsftools.com/stubby/ApacheAxisClientTips.htmhttp://www.coderanch.com/t/221499/Web-Services/java/SSL-AXIS-Web-Service下面這些也不錯,可以看看:http://cxf.apache.org/docs/client-http-transport-including-ssl-support.html#ClientHTTPTransport(includingSSLsupport)-BasicAuthenticationhttps://forums.…

雲端運算的特色

來自Hank大的講座... 雲端運算顛覆一些重統的想法,其中有別於傳統的特色包含: APIs:提供API讓個層面開發者發揮創意On-Demand:依照您的需求及時提供服務Pay as you go:依照您的使用付費,依使用量付費Infinite capacity:不用一次準備大主機來等待需求Lease Instead of Provision:以租用的方式代替購買的方式,降低投資成本Reallocate Instead of Recover:不要再為了主機掛點而再重複購買與維修流程,重新開一臺主機吧∼重新部署就好了!Scaling In/Down:可以在不用的時候關掉您服務主機給大家參考!

Mac Book AIR proxy problem

日前聽說購買二代Mac Book AIR的同事說Lion在proxy的環境下有些網站連線會異常 因為我的新AIR也到貨了...開始面臨這個問題...要命阿@@
經過幾番測試後,設定好了∼ Lion真的有Bug... 原因是: Lion在設定proxy by pass address時候必須要用","當間隔字元 但是他又很雞婆的在存進系統後 回到設定頁顯示的部分把","換成"、" 這一換讓我們以為以後應該要存"、" 而且叫出來再修改時候也是"、"...@@ 但其實它真的只認","
所以,在第一次用","時候的設定都OK 只要在re-save就會有問題...幾乎整串的by pass設定都不能用@@
解法...每次存檔時後...把"、"換回","再存檔....

ab benchmark chart using shell

承上,如果有批次動作要完成壓測跟繪圖 則需要把gnuplot的動作寫到shell中 下面是一段簡單的可執行shell
#!/bin/bash
gnuplot << EOF
set terminal png
set output "ApacheBenchmarkResults.png"
set title "Benchmark from Server X"
set size 1,0.5
set key left top
set xlabel 'request'
set ylabel 'ms'
plot "out.dat"  using 10 with lines title 'Benchmark from Server X'
exit
EOF
如果有需要,稍加修改 就可以跟壓測的結果整合作成有用的報表了!

ab benchmark and chart

apache benchmart又稱ab benchmark 是一套簡單好用的壓測工具 測試的參數網路上眾多說明 或直接執行"ab"指令,也可以看到說明 # ab
ab: wrong number of arguments
Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make
    -t timelimit    Seconds to max. wait for responses
    -b windowsize   Size of TCP send/receive buffer, in bytes
    -p postfile     File containing data to POST. Remember also to set -T
    -u putfile      File containing data to PUT. Remember also to set -T
    -T content-type Content-type header for POSTing, eg.
                    'application/x-www-form-urlencoded'
                    Default is 'text/plain'
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attrib…

Node.js http.request 接收大檔案方法

感謝Benson大的實戰經驗,解救了小弟一晚的睡眠時間!!下面是Node.js在使用http.request抓遠端資料 針對資料量比較大的回傳時候的處理方式 主要是http.request在截取資料時候會分段處理 一般,如果照官方網站提供的直接在req.on('data')區段把chunk值回傳的話 則在大檔案的傳輸會被劫斷 而大檔案的時候,req.on('data')實際上會跑多次(跑到結果收完為止) 因此另外設置data參數接續接收每個區段的回傳值 然後在req.on('end')區段再把整個data回傳... 大功告成!
function doRequest(path, callback) {
  console.log('\n---------------http.request start-----------------');
  console.log('path: '+ path);
  var options = {
    host : 'xxx.xxx.xxx.xxx',
    port : '80',
    path : path,
    method : 'GET'
  };
  var dopost_req = http.request(options, function(res) {
    var statusCode = res.statusCode;
    var hearders = JSON.stringify(res.headers);
    console.log('>>>Status : '+ statusCode);
    console.log('>>>Hearder : '+ hearders);
    res.setEncoding('utf-8');
    var data = '';
    res.on('data', function(chunk) {
      console.log('>>>chunk : '+ chunk);
      data…

Node.js req.end() of http.request crash the req.session

這是個烏龍拉...看官可以當作消遣一看~

最近因為介接第三方的應用程式介面需要 需要在Node.js中需要呼叫外部的REST API 然後在Node中重現REST的結果...
而奇妙的是情發生了...
某個因緣際遇,測試瀏覽器從Chrome換到Firefox...
同時間程式碼在此時加入http.request()取回外部API的結果... 在某個Exception下盤查內容...發現整個程式碼該跑的一些參數全都取不到...@@ 像是:req.session, req.param('key','default'), req.body...都失效了-_-\\\ 狀況在firefox中非常明顯(chrome中還有時候取得到...) 原http.request程式碼如下:
function doConnectRestAPI(path, callback) {
var options = {
host : 'xxx.xxx.xxx.xxx',
port : '80',
path : path,
method : 'GET'
};
var post_req = http.request(options, function(res) {
var getStatus = res.statusCode;
var hearders = JSON.stringify(res.headers);
console.log('>>>Status : ' + getStatus);
console.log('>>>Hearder : ' + hearders);
res.setEncoding('utf-8');
res.on('data', function(chunk) {
console.log('>>>chunk : ' + chunk);
callback(getStatus, hearders, chunk);
});
});
post_req.on('error', function(e) {
console.log('>>>>problem with r…