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.
Poznaj ekspertów, którzy mogą poprowadzić Twoje szkolenie.
Idea renesansowej pracowni - Bottegi zakłada nieustanną pracę jej członków i dzielenie się jej wynikami.
Wzorzec Reaktor to podstawowy, jeden z najprostszych, ale zarazem stosunkowo efektywny wzorzec obsługi zdarzeń. Z tego artykułu dowiesz się, jakie ma własności oraz czy i kiedy go wykorzystać już na etapie projektowania rozwiązania problemu w danej aplikacji.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Wzorzec Reaktor z wykorzystaniem̨c innych współdziałających wzorców oraz zastosowaniem̨ w pełni zasady GRASP i SOLID.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Wzorzec Reaktor - wielowątkowe podejście do obsługi zdarzeń z wzorcem ThreadPool.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Obsługa częściowo synchroniczna (reaktywna) i częściowo asynchroniczna.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Orkiestracja poprzednich rozwiązań w jedną konfigurowalną į, skalowalną ̨ aplikację.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Strategie testowania całości rozwiązania.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Writing fast C++ applications is a really complex subject. It often turns out that deep but isolated knowledge of ISO C++ standard and algorithmic complexity of operations does not guarantee the success. Often the bottleneck of our applications happens to be the performance of computer’s memory or its wrong usage by our code. The lack of knowledge in that subject can ruin all our ambitions to create high performance implementation.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
C++ rule of thumb is “you do not pay for what you do not use”. However, it turns out that this is not the case for some of the utilities from the C++ Standard Library. The key example here is the favorite tool of many developers – std::shared_ptr. The talk will describe the problems related to it in detail. It will also try to answer the question how it was possible to avoid them.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
C++ is not C. C++ developers too often forget about that. The effects are often disastrous. nullptr dereferences, buffer overflows, resource leaks are the problems often seen in C++ applications bug trackers. Does it have to be like that? The talk presents a few simple rules tested in production that will make most of those issues go away and never appear again in the C++ software.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
That talk will present the C++ world seen from Low Latency domain. The world where no dynamic allocations are welcomed, C++ exceptions are nearly not used, where STL containers are often not enough, and where developers often need to go deep down to assembly level to verify if the code really does its best.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
That talk will present the C++ world seen from Low Latency domain. The world where no dynamic allocations are welcomed, C++ exceptions are nearly not used, where STL containers are often not enough, and where developers often need to go deep down to assembly level to verify if the code really does its best.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
Presentation of features already voted into C++20 Standard Draft in Toronto, Albuquerque, and Jacksonville ISO C++ Committee Meetings as well as the overview of other really promising proposals that have high chances to arrive in C++20.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
During the lecture, we will analyze and compare 2 implementations of the same simple Finite State Machine. It turns up that variant-based code is not only much faster but also it gives us the opportunity to define our interfaces and program flow much better.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
The most of the Concepts TS and Ranges TS is merged into the C++20 standard draft document. The talk will present a current design of those features and will provide suggestions on how to use them in our source code.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
I will present all the challenges, design tradeoffs, and potential solutions to those problems. During the lecture, we will also see how new C++20 features help to make the library interface easier to use, maintain, and extend.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
I will talk about contracts, generic functions, constraints, concepts, ranges, constexpr'ing all the things, immediate functions, "fixing" UTF-8 and aggregates, and many other hot topics.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
This talk presents a new C++20 library for Dimensional Analysis and Physical Units handling. The essential requirements of the library are user-friendliness, compile-time safety, no runtime overhead, and easy extensibility. The syntax of the library is built around a few easy to learn concepts and strictly checked at compile time, which makes it easy to learn and very forgiving for the novice.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |
This talk is summarizing my experience and thoughts gathered during the implementation of the Physical Units Library for C++. The way we do template metaprogramming now results with inscrutable compile-time errors and really long type names observed while debugging our code.
Autor Bottega: |
|
Powiązane szkolenia dedykowane: |
Nowoczesny C++ Dla zaawansowanych C++ STL - efektywne wykorzystanie i najlepsze praktyki Dobry start do profesjonalnego programowania w C++ dla początkujących programistów |