Было изучено:
- создание файлов cpp
- компиляция gcc -> g++ -> a.out
- compilation unit -> hpp files
- CMake
Выполнено задание: по созданию git репозитрия и добавления простой программы
Было изучено:- memory, stack, heap, memory allocations
- arrays. static + dinamic array
- pointers and addresses
- functions, pass arguments to functions https://metanit.com/cpp/tutorial/5.1.php
- structures + classes: incapsulation, inheritance, polymorphism.
Выполнено задание: прочитать про паттерн "стратегия" и написать пример
Было изучено:- templates https://metanit.com/cpp/tutorial/7.1.php
- stl containers https://habr.com/ru/articles/182920/ https://metanit.com/cpp/tutorial/11.1.php https://metanit.com/cpp/tutorial/11.2.php https://metanit.com/cpp/tutorial/15.3.php
- Стандарты c++, такие как C++11, lambdas, auto, unique_ptr, shared_ptr
- паттерн Декоратор
Выполнено задание: подключиться к бд sqlite и прочитать "select * from test_messages;" через интерфейс С++ или любую его обертку.
Было изучено:- многопоточка
- разница между процессом и потоком. https://moodle.kstu.ru/mod/page/view.php?id=49 что такое контекст. Какие данные общие (шарятся) между
- Какие данные общие между процессами и потоками https://radioprog.ru/post/1402 https://habr.com/ru/companies/otus/articles/549814/ как в коде создать поток состояние гонки примитивы синхронизации
- что такое дедлок
- Boost, asio
- Разобрали пример синхронного кода
- Разобрали пример асинхронного кода
- что за зверь boost.beast https://www.boost.org/doc/libs/1_67_0/libs/beast/doc/html/beast/using_websocket.html
- websocket отличие от http https://habr.com/ru/sandbox/171066/ https://blog.skillfactory.ru/glossary/websocket/ https://appmaster.io/ru/blog/veb-soket-protiv-traditsionnogo-http
- рисуем схему того, как будет работать наш чат. Схема для сервера и клиента: https://disk.astralinux.ru/s/pN5d9KFdK3mdAY8