Архив статей журнала

Анализ методов обновления DOM в современных вебфреймворках: Virtual DOM и Incremental DOM (2025)
Выпуск: № 2 (2025)
Авторы: Бондаренко Олеся Сергеевна

Статья представляет собой анализ современных методов обновления структуры Document Object Model (DOM) в популярных клиентских веб-фреймворках, таких как Angular, React и Vue. Основное внимание уделяется сравнению концепций Virtual DOM и Incremental DOM, которые лежат в основе архитектурных решений соответствующих фреймворков. Virtual DOM, применяемый в React и Vue, оперирует виртуальным деревом, сравнивает его версии с целью выявления различий и минимизации изменений в реальном DOM. Такой подход обеспечивает относительную простоту реализации реактивного интерфейса, однако сопровождается дополнительными затратами на вычисления и использование ресурсов. В отличие от него, Angular использует Incremental DOM, при котором отсутствует создание промежуточных структур: изменения применяются напрямую через механизм Change Detection. Этот подход позволяет добиваться высокой производительности за счёт точечных обновлений DOM-элементов без необходимости в виртуальном представлении. В исследовании применяется сравнительный анализ архитектурных подходов к обновлению DOM, основанный на изучении официальной документации, практических экспериментов с кодом и визуализации процессов рендеринга в Angular и React. Методология включает теоретическое обоснование, пошаговый разбор механизмов обновлений и оценку их влияния на производительность. Научная новизна статьи заключается в систематическом сопоставлении архитектурных подходов к обновлению DOM в ведущих фреймворках, с акцентом на внедрение сигнальной модели в Angular версии 17+. Подробно проанализировано влияние использования сигналов на отказ от библиотеки Zone. js и формирование более предсказуемой, детерминированной модели рендеринга, а также возможности управления производительностью на более низком уровне. Статья содержит не только теоретическое описание, но и практические примеры, раскрывающие поведение обновлений в реальных сценариях. Также рассматриваются нюансы шаблонной компиляции, работы функций effect() и computed(). Проведённое сравнение Virtual DOM и Incremental DOM позволяет выявить ключевые различия, оценить применимость подходов в зависимости от задач и уровня сложности проекта, а также предложить направления оптимизации фронтенд-архитектур.

Сохранить в закладках
Исследование производительности WebAssembly в среде исполнения Node. js (2025)
Выпуск: № 2 (2025)
Авторы: Карпович Владимир Дмитриевич, Государев Илья Борисович

Современные среды исполнения, такие как браузеры, Node. js и пр. предоставляют разработчикам инструменты, позволяющие выходить за рамки традиционного JavaScript. Объектом данного исследования выступает современный подход к созданию веб-приложений, в которых возможно выполнение и совместное использование компонентов, написанных на разных языках программирования, в результате применения WebAssembly. Предметом исследования является тестирование и анализ результатов тестов, направленных на измерение производительности JavaScript и WebAssembly-модулей в среде выполнения Node. js, с акцентом на сравнение эффективности выполнения вычислительных задач, взаимодействия с памятью, обработки данных и межъязыкового взаимодействия. Автор подробно рассматривает такие аспекты темы, как интеграция WebAssembly в приложения, оценка его преимуществ при решении ресурсоёмких задач, таких как обработка изображений, объективность, репрезентативность и воспроизводимость тестирования В работе используется прикладной, экспериментальный подход. Было произведено сравнение скорости выполнения операций при использовании чистого JavaScript и WebAssembly-модулей. Для оценки эффективности были использованы данные о времени ответа на запрос, о потреблении ресурсов системы приложением. Научная новизна данной работы заключается в разработке и теоретическом обосновании подходов к тестированию веб-приложений с использованием технологии WebAssembly. В отличие от большинства существующих исследований, сосредоточенных на производительности и безопасности WebAssembly в браузерной среде, в данной работе внимание акцентировано на автоматизированном тестировании WebAssembly-модулей вне браузера, что до настоящего времени оставалось слабо проработанным направлением. Предложен методологический подход к организации тестирования WebAssembly-модулей в среде выполнения Node. js, включая принципы структурирования тестов, интеграции с JavaScript-компонентами и анализ результатов выполнения. Такой подход позволяет учитывать специфику серверного окружения, где WebAssembly всё активнее применяется - в частности, при разработке высоконагруженных вычислительных модулей, кросс-языковой логики и безопасного изолированного исполнения. Научная новизна также заключается в выведении критериев, позволяющих оценивать пригодность тех или иных компонентов приложения для переноса в WebAssembly с точки зрения тестируемости, что даёт разработчикам дополнительный инструмент принятия архитектурных решений. Предложенные идеи подтверждены экспериментальной частью, включающей примеры реализации тестирования сценариев взаимодействия между WebAssembly и JavaScript.

Сохранить в закладках
Динамическое распределение слотов RACH для минимизации коллизий в сетях NB-IoT на основе алгоритмов обучения с подкреплением (2025)
Выпуск: № 2 (2025)
Авторы: Шаброва Анна Сергеевна, Князев Максим Андреевич, Колесников Александр Владимирович

Предметом исследования является управление доступом к каналам случайного доступа (Random Access Channel, RACH) в сетях узкополосного Интернета вещей (Narrowband Internet of Things, NB-IoT), испытывающих перегрузки при высокой плотности размещения устройств. Объектом исследования выступают процедуры динамического распределения слотов RACH с использованием методов машинного обучения. Основное внимание уделяется применению алгоритмов обучения с подкреплением (Reinforcement Learning, RL), в частности методов Q-learning и Deep Q-Network (DQN). Авторы детально рассматривают проблему перегрузки каналов и связанных с ней коллизий, приводящих к задержкам передачи данных и повышенному энергопотреблению устройств. Анализируется недостаточная эффективность традиционных статических методов управления слотами и обосновывается необходимость внедрения динамического подхода, способного адаптироваться к изменяющимся условиям сети. В исследовании использовались методы машинного обучения, включающие Q-learning и DQN, а также симуляционное моделирование в среде NS-3 с интеграцией RL-агента для динамического перераспределения RACH-слотов. Научная новизна исследования заключается в разработке и интеграции специализированного RL-агента, позволяющего осуществлять адаптивное распределение слотов RACH на основе текущего состояния сети NB-IoT. Основными выводами проведённого исследования являются подтверждённая высокая эффективность предложенного динамического подхода, обеспечившего снижение числа коллизий на 74%, увеличение числа успешных подключений на 16% и улучшение энергоэффективности устройств на 15% по сравнению с традиционными статическими методами. Перспективность дальнейших исследований состоит в масштабировании предложенного подхода на сети с большим числом устройств, изучении мультиагентных RL-подходов, экспериментальной проверке и интеграции разработанного метода с реальными сетями NB-IoT, а также в разработке гибридных моделей управления, сочетающих алгоритмы обучения с подкреплением с другими методами машинного обучения.

Сохранить в закладках
Разработка методики тестирования мобильного приложения на основе технологии ай-трекинга (2025)
Выпуск: № 1 (2025)
Авторы: Плетнева Алиса Олеговна, Янчус Виктор Эдмундасович

Предметом исследования выступают средства компьютерной графики для разработки мобильного приложения. Объектом исследования является мобильное приложение. Подробно с точки зрения дизайна рассматриваются 4 фактора влияния на восприятие информации в мобильном приложении: цветовое решение, композиционное решение, шрифт и количество букв в управляющих словах. Был разработан эксперимент, который проводился с помощью технологии ай-трекинга в специальном программном модуле. Он включает в себя 72 стимула и 1 поставленную задачу, которую необходимо решить участникам эксперимента. Особое внимание уделяется особенности мобильного приложения, она заключается в том, что вся информация находится в поле центрального зрения человека, периферийное зрение при работе в этой среде слабо задействуется. Следовательно, влияние саккад на шаблон рассматривания интерфейса мобильного приложения значительно меньше, чем при взаимодействии человека с графическим интерфейсом приложений и сайтов, ориентированных на воспроизведение на большем экране персонального компьютера. Технология ай-трекинга и методы математической статистики для проведения экспериментальных исследований восприятия визуальной информации человеком в графическом интерфейсе мобильных приложений. Научная новизна заключается в применении технологии ай-трекинга для экспериментального исследования восприятия визуальной информации человеком в графическом интерфейсе мобильных приложений. Быстрее всего участники эксперимента решали задачу в сине-оранжевом и бело-черном цветовых сочетаниях стимульного материала, а также наиболее быстро испытуемые решали задачи с крупными активными элементами в композиционном решении. Также проявляется статистически значимое влияние шрифта с засечками. При его использовании в стимульном материале испытуемые решают задачу эксперимента быстрее. Интересным наблюдением стало то, что длинные слова воспринимались испытуемыми быстрее коротких. Таким образом, все выделенные факторы: цветовое решение, композиционное решение, шрифт и количество букв в управляющих словах влияют на восприятие в мобильном приложении, но при определенных условиях. Результаты работы: 1. Разработанная методика продемонстрировала свою работоспособность; 2. Данная методика может быть использована для тестирования мобильных приложений; 3. Данная методика позволяет разработать мобильное приложение с учетом выделенных рекомендаций; 4. Необходимо разрабатывать следующие задачи для проведения новых экспериментов.

Сохранить в закладках
Разработка прикладного приложения для автоматизации проектирования в КОМПАС-3D: таблица контроля качества основного металла (2025)
Выпуск: № 1 (2025)
Авторы: Савельева Юлия Олеговна, Ильин Артем Владимирович, Лукьянов Александр Александрович, Милихина Ксения Михайловна

Сложность составления таблиц контроля качества основного металла ТБ1 для проектирования изделий атомной энергетики определяется необходимостью учета совокупности множества требований различных источников (которые могут пересекаться, дополнять друг друга): стандарты, например, отраслевой стандарт (ОСТ), строительные нормы и правила (СНиП), технические условия, требования заказчика, а также внутренние нормы на их заполнение и другие нормативные документы. Некорректно составленные документы, пререданные в уполномоченную организацию контроля качества (организацию уполномоченную на проведение работ по оценке соответствия в форме приемки (испытаний) продукции, предназначенной для применения в элементах объектов использования атомной энергии Российской Федерации), означают для разработчика финансовые и временные потери, трудности при дальнейшей сдаче изделия. В данной работе приводится порядок разработки прикладного пользовательского приложения (библиотеки), позволяющего автоматически сформировать и построить таблицу контроля качества основного металла ТБ1 на документе чертежа в КОМПАС-3D. Разработан код прикладного приложения (библиотеки) для САПР КОМПАС-3D на языке Delphi, с помощью которого реализуется автоматизированное построение ТБ1, необходимой при проектировании оборудования для атомной энергетики. Одной из важнейших характеристик современной инженерной системы моделирования является возможность внедрения автоматизации, например, использование подсистем для расширения возможностей программного пакета, в качестве которых могут выступать прикладные приложения (пользовательские программные библиотеки). В данной работе сформулированы основные требования к функционалу прикладного пользовательского приложения (библиотеки) для КОСПАС-3D: детали осуществления запуска формирования ТБ1; возможности выбора контрольных операций для материалов сборки, операций с шифрами, также добавление новых операций, с последующим их сохранением в памяти программы; возможность внесения оперативных изменений. Код приложения позволяет считать данные с файла сборки, открытого в КОМПАС-3D, создать новый документ чертежа, построить таблицу по требованиям ТБ1, занести туда данные, взятые со сборочного документа.

Сохранить в закладках
Интеллектуальная система мониторинга и адаптации маршрута беспилотных летательных аппаратов на основе нейросетевого анализа объектов риска (2025)
Выпуск: № 1 (2025)
Авторы: Сергеев Дмитрий Анатольевич, Родионов Дмитрий Григорьевич, Поляков Прохор, Голиков Глеб Игоревич, Старченкова Олеся Дмитриевна, Дмитриев Николай, Конников Евгений Александрович

Исследуется интеллектуальная система мониторинга и адаптации маршрута беспилотных летательных аппаратов (БПЛА) на основе нейросетевого анализа объектов риска. Рассматриваются алгоритмы автономной навигации, обеспечивающие анализ внешней среды и оперативную корректировку траектории полёта с учётом потенциальных угроз. Оцениваются возможности применения машинного зрения, нейросетевых алгоритмов, методов предобработки данных, детектирования объектов, семантической сегментации, алгоритмов траекторного планирования, предиктивного управления и адаптивной оптимизации маршрутов для идентификации препятствий, движущихся объектов и зон ограничения полётов. Анализируется роль интеллектуальных систем управления в архитектуре БПЛА, их влияние на повышение автономности, устойчивости и эффективности выполнения задач в динамически изменяющихся условиях. Предлагаемые решения ориентированы на снижение рисков, связанных с нештатными ситуациями, за счёт внедрения адаптивных стратегий управления полётом. Применяются методы системного анализа, компьютерного зрения и машинного обучения, включая свёрточные нейросети, алгоритмы предобработки изображений, фильтрации и сегментации данных, а также анализ сенсорных показателей. Оценка эффективности реализована посредством моделирования траекторий движения, тестирования алгоритмов идентификации угроз и анализа параметров устойчивости маршрутов БПЛА. Научная новизна заключается в разработке интегрированной системы интеллектуальной корректировки маршрута БПЛА, основанной на применении нейросетевых методов классификации объектов и адаптивных алгоритмов планирования траекторий. Разработаны механизмы предиктивного анализа рисков, обеспечивающие автоматическую корректировку маршрута при обнаружении препятствий, неблагоприятных погодных условий и зон ограниченного доступа. Предложенная архитектура управления сочетает технологии машинного зрения, анализа потоков данных и автоматизированного принятия решений, а также использует методы динамической маршрутизации, алгоритмы корректировки полёта в реальном времени и стратегии предотвращения столкновений. Такой подход обеспечивает повышение уровня автономности работы дронов. Разработанные алгоритмы интеллектуальной навигации могут быть внедрены в современные системы автономного управления БПЛА, обеспечивая адаптацию к динамическим условиям и повышение эффективности выполнения задач в различных сферах, включая оборонные и промышленные применения.

Сохранить в закладках
Скриншотное тестирование как многоаспектный вид автоматизированной динамической верификации вебприложений (2025)
Выпуск: № 1 (2025)
Авторы: Макаров Константин Сергеевич, Фаткин Руслан Игоревич

Предметом исследования является многоаспектное скриншотное тестирование как современный метод автоматизированной динамической верификации веб-приложений, объединяющий функциональное тестирование и проверку пользовательского интерфейса (UI). Современные методы тестирования сталкиваются с проблемами высокой трудоемкости, ложноположительных срабатываний и низкой масштабируемости, особенно в сложных проектах. Основная цель исследования - создать и внедрить метод, который позволяет повысить точность выявления дефектов, сократить время тестирования и снизить затраты на разработку тест-кейсов. В работе рассматриваются алгоритмы сравнения изображений, методы фильтрации динамических элементов и подходы к автоматизированному анализу интерфейсов для повышения эффективности и стандартизации в процессе верификации веб-приложений. В отличие от функционального и UI-тестирования по отдельности, предложенный метод позволяет анализировать несколько аспектов интерфейса и функциональности одновременно, что минимизирует трудозатраты и повышает надежность тестирования. Используется автоматическое сравнение эталонных и тестовых скриншотов на уровне пикселей, структурных элементов и содержимого с применением Python, Selenium, PIL и Pytest-xdist для параллельного выполнения тестов, что позволяет эффективно решать задачи верификации веб-приложений. Некоторые исследователи в области тестирования сходятся во мнении, что сам процесс тестирования мало стандартизирован и не имеет четких критериев оценки его эффективности. Предлагаемый нами метод позволяет добиваться решения поставленных задач верификации даже в условиях изменяющихся стратегий и подходов к оценке работоспособности системы за счет создания гибкой и точной системы проверки, которая объединяет различные типы тестирования в единую структуру, что делает данный метод подходящим для современных задач разработки программного обеспечения. Экспериментальная часть демонстрирует преимущества многоаспектного скриншотного тестирования по сравнению с другими методами, включая сокращение времени тестирования, повышение точности обнаружения дефектов и улучшение анализа получаемых отчетов. Данный подход может быть адаптирован к различным сценариям тестирования и выгоден для использования в высоконагруженных проектах, требующих регулярной регрессионной проверки.

Сохранить в закладках
Сравнительный анализ индексационных стратегий в PostgreSQL при различных сценариях нагрузки (2025)
Выпуск: № 1 (2025)
Авторы: Золотухина Д. Ю.

Предметом исследования является эффективность различных индексационных стратегий, реализованных в PostgreSQL, и их влияние на производительность операций SELECT, UPDATE и INSERT в условиях различных масштабов данных. Объектом исследования выступают индексы B-Tree, GIN и BRIN, применяемые для оптимизации работы баз данных. Автор подробно рассматривает такие аспекты темы, как временные характеристики выполнения операций, размер индексов и их ресурсоемкость. Особое внимание уделяется влиянию объема данных на производительность индексов и их пригодности для работы с различными типами данных, включая JSONB. Исследование направлено на систематизацию знаний о применении индексов для повышения эффективности работы высоконагруженных систем, где требуется оптимизация операций доступа, обновления и вставки данных, а также анализ потребления ресурсов. Ведущим методом исследования является эмпирический подход, включающий разработку тестовой базы данных с таблицами orders, customers и products. Эксперименты проводились для операций SELECT, UPDATE и INSERT на малых, средних и больших объемах данных. Для анализа использовались метрики времени выполнения запросов и размера индексов, полученные с использованием инструментов PostgreSQL. Новизна исследования заключается в комплексном сравнении индексов B-Tree, GIN и BRIN в PostgreSQL с учетом не только временных характеристик выполнения запросов, но и их влияния на размер базы данных и общую нагрузку на систему. В отличие от существующих исследований, сосредоточенных на отдельных аспектах индексирования, данная работа рассматривает эффективность различных типов индексов в условиях изменяющейся нагрузки и различных категорий операций. Основными выводами проведённого исследования являются рекомендации по выбору индексов в зависимости от типов запросов и условий их выполнения. Индексы B-Tree подтвердили свою универсальность, демонстрируя высокую производительность для операций SELECT и UPDATE. GIN-индексы показали преимущества для работы с JSONB-данными, но их использование ограничено высокой ресурсоемкостью. BRIN-индексы доказали свою эффективность для больших объемов данных, особенно для операций SELECT. Особым вкладом автора в исследование темы является создание рекомендаций для разработчиков баз данных, что позволяет повышать производительность приложений за счёт оптимального выбора индексационной стратегии.

Сохранить в закладках
Влияние асинхронных и многопоточных моделей обработки запросов на производительность серверных веб-приложений (2025)
Выпуск: № 1 (2025)
Авторы: Макаров Игорь Сергеевич, Ларин Денис Вячеславович, Воробьева Евгения Григорьевна, Емелин Даниил Павлович, Карташов Дмитрий Александрович

Объектом исследования являются серверные веб-приложения и их производительность при обработке большого количества одновременных запросов. В качестве предмета исследования рассматриваются асинхронные технологии (Node. js, Python Asyncio, Go, Kotlin Coroutines) и многопоточные модели (Java Threading, Python Threading). Авторы подробно анализируют асинхронные циклы событий, горутины, корутины и классические многопоточные подходы, оценивая их эффективность в задачах с интенсивным использованием I/O и вычислительных ресурсов. Проводится эксперимент с разработкой API на трёх языках (Java, Node. js, Go) и тестированием при помощи утилиты hey. Также исследуются особенности масштабируемости, оптимизации производительности, использование кэширования, обработка ошибок, нагрузочные тесты и особенности реализации параллельных вычислений. Цель исследования - определить, какие подходы обеспечивают наибольшую производительность в серверных приложениях. Методы исследования включают нагрузочное тестирование, сбор метрик (время отклика, пропускная способность и потребление ресурсов сервера ) и анализ результатов. Научная новизна заключается в сравнении асинхронных и многопоточных методов в реальных сценариях веб-разработки. Основными выводами исследования являются рекомендации по использованию асинхронных технологий в высоконагруженных I/O задачах и многопоточности в вычислительно сложных сценариях. Полученные результаты помогут разработчикам оптимизировать производительность серверных приложений в зависимости от их задач и нагрузки. Дополнительно исследование рассматривает аспекты сложности отладки асинхронных приложений, влияние пулов потоков на производительность многопоточных решений, а также сценарии, в которых асинхронные и многопоточные подходы могут дополнять друг друга. Особое внимание уделено управлению ресурсами сервера при масштабируемых нагрузках, что позволит IT-специалистам более точно выбирать инструменты и технологии для решения конкретных задач. В заключении обсуждаются возможные пути оптимизации работы серверных приложений, включая использование новых подходов и алгоритмов, а также перспективы развития асинхронных и многопоточных технологий в контексте высоконагруженных систем, их влияние на общую архитектуру приложений, а также на повышение отказоустойчивости и безопасности.

Сохранить в закладках