初學 Python,看到有些範例會有 **kwargs 的用法,一開始不知道其意義,後來才知道它就是所謂的 keyword arguments。
先看下列的程式碼,api_function 就假設是第三方設計的 API,而 func_call_api 則是我們自己維護的 function。
卑微研究生 發表在 痞客邦 留言(1) 人氣(6,234)
只要用過 WCF 或是 ASP.NET,就會發現裡面的 Attribute Class,都會限定使用範圍,例如只能用在 class 上或是 property,其實自訂的 Attribute class 也是可以有相同效果的。
在 Attribute Class 上,只要加入以下這行程式碼:
[AttributeUsage(AttributeTargets.All)]
卑微研究生 發表在 痞客邦 留言(0) 人氣(425)
現今網站規模愈來愈龐大,以一般的手動測試,不但欠缺效率,也很難包含全部的測試範圍。筆者曾經在別的部門幫忙開發網站,而見識到 Selenium 的威力,它可以用程式化的方式來模擬使用者的操作行為,而且也支援許多程式語言。 以下就以 Ruby 來做簡單的示範,首先輸入以下指令來安裝元件:
gem install selenium-webdriver
卑微研究生 發表在 痞客邦 留言(0) 人氣(400)
使用 Caliburn 寫程 Windows Phone App,通常 ViewModel 與 View 是一對一的對應。但對於一些習慣寫網頁的人來說,會覺得 Model 應該要能對應到不同的 View,例如某些頁面,運作的邏輯是相同的,只是因為不同的客製化需求,而需要不同的介面。或者是說,利用 Attribute 來指定對應的 View,而不是透過預設的規則。 在 Caliburn中,是可以透過增加額外的規則來達到前述的目的。首先新增下列 Attribute: [AttributeUsage(AttributeTargets.Class, AllowMultiple = true, Inherited = false)]
public class ViewAttribute : Attribute
{
public object Context { get; set; }
public Type ViewType { get; private set; }
public ViewAttribute(Type viewType)
{
ViewType = viewType;
}
}
卑微研究生 發表在 痞客邦 留言(0) 人氣(67)
看到標題不要誤會,本篇文章不是要講如何破解軟體序號。 對於想賣軟體營利的人來說,設計一個序號機制是個令人頭大的問題,剛好前陣子看到 SKGL,基本的功能它都有。像是基本的產生序號: Generate genKey = new Generate();
genKey.secretPhase = "mypassword"; //set your password
string sn = genKey.doKey(30);
Console.WriteLine(sn);
卑微研究生 發表在 痞客邦 留言(0) 人氣(125)
在 Caliburn.Mico 中要設定 User Control 的 view model,有以下兩種方式: <local:MyUserControl caliburn:Bind.Model="{Binding Model}"/>
<local:MyUserControl caliburn:Bind.Model="CaliburnDemoApp2.MyUserControlViewModel"/>
卑微研究生 發表在 痞客邦 留言(0) 人氣(16)
在 Caliburn.Micro 裡,設定 Event 非常方便,本篇文章將列出幾個常用的方法。
首先看看下列的 XAML 檔,當中只有一個按鈕,而且沒有設定 event。
<Page
x:Class="CaliburnDemoApp2.EventTestPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:caliburn="using:Caliburn.Micro"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<StackPanel>
<Button x:Name="TestButton1" Content="Event1"/>
</StackPanel>
</Grid>
</Page>
卑微研究生 發表在 痞客邦 留言(0) 人氣(38)

前一篇文章提到了如何利用 Caliburn.Micro 做 View 與 View Model 的 binding,但 App 通常不會只有一個頁面,而 Caliburn.Micro 簡化了 Navigation,可以讓程式設計師輕易的做換頁。 在開始介紹之前,先修改 App.xaml.cs 底下 OnLaunched 的程式碼: if (e.PreviousExecutionState != ApplicationExecutionState.Running)
{
//DisplayRootViewFor<MainPageViewModel>();
DisplayRootView<MainPage>();
}
卑微研究生 發表在 痞客邦 留言(0) 人氣(57)

在 ASP.NET MVC 中,通常會有對某些 Controller 底下的 Action 做 log 或是過濾 Request 的需求,而 ActionFilter 可以滿足這樣的需求,它是一個 Attribute,實作它之後只要宣告在 Action 上即可。
ActionFilter 有四個 method,分別是 OnActionExecuted、OnActionExecuting、OnResultExecuted、OnResultExecuting,而它的執行順序則是:
卑微研究生 發表在 痞客邦 留言(0) 人氣(565)

在微軟推出 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"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:CaliburnDemoApp2"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:caliburn="using:Caliburn.Micro"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<Button x:Name="MyButton" Content="My Button" Margin="140,288,0,295" />
<TextBlock x:Name="MyTextBlock" HorizontalAlignment="Left" Margin="140,365,0,0" TextWrapping="Wrap" Text="TextBlock" VerticalAlignment="Top" Width="78"/>
</Grid>
</Page>
卑微研究生 發表在 痞客邦 留言(0) 人氣(273)