2011年12月30日 星期五

使用Code Snippet 增加寫程式效率並使用Snippet Editor做管理


其實在以前還沒有使用 LINQ to SQL 或是 ADO.NET Entity Framework 於專案開發的時候,就已經會使用 Code Snippet 來讓寫程式的速度加快,w因為資料存取層或是商業邏輯層的 CRUD(Create, Read, Update, Delete)會有很多程式是結構雷同的,而只有細節的地方有些變化,畢竟有些程式無法從程式中去抽離出來做為獨立方法或是元件,所以會把這些結構雷同的程式給抽出來做成 Code Snippet,w如此一來在寫程式的時候就可以直接使用 Code Snippet 來減少輸入程式的時間,二來也可以讓程式結構達到一致性。

 


2011年12月29日 星期四

Enterprise Library DAAB + Oracle:Provider 使用 ODP.NET


一般來說專案的資料庫如果是使用 Oracle,大部分的狀況下存取資料庫都會是使用 System.Data.OracleClient,但是在兩年多前微軟就已經宣布 System.Data.OracleClient 在 .NET 4.0 雖然還會支援這個型別,但是在未來的 .NET Framework 版本將會移除,在 .NET 4.0 之中會被標記為「Deprecated (已過時的)」

MSDN Blogs – ADO.NET team blog : System.Data.OracleClient Update

http://blogs.msdn.com/b/adonet/archive/2009/06/15/system-data-oracleclient-update.aspx

黑暗執行緒 - System.Data.OracleClient將走入歷史

http://blog.darkthread.net/post-2010-05-14-bye-ado-net-oracleclient.aspx

雖然說現階段還是可以繼續使用 System.Data.OracleClient 於專案中而且編譯也沒有問題,但是就如黑暗大所說的,還是改用 Oracle 官方所提供的「ODP.NET from Oracle」,早期 Enterprise Library DataAccess Application Block (DAAB) 並無支援使用 ODP.NET,一直到了 EntLib 4.1 之後才有支援使用 ODP.NET,接下來本篇將會說明如何讓 Enterprise Library 5.0 DAAB 使用 ODP.NET 的設定方式。

2011年12月26日 星期一

各主要瀏覽器的開發者工具( Developer Tool ) Part.4 - WebKit


經過前篇介紹Firefox, IE, Opera瀏覽器的開發者工具後,接下來的這一篇將要一起介紹兩個瀏覽器:

Google Chrome, Safari

為什麼要把這兩個瀏覽器給擺在同一篇來做介紹呢?一定有人會有這樣的疑問,

簡單說,這兩種瀏覽器的核心都是用同一種引擎「WebKit」,雖然都是用同一種引擎但還是有不同的地方。

image

2011年12月24日 星期六

各主要瀏覽器的開發者工具( Developer Tool ) Part.3 - Opera


前面介紹過Firefox與IE的開發者工具後,接下來介紹另一個比較少人會使用的瀏覽器「Opera」,

雖然說Opera列名在五個主要的瀏覽器中,但Opera卻是最少人使用的一個,

其實Opera的執行速度與其他效能的表現上卻是一點也不遜色,比起其他比較多人使用的瀏覽器更是相當出色。

接下來這一篇就簡單的介紹Opera的開發者工具。

2011年12月22日 星期四

各主要瀏覽器的開發者工具( Developer Tool ) Part.2 - IE


前一篇「各主要瀏覽器的開發者工具( Developer Tool ) Part.1」主要介紹的是Firefox的開發者工具,

而接下來的這篇將會簡單介紹 IE 瀏覽器 的使用者開發工具。

image

各主要瀏覽器的開發者工具( Developer Tool ) Part.1 - Firefox


小弟從事網站程式的開發已有一段時間,前些年的網站技術並沒有太多AJAX的技術,

而且前端的程式也多半被認為只是拿來做效果或是搞花樣的不起眼小東西,

那時候前端的JavaScript程式最常拿來做什麼…跑馬燈、訊息提示、多層下啦選單、螢幕效果等,

了不起更進階就會使用到網頁表單上的輸入檢查、金額數量計算,

然而網站開發時至今日,所謂的網站程式設計已經不單純只是Server端程式而已,也包含了前端的JavaScript程式。

 

現在越來越多人採用ASP.NET MVC技術來開發網站,就會大量的使用到前端的JavaScript程式設計,

非.NET技術的開發人員或許會覺得這沒有什麼好稀奇的,但 .NET領域的開發人員大部分仍舊採用ASP.NET WebForm,

這一部分的開發人員很多人對於AJAX的想法與觀念就純粹就只是把一堆伺服器控制項丟到UpdatePanel中,

更進階的開發人員會再去細分一個頁面會去拆成多個部分去放置多個UpdatePanel,

但是大量使用UpdatePanel的情況下,是這些ASP.NET WebForm開發人員還是對於前端程式還是無法掌握與進一步應用,

因為ASP.NET WebForm的PostBack機制與與網頁生命週期的難以捉摸,前端JavaScript終究還是被大多人視為「做效果」。

 

上個專案是採用ASP.NET MVC來開發,前端的jQuery程式的應用就相當的多,其程式行數量與複雜度就與後端程式相當,

專案團隊的成員有四分之三的人不熟悉jQuery的操作,因為對於jQuery不熟悉也就對於如何去使用工具偵錯就更不得而知,

有個成員對於前端程式的偵錯就是直接使用 alert() 的方式,讓前端程式執行時再把要追蹤偵錯的訊息給 alert 出來,

這樣的作法相信很多人直到現在還是這樣做(而且樂此不疲?!),這樣的做法也是可以啦……

但是要偵錯時就要出現一堆的 alert 然後再一次又一次的按下 alert 的確定按鍵讓視窗消失後再進行下一個 alert ……

而直到現在一定還有一堆人都不知道 IE 瀏覽器有開發者工具可以幫助更方便的做這些前端的偵錯工作。

 

我必須說,懂得掌握工具的使用就能更有效率的進行開發,所以就整理了一下目前五個主要瀏覽器的開發者工具,

Firefox、IE、Chrome、Safari、Opera

image

介紹這些瀏覽器的開發者工具要怎麼把它們從瀏覽器中叫出來,並且簡單介紹如何的使用。

2011年12月18日 星期日

使用Lazy<T> … 在非ORM專案(Oracle)的應用


現在很多專案都已經使用Linq to SQL 或是 ADO.NET Entity Framework或者是其他的ORM Framework來做為專案中物件與資料存取對應的Solution,

就單純的以.NET Framework所推出的Linq to SQL 與ADO.NET Entity Framework來說,在資料庫中將各個Table的關連性給定義好之後,

到了程式設計階段時,使用工具產生Linq to SQL或是EF的定義模型時就會一併定義對應物件的關聯性,

這樣一來有關連的物件就可以取得其關連物件的物件集合,而且這個關連物件集合讀取就是以延遲載入的方式來使用。

2011年12月13日 星期二

ASP.NET MVC 3 使用 CKEditor

以往在開發 ASP.NET WebForm 專案時,如果專案需求是有編輯 HTML 圖文資料時,大多都會選擇使用 FCKEditor,FCKEditor 是個相當不錯的 HTML 編輯器,能夠符合許多情境的需求,然而 FCKEditor 的開發已經停止,轉而開發 CKEditor,CKEditor 是將原本的 FCKEditor 給全部重新寫過,雖然大致上的設定還是與原本的FCKEditor 相去不遠,但卻有著很大的不同,我在 ASP.NET MVC 3 專案上還沒有對 CKEditor 做過整合,所以此次就練習在 ASP.NET MVC 3 專案上整合 CKEditor 的功能,使用 NuGet 來取得 CKEditor,並且試著用不同的方式在前端與後端的傳值上做些不同的變化。

2011年12月3日 星期六

前端處理JSON資料與陣列 - 使用 LINQ to JavaScript (2)


之前我們介紹了 LINQ to JavaScript (JSLINQ)的基本使用方式,而我們所下載的JSLINQ是2009年所發佈的版本,

在JSLINQ的Codeplex的網站上作者所簽入Source Code離最近一次的日期是 2010-11-13,

image

所以我們就來使用這Source Code裡最新版本的函式庫,新版本的函式庫中有新增了幾個function,

而我們就來看看這些新的function以及進行幾個進階操作。

 

簡述 Oracle + Enterprise Library 5.0 Data Access Application Block 的操作


接觸並且使用 Enterprise Library (以下簡稱為 EntLib )在專案中開發已經有很長一段時間了,在 Linq to SQL, ADO.NET Entity Framework 出現之前的對資料庫存取都會使用 EntLib 的 Data Access Application Block (DAAB),而不是使用既有的 ADO.NET 操作,使用 DAAB 除了可以讓程式碼撰寫的行數減少一些之外,DAAB 對於 ADO.NET的操作也做了優化,所以使用 DAAB 做資料存取的動作是會比使用原生 ADO.NET 操作方式來得方便,但是不要認為說使用DAAB就可以不用管ADO.NET囉!因為DAAB的內容都還是繞著ADO.NET操作上打轉,DAAB把我們在使用ADO.NET操作的方法都做了包裝。

原本打算要寫一系列有關 Enterprise Library 的文章,但是一直沒有時間好好的規劃撰寫的方向與架構,而且這兩三年來在專案開發上也都是使用 Linq To SQL 或是 ADO.NET Entity Framework 來做為資料存取的 solution,以致於很少有機會再去接觸以及使用 EntLib ……

而最近一個專案的關係,讓我又重拾 EntLib 的使用,因為這個專案使用的是 Oracle 資料庫,原本打算使用 ODAC for Entity Framework,但是……客戶的技術思維還停留在 .NET 2.0 的時代,不要說什麼是 ORM,連什麼叫做LINQ都不知道了,客戶為了日後他們自己維護的方便,所以堅持使用傳統的ADO.NET方式來做為資料存取的解決方案,也就是因為這樣讓我決定使用 EntLib 的 DAAB 來操作對 Oracle 資料庫的存取。


提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。