Programowanie współbieżne w języku Go - Współbieżność w praktyce deweloperskiej

    Czas trwania
    Godzina rozpoczęcia
    Stopień trudności

      Programowanie współbieżne w języku Go


      Współbieżność w praktyce deweloperskiej

      Opis szkolenia

      Go jest językiem nowoczesnym - powstał dopiero w 2009 roku, ja już w tej chwili jest jednym z najchętniej używanych języków programowania i jego popularnosć ciągle rośnie, także dzięki wsparciu dużych firm, z Google na czele. Przekonaj się o wszystkich zaletach tego języka wybierając nasze szkolenia:

      Na dobry początek:

      Dla zaawansowanych:

      Poznaj program szkolenia

      Co zyskasz dzięki szkoleniu Go ?

      Cele szkolenia

      Celem szkolenia jest zapoznanie uczestników z aspektami programowania współbieżnego w języku Go.


      Umiejętności

      Dzięki szkoleniu z programowania w języku Go uczestnik będzie potrafił:

      • Rozumieć różnicę między przetwarzaniem współbieżnym, a równoległym, znać podstawowe pojęcia i problemy związane z współbieżnością
      • Rozumieć, jak język Go rozwiązuje problemy współbieżności
      • Umieć wykorzystać wiedzę dotyczącą prymitywów synchronizacyjnych Go do pisania współbieżnego kodu
      • Znać dobre praktyki pozwalające na pisanie dużych, rozproszonych, skalowalnych systemów
      Czy to szkolenie jest dla Ciebie ?

      Profil uczestników

      Szkolenie przeznaczone jest dla programistów, projektantów i architektów oprogramowania, którzy mają już znają podstawy składni języka Go i chcieliby pogłębić swoją wiedzę związaną z rozwiązywaniem problemów współbieżności w tym języku. Znajomość teorii współbieżności lub rozwiązywania problemów współbieżności w innych językach programowania jest mile widziana, lecz nie konieczna.


      Przygotowanie uczestników

      Szkolenie przeznaczone jest dla osób, które umieją już programować w Go i mają doświadczenie w kompilacji, uruchamianiu i debugowaniu kodu w tym języku. Wymagana jest umiejętność pracy w systemie Windows lub Linux. Wcześniejsza instalacja Go oraz VS Code i plugina do Go jest mile widziana, ale nie wymagana. Kurs programowania Go prowadzone będzie przy użyciu IDE GoLand oraz środowiska Go Playground.

      Czas trwania

      Przed nami:

      • 2 dni po 8 godzin lekcyjnych
      Cele szkolenia programowania Go

      Szczegółowy program szkolenia

      Wprowadzenie problematyki programowania współbieżnego

      • Podstawowe pojęcia dotyczące współbieżności: proces, wątek, zadanie, sekwencja akcji, arrival pattern, interarrival time, krytycznosć, deadline, punktualność, ważność, akcja czasu rzeczywistego, czas wykonania, okres, jitter, punkt synchronizacji
        Współbieżność a równoległość, CSP (Communicating Sequential Processes)
      • Podstawowe problemy współbieżności: atomowość, wyścigi, zakleszczenie, livelock, zagłodzenie, synchronizacja dostępu do pamięci, bezpieczeństwo wątkowe

      Współbieżność w Go

      • Goroutines
      • Channels (kanały), select
      • Pakiet sync: WaitGroup, Mutex, RWMutex, Cond, Once, Pool
      • Użycie GOMAXPROCS
      • Goroutines w Go Runtime, planista (scheduler) Go, “kradzież” zadań

      Wzorce i idiomy współbieżności w Go

      • Wykrywanie wyścigów, pakiet pprof
      • Wykrywanie wycieków Gorutines
      • Wzorce, for-select, or-channel, pipeline, fan-in/fan-out, or-done-channel, tee-channel, bridge-channel, kolejkowanie
      • Pakiet context

      Dobre praktyki współbieżności

      • Heartbeat i monitorowanie, resetowanie Gouritines
      • Opóźnienia (timeouts) i rezygnacja z wykonania (cancellation)
      • Propagacja błędów
      • Replikacja żądań, rate limiting, debouncing, throttling

      Metoda realizacji szkolenia

      Szkolenie ma formę następujących po sobie wykładów i ćwiczeń praktycznych, wykonywanych indywidualnie lub w ramach programowania w parach (pair programming).

      POBIERZ PROGRAM W PDF

      Ścieżka rozwoju
      W ramach szkolenia zapewniamy
      • materiały szkoleniowe
      • certyfikat potwierdzający udział w kursie
      • pełna obsługa cateringowa (dla szkoleń stacjonarnych)

      Spotkajmy się na szkoleniu!

      • MACIEJ NORBERCIAK

        Jestem architektem oprogramowania z doświadczeniem akademickim. W pracy naukowej zajmowałem się sztuczną inteligencją, ale w przemyśle “od zawsze” pracowałem w różnych rolach nad systemami wbudowanymi. Oprócz tego jestem trenerem umiejętności miękkich i technicznych, z szeroko rozumianego obszaru architektury, systemów wbudowanych i języków programowania. W wolnych chwilach lubię się uczyć nowych rzeczy i jeździć na rowerze.

        Podobne szkolenia