Praktyczne zastosowanie bibliotek Boost oraz nowych standardów C++

LICZBA DNI: 4 (32h)

KOD KURSU: CPP/BOOST

POZIOM SZKOLENIA:

# boost

Najbliższy termin:

23 marca 2021

3550 PLN netto + 23% VAT

Jeszcze 8 miejsc w tej cenie.

  • stacjonarne
  • zdalne

STACJONARNE

W CENIE

  • 4 dni pracy z trenerem
  • Materiały szkoleniowe
  • Lunch
  • Certyfikat ukończenia szkolenia

ZDALNE

W CENIE

  • 4 dni pracy z trenerem na żywo online
  • Materiały szkoleniowe
  • Certyfikat ukończenia szkolenia

Czy wiesz, że możesz uzyskać nawet do 100% dofinansowania na szkolenie? Dowiedz się jak »

Oferta dla firm

Dostosuj zakres, czas i miejsce szkolenia do potrzeb Twojego zespołu. Uzyskaj indywidualną wycenę szkolenia dla grupy.

Weź udział w szkoleniu

Termin

Lokalizacja

Cena / os

23

marca

Warszawa,

Kraków,

Łódź,

Wrocław,

Gdańsk,

Poznań,

Zdalne,

3550 PLN netto
+ 23% VAT

Termin

23

marca

Lokalizacja

Warszawa,

Kraków,

Łódź,

Wrocław,

Gdańsk,

Poznań,

Zdalne,

Cena / os

3550 PLNnetto
+ 23% VAT

Powiadom
o kolejnych terminach

O szkoleniu

DLA KOGO?

Średnio zaawansowanych i zaawansowanych programistów programujących w języku C i C++ w środowisku GNU/Linux

Osób znających w stopniu podstawowym i zaawansowanym zakres systemu szablonów STL

Programistów tworzących oprogramowanie na platformie systemowej GNU/Linux lub MS Windows

Programistów tworzących aplikacje głównego nurtu oraz aplikacje sieciowe

WYMAGANIA

Biegłe posługiwanie się wybranym środowiskiem IDE (Eclipse, NetBeans, Vim)

Znajomość koncepcji programowania obiektowego, systemowego i aplikacyjnego

Biegła znajomość narzędzi do tworzenia aplikacji z rodziny gcc i binutils

Umiejętność posługiwania się narzędziem debuggera

Znajomość koncepcji związanych z programowaniem w języku C++ na poziomie średnio i zaawansowanym

Dodatkowo mile widziana jest znajomość aspektów sprzętowych platformy x86 (przydzielanie i zarządzanie pamięcią, alokacja rejestrów, konwencje wywołań, optymalizacje)

ZALETY

Cele szkolenia

Kształcenie umiejętności oraz rozwijanie wiedzy dotyczącej tworzenia zaawansowanych rozwiązań w języku C++

Osadzenie narzędzi i procesów tworzenia oprogramowania w realiach współczesnych wymagań Inżynierii Oprogramowania

Dokonanie konsolidacji wiedzy i uzupełnienie braków w kompetencjach w kontekście standardu C++17

Testowanie jednostkowe aplikacji w języku C++

Tworzenie aplikacji z użyciem bibliotek składowych Boost

Zapoznanie ze współczesnymi bibliotekami języka C++ przetwarzającymi dane w różnorodnych formatach

Program

  • Wydajność algorytmów standardowych
  • Stosowanie algorytmów i iteratorów
  • Algorytmy i kontenery dostępne w ramach standardów C++11, C++14 i C++17
  • Modyfikacja działania algorytmów standardowych
  • Szablony - stosowanie i reguły dopasowań
  • Reguły SFINAE (ang. substitution failure is not an error)
  • Wzorzec „zadziwiająco często powracającego szablonu” CRTP (ang. curiously recurring template pattern)
  • Trik Bartona-Nackmana (ang. Barton-Nackman trick)
  • Kruczki i sztuczki związane ze stosowaniem szablonów
  • Szablon o zmiennej liczbie argumentów (ang. variadic templates)
  • Szablony zagnieżdżone
  • Manipulacja typem
  • Nowe słowa kluczowe
  • Mechanizmy kontroli definiowania i instancji klas
  • Wyjątki i obsługa w środowisku wielowątkowym
  • Rozszerzenia biblioteki standardowej
  • Wyrażenia lambda
  • Pojęcie cechy typu i manipulowanie nim
  • Cechy typów w bibliotece standardowej
  • Rozwiązywanie najczęstszych problemów z użyciem cechy typów
  • Własne cechy typów - tworzenie i stosowanie
  • Rozszerzenia C++17
  • Pojęcie wykładni (ang. class policy)
  • Wykładnie - wady i zalety
  • Tworzenie i stosowanie własnych wykładni
  • Implementacja popularnych wzorców projektowych z użyciem wykładni
  • Programowanie aspektowe, a wykładnie
  • Rodzaje inteligentnych wskaźników
  • Problem własności/przynależności
  • Stosowanie inteligentnych wskaźników w codziennej pracy
  • TDD w języku C++ - zasady i stosowanie
  • xUnit - elementy i stosowanie
  • Prawidłowe tworzenie testów
  • Zasady TDD a biblioteka cppunit
  • Warsztat praktyczny testowania
  • Przegląd elementów Boost Test
  • Implementacja testów w bibliotece Boost Test
  • Testy rozszerzone
  • Zakresy zastosowań bibliotek Boost
  • Specyfika implementacji i stosowania
  • Przykładowe zastosowania bibliotek
  • Biblioteki Boost a nowe standardy języka C++
  • Zakres stosowania Boost Regex
  • Typowe operacje związane z analizą wyrażeń regularnych
  • Kruczki i sztuczki zastosowania Boost Regex
  • Optymalizacja mechanizmów biblioteki we własnych aplikacjach
  • Przeznaczenie biblioteki Boost Property Tree
  • Zakres wydajnego stosowania Boost Property Tree
  • Paradygmat programowania maszyny stanu
  • Wsparcie dla programowania maszyny stanu dostarczane wraz z bibliotekami z rodziny Boost
  • Warsztat implementacji maszyny stanu
  • Boost Algorithm jako uzupełnienie biblioteki standardowej
  • Algorytmy przeszukiwania
  • Algorytmy pracujące na sekwencjach
  • Warsztat implementacji
  • Asynchroniczny dostęp do danych z użyciem Boost Asio
  • Wsparcie komunikacji sieciowej
  • Asio a przesyłanie danych sieciowych
  • Sygnały
  • Warsztat implementacji
  • Przenośność zapewniana przez Boost Filesystem
  • Boost Filesystem a nowe standardy języka C++
  • Przechwytywanie błędów w Boost Filesystem
  • Warsztat implementacji
  • Współdzielenie struktur pomiędzy procesami
  • Synchronizacja pracy procesów
  • Alokatory i zarządzanie pamięcią
  • Boost Interprocess a inteligentne wskaźniki
  • Wydajność i zalety struktur intruzywnych
  • Intruzywne wersje kontenerów
  • Analiza wydajności tradycyjnych rozwiązań i rozwiązań Boost Intrusive
  • Metaprogramowanie - pojęcia, algorytmy i warsztat
  • Szybkie wprowadzenie do metaprogramowania
  • Metaprogramowanie a rzeczywiste wyzwania
  • Warsztat implementacji
  • Pojęcie wąskich gardeł w aplikacji
  • Mechanizmy i rodzaje profilowania aplikacji w C++
  • Warsztat implementacji

POLITYKA COOKIES:

Korzystamy z plików cookies, by móc jak najlepiej dostosować stronę do Twoich potrzeb oraz wyświetlać Ci przydatne i adekwatnych dla Ciebie reklamy w serwisie i poza nim. Możesz kontrolować ustawienia ciasteczek w swoich ustawieniach swojej przeglądarki. Odwiedzając tę stronę, wyrażasz zgodę na wykorzystywanie przez nas plików cookies.