The Will Will Web

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

IE9 新功能探索:網頁釘選(Pinning)與捷徑清單(Jump Lists)

IE9 來了,這次在外觀與效能方面都有很大的改變,其中一個有趣的功能就是 IE9 的網頁釘選能力,也就是可以讓使用者將你網站的任一頁釘選到 Windows 7 的工作列上,而且還能讓網頁開發人員設定網頁釘選到工作列的名稱、捷徑清單與自訂圖示等,非常有趣。

... 繼續閱讀 ...

ASP.NET 發現重大資安弱點影響範圍涵蓋 ASP.NET 1.0 ~ 4.0

幾天前有兩位資安研究員 (Thai Duong and Juliano Rizzo) 發現了一個 ASP.NET 的資安弱點,主要的點出在 .NET 實做 AES 加解密演算法的問題,駭客透過這個弱點即可在短時間內猜出你網站的加密金鑰進而入侵你的網站系統,在 ASP.NET 裡使用到加解密的地方非常多,像是 Forms Authentication 與 ViewState 都是非常常見的功能,加密金鑰 (MachineKey) 被猜到之後就可以讓駭客用任意身份使用你的網站或任意竄改 ViewState 中的狀態資訊,嚴重性非同小可,各位一定要即時因應。

... 繼續閱讀 ...

ASP.NET MVC 單元測試系列 (5):瞭解 Stub 假物件

前天的文章我介紹了 Mock 假物件 (Fake Object),今天要講另一種假物件稱為 Stub 假物件,這種假物件目的與用途都跟 Mock 非常相近,總之就是為了讓單元測試程式可以順利執行而生的一種開發方式,這兩種假物件類型在單元測試的領域都非常重要,而且各有各的存在必要性,在日後單元測試的日子裡都會經常用到這兩個東西。

... 繼續閱讀 ...

ASP.NET MVC 單元測試系列 (4):單元測試的目的與價值

透過前三篇的系列文章,不知道初學者能不能上手開發單元測試,畢竟這對許多人來說是個新玩意,不只是單元測試是新的,可能許多人連 ASP.NET MVC 都沒玩過,那就更難跟上了,不過只要有心,人人都可以當大師 (靈感來自於周星馳經典台詞之食神)。若你開發的是 ASP.NET MVC Web 應用程式,到底單元測試要測試些什麼?可以測試些什麼?測試的範圍又是多少呢?

... 繼續閱讀 ...

ASP.NET MVC 單元測試系列 (3):瞭解 Mock 假物件 ( moq )

我們在上一篇已經得知「可測試性」的思考方向,在本篇文章我們將利用 Mocking 技術強化之前修改過的測試程式,讓我們的單元測試程式可以完全脫離「外部資源」的魔掌 (在此範例是指資料庫連線),我們將使用 moq 工具函式庫協助我們的測試程式更容易、更快速的撰寫,至於 moq 的安裝可參考 moq 官網或 ASP.NET MVC 2 開發實戰 一書【12-3-7 利用Mock假物件完成單元測試】章節的說明 ( P.398 )。

... 繼續閱讀 ...

ASP.NET MVC 單元測試系列 (2):可測試性 (Testability)

為什麼人家說 ASP.NET MVC 的可測試性很高?這是真的嗎?為什麼實際在寫 ASP.NET MVC 單元測試的時候卻綁手綁腳的,很多時候連怎麼開始寫測試程式都摸不著頭緒。由於 Web 環境下能開發的功能很多,程式碼的多樣性也很大,有時後複雜度也很高,寫出能動的程式已經不容易了,所以以往總是用隨心所欲的方式開發,不過現在不能這樣寫了,為了讓開發過程中都能不斷的撰寫單元測試,有時後你必須妥協,寫程式的時候要時時刻刻想到你寫的這行程式碼需要被測試,所以你要套用一些 設計樣式 (Design Pattern) 來撰寫程式,好讓你未來撰寫測試的日子更加好過。

... 繼續閱讀 ...

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 網站成功執行。

... 繼續閱讀 ...