Key words: strapless inertial navigation system, accelerometric BINC, gyroscopic inertial navigation
systems.
Belenova Lyubov Danilovna, student, belenova2014@yandex.ru, Russia, Tula, Tula State University,
Prokhortsov Alexey Vyacheslavovich, doctor of technical sciences, docent, head of department, proxav@rambler.ru, Russia, Tula, Tula State University
УДК 004.42
DOI: 10.24412/2071-6168-2023-1-58-62
ВЫБОР ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ДЛЯ РАЗРАБОТКИ ОБРАЗОВАТЕЛЬНОГО
ВЕБ-ПРИЛОЖЕНИЯ
М.С. Качков, П.А. Пахомов, И.А. Горин
Статья посвящена рассмотрению различных инструментальных средств, при помощи которых ведется разработка образовательных веб-приложений. Основное внимание уделено изучению перспективности и актуальности использования подобного решения в качестве инструмента для надежной и качественной разработки приложения. В данной исследовательской работе практическая значимость использования информационных средств рассмотрена с точки зрения удобства и возможности использования в создании конкурентоспособных веб-приложений, а также применения их в качестве средств, для обеспечения образовательной деятельности. В результате исследовательской работы сделаны выводы касательно эффективности представленных средств, впоследствии необходимых для разработки образовательных веб-приложений.
Ключевые слова: веб-приложение, фронт-энд, бэк-энд, PHP, Python, JavaScript, HTML, CSS.
Для разработки веб-приложения требуется специальный набор инструментов, который позволит создать серверную и клиентскую части. В этот набор инструментов входят как языки программирования, так и специальное программное обеспечение, которое включает в себя среды разработки программного обеспечения, и системы управления базами данных.
В силу специфики, веб-приложения можно разбить на несколько составляющих частей, для реализации которых возможно использованием различных инструментальных средств разработки. В веб-приложениях можно выделить три составные части: фронт-энд, бэк-энд, базы данных.
Фронт-энд разработка создаёт видимую пользователю часть веб-страницы и ее главная задача -предоставить клиенту удобный и красивый веб-дизайн, а также реализовать пользовательскую логику. Это весь внешний вид сайта или приложения — доступные пользователю кнопки, таблицы, блоки, детали и так далее.
Бэк-энд разработка отвечает за работу основного функционала веб-приложения, а именно исполняет запросы пользователя, получаемые с фронт-энда. Чаще всего, бэк-энд передаёт нужную информацию из базы данных, которая после отображается в доступном виде пользователю, посредством инструментов фронт-энда.
База данных предназначена для хранения информации, необходимой для функционирования веб-приложения. Это может быть пользовательская информация, например, логин и пароль, или информация, необходимая для работы каких-либо модулей веб-приложения, например данные о необходимости подключать или отключать ту или иную функцию.
Таким образом, для разработки веб-приложения необходимо определить следующие пункты:
- выбор языка программирования, на котором будет основана серверная часть приложения;
- выбор фреймворка, на основе которого будет оформляться клиентская часть приложения (интерфейс, представляемый пользователю);
- выбор способа управления взаимодействием между клиентской и серверной частями;
- выбор системы управления базами данных.
Выбор средств веб-разработки основывается на следующих критериях:
- размер и сложность проекта;
- скорость разработки;
- требования к безопасности;
- кроссплатформенность;
- доступные инструменты разработки [2].
Также, выбор набора инструментов должен основываться на том уровне абстракции, которому придерживается разработка программного обеспечения. Всего выделяют три уровня абстракции:
1) Программный продукт, написанный на «чистом языке», то есть без
использования сторонних инструментов, облегчающих разработку, путем привлечения готовых инструментов. Такое приложение, как правило, является продуктом больших компаний, например, таких как Google, Яндекс, Amazon и так далее, так как они вынуждены использовать собственные решения в разработке, так как это повышает их уникальность и производительность, а также делает их независимыми от других продуктов. Иногда, на «чистом языке» создаются и небольшие программы, в которых просто нет необходимости внедрять какие-то сторонние готовые решения - хватает и базовых средств выбранного языка программирования.
2) Программный продукт, созданный с использованием фреймворков.
Фреймворк - среда разработки, которая обладает готовыми инструментами, позволяющими значительно ускорить разработку программного обеспечения, но с другой стороны ограничена этими же инструментами. Но нет никаких ограничений на изменение и модернизацию тех инструментов, что предлагает фреймворк. Использование подобного инструмента, как фреймворки, предоставляют достаточную производительность для обслуживания программных продуктов средней сложности (до нескольких миллионов посещений в месяц).
3) Программный продукт, созданный с помощью CMS (Content Management
System) - комплекс готовых решений, чаще всего объединенных в конструктор, на основе которого, из модулей собирается веб-приложение. Как таковое использование языков программирования отсутствует, и в основном происходит работа с настройкой отдельных структур веб-приложения. С помощью CMS создаются простые сайты, которые не требуют широкой серверной части, и ограничиваются только хранением зарегистрированных аккаунтов. Полученные таким путем веб-приложения имеют ряд минусов:
- такой сайт сложно поднять в поиске, так как веб-ресурсов по схожей
структуре создается большое количество, а поисковики нацелены на такой критерий, как уникальность
[4];
- такие веб-приложения хоть и имеют приятный и простой дизайн, но могут
работать с задержкой на простых операциях, так как эти сайты состоят из модулей, которые имеют большое количество «мусорного» кода [5].
Выбор языков программирования является задачей, которую разработчик должен решить для себя перед созданием проекта, так как потом данное решение изменить не получится. Для создания серверной части веб-приложений, используется пять основных языка программирования:
- Python - данный язык является одним из самых универсальных языков в программировании, и для серверной разработки он также подходит. Одним из преимуществ данного языка является обширная коллекция стандартных библиотек, которые позволяют достаточно быстро и эффективно вести разработку проекта. Также код языка Python является достаточно удобочитаемым, имеет интеграцию с другими языками.
- PHP - серверный язык сценариев, который хорошо зарекомендовал себя в
разработке серверных частей проекта. Является интерпретируемым языком, поэтому не требует компиляции, и позволяет работать практически в любой операционной системе. Так как язык используется достаточно долго на рынке, имеет большое количество различных библиотек и модулей. Имеет множество хеш-функций, что позволяет создавать безопасные веб-приложения [1].
- JavaScript - простой и быстро развивающийся скриптовый язык. Изначально задумывался как средство украшения веб-страниц, но к настоящему времени вырос в полноценную среду программирования с большим количеством библиотек, фреймворков, инструментов сборки, утилит, пакетных менеджеров и прочих элементов инфраструктуры. Используется для средних и больших проектов. Его большим достоинством, помимо прочих, является то, что один и тот же синтаксис используется для разработки как клиентской, так и серверной частей проекта.
- Ruby - является интерпретируемым языком программирования общего
назначения, который поддерживает различные парадигмы программирования, такие как процедурное, функциональное и объектно-ориентированное программирование. Этот язык широко используется для веб-разработки по всему миру и очень рекомендуется новичкам для начала работы с серверной веб-разработкой, так как он сравнительно проще в освоении. Как и Python, Ruby также фокусируется на повышении производительности разработчиков, что в конечном итоге ускоряет процесс веб-разработки [1].
- Java - разработка на этом языке требует больших затрат времени. Его
используют для больших проектов со специфическими требованиями, например, в банковской сфере. Хорошо подходит для проектов, в которые вовлечено много программистов, так как в нем хорошо реализована модульность. Главным преимуществом является то, что имеется возможность работать с написанным кодом на любом устройстве, где установлена виртуальная машина Java [1].
Для определения дополнительных инструментов серверного программирования, необходимо определить систему управления базами данных, которая будет использоваться для разработки веб-приложения. База данных необходима как для хранения данных о пользователях, так и для технических данных, необходимых для корректной работы веб-приложения.
Чаще всего, для веб-разработки используют одну из перечисленных систем управления базами
данных:
PostgreSQL - это популярная свободная объектно-реляционная система управления базами данных. PostgreSQL базируется на языке SQL и поддерживает многочисленные возможности.
Из преимуществ PostgreSQL стоит отметить поддержку БД неограниченного размера, мощные и надёжные механизмы транзакций и репликации, расширяемую систему встроенных языков программирования и поддержку загрузки C-совместимых модулей, наследование и легкую расширяемость.
MySQL - это реляционная система управления базами данных, с открытым исходным кодом. В настоящее время, эта СУБД одна из наиболее популярных в веб-приложениях - подавляющее большинство CMS использует именно MySQL, а почти все веб-фреймворки поддерживают MySQL уже на уровне базовой конфигурации (без дополнительных модулей).
Из преимуществ СУБД MySQL стоит отметить простоту использования, гибкость, низкую стоимость владения (относительно платных СУБД), а также масштабируемость и производительность [6].
В таблице представлено подробное сравнение MySQL и PostgreSQL.
Сравнение систем управления базами данных
Сравнение функций PostgreSQL 10 MySQL 8
Полнотекстовый поиск Есть Есть
JSON Есть Есть (обновлена)
Оконные функции Есть Есть (недавно добавили)
Скорость и надежность Высокая Высокая
Варианты оптимизации сервера MySQL Для оптимизации доступно мало параметров. Путем настройки переменных, таких как sort buffer size, read buffer size, max allowed packet и прочих.
Простота в использовании и популярность Менее популярна. Проста в использо- Более популярна. Проста в использова-
вании. нии.
Облачная СУБД Нет Есть
Параллельный доступ Есть Есть
Поддержка NoSQL Есть Нет
Для более удобного взаимодействия, например с MySQL, можно использовать веб-приложение phpMyAdmin, которое позволяет управлять базой данных через интерфейс браузера, изменять структуру и взаимодействие таблиц между собой, путем выстраивания взаимодействий между ними, создавать SQL-запросы, добавлять, изменять или удалять данные в таблицах.
Основными инструментами при разработке веб-приложений, а именно клиентской части, является связка языка гипертекстовой разметки HTML, язык таблицы стилей CSS, а также язык JavaScript.
HTML - обязательная часть любого веб-приложения или веб-ресурса. Он задаёт основную структуру сайта, так как является языком гипертекстовой разметки. Под гипертекстом понимаются ссылки, которые соединяют веб-страницы друг с другом либо в пределах одного веб-сайта, либо между веб-сайтами. Ссылки являются фундаментальным аспектом Веба. Загружая контент в Интернет и связывая его со страницами, созданными другими людьми, вы становитесь активным участником Всемирной паутины. HTML использует разметку для отображения текста, изображений и другого контента в веб-браузере. HTML-разметка включает в себя специальные элементы, такие как <head>, <title>, <body>, <header>, <footer>, <article>, <section> и другие. Самой актуальной версией HTML является 5 версия -данная версия поддерживается большинством браузеров, а если браузер не поддерживает данную версию, то некоторые элементы HTML5, которых нет в других версиях HTML, отображаются как элементы, которые есть в данной конфигурации [1].
CSS - используется создателями веб-страниц для задания цветов, шрифтов, стилей, расположения отдельных блоков и других аспектов представления внешнего вида этих веб-страниц. Основной целью разработки CSS является отделение описания логической структуры веб-страницы (которое производится с помощью HTML или других языков разметки) от описания внешнего вида этой вебстраницы (которое теперь производится с помощью формального языка CSS). Такое разделение может увеличить доступность документа, предоставить большую гибкость и возможность управления его представлением, а также уменьшить сложность и повторяемость в структурном содержимом.
Кроме того, CSS позволяет представлять один и тот же документ в различных стилях или методах вывода, таких как экранное представление, печатное представление, чтение голосом (специальным голосовым браузером или программой чтения с экрана) [3].
Для создания динамичных элементов на веб-странице, изменения свойств отдельных объектов, а также для взаимодействия некоторых элементов между собой, используется язык JavaScript. Данный язык способен напрямую манипулировать элементами веб-страницы, менять их размер, форму, стиль, содержимое и так далее. Все сложные элементы страницы, такие как боковые или вложенные меню, перетаскивание элементов, слайдеры и многое другое сделаны с помощью JavaScript [6].
60
Также, необходимо определить систему контроля версий для проекта. С их помощью можно отслеживать эволюцию кода, создавать различные варианты программного продукта, разбивать объёмы работ на независимые участки и тому подобные. Системы контроля версий изначально создавались, чтобы команды разработчиков могли совместно работать над проектами, избегая путаницы, но теперь это больше используется для того, чтобы у разработчиков имелась возможность «откатить» изменения, если они не устраивают. В системе контроля версий ветви кода и примечания к ним сохраняются в центральный репозиторий, где удобно хранить и обновлять файлы, вносить правки и комментарии, проводить слияние ветвей, созданных разными разработчиками.
Самой популярной и функциональной была и остается система контроля версий GitHub. Она является полностью бесплатной, не имеет никаких ограничений на количество создаваемых репозитори-ев, и на их объем.
Для взаимодействия с GitHub используется командная строка Git Bush, через которую изначально настраивается связи между репозиторием в системе контроля версий и корневой папкой проекта. После, с помощью специальных команд выполняется синхронизация корневого каталога с репозиторием и наоборот, если необходимо откатить изменения, или обновить каталог.
Система контроля версий также требуется для того, чтобы осуществлять непрерывную разработку веб-приложения с разных устройств: домашнего компьютера, ноутбука, компьютера в институте и так далее [3].
В данной статье проведен обзор и анализ средств создания образовательных веб-приложений, в ходе которого, рассмотрены различные инструменты разработки такие как: язык гипертекстовой разметки HTML, язык таблицы стилей CSS, язык JavaScript, для написания клиентской части приложения, а для написания серверной части рассмотрены языки PHP, Python, Ruby и Java. Проведено сравнение двух самых популярных СУБД, используемых для веб-разработки. В качестве системы контроля версий рассмотрен инструмент GitHub, являющийся одним из самых популярных программных средств, в данной области.
Список литературы
1. Заяц А.М. Основы WEB технологий. Разработка WEB-приложений современными инструментальными средствами: учебно-методическое пособие. Санкт-Петербург: СПбГЛТУ, 2021. 116 с.
2. Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем: технология автоматизированного проектирования. Лабораторный практикум: учебное пособие. Санкт-Петербург: Лань, 2020. 156 с.
3. Садыков А.М. Методы разработки веб-приложений: учебно-методическое пособие. Иваново: ИГЭУ, 2019. 72 с.
4. Войт Н.Н. Разработка программного обеспечения оценки действий обучаемых. Ульяновск: 2019. С. 151-159.
5. Вагин Д.В., Петров Р.В. Современные технологии разработки веб-приложений: учебное пособие. Новосибирск: НГТУ, 2019. 52 с.
6. Сычев А.В. Теория и практика разработки современных клиентских веб-приложений: учебное пособие. Москва: ИНТУИТ, 2016. 483 с.
Качков Михаил Сергеевич, бакалавр, оператор, era1@mil.ru, Россия, Анапа, ФГАУ «ВИТ «ЭРА»,
Пахомов Павел Александрович, магистр, старший оператор, Россия, Анапа, ФГАУ «ВИТ
«ЭРА»,
Горин Иван Андреевич, специалист, оператор, Россия, Анапа, ФГАУ «ВИТ «ЭРА» CHOICE OF TOOLS FOR DEVELOPING EDUCATIONAL WEB APPLICATION M.S. Kachkov, P.A. Pakhomov, I.A. Gorin
The article is devoted to the consideration of various tools that are used to develop educational web applications. The main attention is paid to studying the prospects and relevance of using such a solution as a tool for reliable and high-quality application development. In this research work, the practical significance of using information tools is considered from the point of view of convenience and the possibility of using them in creating competitive web applications, as well as using them as tools for providing educational activities. As a result of the research work, conclusions were drawn regarding the effectiveness of the presented tools, subsequently required for the development of educational web applications.
61
Key words: web application, front-end, back-end, PHP, Python, JavaScript, HTML, CSS. KachkovMikhail Sergeevich, bachelor, operator, era1@mil.ru, Russia, Anapa, FGAU«MIT «ERA», Pakhomov Pavel Alexandrovich, magister, senior operator, Russia, Anapa, FGAU «MIT «ERA», Gorin Ivan Andreevich, specialist, operator, Russia, Anapa, FGAU «MIT «ERA»
УДК 629.78
DOI: 10.24412/2071-6168-2023-1-62-67
МЕТОДИКА ЭКСПЕРИМЕНТАЛЬНОГО МОДЕЛИРОВАНИЯ ЭРОЗИОННОГО ВОЗДЕЙСТВИЯ ИЗЛУЧЕНИЯ ПЛАЗМЫ ЭЛЕКТРИЧЕСКОГО РАКЕТНОГО ДВИГАТЕЛЯ
НА ТЕРМОРЕГУЛИРУЮЩИЕ ПОКРЫТИЯ
П.С. Гончаров
В статье представлена методика экспериментального моделирования эрозионного воздействия излучения плазмы электрического ракетного двигателя (ЭРД) на терморегулирующие покрытия (ТРП) на вакуумной установке ВУ-М вакуумной системы ВС-1. Описана используемая лабораторно-экспериментальная база и порядок проведения испытаний. Приведены соотношения для расчета коэффициентов деградации оптических коэффициентов ТРП.
Ключевые слова: излучение, плазма, электрический ракетный двигатель, терморегулирующее покрытие, космический аппарат, коэффициент деградации.
В процессе функционирования космического аппарата (КА) на его системы и элементы происходит воздействие естественных и техногенных факторов космического пространства (потоков прямого и отраженного солнечного излучения, собственного теплового излучения Земли, космической радиации, метеорных потоков и частиц космического мусора, плазмы электрических ракетных двигателей и пр.), приводящее к соответствующему ухудшению технических параметров. К одному из таких факторов следует отнести эрозионное воздействие излучения плазмы электрических ракетных двигателей (ЭРД) [1-4].
Эрозионное воздействие излучения плазмы ЭРД приводит к деградации оптических коэффициентов терморегулирующих покрытий (ТРП) внешних элементов КА, что приводит к нарушению их теплового баланса, и, как следствие, к нарушению нормального функционирования системы обеспечения теплового режима (СОТР) КА.
Уравнение теплового баланса для внешних элементов имеет вид [5]: —Т
т • с,- • —" = + вор + всоб, + £атм,- + бвн,- - бизл,- , (1)
где т,, с1, - соответственно масса, теплоемкость и температура ,-го элемента; в, - тепловой поток прямого солнечного излучения, поглощаемый ,-ым элементом; 2отр, - тепловой поток отраженного от Земли солнечного излучения, поглощаемый ,-ым элементом; всоб, - тепловой поток собственного излучения Земли, поглощаемый ,-ым элементом; 2атм, - атмосферный тепловой поток, поглощаемый ,-ым элементом; 2изл, - тепловой поток, излучаемый поверхностью ,-го элемента; 2вн, - тепловой поток,
подводимый к ,-му элементу от внутренних элементов КА.
Тепловые потоки, входящие в уравнение (1) определяются из следующих соотношений [5]:
в,= Аг я, • 8, (2)
где - плотность падающего на ,-й элемент прямого солнечного теплового потока; А,, - коэффициент
поглощения солнечного излучения поверхностью ,-го элемента; - площадь проекции ,-го элемента на плоскость, перпендикулярную направлению прямого солнечного теплового потока;
вотр, дотр 8отр, , (3)