此課程適合給...
-
具有 C# 一年以上開發經驗
-
對非同步開發有興趣的 .NET 開發人員
-
非常適合使用 .NET Core / ASP.NET Core 的開發人員
-
非常適合 Xamarin / WPF / Windows Forms 開發人員
上完此課程你將會...
-
了解什麼是非同步程式設計
-
了解 .NET 不同的非同步設計方法
-
學會正確的 Task 設計方法
-
學會對非同步程式進行偵錯
-
解答所有 async / await 相關疑問
21 世紀是「非同步」的世界,所有程式語言幾乎都把非同步設計模式列為重點支援項目之一。 我們若以 .NET Core 為例,幾乎所有的開發框架都將 async/await 列為一等公民,重要性不言可喻。 若想要在 .NET 專案中充分運用非同步設計模式,C# 開發人員必須充分瞭解這些非同步程式設計的相關議題, 否則很有可能會發生程式變快但 Bug 卻變多的情況。
本課程將介紹 C# 非同步程式設計的豐富知識與相關技巧,所有必須了解的核心觀念, 都會透過精心設計的教學內容進行講解與實作練習,讓學員深入體驗非同步設計的操作方法與概念。 我們將使用 TAP (Task-based asynchronous) 非同步設計模式進行非同步程式開發, 並學會如何利用 Task 來操作各種非同步操作與各種實務上常見的設計方法與常見問題, 徹底降低導入非同步設計模式的進入門檻!
課程內容
-
建立非同步的重要觀念(共 6 章)6
建立非同步的重要觀念
- 為什麼需要非同步程式設計
- 典型的非同步作業範例
- 關於非同步的重要名詞介紹
- 認識非同步程式設計模式
- 三種使用非同步的設計情境
- 非同步程式設計的注意要點
-
簡介不同的非同步設計模式(共 4 章)4
簡介不同的非同步設計模式
- .NET 框架的非同步開發的歷史
- APM 非同步程式設計模型
- EAP 事件架構非同步模式
- TAP 以工作為基礎的非同步模式
-
深入 TAP 非同步開發模式 (共 18 章)18
深入 TAP 非同步開發模式
- 什麼是「工作」(Task)
- Task 與 async/await
- Task 的 4 種用法
- 講解 async/await 的內部細節
- 掌握非同步設計的 9 大技巧
- 理解 Thread 與 Task 處理非同步的差異
- Task 的 9 種使用情境
- Task 等候結束與接續工作
- 設計 Task 的方法
- CPU Bound 的非同步工作的設計方法
- I/O Bound 的非同步工作的設計方法
- Task 非同步方法的例外處理
- Task 取消的設計方法
- 取得 Task 的執行進度
- Task 偵錯方法
- 非同步程式設計最佳實務
- async / await 的設計方法
- Task 死結處理 (Deadlock)
建立非同步的重要觀念
- 為什麼需要非同步程式設計
- 典型的非同步作業範例
- 關於非同步的重要名詞介紹
- 認識非同步程式設計模式
- 三種使用非同步的設計情境
- 非同步程式設計的注意要點
簡介不同的非同步設計模式
- .NET 框架的非同步開發的歷史
- APM 非同步程式設計模型
- EAP 事件架構非同步模式
- TAP 以工作為基礎的非同步模式
深入 TAP 非同步開發模式
- 什麼是「工作」(Task)
- Task 與 async/await
- Task 的 4 種用法
- 講解 async/await 的內部細節
- 掌握非同步設計的 9 大技巧
- 理解 Thread 與 Task 處理非同步的差異
- Task 的 9 種使用情境
- Task 等候結束與接續工作
- 設計 Task 的方法
- CPU Bound 的非同步工作的設計方法
- I/O Bound 的非同步工作的設計方法
- Task 非同步方法的例外處理
- Task 取消的設計方法
- 取得 Task 的執行進度
- Task 偵錯方法
- 非同步程式設計最佳實務
- async / await 的設計方法
- Task 死結處理 (Deadlock)
講師介紹
Will 保哥
(黃保翕)2019 年獲選 Microsoft Regional Director (RD) 微軟技術社群區域總監
2018 年榮獲 Angular/Web GDE (Google Developer Expert) 開發專家
2008 至今連續 19 度當選 Microsoft MVP 微軟最有價值專家 (Developer Technologies)。
2013 年曾獲選第 6 屆iT邦幫忙鐵人賽【iT邦幫忙鐵人賽年度大獎】、【開發技術組年度鐵人】、【iT邦幫忙鐵人賽優選】三項殊榮。
熟悉 Angular、JavaScript、.NET、C#、ASP.NET MVC、Go、Docker、Kubernetes 相關技術。擅長 DevOps 與組織文化建立、軟體團隊建構與管理。熱愛分享知識。
曾擔任 Visual Studio 2010 上市發表會講師、MSDN 講座講師、TechDays Taiwan 2010~2015 講師、TechEd China 2011, 2013 講師。
出版著作有 ASP.NET MVC 2 開發實戰、Windows Phone 開發實戰、ASP.NET MVC 4 開發實戰等書籍。