Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Оглавление
Введение. 11
1 Исследование предметной области. 12
1.1 Классификация блогов. 12
1.2 Обзор аналогов. 15
1.2.1 Система WordPress. 17
1.2.2 Платформа Blogger 19
1.2.3 Платформа Tumblr 21
1.2.4 Платформа LiveJournal 23
2 Проектирование системы.. 25
2.1 Проектирование пользовательского интерфейса системы.. 26
2.2 Проектирование интерфейса административной панели. 28
2.3 Проектирование структуры папок и файлов. 29
2.4 Выбор программных средств реализации системы.. 31
2.5 Даталогическое проектирование базы данных системы.. 34
2.6 Требования к техническому обеспечению.. 36
2.6.1 Расчет необходимого объема внешней памяти. 36
2.6.2 Расчет необходимого объема оперативной памяти. 37
2.6.3 Минимальные требования к техническим средствам. 38
3 Разработка системы.. 39
3.1 Разработка физической модели БД.. 39
3.2 Разработка сценария взаимодействия с базой данных. 42
3.3 Написание исходного кода системы.. 44
3.3.1 Сценарии авторизации. 44
3.3.2 Сценарий пользовательского интерфейса (frontend) 45
3.3.3 Сценарий административного интерфейса (backend) 45
4 Введение системы в эксплуатацию.. 47
4.1 Развертывание системы.. 47
4.2 Описание разработанной панели администратора. 49
Заключение. 53
Список использованных источников. 54
. 55
58
. 60
60
. 66
Введение
Блог (англ. blog, от web log – интернет-журнал событий, интернет-дневник, онлайн-дневник) – веб-сайт, основное содержимое которого – регулярно добавляемые записи (посты), содержащие текст, изображения или мультимедиа. Для блогов характерны недлинные записи временной значимости, отсортированные в обратном хронологическом порядке (последняя запись сверху). Отличия блога от традиционного дневника обусловливаются средой: блоги обычно публичны и предполагают сторонних читателей, которые могут вступить в публичную полемику с автором (в комментарии к блогозаписи или своих блогах).
Первым блогом считается страница Тима Бернерса-Ли, где он, начиная с 1992 г., публиковал новости. Более широкое распространение блоги получили с 1996 г. В августе 1999 г. компьютерная компания Pyra Labs из Сан-Франциско открыла сайт , который стал первой бесплатной блоговой службой.
Сетевые дневники приобретают все большую популярность. Уже начинают активно обсуждать, кто же влиятельнее: СМИ или блоги. Они постепенно входят в нашу жизнь – например, в Самаре по телеканалу «Терра» выходит еженедельная передача «Блогосфера» с обзором дневников самарских блоггеров.
В настоящее время особенность блогов заключается не только в структуре записей, но и в простоте добавления новых записей. Пользователь просто обращается к веб-серверу, проходит процесс идентификации пользователя, после чего он добавляет новую запись к своей коллекции. Сервер представляет информацию как последовательность сообщений, помещая в самом верху самые свежие сообщения. Структура коллекции напоминает привычную последовательную структуру дневника или журнала.
2 Исследование предметной области
2.1 Классификация блогов
Блоги можно классифицировать по следующим критериям:
По авторству:
- личный (персональный, авторский, частный) блог – ведётся одним лицом (как правило, его владельцем);
- коллективный или социальный блог – ведётся группой лиц по правилам, определяемым владельцем и модераторами;
- корпоративный блог – ведётся сотрудниками одной организации.
По тематической направленности:
Обычно персональные блоги носят личный характер. Однако в среде персональных, так же, как и в среде коллективных и корпоративных блогов, существуют специализированные блоги, посвящённые определенным сферам жизни:
- политика – блоги, посвященные политике. Обычно политические блоги ведут политические лидеры, представители политических партий и политических объединений, политологи;
- быт – блоги, в которых затрагиваются обычно вопросы взаимоотношений между людьми, психологии, ведения домашнего хозяйства – всего того, что связано с понятиями «быт», «личная жизнь»;
- путешествия – блоги, в которых авторы делятся своими впечатлениями от поездок, дают советы, как вести себя в той или иной стране, рассказывают про традиции и обычаи других народов;
- образование – блоги, посвященные теме образования. Часто это блоги определенных учебных заведений, в которых участники обсуждают процесс обучения и другие темы в образовании;
- мода – блоги, в которых обсуждаются новинки в мире моды, тренды, модные показы. Здесь можно прочитать мнения профессионалов, советы стилистов и людей, не равнодушных к моде;
- музыка – блоги, в которых авторы выражают свои музыкальные предпочтения, обсуждают новинки в мире музыки. Музыкальные блоги могут быть посвящены определенному музыкальному направлению, а могут освещать различные музыкальные жанры и стили;
- информационно аналитический – блоги, содержащие актуальные материалы и анализирующие эти материалы;
- спорт – блоги, посвященные освещению спортивных событий и смежных с ними тем.
По наличию/виду мультимедиа:
- текстовый блог – основное содержание составляют тексты;
- фотоблог – основное содержание составляют фотографии;
- артблог – основное содержание составляют рисунки автора блога;
- музыкальный блог – основное содержание составляет музыка;
- подкаст и блогкастинг – основное содержание блога надиктовывается и выкладывается в виде MP3-файлов;
- видеоблог – основное содержание представлено в виде видеофайлов.
По особенностям контента:
- контентный блог – блог, публикующий первичный авторский контент;
- мониторинговый (ссылочный) блог – блог, основным контентом которого являются откомментированные ссылки на другие сайты;
- цитатный блог – блог, основным контентом которого являются цитаты из других блогов;
- тамблелог, Тамбллог, Тлог – Почти то же самое, что и обычный блог, с одним отличием: запись в блоге может быть только определённого формата. Например, цитата, видео, ссылка, песня, разговор и так далее). Тамблелог – скорее не система типа дневника, а черновик или записная книжка;
- Сплог – спам-блог.
По технической основе:
- автономный блог – блог на отдельном хостинге и системе управления содержимым;
- блог на блог-платформе – блог, ведущийся на мощностях блог-службы (Живой Журнал, LiveInternet, Blogger и др.).
2.2 Обзор аналогов
Существует два способа начать вести блог: воспользоваться специальным сервисом (например, LiveJournal) или установить к себе на сервер автономный блог, то есть использовать какой-либо движок. У последнего способа есть определенный недостаток – требуются определенные технические знания в этой области. Зато, если вы все-таки обладаете подобными знаниями, то можете настроить все так, как вам нужно. В этой главе предлагается обзор наиболее популярных движков для ведения своего блога.
Статистика использования платформ для ведения блогов на основе данных с сайта за май 2012 [6].

Рисунок 1.1 – Статистика использования платформ
Как видно из диаграммы основными движками являются:
Таблица 1.1 – Статистика использования платформ
# | Платформа | Сайтов | Просмотров |
1 | WordPress | 284100 | 2559251 |
2 | Blogger | 62107 | 324966 |
3 | Tumblr | 14569 | 74413 |
4 | LiveJournal | 10785 | 8037 |
5 | TypePad | 2865 | 20535 |
Рассмотрим некоторые из них.
2.2.1 Система WordPress
Официальный сайт: http://wordpress. org Русский сайт: http://***** Тип: Автономный |
Рисунок 1.2 – Логоти WordPress |
Особенности:
- мгновенная публикация;
- защита от спама в комментариях;
- интегрированная лента дружественных блогов;
- управление страницами;
- защита паролем страниц и постов;
- дополнительные поля;
- простое обновление и инсталляция;
- простое модифицирование;
- возможность администрирования нескольким авторам;
- возможность выбирать определенные категории;
- регистрация для внесения комментариев;
- публикация поста в заданную дату;
- полное соответствие всем веб-стандартам;
- использование PHP и MySQL.
Самый распространенный движок среди блоггеров. Имеет множество функций – именно те, которые действительно нужны блоггеру. Присутствует русский язык и русскоязычное комьюнити. Написан на PHP, в качестве базы данных использует MySQL. Сфера применения – от блогов до достаточно сложных новостных ресурсов и даже интернет-магазинов.

Рисунок 1.3 – Пример блога на WorPress
2.2.2 Платформа Blogger
Официальный сайт: http:// Тип: Блог-платформа |
Рисунок 1.4 – Логотип Blogger |
Особенности:
- создание дизайна блога;
- простой в использовании интерфейс;
- бесплатный домен третьего уровня;
- возможность прикреплять фотографии и видео;
- комментирование записей;
- уведомления об ответах;
- учетная запись OpenID для простой авторизации;
- 41 язык, в том числе и русский.
Веб-сервис для ведения блогов, с помощью которого любой пользователь может завести свой блог, не прибегая к программированию и не заботясь об установке и настройке программного обеспечения. Создан компанией Pyra Labs, которой сейчас владеет Google.

Рисунок 1.5 – Пример блога на платформе Blogger
2.2.3 Платформа Tumblr
Официальный сайт: http:// Тип: Платформа микроблоггинга |
Рисунок 1.6 – Логотип Tumblr |
Особенности:
- простота использования в сочетании с интуитивно простым интерфейсом;
- различные виды контента (Текст, Фото, Цитата, Ссылка, Разговор, Аудио и Видео);
- очередь сообщений;
- автоматический перенос сообщений в Twitter, Facebook, FeedBurner.
Сервис микроблоггинга, позволяющий пользователям выкладывать текстовые сообщения, изображения, видеоролики, ссылки, цитаты и аудиозаписи в их короткоформатный блог. Сервис характеризует себя как «Простейший способ вести блог».

Рисунок 1.7 – Пример блога на платформе Tumblr
2.2.4 Платформа LiveJournal
Официальный сайт: http:// Тип: Блог-платформа |
Рисунок 1.8 – Логотип LiveJournal |
Особенности:
- разные типы записей и возможности их комментирования;
- указание расширенных сведений о пользователе;
- друзья и лента друзей (френдлента);
- картинки пользователей (юзерпики);
- функции безопасности аккаунта.
Блог-платформа, а также отдельный персональный блог, размещённый на этой платформе. Предоставляет возможность публиковать свои и комментировать чужие записи, вести коллективные блоги, добавлять в друзья других пользователей и следить за их записями в «ленте друзей». До недавнего времени отличался отсутствием обязательной рекламы в бесплатных блогах. Ранее самая популярная платформа, однако, с октября 2011 года в материале газеты «Ведомости» отмечается падение популярности «Живого Журнала». Газета ссылается на материалы Comscore и отмечает: с января по август 2011 года месячное число уникальных пользователей ЖЖ снизилось на 8,2 миллионов до 27,7 миллионов (-23 %), а российского сегмента – на 2,8 миллионов до 8,6 миллионов (-25 %). По данным TNS Media Research, в российском сегменте снижение еще выше: – на 3,9 миллионов пользователей (-26 %).

Рисунок 1.9 – Пример блога на платформе LiveJournal
3 Проектирование системы
Разрабатываемая система будет разграничивать пользовательский доступ на две глобальных группы:
- администраторы – имеют доступ к закрытой части сайта (backend), редактированию новостей, изменение настроек сайта;
- пользователи – имеют доступ только к публичной части сайта (frontend).
Необходимо разработать два интерфейса backend и frontend.
Исходя из этой логики работы, составим диаграмму вариантов использования:

Рисунок 2.1 – Диаграмма вариантов использования
3.1 Проектирование пользовательского интерфейса системы
Главная страница блога содержит логотип, краткие отображения постов и внизу, при наличии большого количества постов, разбиение на страницы.

Рисунок 2.2 – Шаблон интерфейса главной страницы
Страница подробного просмотра поста содержит полное отображение поста, поле для комментариев и, при наличии изображений ассоциированных с постом, уменьшенные копии присоединенных изображений (превью).
В поле для комментариев так же находится окно авторизации пользователя.
При клике по превью разворачивается полноразмерное изображение при помощи JavaScript.

Рисунок 2.3 – Шаблон интерфейса страницы подробного просмотра новости
3.2 Проектирование интерфейса административной панели
Административная панель блога для пользователя с правами admin содержит два блока:
- блок для изменения настроек блога;
- блок, в котором выводится все созданные посты и инструменты для их редактирования.
В случае если в административную панель попадает пользователь с правами content, блок изменения настроек не выводится.

Рисунок 2.4 – Шаблон интерфейса административной панели
3.3 Проектирование структуры папок и файлов
Основываясь на разработанном в главах 2.1 и 2.2 интерфейсе, составим диаграмму компонентов системы:

Рисунок 2.5 – Диаграмма компонентов системы
Исходя из диаграммы компонентов указанной на рисунке Рисунок 2.5, опишем структуру папок и файлов разрабатываемой системы:
В корневом каталоге находятся файлы:
1. .htaccess – файл конфигурации веб-сервера Apache.
2. adm. php – файл админ-панели.
3. feed. php – файл RRS-ленты.
4. index. php – файл главной страницы.
5. install. php – файл установки.
6. login. php – файл авторизации.
7. logout. php – файл авторизации.
8. robots. txt – файл настроек индексации.
9. css – папка со стилями оформления.
10. image – папка для хранения загруженных изображений.
11. img – папка с изображениями оформления.
12. inc – папка с вспомогательными файлами блога, содержит:
- config. php – файл с настройками блога;
- settings. php – файл получения настроек из БД;
- connect. php – файл подключения к БД;
- functions. php – функции работы с БД.
13. lng – папка с языковыми файлами блога
14. tpl – папка с шаблонами оформления блога
15. js – папка с необходимыми JavaScript сценариями
16. thumb – папка для хранения уменьшенных копий изобр.
3.4 Выбор программных средств реализации системы
Выбор программных средств играет большое значение для проектируемой системы, поскольку определенные на этом этапе программные продукты, средства разработки и технологии непосредственным образом окажут влияние на распространяемость разработанной системы: чем более распространенными будут используемые при разработке и требуемые для функционирования системы технологии, тем шире круг потенциальных потребителей системы, имеющих возможность ей воспользоваться. Кроме того, выбор среды разработки непосредственно влияет на стоимость и простоту процесса разработки системы.
Для реализации системы будет использоваться:
- языки программирования PHP, HTML, JavaScript;
- база данных MySQL.
PHP и JavaScript выбраны как наиболее развивающиеся и широко распространенные языки программирования для web. К тому же для JavaScript в настоящий момент существует множество фрэймворков, облегчающих рутинные действия. Например самым распространенным и известным является jQuery.
MySQL был выбран исходя из его высокой производительности и кроссплатформенности. Кроссплатформенность позволяет нам использовать разрабатываемую систему на бо̀льшем количестве серверных станций. Так же MySQL позволяет хранить достаточное количество данных в таблицах: до 8 млн ТБ (263 байт) начиная с версии 3.23 [3].
Все указанные выше средства должны поддерживаться веб-сервером. На основе данных с сайта за май 2012 самыми распространенными являются [6]:

Рисунок 2.6 – Статистика использования веб-серверов
Таблица 2.1 – Статистика использования веб-серверов
# | Платформа | Сайтов |
1 | Apache | 1113064 |
2 | Nginx | 283461 |
3 | IIS | 229246 |
4 | OpenGSE | 61504 |
5 | Lighttpd | 14387 |
Поскольку Apache, в отличие от остальных, кроссплатформенный будем использовать именно его.
Так же важным замечанием является то, что все используемые средства являются свободно распространяемыми.
Исходя из выше сказанного, представим структуру взаимодействия пользователя, системы, программных и аппаратных средств; в виде диаграммы развертывания, представленной на рисунке Рисунок 2.7.

Рисунок 2.7 – Диаграмма развертывания
3.5 Даталогическое проектирование базы данных системы
Проектирование БД для любой системы разделяется на следующие этапы:
- определение требований к базе данных;
- концептуальное проектирование базы данных;
- выбор средств реализации базы данных;
- логическое проектирование;
- физическое проектирование.
База данных будет содержать следующие таблицы:
- новости – для хранения новости, текстовой информации (заголовок, содержимое) и служебной информации (идентификатор новости, отображение, дата публикации);
- изображения – для хранения информации об изображении (заголовок, описание, отображение);
- настройки – для хранения настроек блога;
- пользователи – для хранения административных пользователей.
Исходя из указанных требований, построим даталогическую схему базы данных:

Рисунок 2.8 – Даталогическая модель (ER-диаграмма) базы данных
3.6 Требования к техническому обеспечению
В этой главе, в соответствии со спроектированным приложением в предыдущей главе, будут выдвигаться требования к технологической платформе приложения (программной составляющей), и в соответствующих подразделах будет произведен обзор существующих решений и выбор наиболее оптимального варианта.
3.6.1 Расчет необходимого объема внешней памяти
Проведем расчет необходимой внешней памяти для системы по формуле:
VВП = VОС + Vsys + Vsrv + Vadd,
где VОС – объем внешней памяти, занимаемый операционной системой, МБ;
Vsrv – объём внешней памяти, занимаемый web-сервером Apache, МБ;
Vsys – объём внешней памяти, занимаемый системой (БД+файлы) после установки, МБ;
Vadd – объём внешней памяти, занимаемый PHP и MySQL, МБ.
Поскольку разрабатываемая система является кроссплатформенной, то следует рассмотреть варианты использования системы на наиболее распространенных ОС, таковыми являются Microsoft Windows 7 и Debian Linux 6.0.
Для расчета примем, что система функционирует в операционных системах Microsoft Windows 7 и Debian Linux 6.0.
Исходя из системных требований, примем необходимый объем внешней памяти для Microsoft Windows 7 как 16 ГБ, для Debian Linux 6.0 как 650 МБ [7], [8].
Расчет необходимого места для системы Microsoft Windows 7:
VВП = 16384МБ + 5МБ + 200МБ + 500МБ = 17089МБ,
Расчет необходимого места для системы Debian Linux 6.0:
VВП = 650МБ + 5МБ + 200МБ + 500МБ = 1355МБ,
Таким образом, объем дискового пространства, требуемого для работы системы, составит чуть более 1ГБ в случае использования Debian Linux 6.0, и более 10ГБ в случае использования Microsoft Windows 7. Даже минимальная конфигурация распространенных сейчас ЭВМ будет обеспечивать требуемые ресурсы долговременной памяти, однако, на слабых ЭВМ или устройствах с ограниченным количеством памяти рекомендуется использовать Debian Linux 6.0.
3.6.2 Расчет необходимого объема оперативной памяти
Проведем расчет необходимой оперативной памяти по формуле:
VОП = VОС + Vapache + Vmysql,
Для работы ОС Microsoft Windows 7 необходимо минимум VОС = 1ГБ оперативной памяти, Debian Linux 6.0 VОС = 56МБ, web-серверу Apache Vapache = 5МБ, серверу баз данных MySQL Vmysql = 5МБ.
VОПWindows7 = 1024МБ + 5МБ + 5МБ,
VОПDebian6 = 56МБ + 5МБ + 5МБ,
Т. о., в качестве подходящего объема оперативной памяти целесообразно принять 1,5ГБ в случае использования Microsoft Windows 7 и 512МБ в случае Debian Linux 6.0.
3.6.3 Минимальные требования к техническим средствам
На основе выполненных расчётов занимаемой памяти, и исходя из основного назначения системы, сформулируем основные требования к комплексу технических средств.
При использовании Windows 7:
- 32-разрядный (x86) или 64-разрядный (x64) процессор с тактовой частотой 1ГГц или выше;
- 1,5ГБ (для 32-разрядной системы) или 2,5 ГБ (для 64-разрядной системы) оперативной памяти (ОЗУ);
- 20ГБ (для 32-разрядной системы) или 25 ГБ (для 64-разрядной системы) пространства на жестком диске;
- графическое устройство DirectX 9 с драйвером WDDM версии 1.0 или выше.
При использовании Debian Linux 6.0:
- Intel x86, AMD64, ARM – совместимый компьютер с тактовой частотой процессора 512МГц и более;
- объем оперативной памяти не менее 256МБ;
- жесткий диск объемом не менее 2ГБ.
Наиболее оптимальным вариантом используемой ОС является Debian Linux 6.0. Основные факторы, повлиявшие на принятое решение:
- наименьшее потребление технических ресурсов;
- бесплатность решения;
- поддержка этой ОС многими хостинг-провайдерами;
- наличие подробной документации, в т. ч. и на русском языке.
4 Разработка системы
4.1 Разработка физической модели БД
Для перехода от логической модели к физической необходимо определить физические характеристики хранимых записей: типа значений и объема требуемой для хранения значений памяти. Таим образом, физическая модель данных ориентированная на конкретную СУБД.
На физическом уровне основными компонентами физической базы данных являются физические блоки, хранимые записи, указатели, данные переполнения и промежутки между блоками [1]. Взаимосвязи между хранимыми записями, возникающие в результате их группирования или использования индексных структур, могут также рассматриваться как часть физической структуры. Результатом физического проектирования является полностью готовая к внедрению структура базы данных.
Логический уровень позволяет давать сущностям семантические имена более понятные специалистам предметной области. На физическом уровне объекты БД необходимо называть так, как того требуют ограничения СУБД (например, словами, состоящими из латинских букв и символов «_», без использования специальных символов).
Учитывая выбранные в разделе 2.4 средства разработки, рассмотрим физическую реализацию структуры баз данных для СУБД MySQL.
Описание данных, хранимых в таблицах можно представить в виде таблиц 3.1 – 3.4.
В таблице Таблица 3.1 представлена структура таблицы Новости, хранящей новости опубликованные в блоге. В таблице приведены важные поля.
Таблица 3.1– Структура таблицы «Новости» (news)
Название поля | Описание | Тип поля | Дополнительно |
Id | Уникальный идентификатор | INT(11) | Автоинкремент, первичный ключ |
Title | Заголовок новости | TINYTEXT | |
Text | Текст новости | TEXT | |
Cut | Наличие краткого содержимого | TINYINT(1) | |
Image | Наличие изображений | TINYINT(1) | |
Date | Дата публикации новости | DATETIME | |
Pub | Флаг отображения новости | TINYINT(1) |
Таблица 3.2 – Структура таблицы «Изображения» (images)
|
Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 |





