為什麼人家說 ASP.NET MVC 的可測試性很高?這是真的嗎?為什麼實際在寫 ASP.NET MVC 單元測試的時候卻綁手綁腳的,很多時候連怎麼開始寫測試程式都摸不著頭緒。由於 Web 環境下能開發的功能很多,程式碼的多樣性也很大,有時後複雜度也很高,寫出能動的程式已經不容易了,所以以往總是用隨心所欲的方式開發,不過現在不能這樣寫了,為了讓開發過程中都能不斷的撰寫單元測試,有時後你必須妥協,寫程式的時候要時時刻刻想到你寫的這行程式碼需要被測試,所以你要套用一些 設計樣式 (Design Pattern) 來撰寫程式,好讓你未來撰寫測試的日子更加好過。
... 繼續閱讀 ...
因為軟體測試越來越重要,而單元測試正是跨出軟體測試重要的第一步,不過軟體測試的學習之路卻異常艱辛,最主要的難處在於沒有人可以討論,不知道什麼是對?什麼是錯?判斷的依據在哪?哪個決定好?哪個決定壞?什麼才是最恰當的?千千萬萬個疑問不知道從何下手?所以我預計寫一系列與 ASP.NET MVC 單元測試的文章,一方面透過寫作的過程幫助自己釐清各種測試的觀念,另一方面也可以跟四面八方開發人員互動,期望能獲得最正確的觀念。
... 繼續閱讀 ...
公司裡有台老舊的 NAS 主機,由於作業系統是用 Linux-based 而且用的是很舊版的 Samba 版本,所以只要是 Windows Vita 或 Windows 7 作業系統的機器在不修設定的情況下都無法連接上那台 NAS,你可以看到第一層的分享清單,不過點進去就會一直叫你輸入帳號密碼,而且永遠都不會成功,如果該 NAS 有加入 AD 的話,還會害你的帳號被 AD 鎖定 (因為密碼驗證錯誤太多次),遇到這種狀況就必須修改電腦設定才能正常存取。
... 繼續閱讀 ...
由於我們有個專案已經升級至 .NET 4.0,而我希望在開發時期要將 ASP.NET MVC 2.0 RTM 原始碼連同原專案一起開發,其實在不更動 System.Web.Mvc 專案的目標 Framework 為 3.5 的情況下是可以正常運作的,不過若像我們遇到一些比較特殊的情況可能會希望連 System.Web.Mvc 專案的目標 Framework 一併升級到 .NET 4.0,雖然升級後可以正常編譯,但是卻會在執行時期發生錯誤,以至於根本無法進行除錯,這時就必須動點小手腳才能讓 ASP.NET MVC 網站成功執行。
... 繼續閱讀 ...
前陣子公司接了個 iPad 的開發案,這是一個為 Johnnie Walker 的 Johnnie Walker 調和工藝巡禮時刻 活動所設計的案子,其應用會在 2010年台北國際烈酒展 與各大百貨公司或大型購物賣場使用,但開發的過程卻非常不順利,原本以為是我的程式沒寫好,但後來證實 iPad 的 Wi-Fi 連線能力的確有些問題,經過無數測試與驗證之下,我終於找出一個對 iPad 來說最穩定的設定值,也在上線的前一天克服了所有連線問題,真的是有驚無險,這次的經驗實屬難得,因此留下文章記錄造福未來與現在的 iPad 迷。
... 繼續閱讀 ...
上週我們有個案子發生程式 Hang 住的情況 (就是程式執行到某一行停止不動的情況),程式執行到某個資料庫寫入動作的時間過長導致系統無法正常運作,由於資料庫那端我這邊無法快速修復,且此狀況又是偶發的,因此我就改以多執行緒的運作方式限制程式執行的時間,以免造成系統其他部分的正常運作,算是一個小小的開發技巧。
... 繼續閱讀 ...
前幾天提到的 jQuery 1.4.2 的 .live() API 在 IE 無法套用 change 事件 問題我今天又再次研究了一遍,發現 .live() 的 change 事件在 IE 其實還是可以用的,只是有個非常奇怪的注意事項,雖然上次的方法也可以解決問題,但我還是覺得很納悶想試圖找出根本原因(root cause),今天分析了好幾個小時依然無法確診,我研判可能是因為 jQuery 在程式中用到一些變數引發 Side Effect 而導致此問題。不過,既然無法確診,但我至少能確定如何引發這個 Bug,因此寫了一個簡單的 Bug 驗證程式,我堅信這是 jQuery 1.4.2 的 Bugs,因此也主動回報給 jQuery 開發團隊了 ( Ticket #7002 )。
... 繼續閱讀 ...
要在 IIS 6.0 下安裝一個測試用的 SSL 憑證使用內建的工具可以說是非常麻煩的,不過 IIS 6.0 Resource Kit Tools 裡面有個 SelfSSL 工具可以非常快速且方便的幫你建立站台的 SSL 金鑰,並且直接將站台所有 SSL 相關設定都處理好,對於要進行 SSL 的安裝與測試來說非常的方便。
... 繼續閱讀 ...
使用 Web Deployment Tools 工具 ( 又稱 Web Deploy 或 MS Deploy ) 進行網站部署是在簡單不過的事,有興趣的人可以參考 介紹好用工具:Web Deployment Tool 1.0 ( 附心得筆記 ) 文章或 ASP.NET MVC 2 開發實戰 書籍【第11章 安裝部署】的說明,不過若更新網站時希望可以跳過更新一些重要檔案,例如 :Web.config 等,這時就必須加上特別的參數才行,這參數非常特別必須另做筆記才不會忘記。
... 繼續閱讀 ...