26.11.2019. Лекция №14. Рефакторинг (ч.1).

Развернуть

  1. Что такое рефакторинг.
  2. Приемы рефакторинга.
  3. Составление методов.
  4. Выделение метода (Еxtract method).
  5. Встраивание метода (Inline method).
  6. Встраивание переменной (Inline temp).
  7. Расщепление переменной (Split temporary variable).
  8. Замена переменной вызовом метода (Replace temp with query).
  9. Удаление присваиваний параметрам (Remove assignments to parameters).
  10. Упрощение вызовов методов.
  11. Переименование метода (Rename method).
  12. Добавление параметра (Add parameter).
  13. Удаление параметра (Remove parameter).
  14. Разделение запроса и модификатора (Separate query from modifier).
  15. Передача всего объекта (Preserve whole object).
  16. Замена параметров объектом (Introduce parameter object).

12.11.2019. Лекция №11-12. Многопоточность.

Развернуть

  1. Что такое многопоточность?
  2. Средства синхронизации.
  3. std::thread.
  4. std::mutex.
  5. std::condition_variable.
  6. Атомарные операции, std::atomic.
  7. volatile.
  8. std::future.
  9. std::packed_task.
  10. std::async.
  11. std::promise.
  12. Flip-flop буфер.
  13. FIFO на списке блоков.
  14. FIFO на кольцевом буфере.

05.11.2019. Лекция №10. Паттерны проектирования (ч.3).

Развернуть

  1. Паттерн Adapter (Адаптер).
  2. Паттерн Decorator (Декоратор).
  3. Паттерн Proxy (Заместитель).
  4. Паттерн Facade (Фасад).
  5. Паттерн Composite (Компоновщик).
  6. Паттерн Object Pool.
  7. Паттерн Null Object.
  8. Паттерн Servant (Слуга).
  9. Модель MVC.

29.10.2019. Лекция №9. Паттерны проектирования (ч.2).

Развернуть

  1. Паттерн Iterator (Итератор).
  2. Паттерн Command (Команда).
  3. Паттерн Template method (Шаблонный метод).
  4. Паттерн State (Состояние).
  5. Паттерн Strategy (Стратегия).

22.10.2019. Лекция №8. Паттерны проектирования (ч.1).

Развернуть

  1. Design Patterns как явление.
  2. Виды паттернов.
  3. Паттерн Singleton (Одиночка).
  4. Паттерн Builder (Строитель).
  5. Паттерн Factory Method (Фабричный метод).
  6. Паттерн Prototype (Прототип).

15.10.2019. Лекция № 7. Приведение типов.

Развернуть

  1. static_cast.
  2. dynamic_cast.
  3. const_cast.
  4. reinterpret_cast.
  5. typeid.
  6. move & noexcept.
  7. constexpr.
  8. constexpr-if.

08.10.2019. Лекция № 6. Вариативные шаблоны

Развернуть

  1. new & delete expressions.
  2. new & delete operators.
  3. Placement new.
  4. Variadic template emulation.
  5. Ellipsis operator.
  6. Template parameter pack.
  7. Pack expansion.
  8. Variadic & non-variadic templates overloading.
  9. Counting arguments.
  10. Expansion without recursion.
  11. Fold expressions.
  12. Tuple.

01.10.2019. Лекция № 5. Прямая передача

Развернуть

  1. decltype.
  2. std::move.
  3. std::forward.
  4. Universal reference vs rvalue reference.
  5. Reference collapsing.
  6. Perfect forwarding.

24.09.2019. Лекция № 4. Черные ящики

Развернуть

  1. Copy constructor.
  2. Move constructor.
  3. Simple assignment operator.
  4. Implicit members.
  5. Operator overloading.
  6. keyword: explicit.

17.09.2019. Лекция № 3. Вывод типов

Развернуть

  1. Rvalue-reference.
  2. Template type deduction.
  3. Three cases of type deduction.
  4. Array arguments.
  5. Function arguments.
  6. auto type deduction.
  7. Uniform initialization.
  8. std::initializer_list.

Действия