Szkolenie Web API w .NET 5

Po szkoleniu będziesz umiał/umiała tworzyć Web API w .NET Core/.NET 5, od zera do rozbudowanego Web API.

Opis szkolenia

Szkolenie jest dedykowane osobom, które znają podstawy w .NET Core/.NET 5 i chcieliby się nauczyć tworzyć Web API. Przygodę zaczniemy od podstawowych pojęć takich jak akcja, kontroler i będziemy przechodzić do tematów coraz bardziej zaawansowanych. Na koniec szkolenia będziesz umiał/umiała tworzyć Web Api od zera, wykonując wszystkie niezbędne elementy. Po szkoleniu będziesz mógł/mogła przystąpić do bardziej zaawansowanych szkoleń jak na przykład modularny monolit w .NET 5.

Daniel Plawgo

Jestem programistą .NET z kilkunastoletnim stażem pracy, a do tego bardzo lubię pomagać innym na różne sposoby: realizując projekty, ucząc, rozwiązując problemy, czy organizując spotkania grupy .NET.

Czego się nauczysz?

  • Czym jest Web API, HTTP, REST
  • Jakie są różnice między typami żądań GET, POST, PUT, DELETE
  • Czym różni się Web API od MVC
  • Czym jest kontroler
  • Jak utworzyć nową akcję
  • Czym jest model i jak go zdefiniować
  • Czym jest routing i jak jak go wykorzystać
  • Jak skonfigurować start aplikacji
  • Jak wczytywać konfigurację aplikacji z różnych źródeł (plik, zmienne systemowe)
  • Czym jest middleware i do czego można go wykorzystać
  • Jak użyć Entity Framework Core do odczytu i zapisu danych w bazie
  • Jak tworzyć migracje bazy danych
  • Czym jest wzorzec repozytorium
  • Czym są viewmodel/dto
  • Jak mapować modele na viewmodele/dto z użyciem Automappera
  • Jak walidować dane
  • Jak lepiej walidować dane z użyciem Fluent Validation
  • Czym jest Dependency Injection
  • Jak lepiej wstrzykiwać zależności z użyciem AutoFac
  • Czym jest uwierzytelnianie i jak różni się od autoryzacji
  • Jak zaimplementować uwierzytelnianie i autoryzację w aplikacji
  • Czym jest token JWT
  • Jak obsługiwać błędy w WebApi
  • Jak monitorować działanie aplikacji z użyciem APM
  • Jak użyć Background Service do wykonywania operacji w tle
  • Czym jest HangFire
  • Jak testować Web API z użyciem Postmana
  • Testów jednostkowych kontrolerów oraz routingu

Program szkolenia

  1. Wprowadzenie do WebAPI

    1. HTTP/REST
    2. Porównanie do ASP.NET MVC
  2. WebAPI

    1. Model
    2. Kontroler
    3. Routing
  3. ASP.NET Core

    1. Klasa Startup
    2. Konfiguracja
    3. Middleware
    4. Logowanie informacji
  4. Dostęp do danych

    1. Podstawy Entity Framework Core Code First
    2. Migracje bazy danych
    3. Generowane danych testowych
    4. Wykorzystanie repozytoriów do dostępu do danych
  5. Wykorzystanie view modeli

    1. Problemy z przekazywaniem czystego modelu do widoków
    2. Wykorzystywanie view modeli do przekazywania danych – różne scenariusze
  6. Wykorzystanie Automappera

    1. Omówienie biblioteki Automapper
    2. Dodanie konfiguracji Automappera przy starcie aplikacji
    3. Wykorzystywanie automappera
  1. Walidacja danych

     

    1. Wbudowany mechanizm walidacji
    2. Fluent Validation
  2. Dependency Injection

     

    1. Wbudowany mechanizm DI
    2. AutoFac
  3. Zabezpieczenie dostępu

     

    1. Uwierzytelnianie
    2. JSON Web Token
    3. Autoryzacja
  4. Obsługa błędów oraz diagnostyka

     

    1. Omówienie obsługi błędów w aplikacji WebApi
    2. Logowanie działania aplikacji z wykorzystaniem biblioteki nLog
    3. APM
  5. Operacje w tle

     

    1. BackgroundService
    2. Hangfire
  6. Testowanie WebApi

     

    1. Postman
    2. Testy akcji kontrolera
    3. Testy routingu

"
Z czystym sumieniem mogę polecić go jako trenera!

Pełen profesjonalizm, bardzo duża wiedza jaką posiada (poparta wieloletnim doświadczeniem) oraz sposób w jaki ją przekazuje, bardzo dobrze wpływa na szybkie i zrozumiałe poznanie zagadnień oraz motywuje - sprawiając, że człowiek pragnie uczyć się coraz więcej i więcej.

Damian Buczkowski, Software Developer w Zonifero

O mnie

Nazywam się Daniel Plawgo i od kilkunastu lat zajmuję się zawodowo programowaniem z wykorzystaniem platformy .NET. Do tej pory zrealizowałem kilkadziesiąt projektów, a kod mojego autorstwa działa na całym świecie, od aptek w Kanadzie, przez liczne systemy działające w Polsce, po laboratoria w Chinach. Praktycznie całe moje zawodowe doświadczenie związane jest z .NET (nie licząc licznych przygód z frontendem w JavaScript/TypeScript).

Od samego początku staram się również dzielić swoją wiedzą, jaką systematycznie zdobywałem. Już na studiach współpracowałem z Microsoft jako Microsoft Student Partner, gdzie z jednej strony organizowałem spotkania grupy, a z drugiej byłem jednym z aktywnych prowadzących. Od tamtego czasu chętnie występuję na konferencjach, czy spotkaniach grupy w całej Polsce. Od kilku lat prowadzę bloga o .NET, i próbuję swoich sił w filmach na YouTube.

W 2011 roku zacząłem zawodowo prowadzić szkolenia, podczas których dzielę się wiedzą zdobytą w boju przy różnych systemach. Z drugiej strony jest to fajna odskocznia, możliwość poznania ciekawych ludzi i możliwość zmierzenia się z ich problemami. Początkowo prowadziłem szkolenia certyfikowane jako Microsoft Certified Trainer w różnych ośrodkach w Polsce. Obecnie skupiam się na dedykowanych szkoleniach przygotowywanych pod poszczególne zespoły programistów.

W efekcie na sali szkoleniowej jako trener łącznie spędziłem ponad 2000 godzin, szkoląc kilkaset osób. Mam nadzieje, że również Ty niedługo dołączysz do grona zadowolonych kursantów.

Przebieg szkolenia

Szkolenie to tak naprawdę dopiero początek naszej współpracy. Wszystko rozpoczyna się od jednej lub kilku rozmów z osobami odpowiedzialnymi za organizację szkolenia lub przyszłymi uczestnikami, podczas których staram się określić potrzeby i wspólnie opracować plan szkolenia dla danej grupy.

Szkolenie jest przygotowywane indywidualnie dla każdej grupy, aby maksymalnie móc wykorzystać czas wspólnej pracy.

Widoczny program szkolenia na stronie jest propozycją, która jest dobrą podstawą do rozmów i w zależności od potrzeb może być dowolnie modyfikowany.

Wszystko po to, aby efekty szkolenia były jak najlepsze!

Podczas samego szkolenia największy nacisk kładę na praktykę. Przez większość czasu pracujemy razem w Visual Studio, tworząc kod. Ilość suchej teorii i slajdów jest ograniczona do minimum. W efekcie szkolenia uczestnicy poznają techniki oraz zdobywają umiejętności, które są w stanie już następnego dnia przenieść do realizowanych projektów. Przygotowuję materiały oraz przykłady tak, aby pokazywały temat od początku do końca.

Po szkoleniu uczestnicy w ciągu miesiąca MOGĄ skorzystać z mojego wsparcia (w wymiarze jednej godziny na każdy dzień szkolenia). Realizowane jest ono na ogół w formie pytań i odpowiedzi, czy to w wiadomościach email, czy zdalnych spotkaniach, na których się wspólnie zdzwaniamy. Bardzo często takie wsparcie przechodzi w długofalową współpracę, trwającą w niektórych przypadkach wiele lat.

FAQ

Czy Twoje szkolenia są dla mnie i mojego zespołu?

Myślę, że jestem w stanie do każdego zespołu wnieść coś wartościowego. Umówmy się na rozmowę i zobaczmy, w czym jestem Wam w stanie pomóc. Sama rozmowa nic nie kosztuje, a może przynieść sporo korzyści dla Waszego projektu.

Czy szkolenia są otwarte?

Aktualnie prowadzę tylko zamknięte szkolenia, dedykowane określonej grupie. Wszystko po to, aby uczestnicy skorzystali z nich jak najbardziej.

Czy program szkolenia jest stały?

Nie, każde szkolenie jest indywidualnie dobierane pod uczestników, ich wiedzę oraz umiejętności. Programy na stronie są wstępem do rozmów.

Czy jest wsparcie po szkoleniu?

Tak, na każdy dzień szkolenia przysługuje 1 godzina wsparcia w ciągu miesiąca od szkolenia. Na ogół są to odpowiedzi via email lub zdalne spotkanie.

Czy cena szkolenia jest stała?

Tak, cena szkolenia jest stała i zależy jedynie od ilości dni. Nie jest ostptne, czy na szkoleniu będzie 1 osoba, czy 10 osób. Cena jest stała.

Czy udostępniasz materiały?

Tak, po szkoleniu masz dostęp do tego, co stworzyliśmy. Dodatkowo na moim blogu znajdziesz dużo darmowych treści, z których możesz skorzystać.

Czy jest dodatkowe wsparcie?

Tak, bardzo często szkolenie to początek współpracy, która trwa latami. Pomagam w rozwiązywaniu problemów, czy code review.

Cena

Cena za szkolenie jest stała i zależy od ilości dni szkolenia. W przypadku szkoleń stacjonarnych wynosi 2000zł netto za dzień szkolenia, natomiast w przypadku szkoleń zdalnych wynosi 1750zł netto. Cena nie zależy od ilości uczestników. Jest taka sama dla jednej jak i dziesięciu osób. Z praktycznego punktu widzenia staram się nie organizować szkoleń dla grup większych niż 10 osób, bo wtedy komfort pracy dość mocno spada.

Przykładowo trzydniowe szkolenie z C# i .NET to łączny koszt 6000zł netto (3 x 2000zł) w przypadku szkolenia stacjonarnego lub 5250zł netto, gdy szkolenie jest realizowane zdalnie.

Cena szkolenia obejmuje:

  • Rozmowy wstępne w celu określenia potrzeb oraz właściwego planu szkolenia
  • Opracowanie materiałów i przykładów na podstawie wcześniejszej rozmowy
  • Przeprowadzenie właściwego szkolenia (8 godzin zegarowych, w tym dwie przerwy po 15 minut i jedna 30 minutowa obiadowa)
  • Udostępnienie materiałów i przykładów utworzonych w trakcie szkolenia (nie do dalszej dystrybucji)
  • Podstawowe wsparcie poszkoleniowe (1 godzina na każdy dzień szkolenia - do wykorzystania w ciągu miesiąca od szkolenia)
  • Preferencyjne warunki na wsparcie rozszerzone - konsultacje

W przypadku szkolenia stacjonarnego cena również obejmuje:

  • Koszty związane z przejazdem trenera na miejsce szkolenia
  • Koszty związane z noclegiem trenera w trakcie szkolenia

Cena szkolenia nie obejmuje w szczególności:

  • Kosztów związanych z miejscem przeprowadzenia szkolenia (na przykład sali)
  • Kosztów cateringu
  • Kosztów licencji potrzebnych do przeprowadzenia szkolenia

Jesteśmy w stanie pomóc/zająć się organizacją sali, cateringu i tym podobnymi rzeczami.

Na początku 2021 roku moja działalność została wpisana do rejestru instytucji szkoleniowych pod numerem 2.28/00002/2021. Dzięki temu jestem w stanie prowadzić szkolenia współfinansowane ze środków publicznych, na przykład z dotacji z urzędu pracy. Możliwość taka jest w stanie znacząco obniżyć koszty szkolenia lub wydłużyć jego czas trwania.

Kontakt

Skorzystaj z poniższego formularza i wyślij wiadomość do mnie. Oddzwonię lub odpiszę i zobaczymy, w czym mogę Ci pomóc!

Wyślij wiadomość

Dane

Daniel Plawgo

+48 505986888

daniel@plawgo.pl