Programowanie .NET - kurs zaawansowany

LICZBA DNI: 4 (32h)

KOD KURSU: NET/ADV

POZIOM SZKOLENIA:

# c#

Najbliższy termin:

24 maja 2021

PROWADZI:

Piotr Barankiewicz

3550 PLN netto + 23% VAT

Ostatnie miejsca! Termin gwarantowany.

  • zdalne

ZDALNE

W CENIE

  • 4 dni pracy z trenerem na żywo online
  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia

Czy wiesz, że możesz uzyskać nawet do 100% DOFINANSOWANIA na szkolenie? Napisz do nas »

Oferta dla firm

Dostosuj zakres, czas i miejsce szkolenia do potrzeb Twojego zespołu. Uzyskaj indywidualną wycenę szkolenia dla grupy.

Weź udział w szkoleniu

Termin

Lokalizacja

Trener

Cena / os

24

maja

Termin gwarantowany

Zdalne,

3550 PLN netto
+ 23% VAT

Termin

24

maja

Termin gwarantowany

Lokalizacja

Zdalne,

Trener

Cena / os

3550 PLNnetto
+ 23% VAT

Powiadom
o kolejnych terminach

O szkoleniu

DLA KOGO?

Szkolenie kierowane jest do programistów chcących pogłębić swoją wiedzę z zakresu platformy .NET i języka C# oraz osób programujących dotychczas w innych językach chcących rozpocząć pracę ze środowiskiem .NET

WYMAGANIA

Umiejętność posługiwania się środowiskiem Visual Studio

Znajomość założeń programowania obiektowego

Podstawowa znajomość języka C#

ZALETY

Zajęcia ukierunkowane jest na poznanie zaawansowanych zagadnień związanych z językiem C# oraz zdobycie praktycznych umiejętności z zakresu programowania współbieżnego i sieciowego

Zakres szkolenia obejmuje najważniejsze tematy oraz biblioteki, których znajomość konieczna jest do sprawnej i wydajnej pracy z platformą .NET

Uczestnicy szkolenia stawią czoła najczęściej pojawiającym się w codziennej pracy problemom i zadaniom

Dzięki skupieniu się na zagadnieniach specyficznych dla platformy .NET, szkolenie pozwala na wsparcie procesu migracji programistów z innych technologii

Bardzo duży nacisk na praktyczną stronę programowania

Program szkolenia dopasowany do najnowszych trendów rynkowych

Poza samą technologią .NET omówione zostaną najpopularniejsze biblioteki używane w większości komercyjnych projektów

Cele szkolenia

Zdobycie wiedzy na temat zaawansowanych aspektów platformy .NET oraz języka C#

Przygotowanie uczestników do efektywnej i wydajnej pracy z platformą .NET

Przekazanie wiedzy z zakresu dobrych praktyk w procesie wytwarzania oprogramowania z użyciem języka C#

Zaznajomienie uczestników z najpopularniejszymi bibliotekami używanymi w pracy ze środowiskiem .NET

Program

  • Podstawowe kolekcje: listy, słowniki
  • Kolejki, stosy
  • Kolekcje współbieżne - ConcurrentBag, ConcurrentQueue, ConcurrentDictionary
  • Definiowanie własnych kolekcji
  • Tworzenie klas generycznych
  • Definiowanie metod generycznych
  • Delegaty
  • Wyrażenia lambda
  • Anonimowe delegaty i domknięcia w C#
  • Tworzenie anonimowych obiektów
  • Func/Action
  • Wprowadzenie do wzorca Method Chaining
  • Definiowanie własnych interfejsów Fluent
  • Omówienie zalet interfejsów Fluent i przypadków zastosowania
  • Czym jest LINQ
  • Przegląd podstawowych operatorów LINQ
  • LINQ to Objects
  • Łączenie wyrażeń LINQ z wykorzystaniem Method Chaining
  • Operatory projekcji
  • Agregacja
  • Grupowanie
  • Złączenia
  • Zalety stosowania LINQ
  • Własne operatory i rozszerzenia
  • Idea stosowania refleksji
  • Pobieranie informacji o składowych typów
  • Tworzenie obiektów z wykorzystaniem mechanizmu refleksji
  • Wykorzystanie atrybutów
  • Zastosowanie wielowątkowości w aplikacjach
  • Zarządzanie cyklem życia wątku - tworzenie, usypianie, kończenie
  • Synchronizacja wątków
    • Lock (Monitor)
    • Semaphore
    • ReaderWriterLock
    • WaitEventHandle
  • Zakleszczenia
  • Pule wątków
  • Dobre praktyki związane z wielowątkowością
  • Wykorzystanie Task Parallel Library
  • Użycie async, await
  • Idea przetwarzania współbieżnego
  • Instrukcje Parallel LINQ
  • Pętle współbieżne
  • Wydajność przetwarzania współbieżnego
  • Gniazda sieciowe
  • Wykorzystanie klas TcpClient i TcpListener do komunikacji sieciowej
  • Wykorzystanie wielowątkowości w programowaniu sieciowym
  • Wykorzystanie komunikacji HTTP w usługach sieciowych
  • Użycie HTTPWebRequest/HTTPWebResponse
  • Zastosowanie uproszczonego interfejsu obsługi HTTP - WebClient
  • Idea i zalety programowania aspektowego
  • Wprowadzenie do biblioteki PostSharp
  • Definiowanie własnych aspektów
  • Wzorzec Inversion of Control
  • Wprowadzenie do kontenera Autofac
  • Rejestrowanie składowych kontenera
  • Rozwiązywanie zależności
  • Automatyczne wstrzykiwanie zależności
  • Zalety i przypadki użycia wzorca IoC
  • Idea testów jednostkowych i ich wpływ na niezawodność kodu
  • Porównanie najpopularniejszych bibliotek do testów jednostkowych dostępnych w środowisku .NET - MS Test, NUnit, XUnit
  • Tworzenie testów jednostkowych, klasa Assert
  • Uruchamianie testów jednostkowych, wprowadzenie do Test Explorer
  • Użycia rozszerzeń FluentAssertions
  • Wprowadzenie do metodyki Test-driven development
  • Znaczenie modułu logowania w systemach produkcyjnych
  • Poziomy logowania
  • Tworzenie pliku konfiguracyjnego NLog
  • Definiowanie celów oraz reguł logowania
  • Formatowanie wyjściowe logów

Autor szkolenia:

Rafał Kaszczuk

Programista .NET z wieloletnim doświadczeniem. W swojej karierze stawiał czoła całemu spektrum projektów - od systemów księgowych dla branży finansowej po serwery multiplayer obsługujące miliony graczy w branży GameDev. Specjalizujący się w szczególności w tematach rozproszonych systemów SOA z wykorzystaniem ASP .NET oraz WCF. Związany z bazą MongoDB niemal od początku jej istnienia. Posiadacz certyfikatów M101J MongoDB for Java Developers, M101P MongoDB for Developers, M036 New Features and Tools in MongoDB 3.6. Jako trener oraz konsultant wspomagał kilkadziesiąt firm we wdrażaniu bazy MongoDB. Posiada duże doświadczenie trenerskie - w ciągu 4 lat swojej trenerskiej kariery przeprowadził ponad 500 godzin szkoleń i warsztatów.

Najbliższe szkolenie poprowadzi:

Piotr Barankiewicz

Architekt Oprogramowania w firmie dostarczającej rozwiązania dla przemysłu. Od 2007 roku nieprzerwanie związany z tworzeniem oprogramowania na różnych jego etapach, zaczynając od programowania, poprzez analizę i obecnie projektowanie. Doświadczenie zdobywał w projektach prowadzonych w metodami waterfall i agile (scrum). Na co dzień nie boi się podejmować odważnych decyzji adaptujących architekturę tworzonych rozwiązań, dopasowując ją do zmieniających się wymagań. Zorientowany na jakość, żeby robić raz ;). Te cechy skutecznie łączy dzięki szybkim wynikom testów tworzonych rozwiązań jeszcze na etapie implementacji. Automatyzacja produkcji softu, np poprzez automatyczne testowanie, jest codziennym narzędziem pracy w zespole z którym pracuje.

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.