| Tytuł: | 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 dni |
| Odbiorcy: | developerzy |
| Zapisy: |
Indywidualne zamówienie i dopasowanie dla grupy. |
| Logistyka: |
W siedzibie klienta lub w innym dowolnym miejscu. |
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
- 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
Program jest ramą w jakiej możemy się poruszać merytorycznie - program dla konkretnego szkolenia dedykowanego ustalamy z grupą na podstawie analizy przed-szkoleniowej.-
OOP in C- Powrót do podstaw składni języka C
- Koncept wartości i wskaźnika
- Rzutowanie po raz pierwszy
- Aliasing wskaźników
- Reguła „strict aliasing'u”
- Jak nad tym panować? Rozszerzenie rzutowania
- Słowa kluczowe: const, static, volatile i restrict
- Koncept wartości i wskaźnika
- Wykorzystanie składni języka i części paradygmatu OOP na rzecz bezpiecznej implementacji re-używalnych obiektów
- Abstrakcja – projektowanie interfejsu
- Enkapsulacja – ukrywanie szczegółów implementacyjnych i zapobieganie nieoczekiwanym zmianom stanu
- Polimorfizm – specjalizowanie zachowania
- SOLID-ne programowanie z wykorzystaniem GRASP i DDD
- Abstrakcja – projektowanie interfejsu
- Inwersja kontroli
- Paradygmat IoC i zasada Hollywood
- Wstrzykiwanie zależności vs. podejście tradycyjne
- Paradygmat IoC i zasada Hollywood
- Powrót do podstaw składni języka C
-
Programowanie współbieżne- Wstęp
- Po co zrównoleglać i rozpraszać?
- Problemy i komplikacje
- Po co zrównoleglać i rozpraszać?
- Podstawowa nomenklatura
- Aplikacja, program, proces wątek
- Poprawne rozumienie podstawowych idiomów w kontekście architektury Linux
- Poprawne rozumienie podstawowych idiomów w kontekście architektury Linux
- Synchronizacja
- Mechanizmy blokad, oczekiwania i notyfikacji
- Poprawne projektowanie sekcji krytycznych
- Mechanizmy blokad, oczekiwania i notyfikacji
- Aplikacja, program, proces wątek
- Programowanie współbieżne pod maską
- Prawa Amdahla i Gustafsona
- Konfrontacja prawideł matematycznych, a szara rzeczywistość
- C językiem niskopoziomowym
- POSIX vs. reszta świata
- Narzędzia wspomagające
- Prawa Amdahla i Gustafsona
- Wstęp
-
Testy deweloperskie- Testy jednostkowe vs. testy modułowe
- Które i jak stosować
- Biblioteki usprawniające testowanie
- Które i jak stosować
- Stress testy
- Testy funkcjonalne
- Diagnostyka aplikacji wielowątkowych: śledzenie i profilowanie
- Zestaw narzędzi wspomagających
- Poprawna interpretacja wyników
- Zestaw narzędzi wspomagających
- Testy jednostkowe vs. testy modułowe
Pobierz program w formacie PDF