SONY DSC



初學 Python,看到有些範例會有 **kwargs 的用法,一開始不知道其意義,後來才知道它就是所謂的 keyword arguments。

先看下列的程式碼,api_function 就假設是第三方設計的 API,而 func_call_api 則是我們自己維護的 function。

卑微研究生 發表在 痞客邦 留言(1) 人氣()

只要用過 WCF 或是 ASP.NET,就會發現裡面的 Attribute Class,都會限定使用範圍,例如只能用在 class 上或是 property,其實自訂的 Attribute class 也是可以有相同效果的。

在 Attribute Class 上,只要加入以下這行程式碼:

[AttributeUsage(AttributeTargets.All)]

卑微研究生 發表在 痞客邦 留言(0) 人氣()

現今網站規模愈來愈龐大,以一般的手動測試,不但欠缺效率,也很難包含全部的測試範圍。筆者曾經在別的部門幫忙開發網站,而見識到 Selenium 的威力,它可以用程式化的方式來模擬使用者的操作行為,而且也支援許多程式語言。

以下就以 Ruby 來做簡單的示範,首先輸入以下指令來安裝元件:

gem install selenium-webdriver

接下來用它來開啟 Google 首頁:

卑微研究生 發表在 痞客邦 留言(0) 人氣()

使用 Caliburn 寫程 Windows Phone App,通常 ViewModel 與 View 是一對一的對應。但對於一些習慣寫網頁的人來說,會覺得 Model 應該要能對應到不同的 View,例如某些頁面,運作的邏輯是相同的,只是因為不同的客製化需求,而需要不同的介面。或者是說,利用 Attribute 來指定對應的 View,而不是透過預設的規則。

在 Caliburn中,是可以透過增加額外的規則來達到前述的目的。首先新增下列 Attribute:

[AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public class ViewAttribute : Attribute
{

卑微研究生 發表在 痞客邦 留言(0) 人氣()

看到標題不要誤會,本篇文章不是要講如何破解軟體序號。

對於想賣軟體營利的人來說,設計一個序號機制是個令人頭大的問題,剛好前陣子看到 SKGL,基本的功能它都有。像是基本的產生序號:

Generate genKey = new Generate();
genKey.secretPhase = "mypassword"; //set your password
string sn = genKey.doKey(30);

卑微研究生 發表在 痞客邦 留言(0) 人氣()

在 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 時,通常使用下列方法:

卑微研究生 發表在 痞客邦 留言(0) 人氣()

在 Caliburn.Micro 裡,設定 Event 非常方便,本篇文章將列出幾個常用的方法。

首先看看下列的 XAML 檔,當中只有一個按鈕,而且沒有設定 event。

卑微研究生 發表在 痞客邦 留言(0) 人氣()

SONY DSC

前一篇文章提到了如何利用 Caliburn.Micro 做 View 與 View Model 的 binding,但 App 通常不會只有一個頁面,而 Caliburn.Micro 簡化了 Navigation,可以讓程式設計師輕易的做換頁。

在開始介紹之前,先修改 App.xaml.cs 底下 OnLaunched 的程式碼:

if (e.PreviousExecutionState != ApplicationExecutionState.Running)
{
//DisplayRootViewFor<MainPageViewModel>();

卑微研究生 發表在 痞客邦 留言(0) 人氣()

SONY DSC

在 ASP.NET MVC 中,通常會有對某些 Controller 底下的 Action 做 log 或是過濾 Request 的需求,而 ActionFilter 可以滿足這樣的需求,它是一個 Attribute,實作它之後只要宣告在 Action 上即可。

ActionFilter 有四個 method,分別是 OnActionExecuted、OnActionExecuting、OnResultExecuted、OnResultExecuting,而它的執行順序則是:

  1. OnActionExecuting

  2. Controller's action

  3. OnActionExecuted

卑微研究生 發表在 痞客邦 留言(0) 人氣()

SONY DSC

在微軟推出 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,修改如下:

<Page
x:Class="CaliburnDemoApp2.MainPage"

卑微研究生 發表在 痞客邦 留言(0) 人氣()

在之前的文章提到 C# 6.0 的一些新功能,本篇文章將會繼續補充前一篇沒提到的。

Collection Initializer

以往在宣告 Dictionary 物件時,會用到下列語法來加入初始值:

Dictionary<string, string> dic = new Dictionary<string, string>
{

卑微研究生 發表在 痞客邦 留言(0) 人氣()

在 .Net 平台上,大多數的工程師都會選擇 Json.NET 來處理 JSON 資料,而我發現 Jil 這套在使用上更方便,官方也宣稱 Jil 的處理速度更快。

首先,來看看這個簡單的例子:

TestClass t1 = new TestClass { Field1 = "f1", Field2 = "f2" };
string t1Json = JSON.Serialize<TestClass>(t1);

看起來跟 Json.NET 沒什麼不同,但我覺得方便的地方在於它支援 Dynamic 語法:

卑微研究生 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。