Проходил 2 февраля в 20:00

Открытый вебинар
С++: Диаграммы UML

Открытый вебинар онлайн

Что такое UML. Схематическое изображение действий, варианты представлений, способы описания объекта, использование связей, определения атрибутов предметов, виды диаграмм UML, инструменты построения схем и диаграмм. В результате можно узнать о способах описания простых и сложных объектов и их взаимодействий с помощью UML, инструментах реализации схематического представления UML (на примере онлайн средств и обзора офисных оффлайн приложений.

Запись

О курсе

Разработчик C++
60 000 ₽
5 месяцев
Начало 20 декабря
  • Умение писать на С++ правильно.
  • Понимание современных проблем языка и специфики его применения.
  • Освоение паттернов проектирования, принципов написания многопоточного кода.
  • Знание, как взаимодействовать с сетью, хранить и обрабатывать большие объемы данных.
  • Владение нюансами разработки на С++, которые отличают программиста уровня Middle от Junior.
Обучено студентов 100+
32 практических занятия
Программа курса
Модуль 1
Введение
Модуль 2
Архитектура
Модуль 3
Параллельные вычисления
Модуль 4
Сеть
Модуль 5
Хранилища
Модуль 6
ML
Модуль 7
Проектная работа
Введение
Система сборки: build, test and deploy.
Поиск распространяемых пакетов. Кастомный модуль для наших пакетов.
20 декабря, 20:00 — 21:30
Домашние задания: 1
ДЗ
helloworld.
Широкоиспользуемые фичи C++11 стандарта. auto. Замыкание - Лямбда-функции. Кортежи.
Некоторые небольшие, на первый взгляд, нововведения настолько меняют язык, что диву даешься :)
24 декабря, 20:00 — 21:30
Широкоиспользуемые фичи C++11 стандарта. rvalue и lvalue ссылки. Move semantic. Variadic Templates.
27 декабря, 20:00 — 21:30
Домашние задания: 1
ДЗ
ip_filter.
Рассмотрим полезные нововведения 14 стандарта.
31 декабря, 20:00 — 21:30
Вглубь реализации умных указателей.
Подводные камни и оптимизации.
3 января, 20:00 — 21:30
Идея аллокаторов.
Стандартный аллокатор и его недостатки. Различные методы управлением памятью: достоинства и недостатки.
7 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
allocator.
Что это и зачем? Как выглядит в C++: макросы и шаблонная магия. Примеры. Type traits в STL. SFINAE
10 января, 20:00 — 21:30
Архитектура
Принципы проектирования ПО
UML. Принципы: SoC, DRY, YAGNI, KISS, TDA, LoD, SOLID
14 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
ДЗ-04.doxygen.
GRASP. Часть 1
Рассмотрим: Indirection, Low Coupling, Polymorphism, Protected Variations.
17 января, 20:00 — 21:30
GRASP. Часть 2
Рассмотрим: Creator, Controller, Pure Fabrication, Information Expert, High Cohesion
21 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
ДЗ-05.
Шаблоны GoF. Часть 1.
Порождающие шаблоны проектирования.
24 января, 20:00 — 21:30
Шаблоны GoF. Часть 2.
Структурные шаблоны проектирования.
28 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
matrix.
Шаблоны GoF. Часть 3.
Поведенческие шаблоны проектирования. 1 часть
31 января, 20:00 — 21:30
Шаблоны GoF. Часть 4.
Поведенческие шаблоны проектирования. 2 часть
4 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
bulk.
Антипаттерны
Разберем антипаттерны программирования (кодирования), ООП, проектирования и антипаттерны в других областях
7 февраля, 20:00 — 21:30
STL. Часть 1.
Структуры данных STL
11 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
nickname.
STL. Часть 2
Алгоритмы
14 февраля, 20:00 — 21:30
Boost. Часть 1
Контейнеры
18 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
bayan.
Boost. Часть 2
Алгоритмы
21 февраля, 20:00 — 21:30
Параллельные вычисления
Многопоточность
Потоки. Критические секции и методы синхронизации: мьютексы, семафор, условные переменные, барьеры. Пулы потоков.
25 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Многопоточная обработка команд.
Шаблоны 5
Concurrency pattern. Active Object, Balking, Barrier, Double-checked locking, Guarded suspension, Leaders/followers, Monitor Object, Reactor, Read write lock, Scheduler, Thread pool, Thread-local storage.
28 февраля, 20:00 — 21:30
Асинхронное программирование
Архитектура асинхронных сервисов. Низкоуровневая поддержка асинхронного выполнения кода.
4 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Асинхронная обработка команд.
Lockfree DS
Неблокирующие структуры данных и алгоритмы. BOOST Lockfree
7 марта, 20:00 — 21:30
Сеть
Сетевое взаимодействие
Сокеты. Протоколы: TCP и UDP. Сериализация. HTTP. Json. Zmq. Protobuf.
11 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Асинхронная сетевая обработка команд.
Асинхронный ввод/вывод
Библиотеки и практики работы с неблокирующей передачей данных
14 марта, 20:00 — 21:30
Хранилища
РСУБД
Использование РСУБД. Подключение и работа с БД
18 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
outer join.
Key Value
Идея NoSQL. Aerospike, redis, leveldb
21 марта, 20:00 — 21:30
Много данных
Map reduce
25 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
mapreduce.
ORM
ООП при работе с базами данных. Паттерны DAO и Repository
28 марта, 20:00 — 21:30
ML
Dlib. Часть 1.
Кластеризация, тематическое моделирование.
1 апреля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Кластеризация.
Dlib. Часть 2.
Регрессия
4 апреля, 20:00 — 21:30
Dlib. Часть 3.
Классификация
8 апреля, 20:00 — 21:30
Домашние задания: 2
ДЗ
Классификация.
ДЗ
Проектная работа.
Проектная работа
Заключительный месяц курса посвящен проектной работе. Свой проект это то, что интересно писать студенту. То, что можно создать на основе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.

Примеры тем проекта:
- in-memory sql-сервер
- хранилище типа key-value
- очередь с моделью подписчиков