The Will Will Web

記載著 Will 在網路世界的學習心得與技術分享

ASP.NET MVC 單元測試系列 (1):新手上路 / 開始撰寫!

因為軟體測試越來越重要,而單元測試正是跨出軟體測試重要的第一步,不過軟體測試的學習之路卻異常艱辛,最主要的難處在於沒有人可以討論,不知道什麼是對?什麼是錯?判斷的依據在哪?哪個決定好?哪個決定壞?什麼才是最恰當的?千千萬萬個疑問不知道從何下手?所以我預計寫一系列與 ASP.NET MVC 單元測試的文章,一方面透過寫作的過程幫助自己釐清各種測試的觀念,另一方面也可以跟四面八方開發人員互動,期望能獲得最正確的觀念。

... 繼續閱讀 ...

Windows Vista / Windows 7 無法登入 NAS 或 Samba 的解法

公司裡有台老舊的 NAS 主機,由於作業系統是用 Linux-based 而且用的是很舊版的 Samba 版本,所以只要是 Windows Vita 或 Windows 7 作業系統的機器在不修設定的情況下都無法連接上那台 NAS,你可以看到第一層的分享清單,不過點進去就會一直叫你輸入帳號密碼,而且永遠都不會成功,如果該 NAS 有加入 AD 的話,還會害你的帳號被 AD 鎖定 (因為密碼驗證錯誤太多次),遇到這種狀況就必須修改電腦設定才能正常存取。

... 繼續閱讀 ...

ASP.NET MVC 開發心得分享 (20):與原始碼共舞 ( .NET 4.0 )

由於我們有個專案已經升級至 .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 使用 Wi-Fi 穩定上網的終極攻略

前陣子公司接了個 iPad 的開發案,這是一個為 Johnnie WalkerJohnnie Walker 調和工藝巡禮時刻 活動所設計的案子,其應用會在 2010年台北國際烈酒展 與各大百貨公司或大型購物賣場使用,但開發的過程卻非常不順利,原本以為是我的程式沒寫好,但後來證實 iPad 的 Wi-Fi 連線能力的確有些問題,經過無數測試與驗證之下,我終於找出一個對 iPad 來說最穩定的設定值,也在上線的前一天克服了所有連線問題,真的是有驚無險,這次的經驗實屬難得,因此留下文章記錄造福未來與現在的 iPad 迷。

... 繼續閱讀 ...

如何利用 Thread 類別限定某段程式碼的執行時間

上週我們有個案子發生程式 Hang 住的情況 (就是程式執行到某一行停止不動的情況),程式執行到某個資料庫寫入動作的時間過長導致系統無法正常運作,由於資料庫那端我這邊無法快速修復,且此狀況又是偶發的,因此我就改以多執行緒的運作方式限制程式執行的時間,以免造成系統其他部分的正常運作,算是一個小小的開發技巧。

... 繼續閱讀 ...

jQuery 1.4.2 的 .live() API 在 IE 無法套用 change 事件 - 更正

前幾天提到的 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 )。

... 繼續閱讀 ...

使用 MSDeploy 手動部署網站時如何避免 Web.config 被更新

使用 Web Deployment Tools 工具 ( 又稱 Web Deploy 或 MS Deploy ) 進行網站部署是在簡單不過的事,有興趣的人可以參考 介紹好用工具:Web Deployment Tool 1.0 ( 附心得筆記 ) 文章或 ASP.NET MVC 2 開發實戰 書籍【第11章 安裝部署】的說明,不過若更新網站時希望可以跳過更新一些重要檔案,例如 :Web.config 等,這時就必須加上特別的參數才行,這參數非常特別必須另做筆記才不會忘記。

... 繼續閱讀 ...

Ubuntu / Debian Linux 重新產生 OpenSSH Host Keys 的方法

上週用 Remastersys 安裝壹台預先設定好的主機,但安裝好之後卻發現 OpenSSH Server 完全連不上,一連上就會掛掉 ( 顯示 Connection closed by ip.add.ress 錯誤訊息 ),後來發現原來是安裝在不同主機後的 OpenSSH Host Keys 已經無法使用,所以必須重新產生主機金鑰才能讓遠端透過 OpenSSH 登入。

... 繼續閱讀 ...