Продвинутый курс C++

Продолжительность курса — 5 дней

Описание Услуги

Продвинутый курс C++ поможет усовершенствовать навыки ООП. Вы научитесь работать со стандартной библиотекой C++, освоите основные возможности библиотеки Qt, получите практический опыт разработки GUI-приложений. Мы обучим вас приемам разработки ПО, решениям типичных задач программирования и разработки GUI-приложений на языке С++ с помощью библиотеки Qt. Вы узнаете о контейнерах, алгоритмах и адаптерах, разберетесь в архитектуре приложений и базах данных, поработаете с многопоточностью и модульным тестированием ПО.

01. После изучения курса Вы сможете

  • Усовершенствуете навыки объектно-ориентированного программирования, анализа и проектирования
  • Работать со стандартной библиотекой С++ и библиотекой Qt
  • Разрабатывать GUI-приложения
  • Претендовать на получение высокооплачиваемой работы

Содержание курса

01. Введение в стандартную библиотеку шаблонов

  • Структура библиотеки
  • Основные компоненты. Операторы. Пара
  • Итераторы. Итераторы ввода. Итераторы вывода. Однонаправленные итераторы. Двунаправленные итераторы. Итераторы произвольного доступа. Теги итераторов. Операции с итераторами
  • Итераторы потоков. Итератор входного потока. Итератор выходного потока

02. Контейнеры, алгоритмы, адаптеры

  • Контейнеры. Последовательности. Ассоциативные контейнеры
  • Функциональные объекты. Базовые классы. Арифметические операции. Сравнения. Логические операции
  • Распределители. Требования распределителей. Распределитель по умолчанию
  • Адаптеры. Адаптеры контейнеров. Адаптеры итераторов. Адаптеры функций
  • Алгоритмы. Не меняющие последовательность операции. Меняющие последовательность операции. Операции сортировки и отношения. Обобщённые численные операции

03. Введение в Qt. Программирование GUI с помощью Qt

  • Основные принципы работы с библиотекой Qt
  • Объектная модель. Метаобъекты, свойства, сигналы и слоты. Типы, варианты, ссылки
  • Обзор классов библиотеки
  • Программирование GUI с помощью Qt. Виджеты. Окна, диалоговые окна, главные окна. Меню. Пользовательские виджеты. Обработка событий
  • Создание GUI-приложений
  • Основы работы с 2D и 3D графикой

04. Архитектуры приложений

  • Отдельное приложение. Клиент-сервер. Трехуровневая архитектура. Многослойная архитектура
  • Архитектурные паттерны MVP, MVC, MVVM
  • Паттерны проектирования

05. Базы данных

  • Соединение с базой. Выполнение запросов. Обработка данных.
  • Представление данных в табличной форме
  • Создание форм по технологии «master-detail»

06. XML

  • Формат документа XML. Стандарты. Схемы
  • Использование XML
  • Чтение XML при помощи интерфейсов SAX и DOM
  • Запись документов XML
  • Сериализация
  • Паттерн проектирования «Memento»

07. Работа с сетью

  • Создание FTP и HTTP клиентов
  • Создание клиент-серверных приложений на базе TCP
  • Работа с протоколом UDP

08. Многопоточность

  • Создание потоков
  • Синхронизация потоков
  • Взаимодействие с главным потоком
  • Применение классов Qt во вторичных потоках

09. Интернационализация

  • Работа с Unicode
  • Создание переводимого приложения. Перевод приложений и динамическое переключение языков