
初學 Python,看到有些範例會有 **kwargs 的用法,一開始不知道其意義,後來才知道它就是所謂的 keyword arguments。
先看下列的程式碼,api_function 就假設是第三方設計的 API,而 func_call_api 則是我們自己維護的 function。

初學 Python,看到有些範例會有 **kwargs 的用法,一開始不知道其意義,後來才知道它就是所謂的 keyword arguments。
先看下列的程式碼,api_function 就假設是第三方設計的 API,而 func_call_api 則是我們自己維護的 function。
只要用過 WCF 或是 ASP.NET,就會發現裡面的 Attribute Class,都會限定使用範圍,例如只能用在 class 上或是 property,其實自訂的 Attribute class 也是可以有相同效果的。
在 Attribute Class 上,只要加入以下這行程式碼:
[AttributeUsage(AttributeTargets.All)]
現今網站規模愈來愈龐大,以一般的手動測試,不但欠缺效率,也很難包含全部的測試範圍。筆者曾經在別的部門幫忙開發網站,而見識到 Selenium 的威力,它可以用程式化的方式來模擬使用者的操作行為,而且也支援許多程式語言。
以下就以 Ruby 來做簡單的示範,首先輸入以下指令來安裝元件:
gem install selenium-webdriver
接下來用它來開啟 Google 首頁:
使用 Caliburn 寫程 Windows Phone App,通常 ViewModel 與 View 是一對一的對應。但對於一些習慣寫網頁的人來說,會覺得 Model 應該要能對應到不同的 View,例如某些頁面,運作的邏輯是相同的,只是因為不同的客製化需求,而需要不同的介面。或者是說,利用 Attribute 來指定對應的 View,而不是透過預設的規則。
在 Caliburn中,是可以透過增加額外的規則來達到前述的目的。首先新增下列 Attribute:
看到標題不要誤會,本篇文章不是要講如何破解軟體序號。
對於想賣軟體營利的人來說,設計一個序號機制是個令人頭大的問題,剛好前陣子看到 SKGL,基本的功能它都有。像是基本的產生序號:
在 Caliburn.Mico 中要設定 User Control 的 view model,有以下兩種方式:
<local:MyUserControl caliburn:Bind.Model="{Binding Model}"/>
<local:MyUserControl caliburn:Bind.Model="CaliburnDemoApp2.MyUserControlViewModel"/>第一種是在 page 的 view model 裡,宣告一個屬性給 User Control,第二兩種是直接指定型別給 User Control。第一種的好處在於可以控制 User Control 的資料,第二種則是讓 page 裡的 view model 跟 User Control 切開關係。
而第一種方式,在產生 User Control 所需的 View Model 時,通常使用下列方法:

前一篇文章提到了如何利用 Caliburn.Micro 做 View 與 View Model 的 binding,但 App 通常不會只有一個頁面,而 Caliburn.Micro 簡化了 Navigation,可以讓程式設計師輕易的做換頁。
在開始介紹之前,先修改 App.xaml.cs 底下 OnLaunched 的程式碼:

在 ASP.NET MVC 中,通常會有對某些 Controller 底下的 Action 做 log 或是過濾 Request 的需求,而 ActionFilter 可以滿足這樣的需求,它是一個 Attribute,實作它之後只要宣告在 Action 上即可。
ActionFilter 有四個 method,分別是 OnActionExecuted、OnActionExecuting、OnResultExecuted、OnResultExecuting,而它的執行順序則是:

在微軟推出 XAML 後,就一直在推行 MVVM,它跟 MVC 的不同除了 Controller 外,就是在 Model 與 View 之間多了一個 View Model。而最近因為工作的關係,接觸到 Caliburn.Micro 這套 Framework。
本篇文章將會介紹如何利用 Caliburn.Micro 建立簡單的 Windows Phone App。首先建立 Windows Phone 8.1 專案後,在 NuGet 上搜尋 Caliburn.Micro 然後安裝它。
專案預設會建立 MainPage.xaml,修改如下:
在之前的文章提到 C# 6.0 的一些新功能,本篇文章將會繼續補充前一篇沒提到的。
Collection Initializer
以往在宣告 Dictionary 物件時,會用到下列語法來加入初始值: