Урок 88. Презентация проекта

📁 Блок: Финальный проект ⏱️ Время изучения: ~180 мин 🎯 Сложность: Продвинутая
#from #as #and #min #max #count #import #def #return #with #close #try #finally #list

⚡ Кратко: задания

Чек-лист проекта. Выполните все пункты, прежде чем приступать к презентации.

  • Реализуйте оба сценария поиска с пагинацией по 10 фильмов.
  • Настройте логирование всех запросов в MongoDB.
  • Добавьте вывод топ-5 популярных и последних запросов.
  • Разбейте код на модули, проверьте PEP8 и обработку ошибок.
  • Подготовьте 5-минутную презентацию с демонстрацией работы.

Что запомнить: лучше сделать меньше, но качественно, чем много «на скорую руку».

Частая ошибка: оставлять подготовку к презентации на последние 10 минут.

📝 Чек-лист выполнения проекта

Сценарии поиска

  • Поиск по ключевому слову работает и ищет по части названия фильма.
  • Результат ограничен 10 фильмами.
  • Пользователь может запросить следующие 10 результатов, пока они не закончатся.
  • Поиск по жанру и диапазону годов работает корректно.
  • Перед вводом жанра показывается список всех жанров.
  • Перед вводом годов показываются минимальный и максимальный год в базе.
  • Работа с пустыми результатами корректна: программа не падает и сообщает, что ничего не найдено.

Логирование в MongoDB

  • Каждый поисковый запрос сохраняется в MongoDB.
  • Имя коллекции соответствует шаблону final_project_<group>_<full_name>.
  • В логе есть timestamp, тип поиска, параметры и количество результатов.

Статистика

  • Выводится список из 5 популярных запросов (по частоте).
  • Или выводится список из 5 последних уникальных запросов.
  • Статистика читаема и понятна пользователю.

Стабильность

  • При неправильном вводе программа не падает.
  • При сбое подключения к базе выводится понятное сообщение.
  • Программа корректно завершается по команде пользователя.

Оформление кода

  • Код разделён на модули по ответственности.
  • Соблюдается PEP8 (отступы, имена, длина строк).
  • Нет дублирования кода.
  • Функции не слишком длинные (рекомендуется не более 20–30 строк).
  • Комментарии объясняют сложные места, а не очевидное.

🎤 Рекомендации по подготовке к презентации

  • Продумайте сценарий демонстрации заранее — какие слова вводить, какие жанры и годы выбрать.
  • Подготовьте «упавшую» базу на случай проблем: имейте под рукой скриншоты работы приложения.
  • Потренируйтесь говорить по таймеру, чтобы уложиться в 5 минут.
  • Перечитайте свой код и будьте готовы объяснить каждую функцию.
  • Подготовьте ответы на вопросы: почему выбрана такая архитектура, как работают SQL-запросы, как строится агрегация в MongoDB.

Проверка понимания

Выберите один вариант ответа. После клика правильный ответ подсветится зелёным.

Вопрос 1

Что важнее всего в практическом задании?

Вопрос 2

Как безопаснее двигаться в практикуме?

Вопрос 3

Что делать, если решение не совпадает с ожидаемым результатом?

Вопрос 4

Какой стиль имён переменных обычно рекомендует PEP 8?

Вопрос 5

Зачем использовать f-strings в современном Python?

Вопрос 6

Когда полезен ранний возврат из функции?