Bądźmy w kontakcie

Plan Szkolenia

Podstawy OOP i kluczowe koncepcje .NET

  • Zrozumienie programowania obiektowego
    • Podstawowe zasady OOP: Hermetyzacja, Dziedziczenie, Polimorfizm, Abstrakcja
    • Klasy, obiekty, modyfikatory dostępu, konstruktory i destruktory
    • Interfejsy, klasy abstrakcyjne oraz kompozycja vs. dziedziczenie
    • Lab 1: Zbuduj aplikację konsolową demonstrującą projektowanie OOP, hierarchie dziedziczenia i implementację interfejsów
  • Zrozumienie typów danych i kolekcji
    • Typy wartościowe vs. referencyjne, struktury, wyliczenia oraz boxing/unboxing
    • Tablice, List<T>, Dictionary<TKey, TValue>, HashSet<T> oraz podstawy LINQ
    • Ograniczenia generyczne, wnioskowanie typów oraz kwestie wydajnościowe kolekcji
    • Lab 2: Zaprojektuj narzędzia do obsługi kolekcji generycznych, wykonaj zapytania LINQ i porównaj wydajność operacji na kolekcjach

Struktura kodu, kompilacja i operacje I/O

  • Zrozumienie zdarzeń i wyjątków
    • Delegaty, wydawcy/odbiorcy zdarzeń oraz delegaty multicast
    • Obsługa wyjątków: try, catch, finally, throw, niestandardowe wyjątki
    • Globalna obsługa błędów, frameworki logowania oraz wzorce odporności na błędy
    • Lab 3: Zaimplementuj architekturę opartą na zdarzeniach, zbuduj solidne przepływy obsługi wyjątków i zintegruj strukturalne logowanie
  • Zrozumienie kompilacji i wdrażania kodu
    • Potok kompilacji .NET: kod źródłowy → IL → JIT → kod natywny
    • MSBuild, dotnet CLI, zarządzanie pakietami NuGet oraz rozwiązywanie zależności
    • Modele wdrażania: Framework-Dependent, Self-Contained, Framework-Checked
    • Lab 4: Skompiluj projekty za pomocą CLI, zarządzaj zależnościami NuGet i opublikuj wdrożenia niezależne od frameworka
  • Zrozumienie klas wejścia/wyjścia (I/O)
    • Operacje na plikach i katalogach (File, Directory, Path)
    • Wejście/wyjście tekstowe (StreamReader, StreamWriter, StringReader, StringWriter)
    • Wejście/wyjście binarne, serializacja (deprecjacja BinaryFormatter, System.Text.Json, XmlSerializer)
    • Wejście/wyjście sieciowe i strumieniowe, wzorce asynchronicznego I/O (async/await)
    • Lab 5: Zbuduj asynchroniczne procesory plików/strumieni, zaimplementuj serializację JSON/XML i przetestuj wydajność I/O

Zabezpieczenia, zarządzanie pamięcią i przygotowanie do certyfikacji

  • Zrozumienie zabezpieczeń
    • Uwierzytelnianie vs. autoryzacja, tożsamość oparta na oświadczeniach oraz bezpieczeństwo oparte na tokenach
    • Podstawy kryptografii: algorytmy symetryczne/asymetryczne, hashowanie, certyfikaty oraz bezpieczne przechowywanie kluczy
    • Bezpieczne kodowanie: walidacja danych wejściowych, kodowanie wyjścia, skanowanie zależności oraz łagodzenie największych ryzyk OWASP w .NET
    • Polityki bezpieczeństwa .NET: deprecjacja CAS, dostęp do kodu zarządzanego oraz kontrole bezpieczeństwa w czasie wykonywania
    • Lab 6: Zaimplementuj bezpieczną walidację danych, zintegruj operacje kryptograficzne i popraw niebezpieczne wzorce kodu
  • Zarządzanie pamięcią i języki .NET
    • Generacje Garbage Collection, tryby GC oraz GC.KeepAlive
    • IDisposable, instrukcje using oraz deterministyczne czyszczenie
    • Słabe referencje, finalizatory oraz zapobieganie wyciekom pamięci
    • Interoperacyjność języków .NET: C#, F#, VB.NET oraz interop P/Invoke/COM
    • Lab 7: Profiluj alokacje pamięci, zaimplementuj właściwe wzorce usuwania i zademonstruj wywołania funkcji międzyjęzykowych
  • Przygotowanie do egzaminu MTA 98-372 i projekt końcowy
    • Struktura egzaminu, wagi domen oraz formaty pytań
    • Praktyczne pytania, częste pułapki oraz priorytetyzacja tematów
    • Projekt końcowy: Ukończ bezpieczną, wydajną pod względem pamięci aplikację .NET z kompilacją, I/O i obsługą zdarzeń
    • Otwarte Q&A, dystrybucja materiałów do nauki oraz wskazówki dotyczące rejestracji na certyfikację

Wymagania

Brak.

 21 godzin

Liczba uczestników


Cena za uczestnika (netto)

Opinie uczestników (3)

Propozycje terminów

Powiązane Kategorie