homework definition
This commit is contained in:
@@ -49,7 +49,7 @@
|
|||||||
- [x] Создайте экземпляр умного дома и выведете отчёт о его содержимом.
|
- [x] Создайте экземпляр умного дома и выведете отчёт о его содержимом.
|
||||||
- [x] Для уже созданного экземпляра дома выключите умную розетку в одной из комнат. Снова выведите отчёт.
|
- [x] Для уже созданного экземпляра дома выключите умную розетку в одной из комнат. Снова выведите отчёт.
|
||||||
|
|
||||||
**Критерии оценки**:
|
**Критерии оценки:**
|
||||||
|
|
||||||
- Package успешно собирается.
|
- Package успешно собирается.
|
||||||
- Приложение-пример успешно выполняется и выводит отчёт о доме.
|
- Приложение-пример успешно выполняется и выводит отчёт о доме.
|
||||||
@@ -101,9 +101,56 @@
|
|||||||
отдельной комнате, отдельном устройстве.
|
отдельной комнате, отдельном устройстве.
|
||||||
- [x] Продемонстрировать возможность обработки ошибок.
|
- [x] Продемонстрировать возможность обработки ошибок.
|
||||||
|
|
||||||
**Критерии оценки**:
|
**Критерии оценки:**
|
||||||
|
|
||||||
- Package успешно собирается.
|
- Package успешно собирается.
|
||||||
- Приложение-пример успешно выполняется и выводит отчёт о доме.
|
- Приложение-пример успешно выполняется и выводит отчёт о доме.
|
||||||
- Команды cargo clippy и cargo fmt --check не выводят ошибок и предупреждений.
|
- Команды 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