[.NET][OAuth Series] EasyOAuth Library for Web Application

自昨天首發 EasyOAuth Library for Desktop Application 後,今天再進一步發表 EasyOAuth Library for Web Application,這個函式庫可以支援 ASP.NET 與 ASP.NET MVC 應用程式開發支援 OAuth 功能的 Web 應用程式,它一樣可以在少量程式開發的情況下讓 Web 應用程式支援 OAuth 的功能,並且與 EasyOAuth Library for Desktop Application 一樣,可支援 Google, Facebook, Yahoo 與 Twitter 四種內建的 OAuth Service Provider。

...繼續閱讀 »

[.NET][OAuth Series] EasyOAuth Library: 容易使用且可擴充的 OAuth Library

這是筆者的第三個 Codeplex 開放原始碼專案,承繼前面四篇 OAuth Series 文章的說明,EasyOAuth Library 建構於 .NET Framework 之上,並且可以很容易的將 OAuth 的功能套用到自己的 .NET 應用程式中,並且開發人員可以依照 EasyOAuth Library 開放的介面,為非內建的 OAuth Service Provider 開發介面,以在 EasyOAuth Library 中直接使用。

...繼續閱讀 »

[OAuth Series] 撰寫程式,完成 OAuth 驗證與授權,並處理 OAuth 的各式參數

在前一篇文章中,已經大略的介紹過 OAuth 所使用到的各類參數,這些參數的產生與使用將會決定 OAuth 的程序是否順暢,因為在每次針對服務的 private API 呼叫,都會用到 OAuth 的認證標頭訊息,所以怎麼樣產生正確的訊息就是用戶端程式最重要的課題。

...繼續閱讀 »

[SQL Server] 鎖定使用的藝術 (Part 1) - 鎖定控制類型

只要是寫到資料庫存取程式,而且程式又是多人運作 (這裡的多人是指 100 個人以上同時存取) 的環境時,很難不碰到並行處理 (Concurrency Process) 的問題,並行處理在資料庫系統中是一門很重要的學問,因為它一定會出現在商業運轉的環境,而且問題不只是資料庫,像是執行緒的處理也會遇到這樣的問題,所以在並行環境下資料庫都會有一些行動或處理方式,鎖定 (Lock) 就是其中一種。

...繼續閱讀 »

[SQL Server] 游標使用的藝術

在資料庫的設計中,用戶端程式的存取通常會扮演重要的角色,因為用戶端的數量,使用的存取方式,SQL 指令,交易處理等都會影響到資料庫應用程式的效能。我們一般在想定資料庫發生效能問題時,最有可能的幾個因素是 CPU/Memory 以及 I/O 能力,對應到用戶端的程式處理的話,通常就是 SQL 指令,連線開關以及資料的存取方式,這三種通常會具有資料庫效能的決定力。

...繼續閱讀 »

[如何學習寫程式] #9 - 寫程式的人,你不能不會 "資料結構" Part 1

資料結構 (data structure) 是資料的組成方式,資料可以是字串或是二進位資料 (binary data),組成方式則要看不同資料整理的需求,可以是分布在記憶體不同位置,然後用特定方法管理,或是以特別的格式排列組合,以達成有效率管理資料的方式,而一般程式設計人員接觸到最多的是資料結構,因為這會決定你在程式中處理資料的方式,簡單的資料當然可以用很簡單的結構來組織,但是如果在寫程式時不在乎資料結構的話,很容易發生寫出的程式效率低落的問題。

...繼續閱讀 »

[Code隨手寫] 樂透對獎程式兼新年恭賀

適逢虎年除夕,即將邁入兔年的前一刻,台彩宣布百萬中獎的100個號碼,但因為一張一張對真的會眼花,索性花了十來分鐘撰寫了一支小程式,由電腦去做這件事,雖然對的結果 ... 沒中 Orz,但其實寫下去也是蠻有趣的,但會不會再改成真的可以對獎的程式,那就看我想不想做了。順道藉此文恭祝大家新年開運旺旺來,心想事成,萬事如意。

...繼續閱讀 »

[.NET] 產生具有多個值,multipart/form-data 的 HTTP POST 訊息

這個功能是在設計 Facebook Graph API Client Library 時碰到的問題,在 Graph API 中的 Publish_Stream 中有一項上傳相片的功能,這個功能內有一個 message 和 access_token 參數,而原本我們學習的 HTTP 技術本身大多都是沒有混合二進位和字串值的參數,所以當時碰到這個問題時,一時想不到什麼解決方法,後來搜尋到 RFC 2188: Returning Values from Forms: multipart/form-data,這份文件說明了在 HTTP POST 訊息中使用多種格式訊息的作法,它可以用在許多 REST-based API 的系統,它可以混合多種資料格式並一次傳送,當然非文字的資料必須要編碼為二進位字串。

...繼續閱讀 »

[.NET] 使用 HTTP Handler 部署不同作業系統版本的 ActiveX Control

筆者在 ActiveX 控制項開發的封裝部署一文的最後,曾經提到 Windows XP 和 Windows Vista/7 的部署差異,這會讓開發人員需要依照作業系統的不同來撰寫 INF 檔案來自動化安裝,而且還要在網頁中偵測不同的作業系統給予不同的 CAB 檔案,但我們有一些方法來簡化這個部份的處理,讓開發人員可以在不動一行 <object> 宣告下,支援 Windows XP 和 Windows Vista/7 的作業系統環境。其實方法很簡單,只要使用 HTTP Handler 就能做到了。

...繼續閱讀 »

[ASP.NET] ASP.NET 零時差攻擊 &ndash; POET 原理與防禦措施

2010/9/18,由Scott Guthrie在blog上發表的一篇Important: ASP.NET Security Vulnerability的文章,點燃了ASP.NET應用程式的安全防護戰爭,因為受影響的範圍遍及ASP.NET 1.0-4.0所有的應用程式,讓使用ASP.NET開發應用程式的開發人員無一不陷入資訊安全的恐懼之中,在9/18日起的幾天內,許多與ASP.NET技術有關的blog都發出了這個安全性警告,因為這個漏洞在公布的同時,攻擊程式就已經在網路上出現了,這是資安所稱的零時差攻擊(Zero-Attack),零時差攻擊最大的特色就是在系統被修補之前,就有很高的機率被攻擊程式所攻擊(甚至攻陷),因此這個漏洞會在這麼短的時間內受到關注,是有其原因的。

...繼續閱讀 »