Browse by Tags

【茶包射手專欄】追查電子郵件傳送歷程(下)
【前情提要】快一年前,我處理了一件 Email異常延遲傳送 的案件,原本計劃分兩篇說明,第一篇談Mail Client端的偵察,第二篇談Exchange Log的追蹤。結果,事多人忙心頹手懶,Post完上集,第二篇就被我遺留在火星上... 前幾天驚聞網友Leo詢問下集,心頭一驚,這這這... 趕緊登陸火星,挖出塵封的KB... 細看過IMS主機案發當時的Log,最後的推斷傾向SMTP Mail Server並沒有問題,純粹只是Queue太長導致。我的分析如下: 這是我第一次看Message Tracking...
Posted 30 March 2008 11:38 AMJeffrey | with no comments 17,071
Filed under: ,
【茶包射手專欄】window.open時發生"類別未登錄"錯誤
使用者反應他的IE只要遇到Javascript window.open,就會跳出"類別未登錄"的錯誤訊息! 推測"類別未登錄"的英文原文應為"Class not registered"(這就是為什麼我鍾愛英文版OS的原因,可以不必玩中翻英猜猜看),用window.open加class not registered去Google大廟求一下籤,Bingo! 微軟有篇 KB 306831 ,100%符合這次遇到的情境,照著KB的說明 regsvr32...
KB-About Error Updating JScript Intellisense
Javascript Intellisense 是吸引我改用VS2008編輯ASP.NET 2.0專案的重要原因之一,我卻被一個煩人的相關警告騷擾了好幾天。 只要一Build專案,Error List中就會出現 Error updating JScript IntelliSense: MicrosoftAjax.debug.js:: 'Sys.Res.argumentDomElement' is null or not an object @ 201:8 的警告訊息,發生地點在C...
Posted 25 January 2008 08:47 AMJeffrey | 2 comment(s) 8,342
Filed under: , ,
KB-Controls.AddAt可能破壞ViewState
前些時候,為了解決MatserPage下元件的ClientID會 被加註Prefix的問題 ,我寫了一段彈性化找尋ClientID的Javascript Function取代document.getElementById(),並且為了確保WebControl在產生HTML的同時就可以插入Javascript呼叫它,我利用Page.Form.Control.AddAt(0, Literal)的技巧讓它插隊顯示在最前方。 今天同事回報,這種插隊法會讓下拉選單的選項在PostBack後掉光光,我懷疑是ViewState解析順序被破壞導致...
Posted 03 January 2008 04:20 PMJeffrey | 4 comment(s) 8,869
Filed under: ,
ORACLE Transaction大車拼!
為了測試使用System.Data.OracleClient、ODP.NET(Oracle.DataAccess.Client)與 TransactionScope 三者的效能差距,我設計了以下的實驗,分別用三種方式(因ODP.NET 9207還不支援TransactionScope,所以TransactionScope搭配System.Data.OracleClient使用)將三個Insert動作包成Transaction,並各測十次。 static object obj = new object...
Posted 28 December 2007 08:04 PMJeffrey | 1 comment(s) 13,784
Filed under: , , ,
KB-給ASPX義大利麵寫法的好人卡
上回我提了一個解決 套用MasterPage時ClientID會突變 的方法,其中提到: 我不喜歡document.getElementById('<% =TextBox1.ClientID%>').value這種ASP時代義大利麵式的寫法。 網友eric問: 為什麼不愛? 義大利麵先生,你是個好人,但是... 第一個理由是我喜歡Server-Side Logic編譯過並藏在DLL中,不要顯露在易被取得的ASPX內。不過,在這個應用情境上我們只用來標示WebControl...
Posted 24 December 2007 02:01 AMJeffrey | 4 comment(s) 11,187
Filed under: ,
KB-MasterPage ClientID Issue
[Abstract] When using ASP.NET masterpage, the ClientID of webcontrol inside ContentPlaceHolder will get container's ClientID as prefix, like 'ctl00_ContentPlaceHolder1_TextBox1' and this become a big trouble while writing Javascript client...
Posted 21 December 2007 07:42 PMJeffrey | 12 comment(s) 22,208
Filed under: ,
StringBuilder串接字串的迷思
大部分的.NET開發者都知道,要做大量的字串相加,StringBuilder比string相加 快上N倍 。這個效能差異源於String物件的特性,每次"動態相加"時必須捨棄原字串佔用的記憶體空間,重新配置記憶體儲存相加後的新字串內容。只是背後的原理實在曲折,於是我們腦海只會留下" 串接字串千萬要用StringBuilder,用string相加會被人笑 "的簡化結論。 前些時候協助做Code Review,看到一段SQL查詢程式出現有趣的寫法。 一般為了方便閱讀...
Posted 15 December 2007 06:38 AMJeffrey | 15 comment(s) 56,905
Filed under: ,
關於Javascript函數的宣告時機
Javascript燈謎時間又來了... < html >< body > < script type ="text/javascript" > test( "Before" ); function test(m) { alert(m); } test( "After" ); </ script > </ body ></ html > 以上的Code,Before與After都會出現嗎...
Posted 12 December 2007 10:58 PMJeffrey | with no comments 5,316
Filed under: ,
Finally...
上了一課! 我寫了一段Code,利用catch SqlException 偵測Deadlock , 前兩次延遲一小段時間再試,第三次則直接丟出Exception。在少數特殊情境下,程式要先切換成特定使用者身份,待處理完成後再切回系統身份。程式示意如下: 1: try 2: { 3: for ( int i = 0; i < 3; i++) 4: { 5: try 6: { 7: if (needImpersonate) 8: changeIdentity(someUser); 9: doTheProcess...
Posted 03 December 2007 12:47 AMJeffrey | with no comments 3,887
Filed under: ,
KB-Keep Your Code Thread-Safe!
前幾天幫同事看一個WinForm問題,明明有Primary Key限制的DataTable,卻冒出數筆PK相同的資料,Grid還會發狂似地不斷捲動。 由於資料的更新動作來自非UI Thread,我們首先懷疑的就是Threading Issue,不過該問題只出現在尖峰時刻資料量爆多的情境下,在測試台中怎麼都無法模擬出來,於是我設計了以下的實驗,證明忽略Thread-Safe Issue時的確會衍生類似的問題。 程式是這樣寫的,Form_Load時建立一個DataTable,並以Symbo欄位l為Primary...
Posted 21 November 2007 08:55 AMJeffrey | with no comments 17,287
Filed under: ,
TIPS-How to write an license agreement dialog?
最近有個需求,要在Windows Form中做出如下的軟體授權同意畫面,使用者必須閱讀完授權書晝面,按下"接受"才可以繼續使用。(會仔細讀軟體授權書的人請舉手! 那個戴眼鏡的胖子,你確定你有? 要誠實哦... 很好,跟我想的一樣,Nobody!) 以下是我這次想出來的寫法,有幾項特色,介紹給還不熟Windows Form的朋友參考: 第一,由於授權書圖文並茂、還有一堆排版設定,我決定用Word將它存成rtf後,再直接用RichTextBox載入,超級省事!! 第二,不想跟著一個rtf檔拖油瓶,我希望能效法綠色軟體一個EXE檔打死...
Posted 06 November 2007 11:00 PMJeffrey | with no comments 4,162
Filed under: ,
KB-UTF8Encoding And BOM
static void TestXMLWriter() { MemoryStream ms = new MemoryStream(); XmlTextWriter xtw = new XmlTextWriter(ms, Encoding.UTF8); xtw.Formatting = Formatting.Indented; XmlDocument xd = new XmlDocument(); xd.LoadXml( "<Group><User>Jeffrey</User><...
Posted 31 October 2007 12:39 AMJeffrey | with no comments 13,105
Filed under: , ,
Artile-Automatic Web Testing, With IEUnit
已經上線運作的網站系統,使用者又提出會動搖國本的核心功能修改需求,此時你會? 1) 警告使用者修改後可能導致家破人亡,然後立即裝忙忘記使用者曾說過什麼? 2) 硬著頭皮改完,苦著一張臉花十八小時把所有相關功能重新測過一次 3) 修改程式後即刻上線,將使用者編制為”虛擬測試團隊”,等著蒐集”虛擬測試員”回報的Bug 測試工作很煩人卻很重要,尤其理論上系統只要經過修改,就應該再做一次完整的系統測試,避免修掉一個Bug又冒出兩個Bug的鳥事。但將所有的網站功能操作做完一輪可能得耗上數小時,誰能有此等耐性在每次修改後都演一次鐵杵磨成繡花針的悲情戲...
Posted 26 October 2007 11:11 AMJeffrey | 24 comment(s) 20,394
Filed under: , ,
Self Test - Value Type vs Reference Type
一個小測驗,請用大腦編譯並執行以下的程式,試著回答Q1-Q7的結果為何? 這個測驗可以檢定你是否對.NET的Value Type與Reference Type已有正確認識。 struct MyStruc { public string Name; public string Data; public MyStruc( string name, string data) { Name = name; Data = data; } public override string ToString() ...
Posted 19 October 2007 07:20 AMJeffrey | 5 comment(s) 10,394
Filed under: ,
更多文章 « 上一頁 - 下一頁 »

搜尋

Go

<May 2017>
SunMonTueWedThuFriSat
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
 
RSS
創用 CC 授權條款
【廣告】
twMVC
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


Syndication