☸ 課程說明
在現代軟體開發中,非同步程式設計已成為不可或缺的核心技能。隨著多核心處理器與分散式系統的普及,非同步設計模式已成為提高效能與可擴展性的關鍵手段。以 .NET 為例,async/await 已經深入整個開發生態系統,無論是 ASP.NET Core 或其他框架,都將其視為一等公民。
在 2024 年,對 C# 開發者來說,掌握非同步程式設計不僅是加速應用程式的關鍵,更是避免潛在問題的重要能力。本課程將全面介紹 C# 非同步程式設計的核心觀念與實務技巧。我們將深入探索 TAP(基於 Task 的非同步模式),並透過實作與案例研究,讓學員掌握如何運用 Task 進行高效能的非同步操作,解決常見的開發挑戰。課程設計將引導學員逐步降低非同步設計的複雜度,確保學員能夠自信地在專案中運用這項技術。
本課程經過全面的翻新,加入了許多 C# 8.0 (.NET Core 1.0) 之後才新增的語言特性。如果你只會基本的 async/await 語法,卻不瞭解其內部深奧的特性與原理,那麼這堂課就是為你準備的。相信在熟悉這些非同步的核心概念之後,你將能夠更深入理解 C# 的非同步模型,並有效應用於實際專案中,並深入理解在不同專案中的最佳實踐,我們將全面涵蓋各種現代非同步開發技巧,讓你在面對高併發需求時,能夠應對自如,從容掌控。無論你是新手還是資深開發者,這門課程都將助你在非同步程式設計上達到新的高度。
☸ 課程編號
- DCT-113009
☸ 課程日期
- 2024/09/28 (六)
- 09:30 ~ 16:30 (中午休息一小時)
☸ 課程特色
- 由 Will 保哥 全程線上授課,無地域限制,可即時回應學員任何疑惑
- 學員可透過多種管道提問:Discord 伺服器、Zoom 聊天室、Zoom 共享桌面
- 學員可透過共享螢幕的方式提問與遠端控制,學員可觀摩解決問題的過程
- 課程全程錄影,學員課後 3 個月內可免費無限次重播!
- 課程結束寄發 Will 保哥親筆簽名結業證書 (無價)
☸ 課程主題
- 建立非同步的重要觀念
- 非同步程式設計的重要性
- 為什麼需要非同步程式設計
- 典型的非同步作業應用場景
- 認識非同步的計算機原理
- 關於非同步的重要名詞介紹
- 新手上路非同步開發
- 認識 .NET 的平行程式設計架構
- 認識非同步程式設計模式 (APM, EAP, TAP)
- 認識資源競爭與執行緒安全 (Thread Safety)
- 理解同步處理 (Synchronization)
- 非同步程式設計的注意要點
- 深入 TAP 非同步開發模式
- 什麼是 Task (工作)
- 理解 Thread 與 Task 處理非同步的差異
- 理解前景執行緒與背景執行緒特性
- Task 與 async/await 的關係
- Task 的 4 種用法
- Task 的 9 種使用情境
- Task 的產生、啟動、傳入參數
- Task 狀態與 Task 結果
- Task 等候結束與接續工作
- Task 取消的設計方法
- Task 例外處理與偵錯技巧
- 取得 Task 的執行進度
- 進階非同步程式設計
- 理解 async/await 的內部細節
- 理解 SynchronizationContext (同步內容)
- 理解 Thread 發生 Deadlock (死結) 的成因與解法
- 理解 Asynchronous Locks 非同步鎖定的應用場景
- 理解 Fire and Forget (射後不理) 的正確用法
- 理解 Task 和 ValueTask 的應用場景
- 非同步程式設計最佳實務
- 設計 Task 非同步方法的技巧
- CPU Bound 的非同步工作的設計方法
- I/O Bound 的非同步工作的設計方法
- 非同步與平行處理的差異與最佳應用場景
- 非同步與平行處理的混合應用
- 設計 Task 非同步方法的技巧
- 其他非同步議題
- 理解 Asynchronous Coroutines
- 理解 Asynchronous Streams
- 理解 Asynchronous LINQ
☸ 適合對象
- 具有 C# 一年以上開發經驗
- 對非同步開發有興趣的 .NET 開發人員
- 非常適合使用 .NET / ASP.NET Core 的開發人員
- 非常適合 WPF / Windows Forms 開發人員
☸ 預期效益
- 了解什麼是非同步程式設計
- 瞭解非同步程式設計的計算機原理
- 了解 .NET 不同的非同步設計方法
- 學會如何正確的設計 Task 非同步方法
- 瞭解各種非同步程式設計最佳實務
- 解答所有 async / await 相關疑問
☸ 講者名單
- 多奇數位創意有限公司 技術總監 Will 保哥
- 2019 年獲選 Microsoft Regional Director (RD) 微軟技術社群區域總監
- 2018 年榮獲 Angular/Web GDE (Google Developer Expert) 開發專家
- 2008 至今連續 17 度當選 Microsoft MVP 微軟最有價值專家 (Developer 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
☸ 課程費用
- 優惠價:NT$ 4,500.-
☸ 退換票辦法
- 考量行政成本,已完成繳費之學員如欲取消報名 -
- 開課前 11 天申請退費,退學費 90%。
- 開課前 10 天申請退費,退學費 0%。
- 如需退費,請填寫課程退費申請表,收到申請表,課程專員將寄發通知信以告知申請進度
- 統一退費日期為申請日之下個月10號。申請時間為「課程退費申請表」的回覆日期。
- 學員須自行負擔匯款手續費 NT 30 元。
☸ 注意事項
- 學員須事先安裝好實作環境
- 如需開立三聯式發票,請於報名時提供【公司名稱】與【統一編號】
- 如公司報帳需要,提早開立發票請提前告知或備註
- 若報名課程學員人數不足15人,主辦單位有權取消當次課程,並退還全額課程費用
- 若因不可抗拒因素(如:天災、停電)主辦單位有權取消當次課程,並退還全額課程費用



