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
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#
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.
Rejestracja
- udział w zajęciach
- materiały szkoleniowe w wersji elektronicznej
- certyfikat uczestnictwa
Brak miejsc. Wypełnij formularz, aby zapytać o nowe terminy.
Termin nieaktualny. Wybierz inny termin powyżej, bądź wypełnij formularz, aby zapytać o planowane nowe terminy.
Najczęściej zadawane pytania
- Nazwa firmy: Sages Sp. z o.o.
- Ulica i nr: ul. Wąwozowa 11
- Kod pocztowy: 02-796
- Miejscowość: Warszawa
- Numer NIP: 1132737407