[Surface][簡易開箱文] Microsoft Surface PRO 平板電腦 (128GB Version)

Microsoft Surface 在去年上市以後,一直只有 RT 版本,$499 美元的價格著實便宜啊,感覺上是針對 iPad 和 Android 平板來的產品,Windows RT 本身是以 ARM 處理器為主的作業系統,雖然它和 Windows 8 的桌上型作業系統外表差不多,但是它只能使用 Windows Store 上的應用程式,包含 Office Home/Student Edition 也是免費附上去的,要執行像 Visual Studio 這樣的開發工具是不可能的,畢竟 ARM 和 Intel x86 系統無法相容,傳統的應用程式根本無法在 Windows RT 上執行,所以即便它那麼便宜,我還是無法下手...

...繼續閱讀 »

[Windows Azure][IT鐵人賽系列] Day 18 - Windows Azure Diagnostics Services

開發雲端應用程式的思維可不能像平常開發應用程式一樣,我們每天在開發應用程式時,都能運用除錯器來偵錯,或是調台近端的主機上傳測試用,或是公司自己有自動化測試的機制,然而當應用程式上了雲端環境後,這些習慣幾乎通通不能用了,原因很簡單,雲端應用程式執行的地方可能是離你幾千公里外的公有雲機房,我們不可能在機房內掛除錯器偵錯,就算要上傳也要幾經思量(要錢),但是我們又希望能夠記錄或測量應用程式的執行細節,這時我們能夠用的,就是Windows Azure Platform本身的診斷服務(Diagnostics Service)。

...繼續閱讀 »

[Security] 判別式存取控制表 (Discretionary Access Control List) 實作:階段 2,誰能存取,我決定。

我們在階段 1 中已經完成了最基本的 DACL 資料結構,能針對簡單的 CRUD 權限做控制,但一般來說權限設定沒那麼簡單 (尤其是複雜度高又講求安全的系統),很多程式或系統有時無法只單純用 CRUD 就可以解決...

...繼續閱讀 »

[Security] 判別式存取控制表 (Discretionary Access Control List) 實作:旗標的概念

在前一篇文章中,我簡單的說明了 DACL 的資料結構組成,以及簡單的存取方法,如果資料長度愈長的話,可以設定的權限就愈多,也可以有更多的組合,但資料量仍然可以控制在很小的長度,這是因為在 DACL 中,每個權限都是一個旗標值 (flag),而一個 bit 就代表一個旗標,所以 bit 多的話旗標就愈多,一個 byte 可以容納 8 個 bits,也就是可以有 8 種旗標,之所以會選擇位元來作為旗標,是因為 bit 的值不是 0 就是 1,單純有力。

...繼續閱讀 »

[Security] 判別式存取控制表 (Discretionary Access Control List) 實作:原型概念

判別式存取控制表 Discretionary Access Control List (DACL),這個自由度頗高的存取控制方法,在 Windows 以及其他作業系統中已行之有年,它最大的特色就是使用者和群組可以擁有自己的存取控制設定,而系統物件也可以擁有自己的存取控制項目,也就是說系統物件不會只有 CRUD 四種權限,還可以因為物件的特性而定義額外的權限,例如存取詮釋資料 (metadata), 列印 (printing) 或是下載檔案 (download) 等權限,discretionary 這個字有 "任意的","無條件的" 的意思,而 DACL 也是讓消費者和生產者可以擁有自己的權限設定,只需要在存取時進行檢查即可。

...繼續閱讀 »

[.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 的系統,它可以混合多種資料格式並一次傳送,當然非文字的資料必須要編碼為二進位字串。

...繼續閱讀 »