Уровень сложности:
Длительность курса: 88 ак.ч.
График обучения: 88 ак. часа, 22 занятия по 4 ак. часа
Программа состоит из 2 отдельных курсов-модулей.
Аннотация
Данный курс посвящен освоению продвинутого программирования на Qt Framework с акцентом на промышленные подходы к разработке. Слушатели изучат архитектуру Model-View-Controller (MVC) для построения сложных пользовательских интерфейсов и взаимодействия с базами данных через QSqlTableModel и QDataWidgetMapper. Программа включает глубокую работу с многопоточностью через QThread и QtConcurrent, синхронизацию мьютексами и семафорами, а также межпроцессное взаимодействие с помощью QSharedMemory и QProcess. Отдельный модуль посвящен сетевому программированию: реализация TCP/UDP клиент-серверных приложений с использованием QTcpSocket и QNetworkAccessManager. Практические занятия охватывают создание делегатов для кастомизации представлений, работу с разделяемой памятью и построение многопоточных серверов. Курс предназначен для разработчиков, желающих создавать высокопроизводительные кроссплатформенные приложения с сложной бизнес-логикой
Знания и умения, полученные в результате обучения
Знания:
-
Принципы архитектуры MVC и её реализация в Qt (классы QAbstractItemModel, QTableView, делегаты).
-
Методы взаимодействия с базами данных через Qt SQL (QSqlTableModel, QSqlRelationalTableModel, QDataWidgetMapper).
-
Технологии межпроцессного взаимодействия (QProcess, QSharedMemory) и многопоточности (QThread, QtConcurrent, механизмы синхронизации).
-
Принципы сетевого программирования (протоколы TCP/UDP, классы QTcpSocket, QUdpSocket, QNetworkAccessManager).
Умения:
-
Проектировать и реализовывать сложные GUI-приложения с использованием паттерна MVC.
-
Организовывать работу с базами данных, включая создание связей между таблицами и отображение данных в интерфейсе.
-
Реализовывать многопоточные приложения с синхронизацией доступа к общим ресурсам.
-
Разрабатывать клиент-серверные приложения с использованием сетевых протоколов.
Навыки:
-
Создание делегатов для кастомизации отображения и редактирования данных в представлениях.
-
Использование разделяемой памяти и управление дочерними процессами для межпроцессного взаимодействия.
-
Применение мьютексов, семафоров и других механизмов синхронизации в многопоточной среде.
-
Настройка сетевого взаимодействия через низкоуровневые сокеты и высокоуровневые API Qt.
-
Отладка и оптимизация производительности многопоточных и сетевых приложений.
Курсы связанных направлений
Сегодня занятий по этому курсу нет.
-
Уверенное владение C++: Знание синтаксиса, ООП (классы, наследование, полиморфизм, шаблоны), умение работать с указателями и памятью. Опыт сборки проектов.
-
Базовое понимание многопоточности: Общее представление о потоках, синхронизации и конкурентном доступе к данным.
-
Знакомство с сетевыми технологиями: Понимание основ сетевых протоколов (TCP/UDP) и архитектуры клиент-сервер.
-
Опыт работы с базами данных: Умение писать базовые SQL-запросы (SELECT, INSERT, UPDATE) и понимание реляционной модели данных.
-
Готовность к работе с фреймворком: Способность быстро осваивать новые библиотеки на основе документации.
Курсы, обеспечивающие достаточный начальный уровень знаний