[碎碎念] 忽然想來盤點一下這些年來所學習的技能

最近忽然間想來盤點一下這些年來所學習的技能

許多人應該都會在投影片看見小弟的相關技能 (似乎該有個交代)

前言 (來龍)

最近忽然間想來盤點一下這些年來所學習的技能

 

似乎該有個交代​(去脈)

許多人應該都會在投影片看見小弟的相關技能如下:

擅長C#  ASP.NET WebForm 及 ASP.NET MVC、
Windows Form, WFP, WCF 及 OOA/OOD、UML 系統分析設計、軟體開發 Design Pattern 等
Ap Server (Middle-ware) 、分散式相關應用技術

以下說明這些技術從何學來!

1. C#
這是我從 2002 年 10 月 .net 推出之後,就開始用來開發 .NET Windows Form 的程式語言,當時在南軟 (我想就沒必要交代是哪一家公司了,因為這是我私人的事情) 的某公司開發了某電信的 Collection System、與當時其他大大小小的案子均使用 Windows Form

2. ASP.NET WebForm
後來 2004~ 2009 年左右在中山北路某資訊公司開始使用 ASP.NET WebForm 開發流通業大大小小的共 8~9 個案子,當時也參與過 R & D 部門開發公司的 Web Form AJAX 的 Platform,由於當時 MS 的 .net framework 2.0 才剛推出,atlas 的 AJAX Tool 也還在 Beta,公司老闆決定自己來開發一些 WebControls 並結合客戶的 Domain Known-hows 開發符合客戶的樣板,因此,我們我是直接以 JavaScript 使用 XMLHTTP 自己實作 AJAX CallBack 部分,拖拉的控制項就使用 WebControls 繼承原生的 WebControl 來實作,結合引入開發好的 .js 完成必備的一些如:AIDTextBox、DatePicker、MaskControl for 貨架編號/貨號等等、EnhanceDataGrid、RadioButton 等等,也在這時學得 JavaScript 與 AJAX 相關技能。

3. WPF
則是在 2010~2014 的公司參與開發某案子所學習的技能

4. ASP.NET MVC
這也是在  2010~2014 的公司 與 目前任職的集英完成的約 4 個案子所學習到的技能 (MVC 的部分我到 2.0 才開始使用,沒使用過 1.0)

5. WCF
這部分則也是在 2010~2014 的公司於案子中使用所學習到的技能,當時使用 WCF 來取代原本使用 Web Services 來傳輸檔案的應用

下面這一篇是小弟最近替某家軟體公司進行教育訓練而整理的資訊:

WCF 開發實戰系列 (一)

6. OOA/OOD、UML 系統分析設計
UML 的部分就要談到最早 2000 年待的那一家公司了,當時公司正開始導入 Rational Rose 進行 OOA/OOD/OOP 與 MDA 的開發,但當時我還是 PG,不過我得閱讀 SA 與 SD 所撰寫的 SPEC,這些 SPEC  都是 UML 的 Use Case, Sequence Diagram, Class Diagram, Activity Diagram 等製作的,我的 UML 相關基礎是在當時建立起來的,後來在南軟的公司也使用過 Class Diagram,只是不當時的概念還沒這麼強烈,無法從 Use Case => Domain Class Diagram => Sequence Diagram 一路打到底,後來在2010~2014 的公司只要是 SA => SD 我都使用 UML 作為塑模化的工具,實際的揣摩的好幾的案子 2-3 年後,總算打通了使用 UML 可以一路由 SA, SD 分析到底的能力,同時也培養出興趣,以致之後我訪談後都習慣先畫 Use Case

7. Design Pattern
Design Pattern 的部分又可以從2004~ 2009 年左右在中山北路某資訊公司開始說起了,當時主管均要求在 Platform 設計中使用相關的如: Facade、Bridge 等樣式以解決一些問題,後來經由「大話設計模式 Design Pattern」才真正建立起概念,後來也應用在專案與現在集英的 Web API Framework 裡

8. Ap Server (Middle-ware) 
這又要說到在最早 2000 年的那家軟體公司,當時我們使用 Delphi 與 VB6 開發 COM+ 的應用,我們以COM+為主要 Ap Server 提供 Business Logic 與交易相關服務,這是當時我們第一個 Tree Tier 系統,因當時其他手邊使用 Delphi 開發得都還是 Client Server 的,也由於當時對於 Delphi 的 MIDAS 還不夠熟悉,不然如果有使用過 Delphi 的各位應該會好奇 MIDAS 也可以開發 COM+阿,為什麼不使用 MIDAS 呢?好在當時的主管有給我時間瞭解 MIDAS 在幹嘛,以及當時「李維」的 Delphi 系列書籍真的幫我很多,我所有隊於 COM+的瞭解都是在這個時候建立起來的,甚至後來在 2002 年左右還撰寫了關於 MTS 與 COM+的文章,直到後來 2003 到了南軟的公司都還在使用 COM+

而話說,曾經對於 COM+ 與 Windows DNA 分散式相關技術很感興趣的我,現在,讓我最感興趣的就是 Windows Container 與 Docker 容器相關技術了!隨著時間的演變,分散式運算技術也起了變化,因為在以前那個年代,是定義好 Components 彼此之間的通訊協定,然後彼此偕同工作,但這部分是跨機器的,就像當時的 DCOM,DCOM 就是 Distributed COM 分散式的 COM 元件,通訊協定走的是 RPC (Remote Procedure Call) ,但跨機器也就是跨作業系統,所以通訊協定也是由作業系統來提供。而現在 Container 技術中,變成定義好自己的 Container,每個 Container 包含自己的平台與架構、Components 、也可能是一個網站,所以不同平台 Linux 、Windows 也可能彼此溝通,所以通訊協定可由 Container 內自己的平台架構來決定。是不是很有趣呢?

9. 分散式相關應用技術
至於分散式相關技術就可以從我對 COM+的瞭解開始說起了,因為微軟在當時 Windows DNA 非常盛行,這又可以提到 2004~ 2009 年左右在中山北路某資訊公司時,我們的 Middle-Tier (Ap Server) 是使用 .NET Remoting 來實作的,因為當時公司從 2002 年就開始導入 .net 了,且這裡第一代的 Ap Server 也是將 Business Logic 放置在 COM+中這剛好也是我在前一家公司所熟悉的部分,只不過當時客戶的內部 ERP 為了講求效能,所以使用 Windows Form 來開發,而我們使用 .net Remoting 自行來開發 Ap Server 服務來橋接到現有的 COM+,當時也因為工作的關係將 .net remoting 玩得非常熟,只是結果哪知道微軟在 2006-2007 年左右推出了 WPF, WCF, WF, Card Space 這四套 Framework.... 打亂了我們XDDD (題外話~哈哈)

至於為什麼『分散式相關技術』也在這被列為一項?其實這是因為在2004~ 2009 年左右在中山北路某資訊公司時,當時X家公司的 EIP 與 ERP 的 .net remoting 與 COM+ 的環境與架構,當時是使用 4 台 .net remoting 當作 Ap Server 並做 Load Balance,整個環境由我建置及維護、包含程式碼也由我 R&D 所開發 (當時在 R&D 待兩年左右) 因為有些心得 (Windows DNA 的建置等) 所以也列為一項。 

對於分散式相關技術的興趣也在這個時候建立起來了,因為到了 2009 年左右,我正思考如何將  .net remoting 換成 WCF,只因為 .net remoting 似乎被微軟拋棄了..... 唉!技術就是如此...


結語:
說了這個多,目前對於 UML 與 分散式相關應用 我還是有很高的熱誠,即便現在到了 集英,我還是習慣使用 UML 來分析 SA 的部分,對於 WCF 我一直都還有在涉獵一些東西,後來開發 MVC 專案也都開始使用 Entity Framework,也憑著這些相關的知識讓小弟還能夠到企業進行相關的 如:C#, ASP.NET WebForm, MVC, WCF 等內訓 ...Orz  當然,也期許自己能夠更加精進。


 

簽名:

學習是一趟奇妙的旅程

這當中,有辛苦、有心酸、也有成果。有時也會有瓶頸。要能夠繼續勇往直前就必須保有一顆最熱誠的心。

軟體開發之路(FB 社團)https://www.facebook.com/groups/361804473860062/

Gelis 程式設計訓練營(粉絲團)https://www.facebook.com/gelis.dev.learning/


 

如果文章對您有用,幫我點一下讚,或是點一下『我要推薦,這會讓我更有動力的為各位讀者撰寫下一篇文章。

非常謝謝各位的支持與愛護,小弟在此位各位說聲謝謝!!! ^_^