︿
Top

2015年1月23日 星期五

C# LINQ: GroupBy


緣起

前一陣子參與的專案裡, 用了不少 LINQ 的語法, 但沒有時間細推其原埋.
其中, 常用到 GroupBy 的語法, 作各群組的 加熜, 平均, 最大值, 最小值, 計數 ... 等.
本文會採用 Query Syntax 及 Method Syntax 並陳的方式, 進行 GroupBy 的說明. 同時, 以 LINQPad 展示其執行結果, 會有助於了解 GroupBy 在作什麼.
註: 關於 Query Syntax, Method Syntax, LINQPad, 可以參考筆者的這篇文章.

完整程式範例, 筆者放在 GitHub, 請由此下載.

C# LINQ: QuerySyntax and Method Syntax with LINQPad

緣起

前一陣子參與的專案裡, 用了不少 LINQ 的語法, 但沒有時間細推其原埋.
MSDN 的官方說法: LINQ 的語法共有 2 種: 一個是 Query Syntax, 一個是 Method Syntax. 本文將作淺顯的說明.
另外, 亦將介紹一個工具 LINQPad 的工具, 在您還不是很熟悉 Method Syntax 的時候, 可以協助將 Query Syntax 轉為對應的 Method Syntax.

完整程式範例, 筆者放在 GitHub, 請由此下載.

2015年1月18日 星期日

Oracle PL/SQL Dependency Injection for loose coupling


緣起


幾個月前, 有看到一篇針對 Oracle PL/SQL 進行重構的文章, 改用類似 Dependency Injection 的方式來進行設計, 直到最近才有時間撰寫網誌, 留下記錄.

該作者主要有2篇文章, 筆者在參考文件, 作了一些摘要說明. 真的很難想像 Oracle PL/SQL 可以實作一些 Design Pattern.

以下內容, 係筆者依目前工作上接觸到的產業進行情境設計.

完整程式範例, 筆者放在 GitHub, 請由此下載.



2015年1月17日 星期六

C# yield

緣起

接續 前一篇 對 IEnumerator 及 IEnumerable 的探討, 及進一步 Study, 可以發現, .NET Framework 的集合物件都有實作 IEnumerable (非泛型) 或 IEnumerable<T> (泛型),
故若要產生一個物件集合, 供外部逐一取出元素, 直接利用現成的泛型類別 (ex: List<T>, Dictionary<T>) 產生之後, 回傳給呼叫端; 再由呼叫端用 foreach 逐一讀取, 這是很直覺的寫法.
但有沒有更方便的方式呢? 在某些情境下, 或許可以用 yield 這個 Syntactic Sugar.

完整程式範例, 筆者放在 GitHub, 請由此下載.

C# IEnumerable, IEnumerator, IQueryable

緣起

最近在 Study 一些 C# 的議題, 為避免忘記, 所以留下一些摘要記錄; 以下文章大部份係摘自 C# 5.0 in a Nutshell, 5th Edition 的第4章 "Advanced C#" 裡的 Enumeration and Iterators 說明.

完整程式範例, 筆者放在 GitHub, 請由此下載.


2014年8月29日 星期五

Selenium IDE: the Google Search sample not working with time out error ?


緣起

最近參加與 TDD 相關的一門課程, 其中在 Web Test 的部份, 採用 Selenium IDE, 這是一套 Firefox 的 plug-in, 但是它所產生的 script, 就不是只能在 Firefox 上執行, 可以針對不同語言的 Test Framework 匯出不同的 script, 例如: C# / NUnit / WebDriver, C# / NUnit / RemoteControl.

參考一些網誌, 大部份都用 Google Search 作開場, 但經實測發現, 並無法如\順利運作 ...

由於對 Selenium IDE 的操作很不熟悉, 所以將課後練習的部份, 留下記錄, 避免以後忘記..


2014年8月25日 星期一

Sublime Text 3 操作 與 Emmet 套件安裝及使用


緣起

最近參加了一門課程: 網頁實戰入門 (HTML + CSS); 想體驗一下前端版面開發者的流程.
發現前端版面開發者常用的工具 (Sublime Text), 與傳統工程師的工具 (Visual Studio) 著實有很大的不同; 由於對 Sublime Text 實在很不熟悉, 故第一天課後就趁著還有一點記憶的狀況下, 把東西記下來, 以免日後忘記.