homework definition
This commit is contained in:
@@ -49,7 +49,7 @@
|
||||
- [x] Создайте экземпляр умного дома и выведете отчёт о его содержимом.
|
||||
- [x] Для уже созданного экземпляра дома выключите умную розетку в одной из комнат. Снова выведите отчёт.
|
||||
|
||||
**Критерии оценки**:
|
||||
**Критерии оценки:**
|
||||
|
||||
- Package успешно собирается.
|
||||
- Приложение-пример успешно выполняется и выводит отчёт о доме.
|
||||
@@ -101,9 +101,56 @@
|
||||
отдельной комнате, отдельном устройстве.
|
||||
- [x] Продемонстрировать возможность обработки ошибок.
|
||||
|
||||
**Критерии оценки**:
|
||||
|
||||
**Критерии оценки:**
|
||||
- Package успешно собирается.
|
||||
- Приложение-пример успешно выполняется и выводит отчёт о доме.
|
||||
- Команды cargo clippy и cargo fmt --check не выводят ошибок и предупреждений.
|
||||
- Присутствуют и успешно выполняются модульные тесты.
|
||||
|
||||
## ДЗ 2026-02-12
|
||||
|
||||
Дорабатываем умные устройства
|
||||
|
||||
### Цель:
|
||||
|
||||
Описать для умной розетки и умного термометра логику взаимодействия с удалённым устройством и написать имитаторы устройств для тестирования.
|
||||
|
||||
### Срок:
|
||||
|
||||
Сдать до: **2026-03-04**
|
||||
|
||||
### Описание/Пошаговая инструкция выполнения домашнего задания:
|
||||
|
||||
Для типа умной розетки:
|
||||
- [ ] Функционал не изменяется: включение/выключение + запрос мощности.
|
||||
- [ ] Взаимодействие организовано синхронно, через TCP.
|
||||
- [ ] Розетка может использовать как реальный TCP-обмен, так и имитировать реальную работу (для тестов).
|
||||
|
||||
Для имитатора умной розетки:
|
||||
- [ ] Читает адрес для приёма TCP-соединений из аргументов командной строки.
|
||||
- [ ] Реализован с использованием неблокирующего сетевого взаимодействия.
|
||||
- [ ] Хранит состояние розетки.
|
||||
- [ ] Позволяет управлять розеткой множеству клиентов одновременно.
|
||||
|
||||
Для умного термометра:
|
||||
- [ ] Функционал не изменяется: возвращает температуру.
|
||||
- [ ] Получает значения температуры в виде UDP-пакетов в параллельном потоке.
|
||||
- [ ] Параллельный поток запускается при создании объекта термометра и завершается при уничтожении этого объекта.
|
||||
- [ ] Объект термометра возвращает последнее полученное значение температуры.
|
||||
- [ ] Термометр может имитировать удалённое получение данных о температуре (для тестов).
|
||||
|
||||
Для имитатора умного термометра:
|
||||
- [ ] Реализован с использованием неблокирующего сетевого взаимодействия.
|
||||
- [ ] Читает адрес для отправки UDP-пакетов и временной период отправки из файла.
|
||||
- [ ] Отправляет произвольное значение температуры на указанный адрес с указанной периодичностью.
|
||||
|
||||
Добавлен дополнительный пример умного дома с розетками и термометрами, которые работают с имитаторами. Данный пример должен запускаться и:
|
||||
- [ ] Выводить отчёт о состоянии дома, если имитаторы запущены.
|
||||
- [ ] Сообщать об ошибке, если устройству не удалось получить данные.
|
||||
|
||||
**Критерии оценки:**
|
||||
|
||||
- Package успешно собирается.
|
||||
- Приложение-пример успешно выполняется.
|
||||
- Команды cargo clippy и cargo fmt --check не выводят ошибок и предупреждений.
|
||||
- Присутствуют и успешно выполняются модульные тесты.
|
||||
|
||||
Reference in New Issue
Block a user