ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ 6
ВВЕДЕНИЕ 7
1 Теоретическая часть 12
1.1 Front-end (клиентская часть) 12
1.2 Взаимодействие клиента с сервером 12
1.3 Back-end (серверная часть) 13
2 Проектирование приложения 14
2.1 Стек технологий 14
2.1.1 Клиентская часть 14
2.1.2 Серверная часть 15
2.1.3 Базы данных 16
2.1.4 Сторонние библиотеки 18
2.2 Разработка клиентской части 21
2.2.1 Архитектура 21
2.2.2 Реализация 22
2.3 Разработка серверной части 26
2.3.1 Архитектура 26
2.3.2 Реализация 27
3. Работа приложения 31
ЗАКЛЮЧЕНИЕ 39
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 40
Интернет - цифровое пространство, которое является одним из основных источников информации для современного человека. Он представляет собой безграничную вселенную информационных ресурсов, доступ к которой обеспечивается технологиями интернета и хранится в области Всемирной паутины (World Wide Web). Данные в интернете организованы в формате гипертекстовых документов, называемых вебстраницами. Основным инструментом взаимодействия с этим цифровым контентом является веб-браузер.
Согласно статистике компании Siteefy [1], по состоянию на весну 2023 года, в Всемирной паутине зарегистрировано более одного миллиарда вебсайтов. Однако активны из них 20%, что составляет около 200 миллионов веб-сайтов - внушительно число. Число веб-страниц, согласно исследовательскому проекту Тилбурксого университета в Нидерландах [2], превышает более 4.77 миллиарда.
Такое количество данных должно гарантировать, что практически любой запрос пользователя с большой вероятностью может быть удовлетворен.
Учитывая такой обширный объем информации, большинство современных веб-браузеров предлагают широкий набор функциональных возможностей, таких как расширения, которые позволяют расширить функциональность браузера. Одна из таких возможностей включает инструменты для сохранения URL-адресов. URL (Uniform Resource Locator) - это уникальный адрес веб-страницы, который обеспечивает доступ к ней.
У пользователя веб-браузера может возникнуть ситуация, когда ему необходима добавить URL в список сохраненных ссылок с использованием стандартного расширения веб-браузера.
Данный инструмент становится весьма полезным, когда у пользователя появляется потребность сохранить адрес веб-страницы, являющимся источником ценной для него информации.
Рассмотрим альтернативы и связанные с ними потенциальные сложности, которые могут возникнуть для пользователя, не знакомого с этой удобной функцией веб-браузера, желающего вернуться к ранее посещенному сайту, содержащему важные данные.
Первый подход - повторный поиск с использованием предыдущего запроса в поисковике. Хоть это и является работоспособным вариантом, он требует значительных усилий: сколько нерелевантных страниц придется просмотреть пользователю, прежде чем он обнаружит искомую? К тому же, всегда существует вероятность, что пользователь вообще не сможет найти ее. Например, страница была перенесена на другой URL, удалена или содержание было изменено. Ещё запрос может быть искажен, что приводит к изменению результатов, представленные поисковой системой.
Второй подход - поиск требуемой веб-страницы в истории просмотров веб-браузера. История просмотров - это функция веб-браузера, которая автоматически сохраняет список просмотренных пользователем веб-страниц за определенный период времени. Однако, историю можно очистить, и данные о посещенных страницах удаляются. Это ослабляет эффективность данного подхода, к тому же, даже если история не была очищена, процесс поиска может также оказаться утомительным.
Третий подход заключается в сохранении ссылок в различных приложениях, веб-сервисах. Однако, это может неудобно, поскольку такой способ хранения не всегда находится "под рукой" у пользователя и требует дополнительных действий для доступа к ним.
Таким образом, встроенный функционал веб-браузера для сохранения URL-адресов решает вышеизложенные проблемы, предоставляя
пользователю список сохраненных ссылок, упрощающий навигацию по избранным веб-страницам, принято именуемым «закладками». В дополнение к возможности добавления новых закладок, пользователь может удалять и организовывать их в папки для большего удобства и упорядоченности. Однако у встроенного расширения есть ряд некоторых существенных ограничений:
1. Отсутствие отображение списка по URL. По умолчанию пользователь может узнать URL только одной закладки, наведя на нее курсор мыши. Если необходимо просмотреть адреса всех закладок, то ему необходимо обработать каждую закладку индивидуально.
2. Невозможность добавления дополнительных описаний к закладкам. Бывают ситуации, когда было бы удобно иметь возможность добавить краткое описание к закладке, так как название веб-страницы не всегда точно отражает причину ее сохранения. Эта функция могла бы повысить понятность и структурированность списка закладок.
3. Нет информации о времени добавления и последнего изменения закладки. Данный функционал может быть полезен для пользователя, чтобы контролировать актуальность информации на сохраненных страницах, а также для более эффективной организации своего списка закладок.
4. В списке могут быть неактуальные закладки. Веб-страница, на которую ведет закладка, могла быть перенесена на другой адрес или стать потенциально небезопасной. Поэтому крайне важно внедрить функционал, который предусматривает контроль активности и безопасности сохраненных закладок.
5. Отсутствует функция автоматического поиска закладок. Если список закладок немаленький, то поиск необходимой закладки может стать затруднительным и трудоемким процессом.
6. Нет возможности сортировки закладок по различным критериям. Возможность сортировать закладки по URL, описанию, дате добавления и последнего изменения упростила бы навигацию по списку.
Целью выпускной квалификационной работы является разработка современными инструментами расширения для веб-браузера, которое исправляет вышеупомянутые проблемы и включает в себя дополнительные
функции:
• Введение "корзины". Это позволит не удалять закладки
окончательно, а временно перемещать их в специальную "корзину". В дополнение к этому, неактуальные закладки, отмеченные веб-расширением, автоматически переносятся в корзину.
• Облачное хранение закладок для авторизованных пользователей. Эта обеспечит пользователям возможность входить в систему с любого устройства и синхронизировать свои закладки, сохраняя их в безопасном облачном хранилище.
Перейдя к более общему обзору, стоит отметить, что расширения для веб-браузера служат различным целям. В качестве примера, рассмотрим несколько популярных расширений для браузера Firefox:
1. Bitwarden: предлагает безопасное хранение логинов и
автогенерируемых паролей в зашифрованном хранилище, которое синхронизируется между всеми устройствами, подключенными к Bitwarden.
2. AdGuard: блокирует навязчивую рекламу в интернете и
предлагает дополнительную защиту от систем слежения и вредоносных или фишинговых сайтов.
3. Turn Off the Lights: затемняет страницу для комфортного просмотра фильмов и видео на популярных видеоплатформах.
4. Weather Extension: позволяет просматривать текущую погоду и прогноз на следующие пять дней прямо в браузере.
5. Simple Translate: это инструмент для перевода выделенного текста на активной веб-странице на выбранный язык.
6. LastPass: это удобный менеджер паролей, который сохраняет ваши пароли в облаке и автоматически вводит их при входе на веб-сайты. Он также может генерировать сложные уникальные пароли для каждого сайта, улучшая безопасность.
7. Grammarly: исправляет грамматические и стилистические
ошибки в тексте, который вы вводите в веб-формы. Оно может быть полезным при написании электронных писем, блогов, социальных медиа и других текстов.
8. Honey: Honey помогает вам сэкономить деньги, автоматически применяя доступные купоны при покупках в Интернете.
9. Privacy Badger: автоматически блокирует трекеры, следящие за вашими действиями в Интернете, и помогает защитить вашу конфиденциальность.
10. Pocket: позволяет сохранять интересующие вас статьи, видео и веб-страницы для последующего просмотра, даже если у вас нет доступа к Интернету.
Как видно из этих примеров, функциональные возможности расширений могут быть очень разнообразными.
В рамках данной выпускной квалификационной работы с использованием современных веб-технологий реализовано веб-расширение для сохранения ссылок для веб-браузера, который решает ряд ключевых проблем, выявленных раннее и содержит новые функции. Разработанное вебрасширение представляет собой гибкий и эффективный инструмент для управления и хранения закладок. Оно значительно облегчает навигацию по обширному информационному пространству интернета, повышая комфорт и производительность работы пользователя.
Таким образом, все задачи были выполнены и цель работы достигнута.
1. How Many Websites Are There in the World? - URL:
https://siteefy.com/how-many-websites-are-there (дата обращения: 15.02.2023);
2. The size of the World Wide Web (The Internet) - URL:
https://www.worldwidewebsize.com/ (дата обращения: 15.02.2023);
3. JavaScript учебное пособие. - URL:
https://developer.mozilla.org/ru/docs/Web/JavaScript (дата обращения:
10.05.2023);
4. Что такое WebExtensions? - URL:
https://developer.mozilla.org/ru/docs/Mozilla/Addons/WebExtensions/What are WebExtensions (дата обращения: 05.02.2023);
5. Быстрый старт React. - URL: https://reactdev.ru/learn/#jsx (дата обращения: 24.03.2023);
6. Express. - URL: https://nodejsdev.ru/doc/express/ (дата обращения: 19.05.2023);
7. Введение в Mongoose для MongoDB и Node.js. - URL: https://metanit.com/web/nodejs/6.6.php (дата обращения: 05.04.2023);
8. Introduction to JSON Web Token. - URL: https://jwt.io/introduction/ (дата обращения: 19.03.2023);