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

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

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

Автор:

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

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

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

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

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

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


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

Методы защиты веб-приложений от CSRF-атак | Статья в журнале...

Если представить весь процесс CSRF-атаки в виде схемы, то это будет выглядеть следующим образом: Главная опасность CSRF-атак заключается в том, что такое поведение браузеров и самого протокола HTTP не вызывает никаких подозрений и является абсолютно нормальным.

Создание программы для сканирования уязвимостей...

В этой статье мы предлагаем некоторые алгоритмы, которые поддерживают сканирование уязвимостей, таких как XSS, CSRF, SQL инъекция, использование для создания автоматизированных программ сканирования, снижая риск небезопасных с веб-сайтов.

Расширения браузеров как средства анализа защищенности...

Расширения браузера пользуются огромной популярностью: каждый третий пользователь Firefox или Google Chrome имеет хотя бы одно расширение. Но мало кто использует расширения браузеров как средства для проверки Web-сайтов на уязвимости. В этой статье предложен...

Методы выполнения запросов к хранилищу данных в Hadoop и Spark

В этой статье не рассмотрена операция соединения таблиц (аналог оператора JOIN в SQL). Мы решили намеренно не включать её в эту публикацию, т. к. вопрос соединения распределённых в кластере данных является непростым, и эта тема будет освещена в следующей нашей статье.

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

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

Технология ADO и средства доступа к реляционным базам данных

ADO.NET поддерживает два типа источников данных — SQL Managed Provider и ADO Managed Provider.

Ориентированный специально на MS SQL Server, протокол позволяет увеличить скорость передачи данных и тем самым повысить общую производительность приложения.

Организация доступа к реляционной базе данных на основе...

...всей информации об объекте будет выглядеть в виде сложного SQL-запроса с операцией JOIN [1].

Hibernate автоматизирует генерацию SQL-запросов и освобождает разработчика от ручной обработки

NHibernate — ORM-решение для платформы Microsoft.NET, портированное с Java.

NHibernate позволяет отображать объекты бизнес-логики на реляционную базу данных.

Основные направления улучшения финансового состояния...

Библиографическое описание: Оборина, Е. Н. Основные направления улучшения финансового состояния предприятия / Е. Н. Оборина.

В укрупненном аспекте для улучшения финансового состояния предприятий любой сферы деятельности необходимо увеличивать сумму...

Оптимизация взаимодействия web-приложения с базой данных...

Анализ текущей версии ИИС «Шлаковые расплавы» (версия 6.0). Основными компонентами архитектуры ИИС являются: вычислительные приложения, CORBA-оболочки приложений, сервер приложений, (SQL) реляционная база данных, web-сервер, web-клиент и мост XML-СУБД.

Специфические проявления и подтипы пограничного расстройства...

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

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

Методы защиты веб-приложений от CSRF-атак | Статья в журнале...

Если представить весь процесс CSRF-атаки в виде схемы, то это будет выглядеть следующим образом: Главная опасность CSRF-атак заключается в том, что такое поведение браузеров и самого протокола HTTP не вызывает никаких подозрений и является абсолютно нормальным.

Создание программы для сканирования уязвимостей...

В этой статье мы предлагаем некоторые алгоритмы, которые поддерживают сканирование уязвимостей, таких как XSS, CSRF, SQL инъекция, использование для создания автоматизированных программ сканирования, снижая риск небезопасных с веб-сайтов.

Расширения браузеров как средства анализа защищенности...

Расширения браузера пользуются огромной популярностью: каждый третий пользователь Firefox или Google Chrome имеет хотя бы одно расширение. Но мало кто использует расширения браузеров как средства для проверки Web-сайтов на уязвимости. В этой статье предложен...

Методы выполнения запросов к хранилищу данных в Hadoop и Spark

В этой статье не рассмотрена операция соединения таблиц (аналог оператора JOIN в SQL). Мы решили намеренно не включать её в эту публикацию, т. к. вопрос соединения распределённых в кластере данных является непростым, и эта тема будет освещена в следующей нашей статье.

Сетевые атаки. Виды. Способы борьбы | Статья в сборнике...

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

Технология ADO и средства доступа к реляционным базам данных

ADO.NET поддерживает два типа источников данных — SQL Managed Provider и ADO Managed Provider.

Ориентированный специально на MS SQL Server, протокол позволяет увеличить скорость передачи данных и тем самым повысить общую производительность приложения.

Организация доступа к реляционной базе данных на основе...

...всей информации об объекте будет выглядеть в виде сложного SQL-запроса с операцией JOIN [1].

Hibernate автоматизирует генерацию SQL-запросов и освобождает разработчика от ручной обработки

NHibernate — ORM-решение для платформы Microsoft.NET, портированное с Java.

NHibernate позволяет отображать объекты бизнес-логики на реляционную базу данных.

Основные направления улучшения финансового состояния...

Библиографическое описание: Оборина, Е. Н. Основные направления улучшения финансового состояния предприятия / Е. Н. Оборина.

В укрупненном аспекте для улучшения финансового состояния предприятий любой сферы деятельности необходимо увеличивать сумму...

Оптимизация взаимодействия web-приложения с базой данных...

Анализ текущей версии ИИС «Шлаковые расплавы» (версия 6.0). Основными компонентами архитектуры ИИС являются: вычислительные приложения, CORBA-оболочки приложений, сервер приложений, (SQL) реляционная база данных, web-сервер, web-клиент и мост XML-СУБД.

Специфические проявления и подтипы пограничного расстройства...

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

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