[經驗談] 無招勝有招

Design Patterns 或 MVC 都是用來解決架構與設計上的相關問題,它給你的是方向,但真正實作出來的,其實並不是一定要 "依樣畫葫蘆",只要在設計上有滿足 Design Patterns 或 MVC 的精神:職責分明,並且能解決你要解決的問題領域,就夠了。當你學習夠多的時候,自然而然就會有想法,而且自然會植基於 Patterns 之上來思考。Design Patterns 或 MVC 其實只是教你該如何去思考,是概念上的作法,但實作要靠自己實踐,打出一套能夠滿足 Design Patterns 的精神,並能完成問題解決的拳法,才是王道。

...繼續閱讀 »

[ASP.NET] ASP.NET 5 的 Dependency Injection

ASP.NET 5 正式將 Dependency Injection 的功能植入核心內,以提供開發人員與元件開發商更具彈性的 ASP.NET 5 基礎建設,MVC 6 內也利用了 Dependency Injection 的功能重新設計了 Controller 以及 View 的 Service Injection 能力,而未來 Dependency Injection 還有可能會更深入許多的 API,所以還不知道什麼是 Dependency Injection 的人,可要好好學它一下了。

...繼續閱讀 »

[.NET] Connect(); 的多項宣布:Visual Studio 2015, Visual Studio Community Edition, .NET Open Source, .NET Core Framework, ASP.NET 5

Connect() 研討會在昨晚於 Channel 9 線上開幕,發表了數個 .NET 的未來走向,以及新工具的發表,其中最令人期待的當然就是 Visual Studio 2015,這個代號 VS 14 的新版開發工具,它除了持續性的功能演化外,另一個我們一直在關注的新平台:ASP.NET vNext,正式定名為 ASP.NET 5,這可不是 MVC 5,而是整個平台的版本,而 .NET Framework 本身也分為兩支,一支是原本的 .NET Framework,持續演化並維持與舊版本的相容性,版本號碼為 4.6;另一支則是全新的 .NET Framework,稱為 .NET "Core",這個版本是輕量化的 .NET Framework,所有組件都重新設計,擺脫與 .NET Framework 大多數核心組件的相依性,以作為 Cloud 平台的核心執行引擎,同時它也搭配了 .NET Native 等新一代的執行環境一起釋出,它也是首個正式進軍 Linux 與 Mac 的官方 .NET 平台。

...繼續閱讀 »

[MCP][ADV] 微軟認證考試 85 折優惠活動

MCP 的認證制度最近又開始在變化了,像是以往只有 Prometric 考試中心能考,現在開始在 VUE 也能考了,而且 VUE 將在 2015/1/1 起,成為 MCP 考試的唯一供應商,並且微軟也在和 VUE 合作,準備推出線上閉卷型測驗 (Online Proctored Exam),也就是說,未來或許不必出門,在家就能考試了,但線上閉卷型測驗目前還只能在美國報考,所以美國以外的要再等等...

...繼續閱讀 »

[.NET] 選用介面與抽象類別的原則

這種問題大概也是學 OOP 的人最會問的十大 FAQ 之一,介面和抽象類別都有對其實作者與衍生類別有相當的強制力,因此如果只是要強制實作者必定要實作某些方法或屬性的話,其實這兩種都能用,不過實際上在用時還是有差異的,這些差異要看你的原始目的以及強制力的範圍而定。

...繼續閱讀 »

[Microsoft Azure] Azure RemoteApp: Azure 上的桌面虛擬化工具

桌面虛擬化 (Desktop Virtualization) 是虛擬化的一個分支,它著重的是在將使用者執行環境的虛擬化,讓它可以在本地端電腦資源不足的情況下還能執行應用程式,例如當本地顯示卡 GPU 不夠力時還能玩需要高檔 GPU 才能執行的遊戲,或是在等級低的電腦上執行等級高的應用程式等....

...繼續閱讀 »

[Microsoft Azure] Azure Files: 超自由的網路儲存體

  • 4960
  • 0

這回的 TechEd 2014 NA 在 Azure 上也宣布了不少新功能,除了大家期待很久的 RemoteApp 功能外,另一個令人期待的新功能就是 Azure Storage 提供的新服務:Azure Files,這個服務可以讓雲端上的運算單元 (VM) 透過 net use 的指令,就可以直接存取 storage 內的資料,以往若想要在 storage 內具備這樣的功能,只有透過 Drive (Azure Drive) 的方式,透過程式將 VHD 掛上 VM 才能做得到,或是利用虛擬機器的掛載功能來實現,但是 Azure Files 完全不需要程式介入,只要使用加入網路磁碟的功能 (即 net use),就能將 storage 的一部份掛載成一顆網路硬碟,這個功能大大的提升了 storage 的應用幅度,而且讓不會寫程式的 IT PRO 或使用者能運用他們習慣的 "連線網路磁碟" 的功能,就能使用 storage,也大大提升了 storage 的應用程度。

...繼續閱讀 »

[.NET][vNext] .NET vNext @ 2014

.NET Framework 才剛宣佈 4.5.2 沒多久,隨即在 TechEd 2014 North America 上宣布 .NET Framework 的 vNext 版本,它也是 ASP.NET vNext 的核心,這次的 .NET vNext 倒不會看到在 BCL (Base Class Library) 上有多少改變,倒是為了配合微軟的新策略,大量引進 Open Source 的概念,將原本專屬於微軟的相關技術都開放,並且針對 Device 和 Cloud 的應用情境做專屬的最佳化,讓 .NET 在 Device 和 Cloud 都能獲得最佳表現,同時也讓 .NET 可以跨出 Windows 平台 (之前只有 Mono,微軟希望有更多的平台加入...

...繼續閱讀 »

[ASP.NET][vNext] ASP.NET vNext @ 2014

今年的 TechEd 2014 North America 可真是豐富又紮實啊,除了 Microsoft Azure 多了一堆新東西外,連 .NET Framework 以及 ASP.NET 也宣布了下一個新的未來版本 vNext,.NET Framework 的部份著重在新一代的編譯平台 (Compiler Platform) Roslyn,新一代的機器語言編譯器 .NET Native 以及新一代的即地編譯系統 RyuJIT。而針對 ASP.NET 的部份則是很恐怖的大幅改版,不是針對功能面,而是針對核心面...

...繼續閱讀 »

[.NET][Architecture][Design Patterns] 切面導向設計 (Aspect-Oriented Programming, AOP) 的平台實作 (1) - 概念

切面導向設計是一個很有趣的技術與設計架構,它可以允許開發人員在程式執行時期在方法 (method) 中植入共用的一些操作,而且不需要由開發人員自己加,直接在核心系統中註冊就能得到植入操作的功能,最常見的例子就是記錄 (logging)...

...繼續閱讀 »

[ASP.NET][Security] Covert Redirect Vulnerability

Covert Redirect 是由新加坡南洋科技大學的博士生王靜 (Jing Wang) 所發現的,它是一個在 OAuth 2.0 與 Open ID 驗證之間的一個弱點 (vulnerability),有使用過 OAuth 協定的開發人員應該會有印象,就是 Web 應用要使用 OAuth 2.0 做驗證與授權時,都要給它一個 redirect_uri 的參數,作為接取 code 以作為二次驗證的網址,Covert Redirect 弱點就是利用這個機會來進行攻擊...

...繼續閱讀 »

[碎碎念] 2013 年終盤點

  • 4637
  • 0

今天因為要去跨年,所以先把年終盤點寫一下,記錄一下今年的足跡。不過今年好像都沒做什麼很令人印象深刻的豐功偉業 (汗)...

...繼續閱讀 »

[.NET] 動態語言能力:自製 dynamic 物件 (1): ExpandoObject 物件

dynamic 型別,這個由 C# 4.0 (.NET Framework 4.0) 開始,打開了 C# 這個編譯式語言的動態之路,它的執行時期決議機制,使得開發人員能在只知道它的成員的情況下即可呼叫使用,它是動態語言執行期 (Dynamic Language Runtime, DLR) 的一部份,相對於 CLR (Common Language Runtime) 需要編譯才會產生相關的程式結構,在 DLR 的機制下,程式只在執行期才會解析相關的程式結構,並產生執行器所需要的資訊,而由於 DLR 是在 CLR 之上,使得 DLR 平台可完全相容於 CLR,並且與 CLR-compliant 的平台與程式語言相互使用。

...繼續閱讀 »

[Windows Azure] 於 Visual Studio 2013 上使用 Windows Azure Access Control Service 2.0 服務

Visual Studio 2013 甫於 10/18 正式發行正式版本,且所屬的 Windows Azure SDK for .NET 及 Visual Studio Tools for Windows Azure Platform 2.2 也在隔約四五天後正式發行了,Visual Studio 2013 在 Web 端的重大改變之一就是 ASP.NET 的開發由過去的各自為政整合為單一入口,稱為 “One ASP.NET”,並且導入了一個新的身份識別框架:ASP.NET Identity...

...繼續閱讀 »

[碎碎念] 對技術的原則與堅持

寫程式寫這麼多年了,雖然都是在微軟的平台上奮戰,但使用的技術也不少了,從早期的 VB4, ASP, VB6, Visual C++, .NET Framework 1.x, VB.NET, C#, ADO, ADO.NET, 一直到現在的 ORM, Entity Framework, async/await, ASP.NET MVC, Dependency Injection, AOP, Design Pattern, … 時代一直在進步,技術的演進會持續的上演,這不就是資訊業界 (尤其是軟體開發) 經常會遇到的情況嗎?所以一般來說也見怪不怪...

...繼續閱讀 »