精通 Git 版本控管:從入門到進階
◎ 課程簡介
坊間已經充斥著大量的 Git 教學文章,為什麼我的 Git 還是學不好呢?這個問題,有可能是出在沒有人可以帶你正確的學習 Git 版本控管。有時候一個簡單 git merge 命令,就足以讓你手足無措。有時候一個 git status 訊息,就可以讓你起死回生。當身邊沒有人可以帶你上手,或是前輩的說明怎樣都聽不懂時,這堂課程就是為你而準備的。
本課程將試著透過精心設計的學習步驟,以及鉅細靡遺的示範教學,帶你一步一步精通 Git 版本控管,讓你面對各種版控情境不再擔心害怕,遇到合併衝突也能游刃有餘的妥善處置。更棒的是,在學習的過程中,可隨時在討論區中提問,老師與同學都會一同解答大家的疑問,幫助大家解決真實世界的各種難題。
本課程的上課方式為預錄影片,在 Udemy 上會提供討論區讓大家提問,課程網址:https://www.udemy.com/git-newbie/
◎ 課程主題
- 課程簡介
- 快速上手
- 為什麼要做版本控管
- 分散式版控與集中式版控的差異
- 示範 Mac 電腦安裝 Git 的過程
- 詳細解說 Git for Windows 的安裝選項
- 第一次開始使用 Git 的必要設定 ( 設定 name 與 email )
- 如何將我手邊的原始碼加入 Git 版控
- 如何看懂 git status 的訊息內容
- 如何解決 git status 與 git log 中文訊息亂碼的問題
- 學習如何使用 vi 文字編輯器
- 如何變更 Git 預設使用的文字編輯器
- 簡介 Windows 作業系統下 4 種不同的 Git 命令列環境
- 如何移除 Git 版控
- 分支合併
- 如何建立分支、切換分支、刪除分支
- 分支到底是什麼
- 如何正確的合併分支
- 如何在命令列模式下查看「版本線圖」
- 當我合併的時候發生了衝突,該怎樣解決才好
- 什麼叫做 fast-forward (快轉) 機制
- 介紹其他不同的合併方法
- 如何刪除所有已經合併的分支
- 協同作業
- 如何從「遠端儲存庫」下載 Git Repo 回來
- 如何將原始碼上傳到 GitHub 或其他平台
- 理解何謂本地分支、遠端分支、遠端追蹤分支
- 如何發布「本地分支」與取得「遠端分支」
- 如何刪除「遠端分支」與「遠端追蹤分支」
- 如何搬動遠端儲存庫與修改遠端儲存庫的 URL
- 情境演練:多人共用一條分支進行 Git 版控
- 如何透過 Git Credential 管理透過 HTTP 通訊協定存取儲存庫的帳號密碼
- 復原變更
- 理解「工作目錄」與「索引」的重要觀念
- 復原最近一次 git add 動作
- 復原工作目錄下所有的修改
- 復原最近一次重置 (reset)、合併 (merge) 或 重訂基底 (rebase)
- 復原歷史版本中的某個特定版本的所有變更
- 復原某個檔案或資料夾的修改
- 比對差異
- 學習各種不同的 git diff 用法
- 比對二進位檔案之間的差異
- 比對兩個版本之間的檔案異動清單與狀態
- 使用 git diff 產生 patch 修補檔與套用修補檔的方法
- 實務應用:正式環境上版與退版
- 修正版本
- 修正最近一次的 commit 版本
- 透過 Rebase 刪除或編輯歷史版本
- 調整版本順序與 Rebase 衝突解決方法
- 在既有的歷史紀錄中插入新版本
- 透過 Rebase 將部分歷史版本合併
- 實務技巧:利用 Rebase 快速修正特定歷史版本
- 標記版本
- 建立與刪除輕量標籤 (lightweight tag)
- 建立與刪除標示標籤 (annotated tag)
- 推送標籤到遠端與刪除遠端標籤
- 取得遠端標籤與刪除不存在於遠端的本地標籤
- 取出特定標籤的完整原始碼
- 補充教材
- 各章節 Git 命令一覽表
◎ 適合對象
- 對 Git 版本控管有興趣的開發人員
- 網頁設計師/程式設計師/系統分析人員
◎ 預期效益
- 能夠輕鬆掌握 Git 版本控制必要的基礎知識
- 能夠利用 Git 命令列工具進行版本控制
- 能夠在團隊中使用 Git 進行協同開發
- 能夠有效處理分支合併與解決衝突
.NET 技術講座:打造堅固耐用的 C# 程式碼
◎ 課程簡介
對許多 .NET / C# 開發人員來說,物件導向程式設計有許多抽象的概念,即便你認真看了書,即便程式也寫了好幾年,就是無法深刻體會這些抽象概念背後的意義。
本課程將包含這些 SOLID 設計原則的詳細解說,搭配 C# 程式碼範例,幫助大家更清楚的理解這些設計原則背後真正想解決的問題,逐一釐清各種不同抽象概念所代表的意思。
本課程的上課方式為預錄影片,在 Udemy 上會提供討論區讓大家提問,課程網址:https://www.udemy.com/solid-csharp
◎ 課程主題
- SOLID 設計原則
- OOP 的四個特性
- 內聚力與耦合力
- 介紹 SOLID 物件導向設計原則
- 單一責任原則 SRP
- 開放封閉原則 OCP
- 里氏替換原則 LSP
- 介面隔離原則 ISP
- 相依反轉原則 DIP
◎ 適合對象
- 軟體架構師 / 系統分析師 / 系統設計師
- C# 開發人員 (本課程將以 C# 為主要開發語言)
◎ 預期效益
- 認識 SOLID 物件導向程式設計原則
- 了解物件導向程式設計可帶來的效益
Visual Studio 2017 開發環境全面解析
◎ 課程簡介
我們都知道【工欲善其事,必先利其器】的道理,身為一個 .NET / Web 開發人員,我們每天花大量的時間使用 Visual Studio 開發各式解決方案,但你真的了解它嗎?多年的開發與教學經驗告訴我,有為數不少的開發人員,即便擁有數年的開發經驗,對於 Visual Studio 的掌握度依然非常有限!
本課程從頭開始講起,無論你是 Visual Studio 的多年老手或是完全沒用過 Visual Studio 的絕對新手,都可以輕鬆透過本課程的逐步教學了解 Visual Studio 2017 開發環境的各項重要細節,當你能有效掌握 Visual Studio 開發工具基礎,有效率的開發程式便指日可待!
本課程的上課方式為預錄影片,在 Udemy 上會提供討論區讓大家提問,課程網址:https://www.udemy.com/vs2017go/
◎ 課程主題
- 課程介紹
- 安裝 Visual Studio 2017
- 選擇正確的 Visual Studio 2017 版本
- 介紹 Visual Studio Installer 安裝工具
- 正確選擇工作負載與個別元件進行安裝
- 更新 Visual Studio 2017 到最新版本
- 介紹 Visual Studio 2017 基本開發環境
- 介紹 Visual Studio 2017 操作介面
- 登入 Visual Studio 的好處
- 新增全新專案並認識方案與專案
- 介紹微軟為開發人員提供的範例專案庫
- 有效率的管理方案與專案 - 方案總管
- 管理屬性設定 - 屬性視窗
- 管理資料連接 - 伺服器總管
- 管理資料庫物件 - SQL Server 物件總管
- SQL Server 物件總管 - 結構描述比較
- 瀏覽程式碼利器 - 呼叫階層 / 類別檢視 / 物件瀏覽器
- 查詢已知的錯誤 - 錯誤清單
- 顯示完整輸出訊息 - 輸出視窗
- 管理程式碼工作清單 / 上一個工作 / 下一個工作
- 好用的元件管理工具 - 工具箱
- 好用的 C# 測試工具 - C# Interactive
- 認識 Visual Studio 擴充套件管理員
- 打造舒適的 Visual Studio 開發環境
- 自訂工具列與選單功能
- 程式碼分割視窗與字體縮放技巧
- 認識工具窗格的配置與移動方式
- 進階視窗配置技巧與快速鍵切換
- 程式碼視窗各式停駐與排列技巧
- 常用選項設定 - 專案與方案
- 常用選項設定 - 環境 - 常用設定
- 常用選項設定 - 環境 - 字型和色彩
- 常用選項設定 - 環境 - 鍵盤
- 常用選項設定 - 環境 - 匯入和匯出設定
- 常用選項設定 - 環境 - 使用團隊設定檔
- 常用選項設定 - 文字編輯器
- 熟悉你的編輯器 - 跟專家一樣撰寫程式碼
- 使用內建的程式碼片段
- 介紹幾個常用的 C# 程式碼片段
- 認識程式碼片段管理員
- 安裝好用的程式碼片段擴充套件
- 區塊選取與編輯功能
- 必須了解的 IntelliSense 使用技巧
- 使用 Visual Studio 2017 精通 Git 版本控管
- 認識 Visual Studio 中的 Git 操作介面
- 第一次使用 Git 的必要設定
- 建立本機 Git 儲存庫 (git init) - 建立全新專案
- 建立本機 Git 儲存庫 (git init) - 將現有專案加入版本控制
- 建立本機 Git 儲存庫 (git init) - 新增空白儲存庫
- 加入現有 Git 儲存庫到 Visual Studio
- 複製遠端 Git 儲存庫 (git clone)
- 變更管理 - 檢視紀錄 (git log)
- 變更管理 - 認可一個新版本 (git commit)
- 變更管理 - 修改先前認可 (git commit --amend)
- 變更管理 - 重設認可 (git reset)
- 變更管理 - 暫存變更 (git add)
- 變更管理 - 忽略檔案管理 (.gitignore)
- 變更管理 - 還原認可 (git revert)
- 變更管理 - 建立標記 (git tag)
- 分支管理 - 新增分支 (git branch)
- 分支管理 - 切換分支 (git checkout)
- 分支管理 - 合併分支 (git merge)
- 分支管理 - 合併衝突管理
- 分支管理 - 重訂基底 (git rebase)
- 同步處理 - 同步、擷取、提取、推送
◎ 適合對象
- 準備採用 Visual Studio 的開發人員
- 正在使用 Visual Studio 的開發人員
- 對 Visual Studio 2017 開發環境沒有全盤了解的人
- 想有效學習 Visual Studio 開發環境與操作技巧的人
◎ 預期效益
- 認識全新 Visual Studio Installer 安裝工具
- 深入理解 Visual Studio 2017 基本開發環境
- 了解 Visual Studio 常用工具窗格的使用技巧
- 了解如何打造舒適的 Visual Studio 開發環境
Language-Integrated Query 快速上手 ( C# ) (LINQ)
◎ 課程簡介
LINQ 是 .NET Framework 3.5 的重要特性,內建於 C# 3 與 VB 9 之後的版本,它將不同資料來源的查詢語法統一成 LINQ 語法,大幅簡化資料查詢的複雜度。無論是 .NET 物件、XML 資料、SQL Server 資料庫、Active Directory 物件,都可以輕易地透過 LINQ 來進行查詢。如果還有更多不同的資料來源,只要實作 LINQ 提供者 (Providers),也可以用 LINQ 語法進行查詢,好處多多!
學習利用 LINQ 來查詢資料有許多優點:
- 使用C#程式語言:對於新的資料來源不需要學習新的查詢語法,使用 C# 或 VB 即可建立查詢。
- 撰寫更少的程式碼:一個複雜的查詢在 LINQ 語法下能用更簡潔的方式來表達。
- 嚴謹的SQL語法:透過 LINQ 產生的 T-SQL 語法是非常完整的
- 查詢語法的可讀性:LINQ 使程式碼可讀性更高,對團隊來說將更容易理解與維護。
- 查詢語法的一致性:不同的資料來源都可以透過相當類似的 LINQ 語法進行查詢。
- 支援編譯時期檢查:由於 LINQ 採用 C# 進行查詢語法的描述,因此在編譯時可提供物件型別檢查。
- 更高的開發生產力:編譯時期可提供物件型別檢查也意謂著提高 IntelliSense 支援程度。
許多從 C# 3.0 之後所推出的框架,都會用到 LINQ 語法來簡化資料查詢的複雜度。例如 Entity Framework 就大量地使用 LINQ 進行資料查詢工作,而許多其他的 ORM 框架,也會利用 LINQ 語法當成標準的查詢語言。因此,學習 LINQ 絕對是 C# 開發人員不可或缺的開發技能之一!
本課程的上課方式為預錄影片,在 Udemy 上會提供討論區讓大家提問,課程網址:https://www.udemy.com/linq-csharp/
◎ 課程主題
- 課程簡介
- LINQ 簡介
- 必備的 C# 基礎知識
- 開始使用 LINQ 查詢
- 練習各種 LINQ 查詢語法
- 簡介 LINQPad 工具
- 建立完整的 LINQPad 練習環境
- 基本資料過濾 ( Where )
- 選取查詢結果欄位 ( Select )
- 排序查詢結果 ( OrderBy )
- 過濾重複資料 ( Distinct )
- 取得特定元素 ( First, FirstOrDefault )
- 取得特定元素 ( Single, SingleOrDefault )
- 常見彙總函式 ( Count, Sum, Average, ... )
- 判斷符合限定條件 ( Any, All, Contains )
- 分割資料集合 ( Take, Skip )
- 聯合查詢語法 ( Join )
- 群組查詢結果 ( GroupBy )
- 轉換查詢結果型別 ( ToArray, ToList )
- 轉換查詢結果型別 ( ToDictionary )
- 附錄
◎ 適合對象
- 任何想要學習LINQ 查詢運算式的人
- 任何想在 .NET 應用程式中透過 LINQ 存取資料的人
- 任何想要學習 Entity Framework 資料存取框架的人
◎ 預期效益
- 了解 LINQ 架構與基礎語法
- 了解多種不同的 LINQ 查詢運算式
- 了解如何使用 LINQ 對任意資料來源進行查詢與篩選
給 C# 開發人員的第一堂 .NET Core 入門課
◎ 課程簡介
.NET Core 的出現,宣告著開源大時代的來臨,一套開源、高效能、跨平台的 .NET 開發平台就此形成,讓廣大 C# / .NET 開發者,都能藉由這個全新的平台,開發出千變萬化、彈性部署的應用程式。除此之外,.NET Core 透過 .NET Standard 與 .NET Framework、Xamarin 及 Mono 相容,不僅您既有的 .NET 原始碼不用重寫,新開發的函式庫更能重複利用在您多年前開發應用程式之中,絕佳的相容性設計,讓你免於技術資產的重複投資,更能有效降低成本。
本課程專為已經有 C# / .NET 開發經驗的人所設計,帶你用不同角度認識 .NET Core 開發平台。
本課程的上課方式為預錄影片,在 Udemy 上會提供討論區讓大家提問,課程網址:https://www.udemy.com/netcore2/
◎ 課程主題
- 重新認識 .NET 生態系
- 簡介 .NET Framework 框架
- 簡介 .NET 可攜式類別庫 (PCL)
- 簡介 .NET Core 2.0
- 簡介 .NET Standard 標準類別庫
- 隨堂測驗
- .NET Core 2.0 快速上手
- 安裝 .NET Core SDK (Windows)
- 安裝 .NET Core SDK (VS2017)
- 安裝 .NET Core SDK (Linux)
- 安裝 .NET Core SDK (macOS)
- 使用 Visual Studio Code 開發與偵錯 .NET Core 專案 (macOS)
- 使用 Visual Studio 2017 開發與偵錯 .NET Core 專案 (Windows)
- 使用 .NET Core CLI 建立 .NET Core 2.0 主控台專案
- 使用 .NET Core CLI 建立 .NET Core 2.0 類別庫專案
- 使用 .NET Core CLI 建立 .NET Core 2.0 單元測試專案
- 使用 .NET Core CLI 建立方案檔
- 使用 .NET Core CLI 管理專案參考與 NuGet 套件
- .NET Core 2.0 核心技術與觀念
- 簡介「中繼套件」( Metapackages )
- 簡介「型別轉送」技術 ( Type Forwarding )
- 認識 .NET API 瀏覽器
- 示範 .NET Portability Analyzer 安裝與使用方式
- 示範 NuGet Package Explorer 安裝與使用方式
- .NET Standard 多目標架構類別庫設計
- 簡介 .NET Standard 多目標架構
- 實作 .NET Standard 多目標架構
- 簡介目標架構暱稱與前置處理器指示詞
- 示範 HttpClient 在多目標架構的開發方法
- NuGet 套件開發與管理
- 在 Visual Studio 2017 建立與發行 NuGet 套件
- 在 Visual Studio 2017 使用 NuGet 封裝管理員
- 03 使用 MyGet 建立自己的 NuGet 套件庫 (Feed)
- 04 上傳 NuGet 函式庫套件到 MyGet 套件庫
- 05 從 MyGet 下載 NuGet 函式庫套件
- 06 更新 NuGet 套件到 MyGet 套件庫
- 07 建立含有符號檔與原始碼的 NuGet 套件
- 08 對 NuGet 套件進行偵錯 (自動下載符號檔)
- 啟用 SourceLink 原始碼連結偵錯功能
- .NET Core 2.0 應用程式部署
- 簡介 .NET Core 應用程式的兩種部署方法
- 示範 Framework 相依的部署方法 (FDD)
- 示範自封式部署的方法 (SCD)
- 補充教材
- 在多個不同 .NET Core SDK 版本之間切換的方法
◎ 適合對象
- 任何想學習 .NET Core 跨平台應用程式開發的人
- 任何想理解 .NET Core 與 .NET Framework 差異的人
◎ 預期效益
- 重新認識 .NET 生態系
- 建立 .NET Core 核心觀念
- 理解 .NET Standard 標準類別庫
- 學會如何開發 .NET Core 應用程式
- 學會如何開發 .NET Standard 標準類別庫
- 學會如何封裝與部署 .NET Core 應用程式
Angular 開發實戰:從零開始
◎ 課程簡介
Angular 框架經過數年的發展,框架本身已經相當成熟,不但進入門檻越來越低,在執行速度、開發效率、學習曲線方面,也都得到了一個相當不錯的平衡點。我們都知道,網頁前端技術日新月異,但就我長期觀察下來,近兩年來 Angular 框架發展已經相當穩定,官方團隊也不斷精進整個開發生態,無論是在開發工具的支援,或是透過 Angular CLI 加速大型專案管理,都已經有相當程度的效益。現在,就是投入 Angular 學習的最佳時機!
本課程歷經數月的精心策劃、製作、剪輯,並特別強調新手入門 Angular 開發框架所需注意的各項細節,課程中穿插著理論與實務,幫助學員更快的理解 Angular 正確的開發觀念,也透過影片中的實際操作,教導學員一些實用的開發技巧。只要你認真學習,並動手實作,相信可以大幅提升 Angular 應用程式的開發效率,縮短自己嘗試錯誤的時間,提高學習效率。
本課程的上課方式為預錄影片,在 Udemy 上會提供討論區讓大家提問,課程網址:https://www.udemy.com/angular-zero/
◎ 課程主題
- 課程簡介
- 1.本課程範例原始碼
- 建立 Angular 開發環境
- 2. 安裝 Chocolatey 套件管理器 (Windows)
- 3. 安裝必要的 Angular 開發工具 (Windows)
- 4. 使用 Angular CLI 建立 Angular 專案骨架
- 5. 認識 Angular CLI 建立的專案架構
- 6. 認識 Visual Studio Code 開發環境
- 簡介 Angular 開發框架
- 7. 關於 AngularJS 與 Angular 開發框架
- 8. 了解 Angular 的優點與主要特色
- 9. 認識 Angular 開發語言:TypeScript
- 10. 理解 Angular 應用程式與元件
- 了解 Angular 基本架構與啟動流程
- 11. 認識 Angular 應用程式啟動流程
- 12. 使用 Angular CLI 快速建立元件與範本
- 13. 將靜態檔案加入 Angular CLI 建立的專案
- 14. 將網頁 HTML 加入到 Angular 應用程式
- 15. 發行與部署 Angular 應用程式的方法
- 16. 升級 Angular 應用程式到新版的方法
- 掌握 Angular 範本語法與資料繫結
- 17. 學習資料繫結方法:內嵌繫結
- 18. 學習資料繫結方法:屬性繫結 (Property Binding)
- 19. 學習資料繫結方法:事件繫結 (Event Binding)
- 20. 學習資料繫結方法:事件繫結 - 使用 $event 參數
- 21. 學習資料繫結方法:事件繫結 - 使用具有型別的 $event 參數
- 22. 學習資料繫結方法:雙向繫結 (Two-way Binding)
- 23. 認識範本參考變數 (Template reference variables)
- 24. 學習 Angular 元件型指令 (Component Directives)
- 25. 學習 Angular 屬性型指令 (Attribute Directives) - NgStyle
- 26. 學習 Angular 屬性型指令 (Attribute Directives) - NgClass
- 27. 學習 Angular 結構型指令 (Structural Directives) - NgIf
- 28. 學習 Angular 結構型指令 (Structural Directives) - NgSwitch
- 29. 學習 Angular 結構型指令 (Structural Directives) - NgFor
- 30. 學習 Angular 使用 Pipes 管線元件 - uppercase 與 lowercase
- 31. 學習 Angular 使用 Pipes 管線元件 - number
- 32. 學習 Angular 使用 Pipes 管線元件 - currency
- 33. 學習 Angular 使用 Pipes 管線元件 - percent
- 34. 學習 Angular 使用 Pipes 管線元件 - date
- 35. 學習 Angular 使用 Pipes 管線元件 - json
- 36. 學習 Angular 使用 Pipes 管線元件 - slice
- 37. 在範本中使用安全導覽運算子 (safe navigation operator)
- 38. 如何避免在範本中出現 TypeScript 型別錯誤
- 認識 Angular 元件架構與模組
- 39. 簡介 Angular 元件架構
- 40. 建立 Angular 功能模組
- 41. 將現有 Angular 元件加入功能模組
- 42. 定義 Angular 元件的輸入介面 - @Input()
- 43. 介紹 ngOnInit 與 ngOnDestroy 生命週期 Hook
- 44. 定義 Angular 元件的輸出介面 - @Output()
- 45. 解釋單向資料流與實作不可變的物件
- 46. 實作單向資料流與實作不可變的物件 - 1
- 47. 實作單向資料流與實作不可變的物件 - 2
- 48. 介紹 ngOnChanges 生命週期 Hook
- 49. 講解 ngOnChanges 生命週期 Hook 的實務運用
- 認識 Angular 服務元件、相依注入與 HttpClient
- 50. 建立 Angular 服務元件與實作相依注入
- 51. 透過服務元件重構現有元件的程式碼
- 52. 了解 @Injectable() 裝飾器與注入 HttpClient 服務元件
- 53. 學習 HttpClient 基本使用方法 - get()
- 54. 重構 DataService 服務元件 - 回傳 Observable 物件
- 55. 使用 async 管道元件訂閱 Observable 物件
◎ 適合對象
- 了解基礎 HTML / CSS / JavaScript 語法
- 具有基礎的程式設計概念 (寫過任何一種程式語言即可)
◎ 預期效益
- 了解 Angular 開發框架與其優勢
- 學會有效率的利用 Angular 開發前端應用
- 掌握開發 Angular 的重要觀念與開發技巧
◎ 講者名單
- 多奇數位創意有限公司 技術總監 Will 保哥
◎ 講者簡歷
- 現任多奇數位創意有限公司技術總監。
- 2018 年榮獲 Angular/Web GDE (Google Developer Expert) 開發專家。
- 2008 至今連續 11 度當選微軟最有價值專家 (Visual Studio and Development Technologies)。
- 2013 年曾獲選第 6 屆iT邦幫忙鐵人賽【iT邦幫忙鐵人賽年度大獎】、【開發技術組年度鐵人】、【iT邦幫忙鐵人賽優選】三項殊榮。
- 熟悉 Web 開發技術、網站效能調校、許多 .NET/C# 開發技術、SQL Server 資料庫開發、網站內容管理系統、Docker 與 Kubernetes。
- 曾擔任 Visual Studio 2010 上市發表會講師、MSDN 講座講師、TechDays Taiwan 2010~2015 講師、TechEd China 2011, 2013 講師。
- 出版著作有 ASP.NET MVC 2 開發實戰、Windows Phone 開發實戰、ASP.NET MVC 4 開發實戰等書籍。
- 部落格: http://blog.miniasp.com/
- 粉絲頁: https://www.facebook.com/will.fans
◎ 注意事項
- 本線上課程購買後可以永久使用,"票券可使用時間"僅為本活動的售票期間,不影響您的使用期間
- 如需開立三聯式發票,請於報名時提供【公司名稱】與【統一編號】
- 為配合政府落實節能減碳及推動電子發票政策,本公司從民國 107 年開始使用電子發票。為確保您能順利取得電子發票,煩請於下單時再次確認您已提供正確之 E-mail 信箱
- Udemy 線上課程優惠代碼寄送時間為週一到週五的工作日,若遇休假或連續假期將於次一工作日處理。



