每天在噗浪上都會看朋友貼的自由時報新聞連結,其它家的都當娛樂新聞來看,偶爾也嘲笑其它家媒體,我也以為自由時報的記者水準會好一些。不過經過了這次事件,我徹底拒看自由時報: https://www.facebook.com/photo.php?fbid=3461092529222&set=a.1335610193492.2043701.1328208024&type=1&theater 也不用多說啥了,我不想跟自由時報的記者一樣沒水準。
- 7月 04 週三 201222:26
從此不看自由時報
- 6月 30 週六 201212:45
C# Tip - Nullable Types
在 .Net 中, value type與 reference type 有一個很大的差別,就是 value type 並沒有所謂的 null 值,但 reference type 則有。但是在某些情況裡,會需要 value type 的變數也能指定 null 值。一個最經典的例子就是資料庫,資料庫的欄位是可以允許 null 的情況發生,例如電子商務網站的會員資料表裡,有一欄位是會員的年收入,這一欄假設允許會員不填寫,那會員不填寫時該存什麼?存零的話,那在做會員平均收入時就會有誤差,這個時候系統應該存入 null 值。但之後撈取資料時就會有一個問題,假設年收入的資料型態是 integer ,遇到 null 值時就沒辦法表示,如同前面所言,填零的話資料就會失真。 針對這樣的情況,在 C# 2.0 時就加入了 Nullable Types 。 C# 已經邁入 5.0 版,相信這個功能很多人都已經知道,但大部份的人或許不知道 Nullable Types 是如何被實作出來的。 下列的兩行程式碼,在對編譯器而言是一模一樣的。 int? int1 = 1;
Nullable<int> int2 = 1;
Nullable<int> int2 = 1;
- 6月 21 週四 201222:16
天地風雲錄之決戰時刻首映

期待已久的首映,終於來了! 經過九個月的拍攝,決戰時刻總算是殺青了,而六月二十一號也是它的首映。這場首映的戲迷分佈算很廣,幾乎包含老中青三代了,當然大部份是以學生居多,而且還有女高中生(重點誤)。 先說說戲院的設備,感想是超鳥,廳小沒關係,但畫質真的不怎麼樣,音效是還好,但也沒特別優秀就是。再來就是這次的首映內容,看起來應該是將一、二集剪成一個小時,所以劇情會有些連接上的問題,會有種好像有什麼內容被跳過的感覺。但整場看來,真的是相當熱血,光是炎魔幻十郎與史豔文、藏鏡人的打鬥就讓人熱血沸騰,武戲的場景是3D動畫,有把立體感給做出來,木偶動作也相當細緻,看得出來有用心在拍。 整場看下來,其實劇情沒有演到什麼,大略就是開頭幻十郎與史藏兩人的對決、幻十郎對上柳生鬼哭,另外荒野金刀獨眼龍也有出場,跟幽靈魔刀的刀靈小打了一下。最後是片尾,相當感人啊,裡面也埋了一些梗,剩下的大家就等下星期發片吧。
- 6月 14 週四 201222:22
HybridDictionary 筆記

Dictionary 是 .NET 上很常用到的類別,但它有個缺點,就是索引值不存在卻用該索引值去取值,就會發生 Exception 。所以在使用上,都會呼叫 ContainsKey 確認索引值是否存在,但也造成了一些不便。假如在索引值的型別上,確定是使用字串,那 HybridDictionary 會是一個不錯的選擇。 在 MSDN 上有一段敘述: 它利用具有小集合的 ListDictionary 之增強效能,並提供彈性來切換至處理較大集合較 ListDictionary 更好的 Hashtable。
- 6月 02 週六 201212:16
暫時停止更新
換了新工作之後,壓力有比較大,而且剛好碰上公司最忙的時候,估計到八月才會有比較空閒的時間。這段期間應該是不會寫新文章,就算有寫,更新的時間可能會拖得比較長。但也正好可以思考往後文章的題材,因為最近發現文章的品質下降太多,打算花多些時間,把文章的品質顧好。之後文章的方向大致分兩類,一個是LINQ,另一個則是Metro App,當然也打算分享PSV的開發心得,只是這部份還會再評估就是。總而言之,八月份後再見了。
- 5月 30 週三 201222:47
Windows Metro App - HttpClient

Metro App 既然是行動裝置上的程式,當然一定要跟網路結合。現在很多所謂的 Web Service 都是走 http 協定。而在Metro App裡,可以使用HttpClient 來呼叫 Web Service 。 如果讀者在 .NET 上有撰寫過類似的程式,那Metro App上的HttpClient 就會覺得相當熟悉。下圖的程式碼,單純執行 Http 的 Get Request 。 下列為 UI 的程式碼,單純將 Google 首頁的原始碼印出來。
- 5月 20 週日 201216:17
SQL Tip – Using Temp Table
在下 SQL 查詢時,條件式裡所放的值,有時候不會是單一一個,而是好幾個值。例如: select *
from Production.Product
where ProductID in (1,2,3)
有些情況下,括號內的值可能得動態產生,通常可以在裡面寫子查詢,但並不是每次都能用一個子查詢就找出所有的值,或許得經過多次 SQL 查詢,才能把所有需要的值都找出來,這個時候 Temp Table 就很方便。
from Production.Product
where ProductID in (1,2,3)
有些情況下,括號內的值可能得動態產生,通常可以在裡面寫子查詢,但並不是每次都能用一個子查詢就找出所有的值,或許得經過多次 SQL 查詢,才能把所有需要的值都找出來,這個時候 Temp Table 就很方便。
- 4月 22 週日 201223:24
WebRequest Class Introduction
有時候測試 Web Service 或是為了對特定網站做些邪惡的事,通常會使用.NET上的WebRequest 來撰寫測試程式,本篇文章將會介紹如何利用 WebRequest 類別來對網站做 Get 以及 POST 動作。 設定 WebRequest。 WebRequest request = (HttpWebRequest)WebRequest.Create("http://fqdn.com");
request.Method = WebRequestMethods.Http.Get;
request.Headers.Add("Cookie", "cookie value"); //set cookie value
request.Method = WebRequestMethods.Http.Get;
request.Headers.Add("Cookie", "cookie value"); //set cookie value
- 4月 14 週六 201202:51
讓排程工作更加彈性

一般在做大型網站,通常會寫一支程式,固定一段時間就跑一些工作,例如說上架商品或是寄電子郵件之類的。一般而言有些工程師會採取下列作法。 string strArgs = "Task1";
switch(strArgs)
{
case "Task1":
Task1();
break;
case "Task2":
Task2();
break;
case "Task3":
Task3();
break;
}
- 3月 29 週四 201221:33
讓程式自動記錄Exception資訊

當程式遇到Exception時,雖然從Exception物件可以取得堆疊資訊,但由於是字串屬性,所以會一次取得一大串的資訊,對於記錄上有點不方便。幸好.NET提供StackFrame類別,讓程式可以很彈性的處理Exception資訊。 StackFrame物件本身包含數個StackFrame物件,這個物件裡的資訊才是真正要記錄的,下列程式碼是將StackTrace物件的StackFrame資料取出並列印出來,注意迴圈裡跳過元素0,那是因為第0個元素所記錄的是目前所執行的函式,這個並不需要記錄。 下列是測試程式碼,透過前面所撰寫的程式碼,在記錄Exception資訊時只要呼叫一行就好。