Bądźmy w kontakcie

Plan Szkolenia

Wprowadzenie do nowoczesnej platformy .NET

  • Przegląd środowiska wykonawczego .NET 8, SDK i ujednoliconej platformy
  • Porównanie ewolucji .NET Framework, .NET Core i .NET 8+
  • Podstawy struktury projektu, frameworków docelowych i wieloplatformowości
  • Konfiguracja środowiska deweloperskiego i narzędzi

Nowoczesny C# i praktyki językowe zorientowane na przyszłość

  • Rekordy, inicjatory tylko do ustawienia i wzorce niezmienności
  • Ulepszenia dopasowania wzorców i wyrażenia switch
  • Typy referencyjne dopuszczające wartość null i bezpieczeństwo sterowane kompilatorem
  • Najlepsze praktyki async/await i strumieniowanie oszczędzające pamięć
  • Matematyka generyczna, abstrakty statyczne w interfejsach i API zorientowane na wydajność
  • Przygotowanie baz kodu na funkcje C# 12/13 w .NET 8

Podstawy ASP.NET Core i inicjalizacja aplikacji

  • Host builder, potok middleware i cykl życia żądania
  • Minimalne API vs API oparte na kontrolerach: kryteria decyzyjne
  • Dostawcy konfiguracji, ustawienia specyficzne dla środowiska i zarządzanie sekretami
  • Pliki statyczne, routing i konwencje punktów końcowych
  • Konfiguracja kontenera wstrzykiwania zależności i cykle życia usług

Projektowanie i implementacja interfejsów API REST

  • Model dojrzałości REST, modelowanie zasobów i projektowanie URI
  • Metody HTTP, kody statusu i negocjacja treści
  • Walidacja żądań, wiązanie modeli i integracja z FluentValidation
  • Strategie wersjonowania dla publicznych i wewnętrznych interfejsów API
  • Dokumentacja z OpenAPI i Swagger UI
  • Testowanie integracyjne interfejsów API z TestServer i WebApplicationFactory

Wstrzykiwanie zależności na poziomie przedsiębiorstwa i odwrócenie sterowania

  • Wstrzykiwanie przez konstruktor, cykle życia usług i zależności uwięzione
  • Wzorce dekoratora i fabryki z wbudowanym kontenerem
  • Integracja z bibliotekami DI takimi jak Scrutor i inne biblioteki zewnętrzne
  • Modułowa rejestracja usług i organizacja oparta na funkcjach
  • Zagadnienia cross-cutting poprzez middleware i filtry

Logowanie, konfiguracja i scentralizowana obsługa błędów

  • Strukturalne logowanie z Microsoft.Extensions.Logging i Serilog
  • Poziomy logowania, zakresy, wzbogacanie i konfiguracja sinków
  • Middleware wyjątków i globalne potoki obsługi błędów
  • ProblemDetails i odpowiedzi błędów zgodne z RFC 7807
  • Kontrole zdrowia, telemetria i haki obserwowalności
  • Identyfikatory korelacji i przygotowanie do śledzenia rozproszonego

Architektura oprogramowania dla rozwiązań .NET w przedsiębiorstwach

  • Zasady architektury warstwowej, heksagonalnej i czystej architektury
  • Bloki budulcowe projektowania opartego na domenie w .NET
  • Wzorce CQRS i mediator z MediatR
  • Wzorce repozytorium i jednostki pracy z EF Core
  • Architektura pionowych plasterków dla spójności funkcji
  • Ocena kompromisów między monolitem, modułowym monolitem i mikroserwisami

Bezpieczeństwo aplikacji internetowych i interfejsów API

  • Schematy uwierzytelniania: JWT, OAuth2, OpenID Connect i przepływy oparte na ciasteczkach
  • Polityki autoryzacji, dostęp oparty na roszczeniach i zabezpieczenia zasobów
  • Wymuszanie HTTPS, HSTS i middleware bezpiecznych nagłówków
  • Sanityzacja wejścia, kodowanie wyjścia i ograniczanie zagrożeń z OWASP Top 10
  • Ograniczanie szybkości, polityki CORS i obsługa tokenów anty-podrobieniowych
  • Zarządzanie sekretami z Azure Key Vault i rotacja oparta na środowisku

Jakość kodu, utrzymywalność i najlepsze praktyki

  • Standardy kodowania, EditorConfig i dotnet format
  • Analiza statyczna z Roslyn analyzers i integracja z SonarQube
  • Testy jednostkowe z xUnit, mockowanie z Moq lub NSubstitute
  • Testy integracyjne i kontraktowe w potokach CI
  • Techniki refaktoryzacji dla długowiecznych modułów legacy
  • Dokumentacja, kontrakty interfejsów API i praktyki dzielenia się wiedzą

Strategia modernizacji: Ocena legacy’owego kodu .NET Framework

  • Analiza portfela: klasyfikacja aplikacji według krytyczności, złożoności i wartości biznesowej
  • Użycie .NET Upgrade Assistant i analizatora kompatybilności
  • Identyfikacja przestarzałych interfejsów API, zależności specyficznych dla platformy i luk w bibliotekach zewnętrznych
  • Interfejsy API specyficzne dla Windows i uwzględnienie migracji WCF
  • Tworzenie planu migracji z priorytetami opartymi na ryzyku

Techniki stopniowej migracji i współistnienia

  • Wzorzec Strangler Fig: stopniowe zastępowanie legacy’owych podsystemów
  • Migracja API-first: udostępnianie domen .NET Framework poprzez fasady REST
  • Mostkowanie oparte na komunikatach z RabbitMQ, Azure Service Bus lub Kafka
  • Strategie współistnienia z wspólną bazą danych i wersjonowanie schematów
  • Uruchamianie .NET Framework i .NET 8 obok siebie w tej samej infrastrukturze
  • Konteneryzacja nowoczesnych komponentów przy pozostawieniu legacy na IIS

Praktyczne laboratorium migracji i podsumowanie

  • Zastosowanie Upgrade Assistant do reprezentatywnego projektu legacy
  • Refaktoryzacja usługi Web Forms lub WCF do interfejsów API ASP.NET Core
  • Implementacja wstrzykiwania zależności, logowania i scentralizowanej obsługi błędów w zmigrowanym rozwiązaniu
  • Dodawanie uwierzytelniania i autoryzacji do nowej powierzchni interfejsu API
  • Weryfikacja współistnienia poprzez testowanie integracyjne end-to-end
  • Podsumowanie, sesja Q&A i wskazówki dotyczące planowania modernizacji po szkoleniu

Wymagania

  • Doświadczenie w programowaniu w C# i zasadach projektowania obiektowego
  • Znajomość podstawowych koncepcji tworzenia stron internetowych (HTTP, HTML, CSS, JavaScript)
  • Podstawowa znajomość baz danych relacyjnych i SQL
  • Wczesne doświadczenie z .NET Framework lub ASP.NET jest pomocne, ale nie wymagane

Grupa docelowa

  • Programiści i architekci .NET przygotowujący się do modernizacji legacy’owych aplikacji .NET Framework
  • Inżynierowie oprogramowania przechodzący do ról związanych z rozwojem .NET w przedsiębiorstwach
  • Liderzy techniczni odpowiedzialni za planowanie migracji platformy i współistnienia
  • Personel DevOps i infrastruktury wspierający cykle życia aplikacji .NET
 21 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie