Programowanie .NET - kurs zaawansowany

O szkoleniu

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
Dlaczego warto wziąć udział?

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

Wymagania

  • Umiejętność posługiwania się środowiskiem Visual Studio
  • Znajomość założeń programowania obiektowego
  • Podstawowa znajomość języka C#
Kto powinien wziąć udział?

 

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

Program szkolenia

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

Czas trwania

4 dni (32h)

Prelegenci

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.

 

Marcin Sulecki

Programista i trener z 25-letnim doświadczeniem. Programowanie zacząłem od kartki papieru i czasopisma Bajtek. Pasja przerodziła się w zawód. Ukończyłem informatykę na UAM w Poznaniu.

Terminy i miejsca

Zapoznaj się z aktualnymi terminami tego szkolenia bądź zapisz na powiadomienia o nowych terminach.

Wymagany komputer z dostępem do internetu.

Rejestracja

Cena standardowa
za osobę
3 550
+23% VAT
Cena zawiera:
  • udział w zajęciach
  • materiały szkoleniowe w wersji elektronicznej
  • certyfikat uczestnictwa
Zapisz się
FAQ

Najczęściej zadawane pytania

Prosimy o przejście do sekcji Zapisz się, aby wypełnić formularz zgłoszenia w wydarzeniu. Po jego wysłaniu organizator skontaktuje się celem potwierdzenia przyjęcia zgłoszenia i przekazania szczegółów organizacyjnych.

Podczas wypełniania formularza rejestracji zaznacz opcję "Oświadczam, że udział będzie finansowany ze środków publicznych, proszę o wystawienie faktury z zerową stawką VAT."

Jeśli potrzebujesz zarejestrować organizatora w wewnętrznym systemie zamówień możesz zrobić to na dwa sposoby. W trakcie wypełniania zgłoszenia w polu Uwagi przekaż tą informację - opiekun szkolenia skontaktuje się w celu dopełnienia formalności. Możesz to również zrobić samodzielnie z użyciem poniższych danych:
  • Nazwa firmy: Sages Sp. z o.o.
  • Ulica i nr: ul. Wąwozowa 11
  • Kod pocztowy: 02-796
  • Miejscowość: Warszawa
  • Numer NIP: 1132737407

Najszybszym sposobem kontaktu z organizatorem i uzyskania dodatkowych informacji jest wypełnienie formularza kontaktowego. Możesz też zadzwonić do organizatora.
Kontakt

Masz pytania? Napisz do nas

Wypełnij formularz

Uzupełnij pole
Uzupełnij pole
Wybierz termin wydarzenia
Uzupełnij pole
Uzupełnij pole
Uzupełnij wiadomość
Przeciągnij plik tutaj lub kliknij, żeby dodać.
Potwierdź, że nie jesteś botem.
Musisz zaakceptować regulamin.

Dane kontaktowe

Sages Sp. z o.o.
02-796 Warszawa, Polska ul. Wąwozowa 11

Organizator

Sages Sp. z o.o.
02-796 Warszawa, Polska
ul. Wąwozowa 11
woj. mazowieckie
Powiadomienia o nowych terminach

Zapisz się, aby otrzymywać powiadomienia o nowych terminach tego wydarzenia!