Открыто

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

Тема в разделе "Курсы по программированию", создана пользователем Toxich, 16 янв 2024.

Цена: 90000р.-96%
Взнос: 3509р.

Основной список: 28 участников

Резервный список: 3 участников

  1. 16 янв 2024
    #1
    Toxich
    Toxich ЧКЧлен клуба
    Разработчик++: курс С++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 - Заключение
    • Подведем итоги курса, ответим на последние вопросы

    Продажник
     
    1 человеку нравится это.
  2. Последние события

    1. dobryj_zhuk
      dobryj_zhuk участвует.
      12 дек 2024
    2. Юрий Сол
      Юрий Сол участвует.
      10 дек 2024
    3. romandgx1
      romandgx1 участвует.
      10 дек 2024
    4. MasterGrey
      MasterGrey участвует.
      10 дек 2024