<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Электронный научно-практический журнал «Современные научные исследования и инновации» &#187; веб-технологии</title>
	<atom:link href="http://web.snauka.ru/issues/tag/veb-tehnologii/feed" rel="self" type="application/rss+xml" />
	<link>https://web.snauka.ru</link>
	<description></description>
	<lastBuildDate>Sat, 18 Apr 2026 09:41:14 +0000</lastBuildDate>
	<language>ru</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Современные методы хранения данных в медицинских информационных системах</title>
		<link>https://web.snauka.ru/issues/2017/04/81796</link>
		<comments>https://web.snauka.ru/issues/2017/04/81796#comments</comments>
		<pubDate>Thu, 27 Apr 2017 09:46:00 +0000</pubDate>
		<dc:creator>Новокрещенов Владимир Сергеевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[data storage]]></category>
		<category><![CDATA[medical information systems]]></category>
		<category><![CDATA[web-technology]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[медицинская информационная система]]></category>
		<category><![CDATA[хранение данных]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2017/04/81796</guid>
		<description><![CDATA[Введение В современном мире, медицинские информационные системы (МИС) становятся все более необходимы для оказания оперативной и максимально качественной медицинской помощи пациентам. Помимо этого, МИС помогают анализировать данные медицинского характера для поиска новых и более эффективных способов лечения различных заболеваний и диагностики. Для быстрой и качественной реализации информационных систем требуются новые технологии, которые позволяют выполнить эти [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Введение</strong></p>
<p>В современном мире, медицинские информационные системы (МИС) становятся все более необходимы для оказания оперативной и максимально качественной медицинской помощи пациентам. Помимо этого, МИС помогают анализировать данные медицинского характера для поиска новых и более эффективных способов лечения различных заболеваний и диагностики. Для быстрой и качественной реализации информационных систем требуются новые технологии, которые позволяют выполнить эти условия, а также новые и эффективные технологии становятся все более востребованными для хранения, совместного доступа, обработки, анализа и передачи медицинских данных.</p>
<p>Для разработки приложений, в настоящее время, все чаще используются веб-технологии. Именно они могут занять немаловажное место при разработке МИС. Это связано с тем, что веб-приложения быстро разрабатываются, не требовательны к ресурсам и кроссплатформенны. Такие приложения могут быть применимы для учета медицинских данных (числовых, текстовых, бинарных), их оперативной обработки и передачи.</p>
<p>Сегодня представлено множество инструментов, которые позволяют реализовать качественные веб-приложения за короткое время. К таким технологиям можно отнести программную платформу Node.js, фреймворки для ускорения разработки веб-приложений (Angular.js, ASP.NET, Spring, React.js, Backbone.js и т.д), документо-ориентированные СУБД (MongoDB, CouchDB).</p>
<p>Ввиду того, что современные сети передачи данных все еще не являются идеальными по отказоустойчивости и своей распространенности, существует необходимость в веб-приложениях, которые будут позволять работать с ними без доступа к локальной сети. Помимо работы без доступа к сети требуется хранить данные в локальной базе данных (БД), с последующей синхронизацией данных с БД на сервере.</p>
<p><strong>БД в современных МИС</strong></p>
<p>Основное предпочтение при разработке МИС и других приложений, связанных с централизованным хранением информации, отдается реляционным БД. К достоинствам реляционной модели можно отнести:</p>
<ol start="1">
<li>Простое представление информации для пользователя</li>
<li>Она основывается на развитом математическом аппарате</li>
<li>Позволяет создавать языки манипулирования данными не процедурного типа</li>
<li>Манипулирование данными на уровне выходной БД и возможностью изменения.</li>
</ol>
<p>К недостаткам можно отнести медленный доступ к данным, а также высокую трудоемкость разработки.</p>
<p>Большая часть современных МИС работает по принципу &#8220;Клиент-сервер&#8221;. На основе практического опыта было доказано, что необходимость такого решения для создания информационной системы очень высока, так как настольные базы данных, в том числе с использованием файл-сервера, способны поддерживать не более 10 рабочих станций и небольшой объем данных. Помимо этого, большая часть существующих требований к МИС уже реализована в промышленных СУБД, построенных в архитектуре “клиент — сервер”, что позволяет существенно уменьшить время на разработку информационной системы.[1]</p>
<p>Для разработки большинства МИС были использованы СУБД MS SQL, Oracle, Lotus Notes/Domino, Postgress SQL и FireBird. Указанные СУБД обладают хорошими характеристиками для хранения данных, но они не могут обеспечить высокую производительность приложения из-за формы представления данных. Основной смысл реляционных БД &#8211; это хранение данных, и их получение по запросу за любой промежуток времени, это чаще используется для формирования отчетов. [2]</p>
<p>При использовании документо-ориентированных СУБД запросы к БД в большинстве случаев одинаковые. Они основываются на этом принципе, создавая индексы на нужные запросы при изменении данных асинхронно. Таким образом, после изменения данных сразу обновляются и индексы для нужных запросов. В SQL индексы тоже есть, но они на более низком уровне. Документо-ориентированныe СУБД строят индексы автоматически при первом запросе. Поэтому это очень похоже на схему lang &lt;-&gt; memcache &lt;-&gt; sql,  но существенно быстрее.<br />
Второе преимущество &#8211; это более простая репликация. Третье преимущество &#8211; это map/reduce запросы для обработки данных. Выполняются на встроенном языке, например на JavaScript.<br />
В итоге, приложение написанное с использованием документо-ориентированной БД будет быстрее чем аналог на SQL.</p>
<p><strong>Применение документо-ориентированных БД при разработке МИС</strong></p>
<p>В разработке современных приложений все чаще используются веб-технологии. Это связано с тем, что такие приложения являются кроссплатформенными и не зависят от какой-то определенной операционной системы. Помимо этого, такие приложения очень быстро разрабатываются и изменяются, а также легко интегрируются с другими приложениями посредством API. Веб-технологии очень хорошо подходят и для разработки МИС, так как обладают очень широким набором инструментов. Для хранения данных в веб-приложениях могут быть использованы как реляционные СУБД, так и документо-ориентированные. Так как реляционные СУБД не обладают качеством быстрой разработки и скоростью получения информации при запросе к ним, то стоит обратиться к документо-ориентированным СУБД. Самыми популярными документо-ориентированными СУБД являются MongoDB и CouchDB. В статье будет рассматриваться СУБД CouchDB.</p>
<p>CouchDB &#8211; это документо-ориентированная система управления базами данных с открытым исходным кодом, не требующая описания схемы данных, распространяется свободно, написана на языке Erlang. Впервые вышла в 2005 году, с 2008 года &#8211; проект фонда Apache. Реализована в рамках подхода NoSQL. Для хранения данных используется JSON, для реализации MapReduce-запросов &#8211; JavaScript. Одной из особенностей СУБД является поддержка репликации с несколькими ведущими узлами. CouchDB можно рассматривать как сервер веб-приложений; для реализации этой идеи в CouchDB встроен производительный веб-сервер, а программный код, как и данные, сохраняется в той же базе данных. Для автоматизации работы с приложениями используется утилита CouchApp.</p>
<p>Следуя подходу NoSQL, CouchDB не хранит данные и связи в таблицах. Вместо этого каждая база данных &#8211; набор независимых документов. Каждый документ содержит свои собственные данные и независимую схему. Приложение может получить доступ к нескольким базам данных, например, хранящейся на мобильном телефоне пользователя и на сервере. Метаданные документа содержат информацию о версии, позволяя объединять данные и разрешать любые противоречия, которые могли появиться в момент, когда базы данных были разъединены.</p>
<p>Для управления конкурентным доступом используется механизм MVCC, благодаря чему возможно избежать необходимости блокировки файла базы данных во время записи. Разрешение конфликтов относится к сфере ответственности логики приложения, разрешение конфликта обычно включает в себя объединение данных в один документ, а затем старый документ удаляется.[3]</p>
<p>Для хранения данных на стороне клиента следует использовать БД PouchDB, которая совместима с CouchDB.</p>
<p>PouchDB &#8211; это NoSQL БД с открытым исходным кодом, написанная на JavaScript, которая была разработана по принципу CouchDB, но с возможностью простой работы в браузере. Она была создана для помощи веб разработчикам в создании приложений, которые могут работать без постоянного доступа к сети. PouchDB является базой данных, которая работает в бараузере, что позволяет приложению хранить данные локально, для того чтобы пользователь мог использовать приложение без доступа к сети. Кроме этого, данные могут синхронизироваться между клиентами. PouchDB также может быть запущен на Node.js и может быть использован в качестве прямого интерфейса к CouchDB. API PouchDB работают в различных средах одинаково, поэтому проблем с выбором бразуеров быть не должно. PouchDB поддерживает все современные браузеры, используя IndexedDB, а в случае если браузер его не поддерживает, то он заменяет метод хранения данных на WebSQL. Полностью протестированные браузеры, где это работает:</p>
<ul>
<li>Firefox 29+ (включая Firefox OS и Firefox для Android)</li>
<li>Chrome 30+</li>
<li>Safari 5+</li>
<li>Internet Explorer 10+</li>
<li>Opera 21+</li>
<li>Android 4.0+</li>
<li>iOS 7.1+</li>
<li>Windows Phone 8+</li>
</ul>
<p>PouchDB является независимой БД, которая может использоваться совместно с Angular, React, Ember, Backbone, или фреймворком собственной разработки.[4]</p>
<p>На основе этих БД была создана портальная МИС с открытым исходным кодом, под названием HospitalRun. Она предназначена для хранения данных о пациенте, лабораторных данных, изображений связанных с диагностикой пациентов и прочие данные. Данная МИС позволяет вести учет данных без доступа к сети, а после получения этого доступа, все данные могут быть синхронизированы с центральной БД. Основной минус этой МИС заключается в том, что это конечное веб-приложение, и для его изменения требуется большое количество времени.[5]</p>
<p>Наша основная идея, это разработка единого JavaScript фреймворка для фронт-энд разработки, на основе PouchDB, с возможностью последующей синхронизации данных из локальной БД в серверную БД CouchDB. Этот фреймворк должен обладать простым набором функций, которые должны определять все типы полей ввода на форме портала. Структура портала в свою очередь описывается разработчиком. На форме могут быть типы полей: input, radio button, check box, каждый тип данных будет описан в фреймворке. Синхронизация данных с CouchDB будет происходить по стандарту JSON. Итоговый вариант этого инструмента будет подключаться на html форме, разработчик описывает структуру страницы и поля для ввода данных, после чего пользователь будет иметь возможность ввести данные, и с появлением доступа к сети эти данные будут переданы на сервер, а если сетевой доступности сервера нет, то эти данные не будут потеряны.</p>
<p>Описанный инструмент будет очень удобен в разработке форм для сбора данных, этот подход в медицине называется «Case report form».</p>
<p><strong>Заключение</strong></p>
<p>В целом, применение документо-ориентированных БД при разработке веб-приложений – это уже не очень большая редкость, а вполне применимая и практичная технология. Представленные примеры наглядно показывают, что веб-технологии и документо-ориентированные БД могут быть применимы в МИС, а также имеют все характеристики для дальнейшего развития и массового распространения данных технологий в этой области. Конечно, эта технология еще требует более детальной проработки, что будет происходить непрерывно, так как рассмотренные технологии постоянно развиваются. В процессе развития, будут добавляться новые возможности и улучшаться их производительность. Разработка нового фреймворка, на основе перечисленных технологий, существенно облегчит работу разработчиков приложений.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2017/04/81796/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Проектирование образовательной веб-платформы &#8220;Юридическая грамотность&#8221; с применением технологии геймификации</title>
		<link>https://web.snauka.ru/issues/2019/06/89653</link>
		<comments>https://web.snauka.ru/issues/2019/06/89653#comments</comments>
		<pubDate>Fri, 14 Jun 2019 19:07:39 +0000</pubDate>
		<dc:creator>13sonya</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[геймификация]]></category>
		<category><![CDATA[игра]]></category>
		<category><![CDATA[игрофикация]]></category>
		<category><![CDATA[образование]]></category>
		<category><![CDATA[юридическая грамотность]]></category>
		<category><![CDATA[юриспруденция]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2019/06/89653</guid>
		<description><![CDATA[научный руководитель – д.п.н., профессор Готская И.Б. Анализ современных тенденций и трендов в области науки и образования позволил установить, что интенсивное внедрение информационных технологий открывает новые перспективы развития юриспруденции. Существует множество сервисов и методологий в области права, которые значительно облегчают работу юриста, сокращают время обслуживания клиента и делают юридические услуги более доступными. Интенсивное внедрение технологий [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><em>научный руководитель – д.п.н., профессор Готская И.Б.</em></p>
<p style="text-align: justify; background: white;">Анализ современных тенденций и трендов в области науки и образования позволил установить, что интенсивное внедрение информационных технологий открывает новые перспективы развития юриспруденции. Существует множество сервисов и методологий в области права, которые значительно облегчают работу юриста, сокращают время обслуживания клиента и делают юридические услуги более доступными. Интенсивное внедрение технологий искусственного интеллекта, развитие методов придиктивной аналитики, использование machine-learning технологий, создание системы электронного правосудия, использование краудфандинновых платформ для привлечения дополнительных инвестиций в судебные процессы — это только часть методов, применяемых в последние годы.</p>
<p style="text-align: justify; background: white;"><span style="color: black;">Особое внимание заслуживает разработка правовых web-платформ. При создании UX-дизайна, обеспечивающего комфортное взаимодействие пользователя с сайтом или мобильным приложением, следует учесть все актуальные тенденции и использовать полный набор инструментов. В том числе и геймификацию юридических процессов (для обучения, моделирования последствий и ряда других функций).<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Инструменты геймификации нашли применение в разных сферах деятельности. В настоящее время данная концепция продолжает развиваться и как новый тренд информационного мира получила свое распространение в экономической, образовательной, политической и социальной сферах общества [2], а также и в юриспруденции.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">В общем случае геймификацию можно определить как процесс использования игровых механик и игрового мышления для решения неигровых проблем или ситуаций с целью вовлечения людей в какой-либо процесс. Техники (индивидуальные и групповые), применяемые в геймификации, отличаются большим разнообразием, что позволяет на их основе построить оптимальную систему взаимодействия с аудиторией в зависимости от специфики преследуемых целей.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Процесс геймификации можно отразить с использованием методологии IDEF0. Функциональная модель, построенная средствами Microsoft Visio, отображена на рисунке ниже.<br />
</span></p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2019/06/061419_1904_1.png" alt="" /><span>Рисунок 1. Процесс геймификации<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;"><strong>Входящие стрелки (input)</strong> отображают вводные параметры, которые необходимы для начала работы: виртуальная валюта, участники и принципы игры. Каждый принцип преследует уникальную цель: формирование команд и сплочённость коллектива на основе внедрения совместной деятельности (командообразующий принцип), стимулирование конкурентной борьбы и выявление лучших из лучших (соревнование) или получение и развитие необходимых навыков (игра без победы или образовательная игра) [3]. Таким образом, положительный эффект воздействия игровых механик выражается в том числе и в увеличении уровня определенных компетенций.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Примером применения геймификации в образовании служит квест-игра по праву, проведённая студенческим обществом юридического факультета Финансового университета при поддержке компании &#8220;КонсультантПлюс&#8221;. Квест охватил шесть отраслей права, включая налоговое право, финансовое право, гражданское право, теория государства и права, конституционное право, предпринимательское право. Работа в команде способствовала развитию коммуникабельности и обмену знаниями в профессиональной сфере.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Геймификация в образовании позволяет создавать смешанную модель обучения, совмещающую преимуществ непосредственного традиционного обучения с онлайн-уроками за счёт использования цифровых технологий, таких как веб-инструменты и системы управления обучением (Learning Management Systems), включая мотивационные и захватывающие элементы игр. Результаты исследования показывают, что смешанная игровая среда обучения мотивировала учащихся и способствовала совершенствованию когнитивных и прочих навыков и развитию отношений [5].<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Кроме представленных на схеме целей внедрения геймификации, можно выделить ещё игры для оценивания результатов деятельности сотрудников, игры при поиске соискателей во время собеседования или на этапе стажировки, игры с начислением игровой валюты за прохождение этапов.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">Международная юридическая фирма Clifford Chance применила инновационный способ, базирующийся на игровых методиках, для подбора и тестирования соискателей. Кандидатам помимо прохождения традиционных психометрических тестов было предложено сыграть в специальную правовую видеоигру с последующим предоставлением результатов представителям фирмы. Таким образом, сочетание проверенных и современных инструментов даёт менеджерам понять, как потенциальный работник покажет себя на реальном слушании в суде.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;"><strong>Исходящие (output)</strong> выводят результаты деятельности. Результаты напрямую зависят от выбранного принципа игры, а также преследуемых целей. Сюда относится исход игры (формирование команды, выявление победителя, образование) и развитие необходимых компетенций.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: black;">К ключевым навыкам юриста, помимо освоения видов профессиональной деятельности, прописанных в Стандарте образования бакалавра [1] (правоприменительная, правоохранительная, нормотворческая и экспертно-консультационная), принято относить следующие:<br />
</span></p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> развитые навыки ораторского искусства, умение чётко и аргументированно доносить свою позицию до других;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> владение техниками, сбора, интерпретации и анализа источников правовой информации;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> выстраивание межличностной аттракции;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> знание тайм-менеджмента и эффективное управление временными ресурсами;</span></div>
</li>
<li>
<div style="text-align: justify; background: white;">владение коммуникативными навыками, организация коллективной работы с целью координации и обмена знаниями.</div>
</li>
</ul>
<p style="text-align: justify; background: white;"><span>Привлечение игровых механик в неигровые процессы формирует компетенции, столь необходимые успешному специалисту сегодня: развитие критического мышления, повышения уровня мотивации к деятельности, способность к сотрудничеству и работе в команде, целеустремлённость, умение преодолевать трудности, оптимизм [4].<br />
</span></p>
<p style="text-align: justify; background: white;"><span><strong>Управляющие (control)</strong> предназначены для документов, механик и регламентов, на которых базируется рассматриваемый процесс. Это могут быть списки и рейтинги, свод правил, а также игровые механики. Опыт различных образовательных порталов, использующих в своей основе геймификацию (ресурсы для изучения иностранных языков — Duolingo, LinguaLeo; онлайн-платформы по обучению языкам программирования — Codecademy, Sololearn), позволяет сделать вывод, что наиболее часто применяемыми инструментами игрофикации являются: поэтапная подача обучающей информации, диаграммы результатов для отображения игрового прогресса и механика условленной встречи (Appointment Dynamic).<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Различные элементы геймификации могут быть использованы в юридической фирме в связи с практикуемой образовательной методикой CLE или адвокатом, осваивающим курс по сделкам слияния и поглощения. Игровые методы, вроде начисления баллов, выдачи значков и вознаграждений для юриста, вносят конкурентный элемент в рутинные дела и придают процессу развлекательный характер. К данным видам деятельности относятся подготовка дел, составление типовой документации, проведение юридических исследований, а также прочие обыденные процедуры, которые можно преобразовать в квест с уровнями и сбором наград с применением игровых платформ.<br />
</span></p>
<p style="text-align: justify; background: white;"><span><strong>Механизмы (mechanism)</strong> — ресурсы, требующиеся для выполнения работы. Это компьютерные программы и оболочки, корпоративные сети и т.д.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Применение игрофикации позволяет специалистам различных областей знаний достичь максимальной вовлеченности в процесс за счёт освоения нового формата мотивации и стимулирования. Геймификация обладает рядом перспектив в научной и образовательной сферах, выступая как способ вовлечь человека в решение не самых увлекательных рутинных задач.<br />
</span></p>
<p style="text-align: justify; background: white;"><span>Применительно к юридической сфере, геймификация может послужить важным инструментом формирования правовой грамотности населения и способствует выполнению следующих задач:</span></p>
<ul>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> формирование четкой системы знаний во всех отраслях права;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> становление навыков поиска, анализа и сортировки правовых информационных ресурсов;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> освоение моделей рационального и юридически обоснованного поведения;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> осознание прав и обязанностей личности;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: black;"> поддержание актуальности знаний в области системы российского законодательства.</span></div>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2019/06/89653/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Прогрессивные веб-приложения (PWA) как будущее веб-разработки</title>
		<link>https://web.snauka.ru/issues/2024/04/101904</link>
		<comments>https://web.snauka.ru/issues/2024/04/101904#comments</comments>
		<pubDate>Sun, 28 Apr 2024 05:04:04 +0000</pubDate>
		<dc:creator>Хузяханов Егор Илдарович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[push-уведомления]]></category>
		<category><![CDATA[PWA]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[кроссплатформенность]]></category>
		<category><![CDATA[кэширование]]></category>
		<category><![CDATA[мобильная совместимость]]></category>
		<category><![CDATA[мобильные приложения]]></category>
		<category><![CDATA[оптимизация производительности]]></category>
		<category><![CDATA[оффлайн-режим]]></category>
		<category><![CDATA[прогрессивные веб-приложения]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/04/101904</guid>
		<description><![CDATA[Введение Прогрессивные веб-приложения (PWA) представляют собой новую парадигму в веб-разработке, сочетающую в себе лучшие качества веб-сайтов и нативных мобильных приложений. Эта концепция быстро набирает популярность благодаря своей способности улучшать пользовательский опыт, увеличивать вовлеченность аудитории и повышать производительность приложений. Краткий обзор истории и концепции PWA История PWA началась в 2015 году, когда Google представил концепцию прогрессивных [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;" align="center"><strong><em>Введение</em></strong></p>
<p>Прогрессивные веб-приложения (PWA) представляют собой новую парадигму в веб-разработке, сочетающую в себе лучшие качества веб-сайтов и нативных мобильных приложений. Эта концепция быстро набирает популярность благодаря своей способности улучшать пользовательский опыт, увеличивать вовлеченность аудитории и повышать производительность приложений.</p>
<p><strong><em>Краткий обзор истории и концепции PWA</em></strong></p>
<p>История PWA началась в 2015 году, когда Google представил концепцию прогрессивных веб-приложений на конференции Chrome Dev Summit. Одним из ключевых моментов было введение Service Workers &#8211; скриптов, которые работают в фоновом режиме и позволяют кэшировать ресурсы для работы в автономном режиме.</p>
<p><strong><em>Основные принципы и характеристики PWA</em></strong></p>
<p>Одной из ключевых особенностей PWA является их способность работать в оффлайн-режиме. Это достигается за счет использования Service Workers, которые представляют собой сценарии JavaScript, которые работают в фоновом режиме браузера. Service Workers могут кешировать данные, такие как HTML, CSS, JavaScript и изображения, и управлять запросами к серверу.</p>
<p>Когда пользователь посещает PWA, Service Worker проверяет наличие кэшированных данных. Если данные доступны, PWA может загружаться и работать полностью в оффлайн-режиме. Если данные недоступны, Service Worker отправит запрос на сервер и кеширует ответ, если запрос выполнен успешно.</p>
<p>PWA спроектированы так, чтобы работать во всех современных браузерах, независимо от устройства или операционной системы. Это достигается за счет использования веб-стандартов, таких как HTML, CSS и JavaScript.</p>
<p>По мере того, как браузеры добавляют новые возможности, PWA постепенно улучшают свой пользовательский интерфейс и функциональность. Например, PWA могут использовать push-уведомления в браузерах, которые их поддерживают, и могут получать доступ к аппаратным возможностям устройства, таким как камера и GPS, в браузерах, которые предоставляют соответствующие API.</p>
<p>Они оптимизированы для работы на устройствах с ограниченными ресурсами, таких как смартфоны и планшеты. Так, они используют легкие технологии, такие как Service Workers и Web App Manifest, и эффективно управляют памятью и пропускной способностью.</p>
<p>Например, Service Workers могут кешировать данные и управлять запросами, что снижает потребление пропускной способности и улучшает время загрузки. В свою очередь, Web App Manifest — это JSON-файл, который предоставляет метаданные о PWA, такие как имя, значок и цвет темы.</p>
<p>PWA можно легко установить на устройства пользователей с помощью значка на главном экране. Они не требуют загрузки из магазина приложений и могут быть установлены непосредственно из браузера.</p>
<p>Когда пользователь посещает PWA, браузер отображает приглашение установить приложение. Пользователь может нажать на приглашение, чтобы добавить значок PWA на главный экран своего устройства. Значок будет вести себя как ярлык для PWA, позволяя пользователям запускать приложение непосредственно с главного экрана.</p>
<p>Также PWA используют адаптивный дизайн, который позволяет им изменять свой макет и пользовательский интерфейс в зависимости от размера экрана и ориентации устройства. Это гарантирует, что PWA всегда отображаются наилучшим образом на любом устройстве.</p>
<p><strong><em>Преимущества PWA</em></strong></p>
<p>1)        обеспечение быстрой загрузки, плавной навигации и возможности работы в автономном режиме, что повышает удобство использования и вовлеченность;</p>
<p>2)        установка с сайта одним кликом, обеспечивающая моментальную загрузку контента и удобство для пользователей;</p>
<p>3)        автоматические обновления и небольшой размер приложений, делающие данные приложения экономными;</p>
<p>4)        интегрирование в операционные системы, а также нативный стандарт интерфейса, способствующий удобству пользователей;</p>
<p>5)        индексация поисковыми системами и привлечение дополнительного трафика.</p>
<p><strong>Недостатки PWA</strong></p>
<p>1)        не все браузеры поддерживают полнофункциональную работу PWA, что может привести к неожиданным ошибкам и проблемам с совместимостью;</p>
<p>2)        поскольку PWA работают в браузере, они могут быть уязвимы к атакам безопасности, таким как межсайтовый скриптинг, фишинг и DNS-спуфинг;</p>
<p>3)        PWA могут быть ограничены в доступе к функциям устройства, таким как камера, GPS и уведомления, в отличие от нативных мобильных приложений.</p>
<p><strong>Методы улучшения пользовательского опыта с помощью PWA</strong></p>
<p>Методы улучшения пользовательского опыта с использованием прогрессивных веб-приложений (PWA) представляют собой важную часть современной веб-разработки. PWA сочетают в себе преимущества веб-сайтов и функциональность нативных приложений, обеспечивая пользователям удобство и быстродействие. В данной главе мы рассмотрим несколько ключевых аспектов, которые помогают улучшить пользовательский опыт при использовании PWA.</p>
<p>Так, оптимизация загрузки контента Одним из главных преимуществ PWA является быстрая загрузка контента. Чтобы ускорить загрузку контента, необходимо использовать технологии, такие как Service Workers и Cache API, которые позволяют кэшировать данные на стороне клиента. Это позволяет уменьшить время загрузки и увеличить скорость работы веб-сайта.</p>
<p>Еще одним ключевым свойством PWA является надежность и безопасность. Усовершенствованные механизмы кеширования и Service Workers решают проблему плохого соединения и даже позволяют PWA продолжить работу в автономном режиме. Пользователям больше не придется смотреть на пустой экран, если интернета нет. По крайней мере, ситуация может быть решена более изящно при помощи простого уведомления «Отсутствует интернет-соединение».</p>
<p>Как и нативные приложения, PWA предлагают пользователям возможность отправки уведомлений. И это является отличным инструментом вовлечения пользователей и увеличения продаж. С помощью push-уведомлений можно сообщить покупателям, что они оставили что-то в корзине, о специальных предложениях или новых продуктах — любую информацию, которая может им понадобиться, прежде чем они совершат покупку. Компании, использующие push-уведомления в PWA, могут заметно увеличить конверсию и уменьшить количество брошенных корзин.</p>
<p>Отличительной особенностью PWA является высокая адаптивность к разным устройствам и средам. Они могут легко адаптироваться к разным размерам экранов, работая на равных как на настольных компьютерах, так и на мобильных устройствах. Возможна адаптация под любое мобильное устройство, будь то Android или iOS, планшет или мобильный телефон, десктоп или ноутбук. Данная гибкость позволяет пользователям получать одинаково удобный и качественный пользовательский опыт вне зависимости от устройства, которое они используют для доступа к приложению.</p>
<p><strong>Увеличение производительности веб-приложений благодаря PWA</strong></p>
<p>Как уже говорилось ранее, одним из основных преимуществ PWA является возможность кэширования ресурсов на стороне клиента. Кэширование позволяет значительно сократить время загрузки и улучшить отзывчивость приложений, так как ресурсы могут быть получены из кэша, не требуя повторной загрузки с сервера.</p>
<p>Еще одним важным аспектом является возможность оптимизации веб-приложений для работы в условиях медленных сетей. PWA позволяют создавать приложения, которые могут функционировать даже при низкой скорости интернета, обеспечивая пользователям стабильный и непрерывный доступ к контенту.</p>
<p><strong>Примеры успешной реализации PWA</strong></p>
<p>Рассмотрим несколько примеров успешной реализации PWA различными компаниями и стартапами. Каждая модель позволит показать основные преимущества применения PWA в веб-разработке.</p>
<p>Так, например, AliExpress, один из крупнейших мировых интернет-магазинов, создал PWA версию своего сайта для улучшения работы на мобильных устройствах. Теперь устройство пользователя сохраняет данные, такие, как изображения, CSS-стили и JavaScript-файлы, чтобы при следующей загрузке брать их не с сервера, а из локального кэша.</p>
<p>Ещё одним удачным примером является внедрение PWA в приложение Trivago. Компания использовала PWA для создания интерактивной карты с возможностью работы в офлайн-режиме. Карта делает процесс выбора отеля более наглядным и интерактивным. Также она может отображать повторные запросы пользователя без использования интернета.</p>
<p>Данные примеры показывают, как данная технология применяется различными компаниями для улучшения собственной продукции. Нельзя не отметить значимость этой технологии для развития онлайн-бизнеса и веб-разработки в целом.</p>
<p><strong>Вызовы и ограничения внедрения PWA</strong></p>
<p>Несмотря на все преимущества использования, PWA-приложения имеют ряд серьёзных проблем и органичений, которые следует учитывать при разработке и использовании.</p>
<p>Так, одной из основных проблем является совместимость с некоторыми устройствами и браузерами. Хотя большинство современных браузеров поддерживают необходимые для PWA технологии, некоторые старые браузеры могут не поддерживать их работу. Например, некоторые браузеры не поддерживают работу сервис-воркеров, которые просто необходимы данным приложениям. Это сильно ограничивает возможности использования PWA на редких браузерах и непопулярных устройствах.</p>
<p>Ещё одной важной проблемой является ограничение функционала и производительности в некоторых сценариях использования. Например, некоторые функции устройства, такие как доступ к файловой системе или управление устройствами через Bluetooth, могут быть ограничены или недоступны в PWA из-за безопасности или ограничений браузера. Это сильно стесняет разработку функционала и оптимизацию производительности.</p>
<p>Тем не менее, при всех недостатках внедрения данной технологии, преимущества PWA над аналогами (мобильные веб-приложения, нативные приложения и тд), заключающиеся в их способности сочетать преимущества как нативных, так и веб-приложений, а также низкие затраты на производство и поддержку делают данный тип приложений очень привлекательным для современной веб-разработки. Именно поэтому крупные компании отдают ему предпочтение.</p>
<p><strong>Заключение</strong><strong></strong></p>
<p>PWA открывают новую эру веб-приложений, предлагая решения с высоким уровнем функциональности и доступности. Простота использования в сочетании с экономичностью в разработке делают PWA востребованным типом веб-приложений. Они обеспечивают высокий уровень производительности, а также повышают user-experience, объединяют в себе преимущества веб и наивных приложений, предлагая быстроту загрузки и возможность работать оффлайн.</p>
<p>Также одним из ключевых преимуществ PWA является универсальность и кроссплатформенность, что позволяет разработчикам создавать приложения, которые работают на различных устройствах и браузерах без необходимости разработки отдельных версий под каждую платформу. Все эти факторы показывают, насколько PWA важен в современном мире IT-технологий.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/04/101904/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Хостинг Hostland и публикация сайта</title>
		<link>https://web.snauka.ru/issues/2024/06/102204</link>
		<comments>https://web.snauka.ru/issues/2024/06/102204#comments</comments>
		<pubDate>Fri, 14 Jun 2024 05:18:28 +0000</pubDate>
		<dc:creator>Аллаберганов Журабек Тулкин угли</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[hostland]]></category>
		<category><![CDATA[веб-проект]]></category>
		<category><![CDATA[веб-разработка]]></category>
		<category><![CDATA[веб-сервер]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[веб-хостин]]></category>
		<category><![CDATA[инструменты разработки сайта hostland]]></category>
		<category><![CDATA[надежность хостинга]]></category>
		<category><![CDATA[настройка dns]]></category>
		<category><![CDATA[оптимизация сайта]]></category>
		<category><![CDATA[панель управления]]></category>
		<category><![CDATA[производительность хостинга]]></category>
		<category><![CDATA[публикация сайта]]></category>
		<category><![CDATA[размещение веб-сайта]]></category>
		<category><![CDATA[регистрация домена]]></category>
		<category><![CDATA[серверная инфраструктура]]></category>
		<category><![CDATA[тарифные планы]]></category>
		<category><![CDATA[технические характеристики]]></category>
		<category><![CDATA[хостинг-услуги]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2024/06/102204</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Размещение сайта в Интернете &#8211; ключевой этап веб-разработки, и выбор надежного хостинг-провайдера имеет решающее значение для успеха вашего проекта. Хостинговая компания Hostland предлагает широкий спектр услуг, которые позволяют легко и эффективно опубликовать ваш веб-ресурс. Hostland &#8211; это поистине надежный веб-хостинг, отличающийся высокопроизводительной серверной инфраструктурой [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;" align="right">Научный руководитель: <em>Вильданов Алмаз Нафкатович<br />
</em><em>к.ф.-м.н., </em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: justify;">Размещение сайта в Интернете &#8211; ключевой этап веб-разработки, и выбор надежного хостинг-провайдера имеет решающее значение для успеха вашего проекта. Хостинговая компания Hostland предлагает широкий спектр услуг, которые позволяют легко и эффективно опубликовать ваш веб-ресурс.</p>
<p>Hostland &#8211; это поистине надежный веб-хостинг, отличающийся высокопроизводительной серверной инфраструктурой и круглосуточной технической поддержкой. Благодаря этому, ваш сайт будет всегда доступен пользователям и будет работать без малейших сбоев. Современные технологии, используемые на серверах Hostland, обеспечивают молниеносную загрузку сайта и бесперебойную работу даже при пиковых нагрузках. Интуитивно понятная панель управления позволяет быстро настроить все необходимые параметры, будь то регистрация доменного имени, конфигурация DNS или загрузка файлов сайта.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-102214" title="ris1" src="https://web.snauka.ru/wp-content/uploads/2024/06/ris1.png" alt="" width="708" height="357" /></p>
<p>Процесс публикации ресурса на хостинге Hostland максимально прост и автоматизирован. Сначала необходимо зарегистрировать доступное доменное имя &#8211; Hostland предлагает широкий выбор популярных зон, включая .com, .ru, .online и другие. Затем в панели управления требуется прописать серверы DNS, чтобы привязать домен к хостингу. После этого можно приступать к загрузке файлов сайта &#8211; для этого предусмотрены встроенные FTP-клиент и инструменты для быстрого деплоймента из Git-репозиториев. Остается только проверить, что все работает корректно, и ваш веб-проект готов к публикации.</p>
<p>Hostland предлагает гибкие тарифные планы на любой бюджет &#8211; от начальных вариантов до масштабируемых решений для крупных корпоративных сайтов. Независимо от выбранного тарифа, вы всегда можете рассчитывать на высокую производительность и надежность хостинга. Для поддержания максимальной эффективности работы ресурса рекомендуется регулярно проводить его оптимизацию: сжимать изображения, минифицировать CSS и JavaScript, использовать кеширование и CDN. Все необходимые инструменты для этого доступны в интуитивной панели управления Hostland.</p>
<p>Хостинг-провайдер Hostland &#8211; это оптимальное решение для публикации и размещения веб-сайтов любой сложности, от простых визиток до масштабных корпоративных проектов на основе популярных CMS-систем. Профессиональная техподдержка всегда готова оказать помощь на всех этапах размещения ресурса и обеспечить бесперебойную работу вашего веб-проекта.</p>
<p><strong>Инструменты разработки сайта Hostland </strong></p>
<p><strong>СУБД MySQL</strong></p>
<p>MySQL (МФА: [maɪ ˌɛskjuːˈɛl]) — свободная реляционная система управления базами данных[4]. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.</p>
<p>MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP, VertrigoServ. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.</p>
<p>Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.</p>
<p>26 февраля 2008 года Sun Microsystems приобрела MySQL AB за 1 млрд долларов[5], 27 января 2010 года Oracle приобрела Sun Microsystems за 7,4 млрд долларов[6] и включила MySQL в свою линейку СУБД[7].</p>
<p>Сообществом разработчиков MySQL созданы различные форки кода, такие как Drizzle[англ.], OurDelta, Percona Server и MariaDB. Все эти форки уже существовали на момент поглощения компании Sun корпорацией Oracle.</p>
<p><strong>PHP</strong></p>
<p>PHP (англ. PHP: Hypertext Preprocessor — «PHP: препроцессор гипертекста»; первоначально PHP/FI (Personal Home Page / Form Interpreter), а позже названный Personal Home Page Tools — «Инструменты для создания персональных веб-страниц») — скриптовый язык общего назначения, интенсивно применяемый для разработки веб-приложений. В настоящее время поддерживается подавляющим большинством хостинг-провайдеров и является одним из лидеров среди языков, применяющихся для создания динамических веб-сайтов.</p>
<p>Язык и его интерпретатор (Zend Engine) разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.</p>
<p>В области веб-программирования, в частности, серверной части, PHP — один из популярных сценарных языков (наряду с JSP, Perl и языками, используемыми в ASP.NET).</p>
<p>Популярность в области построения веб-сайтов определяется наличием большого набора встроенных средств и дополнительных модулей для разработки веб-приложений[16]. Основные из них:</p>
<p>Автоматическое извлечение POST- и GET-параметров, а также переменных окружения веб-сервера в предопределённые массивы;</p>
<p>Взаимодействие с большим количеством различных систем управления базами данных через дополнительные модули (MySQL, MySQLi, SQLite, PostgreSQL, Oracle Database (OCI8), Microsoft SQL Server, Sybase, ODBC, mSQL, IBM DB2, Cloudscape и Apache Derby, Informix, Ovrimos SQL, Lotus Notes, DB++, DBM, dBase, DBX, FrontBase, FilePro, Ingres II, SESAM, Firebird и InterBase, Paradox File Access, MaxDB, интерфейс PDO, Redis);</p>
<p>Автоматизированная отправка HTTP-заголовков;</p>
<p>Работа с HTTP-авторизацией;</p>
<p>Работа с cookies и сессиями;</p>
<p>Работа с локальными и удалёнными файлами, сокетами;</p>
<p>Обработка файлов, загружаемых на сервер;</p>
<p>Работа с XForms.</p>
<p>Создание и работа с API</p>
<p>Создание приложение с графическим интерфейсом пользователя при использовании фреймворка Qt Designer</p>
<p>Создание консольных приложений</p>
<p>По состоянию на 2022 год используется сотнями тысяч разработчиков; согласно рейтингу корпорации TIOBE, базирующемуся на данных поисковых систем, в декабре 2022 года PHP находился на 10 месте по популярности среди языков программирования.</p>
<p>Входит в LAMP — распространённый набор ПО для создания и хостинга веб-сайтов (Linux, Apache, MySQL, PHP), а также LEMP — не менее распространённый набор ПО (Linux, Nginx, MySQL, PHP).</p>
<p>Среди сайтов, использующих PHP — Facebook, Wikipedia, Yahoo!, Baidu.</p>
<p>Также, на PHP написаны такие системы управления сайтами (CMS) и фреймворки (CMF), как Drupal, Joomla, Laravel, Symfony, WordPress, Yii и другие.</p>
<p><strong>Инструменты веб-разработки</strong></p>
<p><strong>HTML</strong></p>
<p>HTML (от англ. HyperText Markup Language — «язык гипертекстовой разметки») — стандартизированный язык гипертекстовой разметки документов для просмотра веб-страниц в браузере. Веб-браузеры получают HTML документ от сервера по протоколам HTTP/HTTPS или открывают с локального диска, далее интерпретируют код в интерфейс, который будет отображаться на экране монитора.</p>
<p>Элементы HTML являются строительными блоками HTML страниц. С помощью HTML разные конструкции, изображения и другие объекты, такие как интерактивная веб-форма, могут быть встроены в отображаемую страницу. HTML предоставляет средства для создания заголовков, абзацев, списков, ссылок, цитат и других элементов. Элементы HTML выделяются тегами, записанными с использованием угловых скобок. Такие теги, как &lt;img&gt; и &lt;input&gt;, напрямую вводят контент на страницу. Другие теги, такие как &lt;p&gt;, окружают и оформляют текст внутри себя и могут включать другие теги в качестве подэлементов. Браузеры не отображают HTML-теги, но используют их для интерпретации содержимого страницы.</p>
<p>Язык XHTML является более строгим вариантом HTML, он следует синтаксису XML и является приложением языка XML в области разметки гипертекста.</p>
<p>В HTML можно встроить язык программирования JavaScript с помощью тега.</p>
<p>Также включение CSS в HTML позволяет задавать внешний вид и макет страницы.</p>
<p><strong>CSS</strong></p>
<p>CSS (англ. Cascading Style Sheets «каскадные таблицы стилей») — формальный язык декодирования и описания внешнего вида документа (веб-страницы), написанного с использованием языка разметки (чаще всего HTML или XHTML). Также может применяться к любым XML-документам, например, к SVG или XUL.</p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2024/06/102204/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Применение библиотеки Three.js для визуализации простых трёхмерных геометрических объектов в веб-среде</title>
		<link>https://web.snauka.ru/issues/2025/12/104046</link>
		<comments>https://web.snauka.ru/issues/2025/12/104046#comments</comments>
		<pubDate>Fri, 05 Dec 2025 14:41:01 +0000</pubDate>
		<dc:creator>Давлетзянов Демид Владимирович</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[3D-моделирование]]></category>
		<category><![CDATA[three.js]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[визуализация]]></category>
		<category><![CDATA[трехмерная графика]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2025/12/104046</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал Введение. Развитие веб-технологий привело к возможности использования трёхмерной графики непосредственно в интернет-браузерах. Стандарт WebGL обеспечивает доступ к аппаратному ускорению графики, однако его использование требует глубоких знаний в области компьютерной графики. В связи с этим широкое распространение получили высокоуровневые библиотеки, упрощающие процесс создания 3D-сцен. Одной [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center; background: white;"><span style="color: #111111;"><em>Научный руководитель: Вильданов Алмаз Нафкатович<br />
к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал</em><br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;"><strong>Введение.</strong> Развитие веб-технологий привело к возможности использования трёхмерной графики непосредственно в интернет-браузерах. Стандарт WebGL обеспечивает доступ к аппаратному ускорению графики, однако его использование требует глубоких знаний в области компьютерной графики. В связи с этим широкое распространение получили высокоуровневые библиотеки, упрощающие процесс создания 3D-сцен.<br />
Одной из наиболее популярных библиотек является Three.js, предоставляющая удобные средства для создания и визуализации трёхмерных объектов. Целью данной работы является демонстрация применения библиотеки Three.js для визуализации простого геометрического объекта и анализа основных этапов построения трёхмерной сцены.<br />
Для реализации трёхмерной визуализации были использованы следующие технологии:<br />
</span></p>
<ol>
<li><span style="color: #111111; background-color: white; text-align: justify;">Язык гипертекстовой разметки HTML5;</span></li>
<li><span style="color: #111111; background-color: white; text-align: justify;">Язык программирования JavaScript;</span></li>
<li><span style="color: #111111; background-color: white; text-align: justify;">Библиотека Three.js версии r128;</span></li>
<li><span style="color: #111111; background-color: white; text-align: justify;">Графический API WebGL;</span></li>
<li><span style="color: #111111; background-color: white; text-align: justify;">Модуль OrbitControls для управления камерой.</span></li>
</ol>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Использование CDN-подключений позволяет обеспечить корректную работу приложения на различных платформах без дополнительной установки программного обеспечения.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Приложение построено по классической архитектуре Three.js и включает следующие основные элементы:<br />
</span></p>
<ol>
<li>
<div style="text-align: justify; background: white;"><span style="color: #111111;">Сцену (THREE.Scene), содержащую все объекты визуализации;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: #111111;">Перспективную камеру (THREE.PerspectiveCamera);<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: #111111;">Рендерер (THREE.WebGLRenderer), осуществляющий вывод изображения;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: #111111;">Источники освещения;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: #111111;">Трёхмерную модель объекта;<br />
</span></div>
</li>
<li>
<div style="text-align: justify; background: white;"><span style="color: #111111;">Средства пользовательского управления камерой.<br />
</span></div>
</li>
</ol>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Подобная структура обеспечивает модульность и возможность дальнейшего расширения функциональности.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Построение трёхмерной модели. Модель креста формируется из двух параллелепипедов, созданных с использованием класса BoxGeometry. Вертикальный элемент имеет размеры 6×60×3, горизонтальный — 40×6×3 и смещён относительно центра по оси Y.<br />
Для объединения элементов используется объект THREE.Group, позволяющий рассматривать модель как единое целое. В качестве материала применяется MeshPhongMaterial, обеспечивающий корректное освещение и визуальное восприятие формы объекта.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Освещение сцены реализовано с помощью двух источников света: рассеянного (AmbientLight) и направленного (DirectionalLight). Такое сочетание позволяет добиться равномерной освещённости и визуального подчёркивания формы объекта.<br />
Для управления камерой используется модуль OrbitControls, обеспечивающий вращение сцены, масштабирование и плавное перемещение точки наблюдения. Это повышает интерактивность и удобство работы с трёхмерной моделью.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;"><strong>HTML код приложения:</strong></span></p>
<p>&lt;!DOCTYPE html&gt;</p>
<p>&lt;html lang=&#8221;ru&#8221;&gt;</p>
<p>&lt;head&gt;</p>
<p style="padding-left: 30px;">    &lt;title&gt;three.js — Простой крест&lt;/title&gt;</p>
<p style="padding-left: 30px;">    &lt;meta charset=&#8221;utf-8&#8243;&gt;</p>
<p style="padding-left: 30px;">    &lt;meta name=&#8221;viewport&#8221; content=&#8221;width=device-width, initial-scale=1.0&#8243;&gt;</p>
<p>&lt;/head&gt;</p>
<p>&lt;body&gt;</p>
<p>&lt;div id=&#8221;info&#8221;&gt;Простой крест&lt;/div&gt;</p>
<p>&lt;script src=&#8221;https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js&#8221;&gt;&lt;/script&gt;</p>
<p>&lt;script src=&#8221;https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/controls/OrbitControls.min.js&#8221;&gt;&lt;/script&gt;</p>
<p>&lt;script&gt;</p>
<p style="padding-left: 30px;">    var camera, scene, renderer;</p>
<p style="padding-left: 30px;">    var controls;</p>
<p style="padding-left: 30px;">    init();</p>
<p style="padding-left: 30px;">    animate();</p>
<p style="padding-left: 30px;">    function init() {</p>
<p style="padding-left: 60px;">        scene = new THREE.Scene();</p>
<p style="padding-left: 60px;">        scene.background = new THREE.Color(0xf0f0f0);</p>
<p style="padding-left: 60px;">        camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 1, 1000);</p>
<p style="padding-left: 60px;">        camera.position.set(0, 0, 100);</p>
<p style="padding-left: 60px;">        renderer = new THREE.WebGLRenderer({ antialias: true });</p>
<p style="padding-left: 60px;">        renderer.setSize(window.innerWidth, window.innerHeight);</p>
<p style="padding-left: 60px;">        document.body.appendChild(renderer.domElement);</p>
<p style="padding-left: 60px;">        var ambientLight = new THREE.AmbientLight(0xffffff, 0.6);</p>
<p style="padding-left: 60px;">        scene.add(ambientLight);</p>
<p style="padding-left: 60px;">        var directionalLight = new THREE.DirectionalLight(0xffffff, 0.8);</p>
<p style="padding-left: 60px;">        directionalLight.position.set(1, 1, 1);</p>
<p style="padding-left: 60px;">        scene.add(directionalLight);</p>
<p style="padding-left: 60px;">        createSimpleCross();</p>
<p style="padding-left: 60px;">        controls = new THREE.OrbitControls(camera, renderer.domElement);</p>
<p style="padding-left: 60px;">        controls.enableDamping = true;</p>
<p style="padding-left: 60px;">        controls.dampingFactor = 0.05;</p>
<p style="padding-left: 60px;">        window.addEventListener(&#8216;resize&#8217;, onWindowResize, false);</p>
<p style="padding-left: 30px;">    }</p>
<p style="padding-left: 30px;">    function createSimpleCross() {</p>
<p style="padding-left: 60px;">        var group = new THREE.Group();</p>
<p style="padding-left: 60px;">        var verticalGeometry = new THREE.BoxGeometry(6, 60, 3);</p>
<p style="padding-left: 60px;">        var verticalMaterial = new THREE.MeshPhongMaterial({ color: 0xffff00 });</p>
<p style="padding-left: 60px;">        var vertical = new THREE.Mesh(verticalGeometry, verticalMaterial);</p>
<p style="padding-left: 60px;">        group.add(vertical);</p>
<p style="padding-left: 60px;">        var horizontalGeometry = new THREE.BoxGeometry(40, 6, 3);</p>
<p style="padding-left: 60px;">        var horizontalMaterial = new THREE.MeshPhongMaterial({ color: 0xffff00 });</p>
<p style="padding-left: 60px;">        var horizontal = new THREE.Mesh(horizontalGeometry, horizontalMaterial);</p>
<p style="padding-left: 60px;">        horizontal.position.y = 8;</p>
<p style="padding-left: 60px;">        group.add(horizontal);</p>
<p style="padding-left: 60px;">        scene.add(group);</p>
<p style="padding-left: 30px;">    }</p>
<p style="padding-left: 30px;">    function onWindowResize() {</p>
<p style="padding-left: 60px;">        camera.aspect = window.innerWidth / window.innerHeight;</p>
<p style="padding-left: 60px;">        camera.updateProjectionMatrix();</p>
<p style="padding-left: 60px;">        renderer.setSize(window.innerWidth, window.innerHeight);</p>
<p style="padding-left: 30px;">    }</p>
<p style="padding-left: 30px;">    function animate() {</p>
<p style="padding-left: 60px;">        requestAnimationFrame(animate);</p>
<p style="padding-left: 60px;">        controls.update();</p>
<p style="padding-left: 60px;">        renderer.render(scene, camera);</p>
<p style="padding-left: 30px;">    }</p>
<p>&lt;/script&gt;</p>
<p>&lt;/body&gt;</p>
<p>&lt;/html&gt;</p>
<p style="text-align: justify; background: white;"><span style="color: #111111;"><strong><br />
</strong></span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;">В результате выполнения программы в браузере отображается интерактивная трёхмерная модель простого креста. Пользователь может изменять ракурс обзора и масштаб, что позволяет детально рассмотреть объект с различных сторон.<br />
</span></p>
<p style="text-align: center; background: white;"><img src="https://web.snauka.ru/wp-content/uploads/2025/12/122925_1539_1.png" alt="" /><span style="color: #111111;"><br />
</span></p>
<p style="text-align: center; background: white;"><span style="color: #111111;">Рисунок 1. Интерактивная трёхмерная модель простого креста<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;">Полученные результаты подтверждают, что библиотека Three.js является эффективным инструментом для визуализации простых и сложных трёхмерных объектов в веб-приложениях, включая образовательные и демонстрационные системы.<br />
</span></p>
<p style="text-align: justify; background: white;"><span style="color: #111111;"><strong>Заключение. </strong>В работе рассмотрен пример использования библиотеки Three.js для создания интерактивной трёхмерной визуализации. Показано, что применение высокоуровневых средств позволяет существенно упростить процесс разработки 3D-графики в веб-среде. Рассмотренный пример может служить основой для дальнейших исследований и разработки более сложных визуальных моделей.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2025/12/104046/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Разработка игры «Музыкальная студия» для развития навыков распознавания музыкальных инструментов</title>
		<link>https://web.snauka.ru/issues/2026/01/104128</link>
		<comments>https://web.snauka.ru/issues/2026/01/104128#comments</comments>
		<pubDate>Fri, 23 Jan 2026 14:34:41 +0000</pubDate>
		<dc:creator>Незванов Александр Алексеевич</dc:creator>
				<category><![CDATA[05.00.00 ТЕХНИЧЕСКИЕ НАУКИ]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[веб-технологии]]></category>
		<category><![CDATA[геймификация]]></category>
		<category><![CDATA[интерактивная игра]]></category>
		<category><![CDATA[музыкальные инструменты]]></category>
		<category><![CDATA[обучение через игру]]></category>

		<guid isPermaLink="false">https://web.snauka.ru/issues/2026/01/104128</guid>
		<description><![CDATA[Научный руководитель: Вильданов Алмаз Нафкатович к.ф.-м.н., Уфимский университет науки и технологий, Нефтекамский филиал В условиях цифровизации образования возрастает роль интерактивных и мультимедийных средств обучения. Одним из перспективных направлений является геймификация — применение игровых механик в неигровых контекстах, в том числе в образовании. Музыкальное воспитание, особенно на ранних этапах, требует развития слухового внимания, визуального узнавания и ассоциативного мышления. [...]]]></description>
			<content:encoded><![CDATA[<p style="background: white; text-align: center;"><em>Научный руководитель: </em><em><span>Вильданов Алмаз Нафкатович<br />
</span></em><em><span>к.ф.-м.н., </span></em><em>Уфимский университет науки и технологий, Нефтекамский филиал</em></p>
<p style="text-align: justify;"><span>В условиях цифровизации образования возрастает роль интерактивных и мультимедийных средств обучения. Одним из перспективных направлений является геймификация — применение игровых механик в неигровых контекстах, в том числе в образовании. Музыкальное воспитание, особенно на ранних этапах, требует развития слухового внимания, визуального узнавания и ассоциативного мышления. В этой связи разработка простых, но эффективных обучающих игр становится актуальной задачей.<br />
</span></p>
<p style="text-align: justify;"><span>Целью данной работы является создание веб-приложения «Музыкальная студия», позволяющего пользователю тренировать навыки распознавания музыкальных инструментов по их изображениям. Игра предназначена для широкой аудитории — от детей до взрослых, интересующихся музыкой или изучающих её основы.<br />
</span></p>
<p style="text-align: justify;"><span>Для реализации проекта были использованы технологии HTML5, CSS3 и JavaScript (ES6). Визуальная составляющая включает фоновое изображение студии и отдельные PNG-изображения десяти музыкальных инструментов: акустическая гитара, электрогитара, бас-гитара, ударная установка (бочка и малый барабан), балалайка, коровий бубен, флейта, пианино и саксофон. Все элементы позиционируются абсолютно внутри контейнера с фиксированными размерами (900×600 пикселей), что обеспечивает стабильное отображение на экранах с достаточным разрешением.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/01/012326_1426_1.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 1. Рабочее поле игры<br />
</em></span></p>
<p style="text-align: justify;"><span>Подготовим изображения (рисунок 2). Рисунки лучше подготовить в формате .png, в котором поддерживается прозрачный фон.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/01/012326_1426_2.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 2. Спрайты для игры<br />
</em></span></p>
<p style="text-align: justify;"><span>Логика игры построена следующим образом. При запуске страницы формируется массив из названий инструментов, который перемешивается с помощью алгоритма Фишера–Йейтса:<br />
</span></p>
<p style="text-align: justify;"><span>const MASSIV = [<br />
</span></p>
<p style="text-align: justify;"><span>    "Acoustic-guitar",<br />
</span></p>
<p style="text-align: justify;"><span>    "Electric-guitar",<br />
</span></p>
<p style="text-align: justify;"><span>    "Bass-guitar",<br />
</span></p>
<p style="text-align: justify;"><span>    "Kick",<br />
</span></p>
<p style="text-align: justify;"><span>    "Snare",<br />
</span></p>
<p style="text-align: justify;"><span>    "Balalaika",<br />
</span></p>
<p style="text-align: justify;"><span>    "Cowbell",<br />
</span></p>
<p style="text-align: justify;"><span>    "Flute",<br />
</span></p>
<p style="text-align: justify;"><span>    "Piano",<br />
</span></p>
<p style="text-align: justify;"><span>    "Saxophone"<br />
</span></p>
<p style="text-align: justify;"><span>];<br />
</span></p>
<p style="text-align: justify;"><span>Затем пользователю последовательно предлагается найти на сцене указанный инструмент. После клика по правильному объекту:<br />
</span></p>
<p style="text-align: justify;"><span>— проигрывается звуковой сигнал подтверждения;<br />
</span></p>
<p style="text-align: justify;"><span>— элемент клонируется и заменяется на копию без обработчика события (во избежание повторного нажатия);<br />
</span></p>
<p style="text-align: justify;"><span>— к клону применяется CSS-переход, плавно уменьшающий его прозрачность до нуля.<br />
</span></p>
<p style="text-align: justify;"><span>Этот подход обеспечивает чистоту игрового процесса и визуальную обратную связь. После нахождения всех десяти инструментов выводится сообщение «Вы прошли игру!» и проигрывается финальный звук.<br />
</span></p>
<p style="text-align: center;"><img src="https://web.snauka.ru/wp-content/uploads/2026/01/012326_1426_3.png" alt="" /><span><br />
</span></p>
<p style="text-align: center;"><span><em>Рисунок 3. Окончание игры<br />
</em></span></p>
<p style="text-align: justify;"><span>Преимущества предложенного решения:<br />
</span></p>
<p style="text-align: justify;"><span>— минимальная зависимость от внешних библиотек;<br />
</span></p>
<p style="text-align: justify;"><span>— адаптивность к различным темам (достаточно заменить изображения и массив);<br />
</span></p>
<p style="text-align: justify;"><span>— использование открытых аудио- и графических ресурсов;<br />
</span></p>
<p style="text-align: justify;"><span>— поддержка принципов доступности и простоты интерфейса.<br />
</span></p>
<p style="text-align: justify;"><span>Таким образом, игра «Музыкальная студия» демонстрирует, как базовые веб-технологии могут быть эффективно применены для создания образовательного контента. Подобные приложения могут использоваться как в самостоятельном обучении, так и в рамках школьных или дополнительных образовательных программ по музыке и информатике.</span></p>
]]></content:encoded>
			<wfw:commentRss>https://web.snauka.ru/issues/2026/01/104128/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
