Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вся работа 16,05.docx
Скачиваний:
0
Добавлен:
28.06.2025
Размер:
3.07 Mб
Скачать

2.2. Выбор технологий и инструментов

Процесс выбора технологий для разработки системы автоматизированного анализа рисков должен учитывать целый ряд факторов: простота реализации и поддержки, наличие библиотек для работы с логами и текстами, производительность при обработке файлов, а также возможность интеграции с существующей веб-инфраструктурой. Особенно важно учитывать универсальность и доступность средств визуализации, тестирования и настройки, поскольку система планируется как внедряемый модуль, способный работать в различных средах [20].

Первоначально были рассмотрены три языка программирования, наиболее распространённые в области автоматизации обработки данных и анализа журналов событий: Python, JavaScript (Node.js) и Go. Ниже приводится сравнительный анализ этих языков применительно к задачам, которые решает разрабатываемая система.

Анализ показал, что Python является наиболее подходящим языком для решения поставленных задач. Это связано с его выраженной направленностью на работу с текстами, логами, структурированными и полуструктурированными данными. Он предлагает простой синтаксис, обширный набор библиотек для парсинга, статистического анализа, фильтрации и визуализации, что особенно важно при построении системы, анализирующей потенциальные риски на основе логов.

Также важным аргументом в пользу Python является его широкая поддержка инструментов автоматизированного тестирования (pytest, unittest), генерации отчётов (reportlab, jinja2, csv, json) и построения отчётных веб-интерфейсов (через Flask, Dash, Streamlit), что делает его удобным как для серверной логики, так и для пользовательской части проекта.

Таблица 7 - Сравнительная таблица языков программирования [22-24]

Критерий

Python

Node.js (JavaScript)

Go (Golang)

Простота и скорость разработки

Очень высокая

Средняя

Средняя

Поддержка парсинга текстов и логов

Мощная (re, pandas, loguru и др.)

Есть, но ограничена по удобству

Требует ручной разбор или сторонние библиотеки

Наличие готовых библиотек

Богатая экосистема

Умеренно развитая

Менее развитая

Работа с файловой системой

Простая, кроссплатформенная

Удобная, но зависит от npm-библиотек

Эффективная, но требует жёсткой типизации

Обработка больших файлов

Поддерживается, хотя уступает Go

Менее эффективна при больших логах

Эффективная, хороша при больших объёмах

Интеграция в веб-среду

Простая, через Flask/Django

Прямая, благодаря веб-ориентированности

Требует дополнительных компонентов

Документирование и тестирование

Поддержка Sphinx, pytest, doctest

Ограничено или требует фреймворков

Ограниченно развито

Порог вхождения

Низкий

Средний

Средне-высокий

Поддержка визуализации данных

Отличная (matplotlib, plotly, dash)

Посредственная

Практически отсутствует

Кроме того, Python демонстрирует высокую кроссплатформенность, позволяя запускать систему как в среде Linux-серверов, так и в Windows-инфраструктуре, включая сценарии размещения модуля в структуре сайта.

Таким образом, выбор Python обеспечивает надёжность, расширяемость, читаемость и быструю разработку системы, при этом не требуя сложной настройки и интеграции со сторонними технологиями. Это делает его оптимальным решением для реализации программного инструмента автоматизированного анализа рисков.