歷史活動

  • 勇闖非同步程式設計-基礎篇

    在多核心 CPU 的普及的現代,如何正確的操作執行緒及最佳化程式執行效率的議題日趨重要,但撰寫多執行緒的控制並不容易,細緻的調整及適當的調整鎖定區塊,處理共用、私有資料等等都是影響執行效率的重要議題。

    控制鎖定區塊是多執行緒環境下最重要的部分,也是影響多執行緒效能的重要關鍵,本課程將講解 .NET 所提供的各種鎖定機制原理,用途及注意事項,及 .NET 4 所提供的 Concurrent Collections。

  • 精準解析 ASP.NET Core MVC(.NET6)

    在 .NET Core 的宇宙中 MVC 是最完整的 Web 的開發框架,內容包含了輕量化的 Razor Pages 以及 Web API ,如此龐大的資訊再加上 .NET Core 與 .NET Framework 的差異讓很多開發人員懼怕進入這嶄新的世界,最初當然也考量過包一起,但大無畏的內容顯的雜亂,也不是每個人都是一條龍需要包山包海的全會,所以最後決定切分開來。分開來也符合了 MVC 中的重要觀念「關注點分離」,如此龐大的 .NET Core 新資訊,我們已經幫你整理好設計過了,現在您只需要關注在 MVC 能用的和 MVC 的特性上即可,降低過多的資訊量,但又不會有該知道的不知道。

    SkillTree 的宗旨就是「不是教您考取證照,而是教您如何上場殺敵,拳拳到肉的課程內容才是您花錢想要聽到的,而這也剛好是我們擅長的」

    內容以 .NET 6 為主,適用於 .NET Core, .NET 5, 觀念部分適用於 .NET Framework 的 ASP.NET MVC 5

  • 輕鬆學會物件導向(使用C#)

    不知道物件的職責是什麼?
    不知道好維護、易擴展的程式要怎麼設計?

    看書看了一堆,公司專案也拿來實驗好幾個了總是感覺少了什麼?

    物件導向真的沒那麼難,挑對好業師可以用最短的時間幫你灌頂,

    業界師資的好處就是踩過的雷💣很多,排除的雷更多,藉由經驗傳承可大幅縮短學員自我學習的撞牆時間🤯,結束後回去實做遇到了困難也不用擔心,SkillTree 提供了多種免費詢問管道(線上線下都有)只要你想學我們都很願意教🤜

  • 精準解析async await 非同步程式設計

    當進行專案開發的時候,為了要能夠有助於提高應用程序的性能、速度和響應能力,這個時候便可以使用非同步程式設計做法來進行改善原先系統的效能和響應能力問題。在 .NET / C# 內,提供了 APM, EAP, TAP 設計模式讓開發人員方便進行非同步程式設計,不過,想要進行非同步程式設計畢竟不是很簡單的工作。

    有鑑於此,微軟在 C# 5.0 推出了 async 與 await 功能,讓 .NET 開發者可以輕鬆、容易的使用同步程式設計觀念,設計出具有非同步執行能力的程式設計開發方式,而且,在此之後,微軟所提供的 BCL 類別庫內,也絕大多數都已經提供了這些非同步運作的 API。

    然而,許多開發者在面對 async 與 await 開發做法的時候,面臨到許多問題:例如:打死結、射後不理、對於 async 和 await 運作方式理解錯誤。這次我們將會洞悉 async 和 await 的內部運作方式,透過各種平行與非同步程式碼考驗與除錯題目,了解與學習到實際執行過程,其中輔助許多動畫來強化理解這些設計注意事項,進而深入淺出的探討各種使用 async await 用法與背後運作原理,搭配各式口訣加深記憶,並且提供開發設計指引來遵循寫出好的非同步程式代碼,充分發揮使用非同步程式設計所帶來的好處。

  • 程式碼的鍊金術-重構Plus

    軟體的演化是一個不斷適應變化的過程,就像人類會隨著環境的變遷而學習和成長一樣。在不同的需求和條件下,軟體必須能夠展現出不同的功能和特性,但我們不能每次都從零開始,所以如何保持軟體的彈性和可擴展性,是現代軟體工程師的重要技能。在這堂課中,我們不會只講理論,而是透過幾個實際的案例,分析其設計上的缺陷,並運用多種重構方法來建立可維護、可持續發展的軟體。
     

  • 精準解析 .NET Task 工作

    以往想要進行平行或非同步程式設計(平行計算是一種非同步計算,前者屬於透過 CPU 來做到同時執行的需求,後者大多表示要進行 I/O 或者網路呼叫的時候,所要進行的處理作業),往往需要透過多執行緒來完成,可是要能夠充分駕馭執行緒來完成上述設計需求,對於絕大多數的程式設計師而言,將不是一件簡單的工作;有鑑於此,微軟在 .NET Framework 4.0 之後,推出了 工作平行類別庫 Task Parallel Library (TPL),而在 .NET BCL 中的許多 API,也都改寫成為使用了 TAP 以工作為基礎的非同步模式 Task-based Asynchronous Pattern 的 API,取代以往 APM 與 EAP 的程式設計做法;這樣的改變將會讓 C# 程式設計師可以享受到許多 TPL 類別庫所帶來好處。

    使用 TPL 中來執行的工作 Task 物件,通常是從執行緒集區上取得執行緒來以非同步方式進行執行,透過將複雜的執行緒操作封裝到工作物件內,讓程式設計師可以更加輕鬆與容易地來進平行與非同步的需求設計。

    當完成此活動之後,你將會具備使用 Task 物件來進行非同步程式設計能力,讓設計出來的應用程式專案不在執行時候發生卡卡現象,充分享受到非同步程式設計所帶來的好處,當然,對於日後要精通 C# 5.0 所提供的 async 與 await 技術,將是不可或缺與必備的知識。

  • 現代桌面應用程式,玩轉WPF

    🚨本活動改為 0520 開始

    在現代桌面應用程式的世界裡, WPF (Windows Presentation Foundation) 漸漸地取代 Windows Forms 的地位;因為 WPF 具有兩個非常重要的優勢:

    1. WPF 的建置核心是無關解析度的向量式圖形呈現引擎 (Vector-Based Rendering Engine),能夠善用新式圖形硬體的優點,其函式庫內的 UI 元素具有靈活的擴張性以及便利的動畫,能夠輕鬆變化出非常豐富視覺效果。
    2. WPF 具有強大的資料繫結引擎,能夠有效地分離資料與視覺介面的設計,對於程式架構擴充與維護提供了正向效益。

    將會從最基本的 XAML 概念談起,一路延伸到 UI 元素的使用與變化、資料繫結、Model-View-ViewModel 等等,用最快的途徑理解 WPF 的強大應用。內容設計經過審慎的考量與組織,讓每個想學習 WPF 應用程式開發的人員都能夠在課程結束後順利上手。

    我們與多家金融機構密切合作,如您有意願轉職我們可推薦您前往面試,年薪可到200萬(視能力而定)

  • 精準解析 .NET Thread 執行緒

    在 .NET 要建立一個執行緒,將需要指定一個委派方法,而一個執行緒 Thread 代表一個正在同步執行程式碼,若想要同時執行多個委派方法,則需要建立多個執行緒,而一台電腦能夠同時處理執行緒的數量,將會取決於這台電腦上的 CPU 的能力。

    身為一個 .NET / C# 程式設計師,想要提升自我能力,使其可以進行平行程式設計技能,就需要具備多執行緒開發技術。透過多執行緒設計出來的程式碼,將可以同時執行多個程式碼,並會有助於整體應用程式的執行效能提升,充分發揮這台電腦 CPU 的執行效能。

    然而,如何進行多執行緒的程式設計,將會需要學習 .NET 中的 Thread 物件的使用與操作,當完成此課程之後,你將會具有多執行緒程式設計的能力,並且了解到多執行緒程式設計上會遇到的問題與瓶頸。

  • SQL Server 高可用性與災害復原規劃與實作

    建構完善的 SQL Server 高可用性和災害復原 (HADR) 解决方案,包括熱備援機制的容錯移轉叢集執行個體和AlwaysOn 可用性群組,暖備援機制的無叢集的讀取級別可用性群組和交易記錄檔傳送,規劃多層次防護的HADR機制,以確保關鍵應用服務資料庫系統持續可用。

  • 從相依到注入-進階篇

      相依性影響了很多事情,系統架構、工法、可變性全都受到相依性的影響,因此,適當的處理相依性成為了建置好軟體的基礎,而 Dependency Injection 則是讓相依性生命週期管理變得更好的一種技術,事實上,在套用 Dependency Injection 之前,你必須先把相依性處理好,這需要改變思維及套用一些相依性的設計模式,此活動接續基礎篇,將理論化為實務,討論應用面,例如在 .NET 6 中使用 AutoFac 及 Microsoft DI,並討論在不同情境下的注入法則及 Anti-Pattern,最終帶領學員實作一個可抽換資料存取層的 Lab。