Programowanie .NET - kurs zaawansowany

3950 PLN+23% VAT (4858 PLN brutto / 1 os.)

Czas trwania szkolenia:4 dni (32h)

Kod kursu:NET/ADV

Poziom zaawansowania:

c#

Dostępne terminy

  • Termin
  • Lokalizacja
  • Trener
  • Cena
Brak dostępnych terminów

O szkoleniu Programowanie .NET - kurs zaawansowany

W cenie otrzymasz:

  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia
  • W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki

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
  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how

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

Kolekcje

  • Podstawowe kolekcje: listy, słowniki
  • Kolejki, stosy
  • Kolekcje współbieżne - ConcurrentBag, ConcurrentQueue, ConcurrentDictionary
  • Definiowanie własnych kolekcji

Typy generyczne

  • Tworzenie klas generycznych
  • Definiowanie metod generycznych

Kowariancja i Kontrawariancja

Typy anonimowe

  • Delegaty
  • Wyrażenia lambda
  • Anonimowe delegaty i domknięcia w C#
  • Tworzenie anonimowych obiektów
  • Func/Action

Typ dynamic i Dynamic Language Runtime

Metody rozszerzające

Method Chaining

  • Wprowadzenie do wzorca Method Chaining
  • Definiowanie własnych interfejsów Fluent
  • Omówienie zalet interfejsów Fluent i przypadków zastosowania

LINQ

  • 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

Mechanizm refleksji

  • Idea stosowania refleksji
  • Pobieranie informacji o składowych typów
  • Tworzenie obiektów z wykorzystaniem mechanizmu refleksji
  • Wykorzystanie atrybutów

Wielowątkowość

  • Zastosowanie wielowątkowości w aplikacjach
  • Zarządzanie cyklem życia wątku - tworzenie, usypianie, kończenie
  • Synchronizacja wątków
  • Zakleszczenia
  • Pule wątków
  • Dobre praktyki związane z wielowątkowością

Metody asynchroniczne

  • Wykorzystanie Task Parallel Library
  • Użycie async, await

Wprowadzenie do przetwarzania współbieżnego

  • Idea przetwarzania współbieżnego
  • Instrukcje Parallel LINQ
  • Pętle współbieżne
  • Wydajność przetwarzania współbieżnego

Wprowadzenie do programowania sieciowego

  • Gniazda sieciowe
  • Wykorzystanie klas TcpClient i TcpListener do komunikacji sieciowej
  • Wykorzystanie wielowątkowości w programowaniu sieciowym

Komunikacja HTTP

  • Wykorzystanie komunikacji HTTP w usługach sieciowych
  • Użycie HTTPWebRequest/HTTPWebResponse
  • Zastosowanie uproszczonego interfejsu obsługi HTTP - WebClient

Programowanie aspektowe (PostSharp)

  • Idea i zalety programowania aspektowego
  • Wprowadzenie do biblioteki PostSharp
  • Definiowanie własnych aspektów

Kontener IoC (opcjonalne)

  • 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

Testy jednostkowe (opcjonalne)

  • 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

Biblioteka logująca NLog (opcjonalne)

  • Znaczenie modułu logowania w systemach produkcyjnych
  • Poziomy logowania
  • Tworzenie pliku konfiguracyjnego NLog
  • Definiowanie celów oraz reguł logowania
  • Formatowanie wyjściowe logów

Podobne szkolenia