Programowanie obiektowe i wielowątkowe w C na systemie Linux

Kod: ccpp-multi
Kategoria: C i C++
Forma: 35% wykłady / 65% warsztaty
Czas trwania: 3
Grupa docelowa: developerzy

Szkolenie prezentuje faktyczną możliwość stosowania paradygmatu obiektowego podczas implementacji kooperujących aplikacji wieloprocesowych i wielowątkowych.

Wszystkie techniki przedstawiane są na przykładach z rzeczywistych projektów.

W opozycji do akademickiego/książkowego podejścia, uczestnicy szkolenia zdobywaną stopniowo wiedzę jednocześnie wykorzystują i testują przy okazji implementacji zadań warsztatowych, które odzwierciedlają wyzwania napotykane w rzeczywistości, tworząc przy tym skalowalny kod, otwarty na zmiany i podatny na testowanie.

Wyróżniki szkolenia

Podczas zajęć możesz oczekiwać szczególnych akcentów położonych na poniższe aspekty:

  • Skupienie uwagi na "fizyce" problemu programowania współbieżnego i rozproszonego
  • Wybór jedynie użytecznych wzorców i technik
  • Rzeczywiste przykłady

Program Szkolenia

Pobierz program w formacie PDF
  1. OOP in C
    1. Powrót do podstaw składni języka C
      1. Koncept wartości i wskaźnika
      2. Rzutowanie po raz pierwszy
      3. Aliasing wskaźników
      4. Reguła „strict aliasing'u”
      5. Jak nad tym panować? Rozszerzenie rzutowania
      6. Słowa kluczowe: const, static, volatile i restrict
    2. Wykorzystanie składni języka i części paradygmatu OOP na rzecz bezpiecznej implementacji re-używalnych obiektów
      1. Abstrakcja – projektowanie interfejsu
      2. Enkapsulacja – ukrywanie szczegółów implementacyjnych i zapobieganie nieoczekiwanym zmianom stanu
      3. Polimorfizm – specjalizowanie zachowania
      4. SOLID-ne programowanie z wykorzystaniem GRASP i DDD
    3. Inwersja kontroli
      1. Paradygmat IoC i zasada Hollywood
      2. Wstrzykiwanie zależności vs. podejście tradycyjne
  2. Programowanie współbieżne
    1. Wstęp
      1. Po co zrównoleglać i rozpraszać?
      2. Problemy i komplikacje
    2. Podstawowa nomenklatura
      1. Aplikacja, program, proces wątek
          Poprawne rozumienie podstawowych idiomów w kontekście architektury Linux
      2. Synchronizacja
          Mechanizmy blokad, oczekiwania i notyfikacjiPoprawne projektowanie sekcji krytycznych
    3. Programowanie współbieżne pod maską
      1. Prawa Amdahla i Gustafsona
      2. Konfrontacja prawideł matematycznych, a szara rzeczywistość
      3. C językiem niskopoziomowym
      4. POSIX vs. reszta świata
      5. Narzędzia wspomagające
  3. Testy deweloperskie
    1. Testy jednostkowe vs. testy modułowe
      1. Które i jak stosować
      2. Biblioteki usprawniające testowanie
    2. Stress testy
    3. Testy funkcjonalne
    4. Diagnostyka aplikacji wielowątkowych: śledzenie i profilowanie
      1. Zestaw narzędzi wspomagających
      2. Poprawna interpretacja wyników

Trenerzy

Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.

Materiały związane ze szkoleniem

Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.

Zapytaj o szkolenie

Imię i nazwisko:
Firma:
E-mail/Nr tel:
Temat:
Wiadomość:

Jeżeli preferujesz osobisty kontakt to zawsze możesz zadzwonić.

Iwona Sobótka

Koordynatorka szkoleń