2008/11/18

[教學]如何不透過電腦抓取黑莓機的圖? 使用CaptureIt!

最近敗了一台BlackBerry Bold 9000, 想寫幾篇教學文章,當然要有抓圖軟體,本來有下載一個在PC端使用的Mobiola Screen Capture for Blackberry, 但是如果想要在黑莓機上直接抓圖該怎麼做呢?這時候就要靠CaptureIt!了。
CaptureIt是一個jad的程式,下載方式很簡單,首先到以下網頁:
http://www.geardiary.com/2008/11/15/blackberry-screenshots-without-cabling-your-device-os-43/

拉到最下方,有個download link

按下去後會開始下載安裝,按確認即可,之後到選項-->進階-->應用程式裡,去設定執行權限

都設成允許好了= =

這樣一來,你回到主選單-->下載目錄裡,就會看到「CaptureIt」了,執行CaptureIt後,會振動提示,之後在每次按黑莓鈕時,都會有一個選項叫「Capture It」,按下去後就可抓圖了!


現在測試的結果是....沒辦法抓首頁的畫面,因為按黑莓鈕會先跳到主選單的緣故,而且也抓不到子選單的畫面,上一張圖是我用PC端的抓圖軟體抓的。

---------------------------------------------------

抓選單跟首頁圖的問題解決了!
我把左側便利鍵設成Capture It就可以利用按鈕來抓圖囉~



2008/11/14

[SQL]遇到欄位資料型別為xml時,不可使用union的問題

會出現:
不能選取 xml 資料類型作為 DISTINCT,因為無法比較。

改為使用union all即可....




select product_id, product_name, product_xmlrule
from product1
where product_date > getdate()
union all
select product_id, product_name, product_xmlrule
from product2
where product_status = 0

2008/11/06

.Net 非同步呼叫執行function



//宣告:
delegate void CallRefreshServerIpsDelegate(int aaa, int bbb, string logPath);

//使用:
CallRefreshServerIpsDelegate dlgt = new CallRefreshServerIpsDelegate(this.CallRefreshServerIps);
dlgt.BeginInvoke(aaa, bbb, logPath, null, null);

//Function:
private void CallRefreshServerIps(int aaa, int bbb, string logPath )
{
...

}


注意: 非同步的呼叫,在function內不可存在任何有關HttpWebRequest、HttpWebResponse的物件。
例如:
Request.ServerVariables["REMOTE_ADDR"] ...

.Net Regex.Replace 造成CPU Loading 升高....

這二天公司遇到怪事,所有伺服器主機突然CPU飆高到100%,在同事徹夜努力下才找出問題,原來出在一句Regex.Replace的語法...

.NET的Regex.Replace很奇怪,在樣本文檔內若找不到符合pattern的條件,就會hand住,然後CPU飆高...但若樣本文檔內找得到,則又沒事...

同事給我一個參考連結:

CODING HORROR : Regex Performance

文章內可以看到,在不符合pattern的情況下,回應時間是倍數的成長,這就是造成效能下降的主因!

因此,爾後在使用Regex.Replace時,最好能先使用Regex.Match確認一下,再做Replace,以避免此情況發生。

其他參考資料:

2008/11/03

javascript: n位元的四捨五入

四捨五入無小數點 --> Math.round(4.5) // return 4.5
四捨五件指定位數 --> Math.toFixed(4.0005,3) // return

軟體工程的重要的指標