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

Глава 1. Технологии разработки Telegram бота.

    1. Обзор литературы

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

В области теоретических основ разработки программного обеспечения ключевую роль сыграли работы Курилова В. А. «Технологии и средства проектирования программных систем» (2020) и Вигерса К. с соавторами «Разработка требований к программному обеспечению» (2022). В этих трудах подробно рассматриваются методы формализации требований, принципы модульного проектирования и подходы к обеспечению масштабируемости программных продуктов. На основе представленных методик была выстроена структура проекта: от чёткого формулирования функциональных и нефункциональных требований до проектирования архитектуры с разделением ответственности между компонентами обработки изображений, управления настройками и взаимодействия с Telegram API.

Исследования, посвящённые разработке чат-ботов и особенностям мессенджер-платформ, представлены в статье Матвеевой Н. Ю. и Золотарюка А. В. «Технологии создания и применения чат-ботов» (2018), а также в работе Жеребцовой Ю. А. и Чижика А. В. «Создание чат-бота: обзор архитектур и векторных представлений текста» (2020). В этих публикациях анализируются современные архитектурные паттерны, модели диалогового взаимодействия и методы обеспечения отказоустойчивости ботов под высокой нагрузкой. На основе этих материалов была выбрана событийно-ориентированная модель обработки запросов и реализована интуитивная система текстовых команд, что позволило создать простой и отзывчивый интерфейс без использования сложных конечных автоматов.

Практические руководства по программированию на Python составили основу для реализации серверной логики бота. В книге Фленова М. В. «Программирование на Python. Полный курс» (2022) систематизированы знания по синтаксису языка, работе с файлами, структурам данных и основам объектно-ориентированного программирования. Специализированное издание Морозова С. В. «Telegram-боты: от новичка до профи» (2023) содержит детальное описание возможностей Telegram Bot API, примеры использования библиотек aiogram и python-telegram-bot, а также рекомендации по обработке исключений и ведению журналирования. Эти источники активно применялись на этапах написания, отладки и оптимизации кода.

Методологические аспекты создания интерактивных систем и асинхронного программирования раскрыты в работе Скубриевой Е. А. и Агеева С. А. «Разработка интерактивных систем на Python» (2021), а также в официальном документе PEP 492 «Coroutines with async and await syntax». В этих материалах рассматриваются принципы асинхронной обработки запросов, организация параллельных вычислений и проектирование отзывчивых пользовательских интерфейсов. На основе этих принципов была построена архитектура бота, использующая асинхронную модель выполнения через asyncio, что обеспечило возможность одновременной обработки множества запросов без блокировок.

Официальная документация и ресурсы открытого сообщества позволили решить узкоспециальные технические задачи. Документация фреймворка aiogram (Aiogram Cookbook) предоставила актуальную информацию по работе с версией 3.x, настройке диспетчера, обработке медиафайлов и реализации middleware. Материалы по интеграции с асинхронными базами данных (например, aiosqlite) были изучены для оценки альтернативных подходов к хранению пользовательских данных, хотя в итоге был выбран более простой и эффективный для данного проекта вариант с файловым хранилищем в формате JSON.

Вопросы, связанные с обработкой и сжатием изображений, исследовались на основе документации библиотек Pillow и img2pdf, а также специализированных публикаций, посвящённых алгоритмам сжатия JPEG и PNG. В этих источниках подробно описываются методы изменения разрешения, работы с метаданными, палитризации и настройки параметров сжатия. На основе этих данных был разработан адаптивный алгоритм, автоматически определяющий тип изображения (фотография или графика) и применяющий оптимальные настройки: для фотографий — JPEG с регулируемым качеством и возможностью контроля размера файла, для графики — палитровый PNG с дизерингом для сохранения чёткости контуров.

Таким образом, проведённый литературный обзор позволил:

· систематизировать теоретические знания по проектированию программных систем и разработке чат-ботов;

· изучить и сравнить современные технологии и инструменты для создания Telegram-ботов;

· освоить передовые практики асинхронного программирования и обработки изображений;

· избежать распространённых ошибок за счёт использования проверенных методик, описанных в профессиональной литературе.

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