Введение 5
1 Теоретическая часть 7
1.1 Язык разметки HTML 7
1.2 Каскадные таблицы стилей CSS 7
1.3 Фреймворк Bootstrap 8
1.4 Язык программирования JavaScript 9
1.5 Фреймворк React 12
1.6 Язык программирования Python 13
1.7 Фреймворк Django 15
1.8 Язык программирования PHP 17
1.9 Фреймворк Laravel 18
1.10 Язык запросов SQL 20
1.11 Язык запросов MySQL 20
1.12 Язык запросов PostgreSQL 21
1.13 Библиотека Tensorflow 23
1.14 Библиотека ImageAI 23
1.15 Система хостинга проектов Bitbucket 24
1.16 Выводы по компановке проекта: 24
2 Разработка медиасервиса 26
2.1 Структура базы данных mySQL 28
2.1.1 Таблица USERS 28
2.1.2 Таблица POSTS 29
2.1.3 Таблица FRESH_VIDEO 30
2.2 Используемые классы 30
2.3 Принцип работы функций класса Post 30
2.3.1 Функция index 30
2.3.2 Функция user 31
2.3.3 Функция store 32
2.3.4 Функция show 33
2.3.5 Функция sort 34
2.3.6 Функция fav 35
2.3.7 Функция edit 36
2.3.8 Функция update 37
2.3.9 Функция destroy 38
2.4 Программа для обнаружения объектов 39
2.5 Описание структуры веб-страниц 43
2.5.1 Шаблон layout 43
2.5.2 Шаблон app 43
2.5.3 Шаблон form 44
2.5.4 Шаблон show 44
2.6 Описание веб-страниц созданных для медиасервиса 44
2.6.1 Главная страница 44
2.6.2 Страница входа или регистрации 45
2.6.3 Создание нового поста 46
2.6.4 Страница для редактирования поста 47
2.6.5 Страница просмотра поста 48
2.7 Принцип работы веб-приложения 49
2.8 Принцип работы скрипта для анализа видеороликов 51
Заключение 54
Список использованной литературы 55
Приложение 59
Полный объём работы составляет 93 страницы, включая 23 рисунка.
В первой главе пояснительной записки описываются все разобранные, в рамках дипломного проекта, языки программирования, с ними представле¬но описание фреймворков и библиотек.
Во вторй главе представлен ход работы над дипломным проектом, ис-ходом которого является готовый и рабочий программный продукт.
В блоке «Приложение» описан весь программный код который был на¬писан в рамке выпускной работе.
Ключевые слова: PHP, HTML, CSS, JavaScript, LARAVEL, Python, Django, Tensorflow, SQL, ImageAi, система управления версиями.
Дипломная работа оформлена с помощью системы компьютерной вёрстки TEX и его расширения XTEX из дистрибутива TeXLive.
ABSTRACT
The total amount of work is 93 page, include 23 image.
The first chapter of the explanatory note describes all the programming languages disassembled within the framework of the diploma project, with them a description of frameworks and libraries is presented.
In the second chapter, the progress of work on a thesis project is presented, the outcome of which is a finished and working software product.
The block ’Application” describes all the program code that was written in the framework of the final work.
Keyword: PHP, HTML, CSS, JavaScript, LARAVEL, Python, Django, Tensorflow, SQL, ImageAi, distributed version control.
Thesis is framed using the computer layout system TEX and its extension XypEX from the distribution TeXLive.
Актуальность В наше время цифровых технологий у каждого челове¬ка под рукой имеется цифровой гаджет, который позволяет владельцу этого гаджета самовыражаться. Например, делать фотографии своей интересной жизни или записывать видеоролики разного жанра и формата. Чтобы все со¬брать воедино существуют веб-сервисы, которые предоставляют пользовате¬лям возможность выкладывать свою творческую деятельность на всеобщее обозрение.
После проведения небольшого исследования в рамках дипломной ра-боты, было выяснена тенденция интересов большей части пользователей. Са¬мые первые медиасистемы, которые были активно использованы в середине 90-х, были по сегодняшним меркам во многом примитивны с точки зрения подачи материала. Они располагали лишь текстовой передачей информаци¬ей, некоторые позволяли отправлять фотографии. Но из-за низкой скорости интернета об объемных файлов не могло быть и речи. Например в 1999 году провайдеры предоставляли скорость интернета 25-30 кбит/с, средний объем передаваемых файлом был около 60 Кбайт, а средняя скорость загрузки веб¬страницы около 13 сек, при этом цена за такой интернет была высока и была по карману не каждому [12].
Из-за того, что интернет стал разрастаться с большой скоростью, а так же его скорость росла и цена стала ниже, появился видеосервис YouTube в 2007-м году, который предопределил тенденцию развития медиасервисов в целом [17]. На этом сервисе люди могли выкладывать свое творчество или свою жизнь. Так как пользователям был интересен данный формат просмотра информации, количество пользователей росло.
С ростом скорости интернета, размер пользовательских персональных гаджетов уменьшался, а их мощности росли и тогда был выпущен ¡П51ацгат в 2010-м году, которой предоставлял пользователям выгладивать свою жизнь в виде фотографий, с наложением фильтров [5]. Эта подача информации заин¬тересовала пользователей, об этом говорит чило зарегистрированных пользо¬вателей: за два месяца было зарегистрировано миллион пользователей и они только с гаджетом iPhone [5]. Через несколько лет была добавлена возмож¬ность добавлять очень короткие видеоролики. Сделано это было, чтобы сде¬лать определенную грань меюжду YouTube, так как на YouTube видеоролики были, в среденем, довольно продолжительными. В 2016-м году в Instagram продолжительность видео увеличилось до 60сек. Что являлось оптимальным для пользователей. Которые могли посмотреть много коротких видеороли¬ков. Здесь прослеживается, некая закономерность, что современные пользо¬ватели стараются получить больше простой информации за более короткий промежуток времени. Примером служит следующий медиасервис TikTok.
Приложение TikTok позиционируется как сервис для мобильных гад-жетов для размещения коротких по длительности видеороликов, по 3-4 ми-нуты, в которых пользователи могли размещать свои идеи и продвигать свое творчество. Только в России данное приложение в 2019 году заняло 8-е место по популярности приложений с охватом 18 миллионов человек [14]. Как по¬казывает практика, подобный формат очень нравится пользователям и тут то¬же прослежиивается закономерность получение множества простой инфор¬мации за короткий промежуток времени.
Таким образом можно сделать вывод, что подобный формат не изжил себя и необходимо создать отечественный аналог последнего приложения, с внедрением неронных сетей для автоматического анализа содержания ви-деороликов и продвижения их конкретным пользователям, интересующихся данной тематикой.
Цель: Разработать медиасистему для хранения / работы с видеофайла-ми и автоматическим тегирированием.
Задачи:
1. глубже изучить вопрос сходства и различия, а также преимуществ и недостатков современных социальных сетей;
2. выполнить целенаправленное продвижение видеороликов;
3. изучить аналогичные медиасистемы;
4. изучить и выяснить целесообразность выбора языков программирова-ния для реализации проекта;
5. изучить базовые основы Bitbucket;
6. рассмотреть существующие фрейворки и выснить целесообразность выбора для реализации проекта;
7. рассмотреть систему безопасности аккаунтов и защиту от утечки лич-ных данных пользователя.
В ходе выполнения дипломной работы было получено веб-приложение, которое обладает возможностью хранения и продвижения видеофайлов сре¬ди зарегистрированных пользователей. Программный продукт был проте¬стирован успешно.
Были выполнены все поставленные задачи, такие как:
1. изучили вопрос сходства и различия, а также преимуществ и недостат¬ков современных социальных сетей;
2. выполнили целенаправленное продвижение видеороликов;
3. изучили аналогичные медиасистемы;
4. изучили и выяснить целесообразность выбора языков программирова¬ния для реализации проекта ;
5. изучили базовые основы В11Ьиске1;
6. рассмотрели существующие фреймворки и выяснить целесообразность выбора для реализации проекта ;
7. рассмотрели систему безопасности аккаунтов и защиту от утечки лич¬ных данных пользователя;
8. разобрали принцип работы и внедрили в проект поиск объектов в ви-деофайлах с помощью 1еп5огЛот;
9. настроили управление 1еп5ОгЛот с помощью библиотеки 1тадеА1.