Скоро! Разработчик++: курс С++20 [2024] [Слёрм] [Дмитрий Сердюк]

Статус
В этой теме нельзя размещать новые ответы.
Разработчик++: курс С++20 [2024]
Слёрм
Дмитрий Сердюк


Продвинутый курс по С++. Работаем со стандартом С++20 и не только. Создадим собственный проект — многопоточный сетевой микросервис. Даем материал и практику, которые вы не найдете ни в каком другом курсе по С++ на русском языке.

Научим решать задачи на современном C++:

1. Best practice: разберем, что точно работает, а от каких практик стоит отказаться
2. Многопоточному и сетевому программированию, объектно-ориентированному программированию и метапрограммированию шаблонов
3. Выбирать инструменты под задачу: объясним, как устроены эти инструменты
4. Работе со стандартом С++20: даем материал и подходы, которые не представлены на курсах в русскоязычном образовательном сегменте
5. Работать с кодом: писать простой и понятный код, тестировать, оптимизировать, читать чужой код, проводить и проходить код-ревью
6. Проходить технические собеседования и решать стандартные задачи, которые задают специалистам при трудоустройстве

Разберём:
  • Исключения
  • Лямбды
  • Аллокаторы
  • Умные указатели
  • Сокеты
  • Паттерны ООП
  • Контейнеры алгоритмы
  • Инструменты и библиотеки для тестирования и отладки
  • Инструменты обобщенного программирования
  • Инструменты многопоточности
  • Шаблоны и вариативные шаблоны
  • Инструменты мультиплексирования
Для кого наш курс:
1. Для тех, кто хочет разобраться в С++ и укрепить свои знания в разработке
Курс подойдет для специалистов, которые уже работают с C++, но хотели бы получить больше экспертной информации. Мы идем от простых тем к самым сложным и помогаем нашим студентам стать уверенными middle-специалистами по С++.​
2. Для специалистов, работающих со стандартом С++20
Спикеры курса построили программу с учетом последнего стандарта. Если вы работали С++17, то на курсе вы сможете познакомиться с актуальными возможностями языка и применять их в текущих рабочих задачах.​
3. Тем, кто переходит в C++ из других языков программирования
Продукты, написанные на C++, окружают человека: на нем пишут серверные бэкенды, код под встроенные устройства, операционные системы, драйверы устройств, высокопроизводительные серверы, игры.​
4. Для компаний, которые ведут разработку на С++
Эксперты Слёрм обучат ваших коллег best practice и будут сопровождать студентов на первых шагах в разработке. Вы сможете сформировать свой штат специалистов, работающих на С++.​

На курсе вы создадите несколько проектов на основе С++:
1. Контейнер с нестандартным алгоритмом поиска/вставки
2. Аллокатор с управлением памятью и умный указатель со счетчиком ссылок к нему
3. Собственный пул потоков для выполнения отложенных задач
4. Итоговый проект представляет собой вариацию тестовых заданий на должность Middle-разработчика С++. Вы создадите многопоточный сетевой микросервис, самостоятельно разработав и имплементировав его протокол, тесты к нему и правильно организовав репозиторий и механизм сборки.

По окончании курса вы сможете:
1. Работать со стандартом С++20: научимся работать с корутинами, концептами, ренджами
2. Имплементировать нетривиальные контейнеры и алгоритмы к ним
3. Выбирать контейнеры и инструменты стандартной библиотеки под задачу
4. Управлять памятью, использовать умные указатели и аллокаторы
5. Создавать многопоточные приложения, приложения с высокой производительностью
6. Разрабатывать сетевые приложения
7. Применять паттерны ООП при разработке и проектировании приложения, распознавать их в чужом коде
8. Проектировать, отлаживать, профилировать и деплоить собственные приложения
9. Разрабатывать и читать шаблонный код

Спойлер: Содержание
Модуль 1 - Профессиональный C++
  • Система типов, квалификаторы, выведение, преобразование (явное/неявное), ссылки (lvalue и rvalue), move и forward, structure binding, decltype, typeid, type_traits;
  • Числовые типы, их представление, битовые операции, приведение, common_type, numeric_traits
  • Функции и функторы, перегрузка, лямбды, указатели на функции и члены, С++20 шаблонные лямбды, С++20 ниблоиды
  • Обработка ошибок, исключения, noexcept, std::exception_ptr, stack unwinding, RAII
Модуль 2 - Среда C++
  • Компиляция, оптимизация, линковка, static, static inline, constexpr/constinit/consteval
  • STL, стандарты, документация
  • Работа с отладчиком, профилировщиком и средой, стектрейс
  • Инструменты, тестирование, инструменты сборки (make, cmake, meson)
Модуль 3 - Контейнеры и итераторы
  • Контейнеры I: общий обзор и сравнение, типы, итераторы, валидность
  • Контейнеры II: последовательные, списки, очереди
  • Контейнеры III: деревья и хеш-таблицы
  • Итераторы: адаптеры, range-for, написание итераторов, traits
  • Алгоритмы I: O-нотация, виды поиска, вставки, по контейнерам
  • Алгоритмы II: сортировки
  • Ренджи (С++20) I: абстракции, концепты STL, алгоритмы
  • Ренджи (С++20) II: views и адаптеры
Модуль 4 - Управление памятью
  • Устройство памяти в железе и ОС
  • Ссылки, стек, срок жизни
  • Указатели, куча, аллокация
  • Умные указатели
  • Низкоуровневая работа с памятью
Модуль 5 - Параллелизм и многопоточность
  • Виды параллелизма
  • Многопоточность I: уровень ОС, thread/jthread
  • Многопоточность II: примитивы синхронизации
  • Многопоточность III: тред-пулы и promise/future
  • Модель памяти С++
  • Программирование без блокировок
  • Корутины (С++20)
Модуль 6 - Сетевое программирование
  • Примитивы ОС, сокеты Беркли
  • Мультиплексирование IO, select, poll, epoll
  • Кросплатформенные библиотеки boost::asio, libevent, libev, libuv
Модуль 7 - Объектно-ориентированное программирование
  • Классы
  • Динамический полиморфизм
  • Статический полиморфизм
  • Применение ООП I: базовые паттерны (синглтон, фасад и PIMPL, итератор, посетитель)
  • Применение ООП II: продвинутые паттерны (фабрика, адаптер, ...), объектная архитектура приложения
Модуль 8 - Шаблоны и метапрограммирование
  • Типы шаблонов и принципы
  • Вариативные шаблоны
  • Программирование на этапе компиляции
  • Работа с типами
  • Концепты (С++20)
Модуль 9 - Итоговый проект
  • Итоговый проект представляет собой вариацию тестовых заданий на должность Middle-разработчика С++
Модуль 10 - Заключение
  • Подведем итоги курса, ответим на последние вопросы

Продажник

Материал «Разработчик++: курс С++20 [2024] [Слёрм] [Дмитрий Сердюк]», возможно, скоро появится на SHAREWOOD.
Воспользуйтесь поиском, может быть, он уже опубликован.
 
Статус
В этой теме нельзя размещать новые ответы.

Последние темы автора

SHAREWOOD
Ответы
0
Просмотры
6
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
3
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
3
SHAREWOOD
SHAREWOOD

Похожие темы

SHAREWOOD
Ответы
0
Просмотры
967
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
1K
SHAREWOOD
SHAREWOOD
SHAREWOOD
Ответы
0
Просмотры
2K
SHAREWOOD
SHAREWOOD
Сверху Снизу