Zkuste nás kontaktovat

Návrh Školení

Úvod do moderní platformy .NET

  • Běhové prostředí .NET 8, sada nástrojů SDK a přehled jednotné platformy
  • Srovnání vývoje v prostředích .NET Framework, .NET Core a novějším .NET 8+
  • Struktura projektů, cílové frameworky a základy více-cílového vývoje
  • Nastavení vývojového prostředí a potřebných nástrojů

Moderní jazyk C# a budoucí trendy v programování

  • Records, inicializační nastavení a principy nezměnitelnosti objektů
  • Rozšíření schémat porovnávání vzorů a výrazy switch
  • Nepovinné typy odkazů a kontroly prováděné kompilátorem pro zvýšení bezpečnosti
  • Osvědčené postupy při použití asynchronního programování pomocí async/await a úsporném využití paměti
  • Generická matematika, abstraktní statické metody a výkonnostně optimalizované API
  • Příprava kódu na budoucí funkce jazyka C# 12/13 v prostředí .NET 8

Základy ASP.NET Core a spuštění aplikace

  • Konfigurace hostitele, řetězce middleware a proces zpracování požadavků
  • Minimální API versus rozhraní založená na kontroleru: kritéria pro výběr řešení
  • Nastavení konfigurace, parametry specifické pro dané prostředí a správa tajných informací
  • Práce se statickými soubory, směrování požadavků a vytváření konvencí endpointů
  • Konfigurace kontajneru pro vstřikování závislostí a definice životních cyklů služeb

Návrh a realizace REST API

  • Modelování dostatku, třídění typů zdrojů a vhodné návrhování URI adres
  • Použití metod HTTP, kódů stavu a přizpůsobení formátu odpovědí konzumentům
  • Validace vstupních dat, vazba modelů na požadavky a integrace nástroje FluentValidation
  • Strategie verzování veřejných i interních API rozhraní
  • Dokumentace pomocí OpenAPI a generátoru Swagger UI
  • Testování funkčnosti API s využitím nástrojů TestServer a WebApplicationFactory

Podnikové řešení vstřikování závislostí a principu inverze kontroly

  • Využití konstruktorového vstřikování, definice životních cyklů služeb a zvládání „závislostí uvězněných“ v kódu
  • Aplikace dekorátorů a továrních vzorů pomocí vestavěného kontejneru na správu služeb
  • Integrace knihovny Scrutor a dalších externích nástrojů pro správu závislostí
  • Modulární registrace služeb a organizace kódu podle jednotlivých funkcionalit
  • Řešení průřezových problémů pomocí middleware nebo filtrů v rámci architektury systému

Protokolování, konfigurace a centrální správa chybových stavů

  • Strukturované protokolování pomocí knihoven Microsoft.Extensions.Logging a Serilog
  • Úrovně hlášení, rozsahy záznamů, obohacení informacemi a definice cílových kanálů pro logy
  • Zpracování výjimek a nastavení globálních mechanismů reakce na chybové stavy
  • Vytváření odpovědí o chybách splňujících standardy RFC 7807, včetně struktury ProblemDetails
  • Nastavení kontrol zdravotního stavu aplikace, telemetrie a nástrojů pro monitorování provozu
  • Použití identifikátorů korelace a základů distribuovaného sledování v rámci systémů většího rozsahu

Softwarová architektura pro podnikové systémy v .NET

  • Principy vrstvené, hexagonální a čistě oddělené architektury v kontextu .NET
  • Základy navrhování na bázi domény s využitím postupů domain-driven designu
  • Použití vzorů CQRS a mediátorů pomocí nástroje MediatR
  • Aplikace patternů repozitáře a jednotkové práce s využitím frameworku EF Core
  • Přístup vertikálního rozdělení kódu na samostatné funkční celky<
  • Hodnocení výhod a rizik přechodu z monolitického řešení na modulární monolit nebo mikroservisy

Zabezpečování webových aplikací i jejich API rozhraní

  • Různé schémata autentizace: JWT, OAuth2, OpenID Connect a řešení založená na cookies
  • Autorizační politiky, kontrola přístupu na bázi identifikačních požadavků i ochrana konkrétních zdrojů dat
  • Povinné používání protokolu HTTPS, nastavení technologie HSTS a bezpečných HTTP hlaviček pro přenos informací
  • Sanitizace vstupních dat, kódování výstupů a metody snižující rizika útoků dle seznamu OWASP Top 10
  • Omezení frekvence požadavků, nastavení pravidel CORS a způsoby prevence falešných žádostí včetně ochrany anti-forgery tokeny
  • Správa tajných dat pomocí služby Azure Key Vault a principy rotace hesel na základě aktuálního prostředí

Kvalita kódu, udržitelnost systému a osvědčené postupy vývoje

  • Nastavení standardů psaní kódu, definice pomocí EditorConfig a nástrojů typu dotnet format
  • Statická analýza s využitím analyzérů Roslyn a integrace nástroje SonarQube do vývojového cyklu
  • Pisování jednotkových testů pomocí frameworku xUnit, simulace chování komponent prostřednictvím Moq nebo NSubstitute
  • Provádění integračních a kontraktních testů v rámci automatizovaných CI cyklů<
  • Techniky refaktorování u dlouhodobě udržovaných a rozsáhlých částí kódu
  • Dokumentace rozhraní API, specifikace kontraktů a principy sdílení znalostí v týmu

Strategie modernizace: posouzení stávajících systémů .NET Framework

  • Analýza portfolia aplikací – klasifikace podle důležitosti, složitosti i přínosu pro firmu<
  • Používání nástroje .NET Upgrade Assistant a analyzátorů kompatibility v projektech
  • Identifikace zastaralých nebo již nepodporovaných funkcí, platformově specifických závislostí i chybějících knihoven od třetích stran<
  • Hodnocení API pouze určených k provozu na systémech Windows a aspekty migrace komunikační technologie WCF<
  • Tvorba plánu migrace s ohledem na řazení úkolů podle rizikovosti jednotlivých částí systémů<

Postupná migrace a metody koexistence různých verzí .NET

  • Přístup Strangler Fig – postupné nahrazování funkcionalit ze starších systémů novými komponentami<
  • Migrace typu „API-first“ – vytváření rozhraní REST pro přístup k jednotlivým oblastem systému .NET Framework<
  • Použití zasílacích služeb RabbitMQ, Azure Service Bus nebo Kafka k řešení komunikace mezi oddělenými částmi systému<
  • Společné využívání databázových schémat a strategie postupného upravování jejich struktury během migrace<
  • Fungování obou platformních verzí – .NET Framework i .NET 8 – souběžně v rámci jedné infrastruktury<
  • Kontejnerizace nových modulů založených na .NET 8 při udržení starších aplikací na platformě IIS<

Praktická laboratoř migrace s rekapitulací obsahu kurzu

  • Aplikace nástroje Upgrade Assistant na ukázkový projekt ze starší verze frameworku<
  • Refaktorování aplikací typu Web Forms či služeb WCF směrem k moderním rozhraním ASP.NET Core API<
  • Nastavení mechanismů vstřikování závislostí, protokolování i globální správy chyb v upraveném systému<
  • Přidávání procesů autentizace a autorizace do nově vytvořených rozhraní API<
  • Testování skutečné funkčnosti s ohledem na koexistenci jednotlivých systémů<
  • Závěrečná diskuse, odpovědi na dotazy a konzultace možných postupů pro budoucí modernizaci projektů<

Požadavky

  • Praktické zkušenosti s programováním v jazyce C# a principy objektově orientovaného návrhu
  • Orientace na konceptech webového vývoje (HTTP, HTML, CSS, základy JavaScriptu)
  • Základní znalosti relačních databází a jazyka SQL
  • Předchozí seznámení s prostředím .NET Framework nebo technologií ASP.NET je výhodou, není však podmínkou

Cílová skupina

  • Vývojáři a architekti .NET, kteří připravují modernizaci starších aplikací založených na .NET Framework
  • Inženýři softwaru směřující do oblasti podnikového vývoje v .NET
  • Techničtí vedoucí odpovědní za plánování migrací a koexistence různých systémů
  • Pracovníci z týmů DevOps a infrastruktury, kteří podporují životní cyklus aplikací v .NET
 21 Hodiny

Počet účastníků


Cena za účastníka

Reference (2)

Nadcházející kurzy

Související kategorie