This commit is contained in:
2026-10-03 11:42:32 +03:00
parent 6008cff9f6
commit 209c66683d
15 changed files with 5061 additions and 3 deletions
+17 -3
View File
@@ -28,7 +28,7 @@
В AnySystem 0.3.0 Python-модуль встроен в Rust-тестер: при запуске тестов локально или в Docker отдельный `anysystem.py` и настройка `PYTHONPATH` не требуются. Запускайте тесты из папки задания, чтобы относительные пути к решениям были корректны. Стаб служит только для IDE.
### Регистрация
## Регистрация
(Пропустите эту часть, если вы вольнослушатель.)
@@ -71,6 +71,22 @@ docker run --rm -t -v ./solution:/solution distsys-tests-local [ЗДЕСЬ МО
Тестирующая система используется для итоговой проверки и служит эталоном для временных лимитов, но не должна заменять локальное тестирование после каждой правки.
## Бонусы за пробелы в тестах
Если вы найдёте ошибку в тестах или требование задания, нарушение которого тесты не обнаруживают, опишите проблему в отчёте; при необходимости приведите пример ошибочного решения. За подтверждённую проблему можно получить 1 бонусный балл. За тест, который выявляет её, или описание его логики можно получить ещё 1 балл. Бонусы начисляются отдельно, независимо от баллов за выполнение задания.
## Отчёт
К каждому домашнему заданию приложите краткий отчёт в файле `solution/readme.md`. Сдайте его вместе с решением до дедлайна. Без отчёта автоматические тесты запускаются, но защита не проводится и **решение не засчитывается**.
В отчёте объясните, как устроено ваше решение и как работают его основные части. Дополнительные требования к содержимому отчёта могут быть указаны в условиях соответствующего ДЗ.
Пожалуйста, пишите кратко и по существу. Перед сдачей перечитайте отчёт: проверьте, что он описывает именно вашу реализацию, и уберите повторы, общие рассуждения и ненужные подробности. Проверяющему должно быть понятно, как работает решение и почему вы выбрали такой подход.
Оценка за ДЗ может быть снижена на **1 балл**, если изложение заметно затрудняет понимание решения. В исключительных случаях снижение может составить **2 балла**, если по отчёту практически невозможно понять, как работает решение: например, существенные объяснения отсутствуют или теряются среди большого объёма лишнего текста.
При снижении оценки проверяющий укажет конкретные недостатки отчёта. Отдельные стилистические шероховатости и само по себе использование LLM основанием для снижения не являются.
## Сдача решения
После локального тестирования откройте папку задания, например `homework/01-guarantees`, и выполните команду:
@@ -81,8 +97,6 @@ python3 ../cli.py submit
Утилита определит идентификатор задания по имени текущей папки и отправит содержимое её поддиректории `solution`. Она выведет идентификатор и официальное время приёма решения, а также ссылку на запуск workflow. Откройте эту ссылку в Gitea, чтобы следить за проверкой и прочитать её журнал.
В состав решения для каждого задания должен входить краткий отчёт в файле `solution/readme.md`. Отчёт необходимо сдать вместе с остальными файлами решения до дедлайна задания. При его отсутствии автоматические тесты всё равно запускаются, но защита не проводится и **решение не засчитывается**. Требования к содержанию отчёта приведены в условии соответствующего задания.
## Изоляция процессов AnySystem
В заданиях на AnySystem каждый экземпляр `Process` моделирует отдельный процесс распределённой системы. Его изменяемое состояние должно храниться только в атрибутах экземпляра (`self`). Все взаимодействия между процессами должны происходить через сообщения, как и в реальной распределённой системе.