Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные. Дагаев / Доклад к презентации.docx
Скачиваний:
1
Добавлен:
02.01.2026
Размер:
25.46 Кб
Скачать

Слайд 1

В современном мире цифровизация затрагивает все сферы жизни, и объёмы передаваемых медиаданных растут экспоненциально. Это создаёт потребность в эффективных инструментах для оптимизации графического контента. Наш проект предлагает решение — Telegram-бота, который позволяет сжимать изображения прямо в чате, что делает процесс быстрым, удобным и доступным для любого пользователя мессенджера. Бот не только уменьшает размер файлов, но и помогает экономить мобильный трафик и место на устройствах, а также обеспечивает конфиденциальность за счёт удаления метаданных.

Слайд 2

Основная цель нашего проекта — создание полнофункционального Telegram-бота для автоматизированного сжатия изображений с дополнительными возможностями, такими как обработка команд пользователя, сборка PDF-документов и удаление метаданных. Для достижения этой цели мы выделили несколько ключевых задач: исследование технологических возможностей Telegram Bot API, выбор оптимального стека технологий, разработка надёжной и масштабируемой архитектуры, реализация логики обработки изображений, настройка клиента для работы с JSON, обеспечение передачи результатов пользователю, а также всестороннее тестирование и подготовка документации.

Слайд 3

Актуальность проекта обусловлена несколькими факторами. Во-первых, цифровизация ведёт к увеличению объёмов передаваемых медиаданных, что требует эффективных решений для их оптимизации. Во-вторых, пользователи часто сталкиваются с необходимостью экономии мобильного трафика и памяти на устройствах. В-третьих, конфиденциальность данных становится всё более важной — многие не осознают, что изображения могут содержать метаданные, такие как геолокация или параметры съёмки. Telegram, как платформа с открытым API и миллионами активных пользователей, идеально подходит для реализации такого бота, предлагая кроссплатформенность и удобство использования.

Слайд 4

Для реализации проекта мы выбрали Python в качестве основного языка программирования благодаря его простому и читаемому синтаксису, поддержке асинхронного программирования через asyncio, а также обширному сообществу и богатой экосистеме библиотек. В качестве фреймворка для разработки бота был выбран aiogram — асинхронный фреймворк, который обеспечивает эффективную обработку запросов, поддержку машин состояний (FSM) и удобную маршрутизацию команд. Дополнительно мы используем такие инструменты, как img2pdf для сборки PDF-документов, JSON для хранения настроек пользователей и dotenv для управления конфигурацией. Этот стек позволяет создавать производительные, масштабируемые и легко поддерживаемые решения.

Слайд 5

Архитектура нашего бота построена по модульному принципу, что обеспечивает чёткое разделение ответственности и упрощает разработку и поддержку. Система состоит из пяти основных модулей: модуль конфигурации, который загружает настройки и переменные окружения; модуль обработки изображений, отвечающий за сжатие, изменение размера и конвертацию; модуль управления настройками, который сохраняет персональные параметры пользователей в JSON-формате; модуль PDF-сессий для временного хранения изображений при сборке многостраничных PDF; и модуль обработчиков команд, который управляет взаимодействием с пользователем через Telegram API. Такая структура делает систему гибкой и готовой к расширению.

Слайд 6

Разработка бота велась поэтапно, что позволило нам методично подойти к созданию сложной системы. На первом этапе мы спланировали функционал, определив ключевые возможности, такие как адаптивное сжатие, настройка параметров, сборка PDF и удаление EXIF-данных. Затем мы спроектировали модульную архитектуру с чётким разделением ответственности. На этапе реализации логики сжатия были написаны алгоритмы классификации изображений, бинарного поиска качества и палитризации PNG. Далее мы разработали пользовательский интерфейс, создав систему команд и обработчиков сообщений. После интеграции всех модулей было проведено тестирование на различных типах изображений, а также оптимизация производительности и подготовка документации.

Слайд 7

В нашем проекте мы работаем с несколькими ключевыми форматами данных. JPEG используется для сжатия фотографий с потерями, он поддерживает до 24-битный цвет, но не прозрачность. PNG — это растровый формат без потерь, который идеально подходит для графики и логотипов благодаря поддержке прозрачности и альфа-канала. PDF применяется для создания универсальных документов, сохраняющих текст, векторную и растровую графику. JSON используется для хранения структурированных данных, таких как настройки пользователей. Кроме того, мы работаем с цветовой моделью RGB, которая основана на сложении интенсивностей красного, зелёного и синего каналов для формирования любого видимого цвета.