Разработка серверной части веб-приложения социальной сети | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 23 ноября, печатный экземпляр отправим 27 ноября.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №15 (462) апрель 2023 г.

Дата публикации: 14.04.2023

Статья просмотрена: 86 раз

Библиографическое описание:

Языков, Н. В. Разработка серверной части веб-приложения социальной сети / Н. В. Языков. — Текст : непосредственный // Молодой ученый. — 2023. — № 15 (462). — С. 19-22. — URL: https://moluch.ru/archive/462/101609/ (дата обращения: 15.11.2024).



В последние годы огромное значение в развитии малого и среднего бизнеса играли такие платформы как Instagram*[1], Facebook*, Twitter и многие другие. Однако в связи с тенденцией мирового сообщества наша страна столкнулась с множеством санкций других государств, в частности европейской части мира. Ограничения затронули множество веб-приложений в том числе социальные сети (Instagram*, Facebook*, Twitter), различные интернет-издания и множество других информационных площадок. Таким образом, масса людей и компаний остались без работы, а также без возможности показать свои достижения миру. Вследствие чего творческие люди больше не могли искать клиентов из-за закрытия Instagram, так как многие работали и продвигали свои продукты именно через это веб-приложение. Также стоить отметить, что самым важным является то, что людей ограничили в возможности общения друг с другом.

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

На текущий момент времени Instagram*, разработанный компаний Meta[2], является одной из самых популярных социальных сетей во всем мире. Согласно данным, опубликованным 14 марта 2022 года главой Instagram*, более 80 миллионов уникальных пользователей из нашей страны заходили ежемесячно на эту платформу. Если верить этой статистике, то тогда Instagram* является самой востребованной социальной сетью в России. Однако данный продукт имеет массу проблем. Одним из основных недостатков данного продукта является отсутствие полноценного веб-приложения для загрузки фотографий. Также стоить отметить, что в данном приложении не производится проверка пользователей, что существенно увеличивает количество недействительных аккаунтов.

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

При разработке российского конкурентно-способного аналога необходимо реализовать полноценное веб-приложение, в котором будет предусмотрена возможность загрузки фотографий через обычный браузер. Также нужно осуществить проверку аккаунта с помощью активационного кода, который будет отправлен на электронную почту при регистрации пользователя. Для хранения и работы с данными должна использоваться быстрая и безопасная СУБД.

Так, перед началом работы надо определить, какая именно система управления базами данных будет использоваться. Ниже, на рисунке 1, показан график сравнение производительности добавления записей с индексом.

Производительность СУБД

Рис. 1. Производительность СУБД

Таблица 1

Сравнение систем управления баз данных

Oracle

MongoDB

MySQL

Представление данных

В виде строк и столбцов

В виде JSON документов

В виде строк и столбцов

Поддержка SQL и JOIN запросов

Да

Нет

Да

Поддержка XML

Да

Нет

Да

API и другие методы доступа

ADO.NET, JDBC, ODBC

Протокол где используется JSON

ADO.NET, JDBC, ODBC

Обращение к нескольким БД

Да

Нет

Да

Схема данных

Все таблицы имеют строгую типизацию

Каждый объект может содержать разные поля

Все таблицы имеют строгую типизацию

Коммерческий продукт

Да

Нет

Нет

Масштабируемость

Используется в среднем и крупном бизнесе

Используется в среднем и малом бизнесе

Используется в среднем, малом и крупном бизнесе

Обобщая вышеприведенные данные в таблице 1, можно сделать вывод о том, что MySQL — хороший выбор, если:

– ваша база данных мало масштабируется;

– необходима высокая скорость передачи данных;

– безопасность данных — главный приоритет;

– будут использоваться SQL и JOIN запросы;

– будут использоваться такие соединения с СУБД как JDBC.

MongoDB — хороший выбор, если:

– не требуется обработка SQL и JOIN запросов;

– вам нужна возможность мгновенно восстановить данные;

– вы работаете с нестабильной схемой.

Так как веб-приложение должно обеспечивать быструю передачу данных и при разработке будут использоваться SQL запросы, то использование такой СУБД как MongoDB не является наилучшим вариантом. Использование Oracle в текущей обстановке невозможно. Вследствие чего, можно сделать вывод о том, что MySQL является самым подходящим вариантам для разработки веб-приложения.

Для повышения производительности и скорости разработки готового продукта, необходимо выбрать подходящий веб-фреймворк. Ниже, в таблице 2, представлены самые актуальные и востребованные каркасы.

Таблица 2

Сравнение веб-фреймворков

Spring Boot

Django

Laravel

Аппаратная платформа

Java

Python

PHP

Поддержка ORM

Да

Да

Да

Поддержка MVC

Да

Да

Да

Популярность

1,4 миллиона

700 тысяч

507 тысяч

Интеграция

Простая (Легко совместить с ORM и другими)

Тяжелая

Тяжелая

Встроенные серверы

Да

Нет

Нет

Безопасность

Защита от XSS и CSRF

Защита от XSS и CSRF

Защита от XSS и CSRF

Исходя из вышеперечисленного можно сказать, что принципиальной разницы между фреймворками нет. Однако Spring Boot отличается тем, что интеграция с Hibernate ORM или Spring Security будет проходить значительно быстрее, так как для подключения того или иного фреймворка нужно просто добавить зависимости в конфигурационном файле.

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

Литература:

  1. Chris Schaefer, Clarence Ho, Iuliana Cosmina, Rob Harrop. Pro Spring 5, 5th Edition, 2017. — 1122 p.;
  2. Клеппман Мартин Высоконагруженные приложения. Программирование, масштабирование, поддержка, 2017. — 640 с.

[1] * Meta Platforms Inc. признана экстремистской организацией и запрещена в РФ

[2] признана экстремистской организацией и запрещена в РФ

Основные термины (генерируются автоматически): SQL, CSRF, JDBC, JOIN, ORM, XSS, JSON, ODBC, нет, крупный бизнес.


Похожие статьи

Разработка программного модуля для фильтрации сетевого трафика

Разработка информационной системы для рекламной компании

Разработка объектно-ориентированной модели образовательного интерактивного приложения

Разработка интеллектуальной системы для идентификации автора исходного кода на основе нейронных сетей

Разработка архитектуры построения многопоточного программного обеспечения на основе модели нейронной сети

Разработка программного продукта для определения авторства текста

Исследование функциональности программ для разработки дизайна сайтов и мобильных приложений

Разработка мобильного приложения для таксатора

Разработка интерфейса доступа к памяти в аппаратно-программном модуле доверенной загрузки

Разработка программного приложения визуализации упражнений для профилактики близорукости у пользователей ПК

Похожие статьи

Разработка программного модуля для фильтрации сетевого трафика

Разработка информационной системы для рекламной компании

Разработка объектно-ориентированной модели образовательного интерактивного приложения

Разработка интеллектуальной системы для идентификации автора исходного кода на основе нейронных сетей

Разработка архитектуры построения многопоточного программного обеспечения на основе модели нейронной сети

Разработка программного продукта для определения авторства текста

Исследование функциональности программ для разработки дизайна сайтов и мобильных приложений

Разработка мобильного приложения для таксатора

Разработка интерфейса доступа к памяти в аппаратно-программном модуле доверенной загрузки

Разработка программного приложения визуализации упражнений для профилактики близорукости у пользователей ПК

Задать вопрос