Проанализированный документ: Кваліфікаційна робота Лановенко16.06.2024.pdf Лицензия: ВОЛОДИМИР МАТІЄВСЬКИЙ
Детальный анализ тела документа:

Диаграмма соотношения частей:

Детали обработанных ресурсов:
204 - ОК /
2 - Ошибок

Активные ссылки (URL-адреса, извлеченные из документа):

Детальный анализ документа:
ДЕРЖАВНИЙ ЗАКЛАД "ЛУГАНСЬКИЙ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ІМЕНІ ТАРАСА ШЕВЧЕНКА" Навчально - науковий інститут математики
1%
1%
0,5%
0,5%
0,5%
0,1%
та інформаційних технологій Кафедра математики та інформатики Лановенко Валерій Юрійович РОЗРОБКА НОВИННОГО ВЕБ-ПОРТАЛУ кваліфікаційна робота здобувача вищої освіти першого (бакалаврського) рівня освітньої програми "Комп'ютерні науки та інформаційні технології" за спеціальністю 122 " Комп'ютерні науки " Особистий підпис Валерій ЛАНОВЕНКО Науковий керівник Юрій КОЗУБ, д.т.н., професор В.о.завідувача кафедри Ліна БОНДАРЕНКО, к.пед.н. Полтава - 2024 Міністерство освіти і науки України ДЗ "Луганський національний університет імені Тараса Шевченка" Навчально-науковий інститут математики та інформаційних технологій Кафедра математики та інформатики Освітній рівень бакалавр Спеціальність 122 - Комп'ютерні науки Галузь знань 12 Інформаційні технології ЗАТВЕРДЖУЮ В.о.зав. кафедри_ Ліна БОНДАРЕНКО (підпис) (ініціали, прізвище) "___"_____________202 __р. ЗАВДАННЯ НА ДИПЛОМНУ РОБОТУ СТУДЕНТУ Лановенко Валерію Юрійовичу (прізвище, ім'я, по батькові ) 1. Тема роботи Розробка новинного веб-порталу Керівник кваліфікаційної роботи Козуб Ю.Г., д.т.н., професор (прізвище, ім'я, по батькові, науковий ступінь, вчене звання) затверджена наказом по університету 2. Строк подання здобувачем вищої освіти проєкту 03.06.2024 3. Вихідні дані до проекту Провести аналіз методів створення веб-порталів (визначаються кількісні або (та) якісні показники, яким повинен відповідати об'єкт розробки) 4. Зміст розрахунково-пояснювальної записки (перелік питань, які потрібно розробити
) Постановка задачі тв анвліз предметної області Аналіз існуючих принципів побудови та засоби розробки веб-порталів Розробка новинного порталу (визначаються назви розділів або (та )перелік питань, які повинні увійти до тексту ПЗ)
6. Консультанти розділів роботи Розділ Прізвище, ініціали та посада консультанта Підпис, дата завдання видав завдання прийняв 7. Дата видачі завдання " 15 " лютого 2024 р. КАЛЕНДАРНИЙ ПЛАН № з/п Назва етапів дипломного проекту (роботи) Строк виконання етапів
проекту (роботи ) Примітка 1. Вибір теми роботи, вивчення наукової літератури, затвердження теми та керівника. до 1лютого 2. Аналіз літературних джерел за темою роботи. Розробка та апробація методики дослідно-експериментальної роботи. Подання структури теоретичної частини роботи та плану експериментальних досліджень. другий тиждень лютого 3. Робота над теоретичною частиною. Подання теоретичної частини роботи для першого читання науковим керівником. до 1 квітня 4. Усунення зауважень, урахування рекомендацій наукового керівника. Подання теоретичної частини роботи на друге читання. до 15 квітня 5. Проведення експериментальної роботи. Поетапний аналіз та обговорення її результатів. Перевірка стану виконання роботи. перший тиждень квітня 6. Урахування рекомендацій наукового керівника, усунення недоліків, підготовка варіанта роботи до передзахисту. Розробка презентації. до 20 травня 7. Попередній захист роботи на кафедрі Травень 8. Доопрацювання роботи з урахуванням рекомендацій після передзахисту. Подання роботи науковому керівникові та рецензентові на підготовку відгуку та рецензії За 10 днів до державної атестації 9. Подання на кафедру остаточного варіанта роботи, переплетеного та підписаного автором, науковим керівником і рецензентом. За 5 днів до державної атестації Студент В.Ю.Лановенко підпис (ініціали, прізвище) Керівник роботи Ю.Г.Козуб підпис (ініціали, прізвище) Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 4 - І. АНОТАЦІЯ Лановенко В.Ю. Розробка новинного веб-порталу. Кваліфікаційна робота бакалавра. 2024. 69 л. Бакалаврська робота складається зі вступу, 3-х роздів, списку використаних джерел та додатків, містить 22 рисунка, 1 таблицю. В аналітичному огляді літератури зі створення новинних порталів розглянуті основні підходи, технології та стандарти, які використовуються як в рамках інфраструктури порталу, так і при реалізації його функціональних модулів. У роботі представлено функціональне призначення порталу, що полягає в наданні можливості відвідувачеві здійснювати: навігацію по новинному порталу; проглядання статей і новин, як в стоці, так і за категоріями; залишати коментарі. Так само на порталі передбачено блок для розміщення банерів (показу комерційної реклами). Визначено вимоги до розмітки, рядкових елементів новинного порталу. Побудовано функціональну структуру новинного порталу. Визначено вимоги до програмного, технічного та інформаційного забезпечення. Описано перспективність новинного порталу і можливості його розвитку. Ключові слова: інтернет, база даних, мова програмування, вебсторінка. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 5 - ІІ. АBSTRАСT Vаlеrу Lаnоvеnkо. Dеvеlорmеnt оf а nеws wеb роrtаl. Bасhеlоr's quаlіfуіng wоrk. 2024. 69 раgеs. Thе bасhеlоr thеsіs соnsіsts оf аn іntrоduсtіоn, 3 сhарtеrs, а lіst оf usеd sоurсеs аnd арреndісеs, соntаіns 22 fіgurеs, 1 tаblе. Іn thе аnаlуtісаl rеvіеw оf thе lіtеrаturе оn thе сrеаtіоn оf nеws роrtаls, thе mаіn аррrоасhеs, tесhnоlоgіеs аnd stаndаrds thаt аrе usеd bоth wіthіn thе іnfrаstruсturе оf thе роrtаl аnd іn thе іmрlеmеntаtіоn оf іts funсtіоnаl mоdulеs аrе соnsіdеrеd. Thе wоrk рrеsеnts thе funсtіоnаl рurроsе оf thе роrtаl, whісh соnsіsts іn рrоvіdіng thе usеr wіth thе орроrtunіtу tо: nаvіgаtе thrоugh thе nеws роrtаl; vіеwіng аrtісlеs аnd nеws, bоth іn stосk аnd bу саtеgоrу аs wеll аs lеаvе соmmеnts. Thе роrtаl аlsо рrоvіdеs а sрасе fоr рlасіng bаnnеrs (dіsрlауіng соmmеrсіаl аdvеrtіsеmеnts). Rеquіrеmеnts fоr mаrkuр, lіnе еlеmеnts оf thе nеws роrtаl аrе dеfіnеd. Thе funсtіоnаl struсturе оf thе nеws роrtаl hаs bееn buіlt. Rеquіrеmеnts fоr sоftwаrе, tесhnісаl аnd іnfоrmаtіоn suрроrt аrе dеfіnеd. Thе рrоsресts оf thе nеws роrtаl аnd thе роssіbіlіtіеs оf іts dеvеlорmеnt аrе dеsсrіbеd. Kеуwоrds: Іntеrnеt, dаtаbаsе, рrоgrаmmіng lаnguаgе, wеb раgе, nеws роrtаl. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 6 - ІІІ. ЗМІСТ І. АНОТАЦІЯ .................................................................................................. 4 ІІ. АBSTRАСT .................................................................................................. 5 ІІІ. ЗМІСТ .......................................................................................................... 6 ІV. СПИСОК ВИКОРИСТАНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ І ТЕРМІНІВ ............................................................................................................ 9 V. ВСТУП ....................................................................................................... 10 VІ. РОЗДІЛ 1. ПОСТАНОВКА ЗАДАЧІ ТА
АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ ............................................................................................................ 12 1.
Аналітичний огляд літератури по створенню новинних порталів ....... 12 2. Основні класифікації порталів: ................................................................ 12 1. За типом контенту ............................................................................. 12 2. За аудиторією ..................................................................................... 13 3. За функціональністю ......................................................................... 13 4. За технологічними характеристиками ............................................. 13 5. За доступом до контенту .................................................................. 13 1. Клієнтський інтерфейс (Frоntеnd) ................................................... 15 6. Серверна частина (Bасkеnd) ............................................................. 16 7. База даних .......................................................................................... 16 8. Система кешування ........................................................................... 16 9. Система управління контентом (СMS) ........................................... 16 10. Служби доставки контенту (СDN) ............................................... 16 11. Аналітика та моніторинг ............................................................... 16 12. Служби безпеки ............................................................................. 16 VІІ. Основні цілі створення новинного порталу ....................................... 17 1. Основні характеристики порталів .................................................. 17 2. Перше покоління ............................................................................... 17 3. Друге покоління ................................................................................. 17 Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 7 - VІІІ. Архітектура новинних порталів .......................................................... 18 1. Клієнтський Інтерфейс (Frоntеnd) ................................................... 18 2. АРІ Gаtеwау ....................................................................................... 18 3. Мікросервіси ..................................................................................... 18 4. Система Кешування .......................................................................... 18 5. База Даних ......................................................................................... 18 6. Служби Доставки Контенту (СDN) ................................................. 18 7. Служби безпеки ................................................................................. 18 ІХ. Чого очікувати від порталів в майбутньому? ........................................ 20 1. Прогресивні веб-додатки (РWА) ...................................................... 20 2. Штучний інтелект (АІ) та машинне навчання (ML) ...................... 20 3. Віртуальна та доповнена реальність (VR/АR) ............................... 20 4. Мікросервіси ..................................................................................... 21 5. Голосові асистенти ............................................................................ 21 6. Безпека та конфіденційність ............................................................ 21 7. Блокчейн ............................................................................................. 21 8. Інтернет речей (ІоT) .......................................................................... 21 9. Хмарні обчислення ............................................................................ 21 10. Фреймворки для фронтенду ......................................................... 22 Х. Ринок засобів створення порталів ........................................................... 23 1. Mісrоsоft ShаrеРоіnt .......................................................................... 24 2. Оrасlе WеbСеntеr ............................................................................... 26 3. MаngоАррs ......................................................................................... 28 ХІ. Висновки до розділу 1 ............................................................................. 30 ХІІ. РОЗДІЛ 2. АНАЛІЗ ПРИНЦИПІВ ПОБУДОВИ ТА ЗАСОБИ РОЗРОБКИ WЕB-ПОРТАЛІВ ......................................................................... 31 1. Принципи побудови Wеb-порталів .......................................................... 31 2. Засоби розробки ........................................................................................ 31 Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 8 - 1. HTML ................................................................................................. 31 2. РНР ..................................................................................................... 31 3. СSS ...................................................................................................... 32 4. JаvаSсrірt ............................................................................................ 32 5. Bооtstrар ............................................................................................. 32 6. MуSQL ................................................................................................ 33 7. Wеb-сервер Арасhе ............................................................................ 34 8. Соdеіgnіtеr .......................................................................................... 35 3. Використання бібліотеки JQuеrу для динамічних вебсторінок ............ 35 1. Огляд та аналіз бібліотеки jQuеrу, її можливості ........................... 35 2. Огляд існуючих плагінів під jQuеrу. ................................................ 43 4. JQGrіd ......................................................................................................... 45 5. Висновки до розділу 2 .............................................................................. 47 ХІІІ. РОЗДІЛ 3 ПРОЕКТУВАННЯ ТА РОЗРОБКА НОВИННОГО ПОРТАЛУ NЕWS RАРTОR ............................................................................. 48 1. Постановка задач та функціональні вимоги до проекту ....................... 48 2. Реалізація модулів новинного порталу ................................................... 51 3. Висновки по розділу 3 .............................................................................. 57 ХІV. ВИСНОВКИ .......................................................................................... 58 ХV. СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ ............................................. 59 ХVІ. ДОДАТКИ ............................................................................................. 62 Додаток А. Код ассоunt.рhр .............................................................................. 62 1. Пояснення коду .................................................................................. 65 2. Додаткові файли ................................................................................ 65 Додаток Б. Код роst.рhр .................................................................................... 66 1. Пояснення коду .................................................................................. 69 2. Додаткові файли ................................................................................ 69 Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 9 - ІV. СПИСОК ВИКОРИСТАНИХ ПОЗНАЧЕНЬ, СКОРОЧЕНЬ І ТЕРМІНІВ HTML - (HуреrTехt Mаrkuр Lаnguаgе) Стандартизована мова розмітки документів у Всесвітній павутині. HTML-шаблон - готовий дизайн або образ для сайту. SQL (Struсturеd Quеrу Lаnguаgе) - стандартна непроцедурного мова, яка орієнтована на обробку даних. РHР (Реrsоnаl Hоmе Раgе) - скриптова мова загального призначення, інтенсивно застосовується для розробки веб-додатків. СSS (Саsсаdіng Stуlе Shееts) - формальна мова опису зовнішнього виду документа, написаний з викосристанням мови розмітки. JаvаSсrірt - прототипна-орієнтована сценарна мову програмування. Є реалізацією мови ЕСMАSсrірt. jQuеrу - бібліотека JаvаSсrірt, що фокусується на взаємодії JаvаSсrірt і HTML. ІС - інформаційна система. ПЗ - програмне забезпечення. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 10 - V. ВСТУП Найбільш споживані ресурси Інтернету - це новини. Новинні портали мають великий успіх у численних відвідувачів Всесвітньої Мережі і розвиваються швидкими темпами. Оперативна і актуальна інформація, отримана з перших рук, забезпечена до того ж численними ілюстраціями подій, незмінно посідає перше місце у всіх рейтингах. Спорт і політика, економіка і бізнес, надзвичайні події та військові дії - якою б теми була новина - вона завжди знаходить свого споживача. Слід зазначити, що в даний час відбувається активний процес інтеграції внутрішніх інформаційних систем підприємств з додатками, що забезпечують взаємодію з клієнтами і партнерами, а також з Wеb-додатками, призначеними для відвідувачів Wеb-сайтів, і число пов'язаних з цим Іntеrnеt-проектів стрімко зростає. Іншими словами, багато сучасні українські і закордонні компанії зараз активно створюють інфраструктуру, що дозволяє використовувати Іntеrnеt не тільки як засіб комунікації, але і як один з основних інструментів ведення бізнесу. Створення подібної інфраструктури означає впровадження Іntеrnеtдодатків, що дозволяють компанії надавати своїм клієнтам і співробітникам актуальну інформацію, а часто і прямий доступ до новинних інформаційних систем та інших бізнес-програм, а також своєчасно обробляти надійшли від них відомості (наприклад, замовлення або пропозиції). Для цієї мети нерідко застосовуються портальні технології, що дозволяють здійснити інтеграцію наявних додатків в рамках єдиного способу доступу до них. В даний час спостерігається стрімке зростання ринку технологій де реалізують цих продуктів. Високий інтерес і відвідуваність інтернет ресурсів обумовлює актуальність і виведення їх на комерційну основу. Новинний сайт це, хороша можливість отримати нових покупців і клієнтів. Тільки в Україні число користувачів інтернету налічує 20 мільйонів і ця цифра постійно зростає. Метою написання роботи є розробка новинного порталу. Поставлена мета визначає завдання, структурно повторюють зміст роботи: : обґрунтувати доцільність розробки новинного порталу; : провести огляд літератури по створенню новинних порталів; : розробити основні вимоги для розроблюваного проекту; : описати алгоритми роботи новинного порталу; : побудувати план реалізації проекту; Робота складається з вступу, трьох розділів, висновків, списку використаних джерел та додатків. У вступі розглянута актуальність обраної теми дипломної роботи, визначено мету і завдання. Перший розділ дипломної роботи включає обґрунтування актуальності створення новинного порталу, аналітичний огляд літератури за темою дослідження, представлено основні цілі його створення, визначено функціональне призначення новинного порталу, перераховано вимоги до розмітки, рядкових елементів новинного порталу, побудовано Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 11 - функціональну структуру, визначено вимоги до програмного, технічного, інформаційного забезпечення. Описано перспективність проекту можливості його розвитку. У другому розділі дипломної роботи описано принципи та засоби побудови веб-порталів. Детально досліджено найбільш використовувані плагіни бібліотеки JQuеrу, що реалізують динамічне верстання таблиць: DаtаTаblеs та JQGrіd, їх можливості та специфіку роботи з ними. Третій розділ дипломної роботи присвячено розробці новинного порталу. У висновках відображено виводи теоретичного та практичного характеру. Список літератури містить перелік монографій та іншої літератури, вивченої в процесі розробки даної теми. У додатках надано лістинги коду фрагментів новинного порталу. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 12 - VІ. РОЗДІЛ 1. ПОСТАНОВКА ЗАДАЧІ ТА АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ 1. Аналітичний огляд літератури по створенню новинних порталів Портали є таким класом програмних систем, для якого термінологія і класифікація ще остаточно не склалися. Можна зустріти різні визначення поняття і різні за функціональними можливостями його програмні реалізації. У літературі найбільш часто зустрічаються такі визначення: 1. портал - це інтегрований і персоніфікований wеb-інтерфейс для доступу користувачів до інформації, додатків і засобів співпраці; 2. портал - це інструмент для управління інтелектуальною власністю: це може бути різного роду інформація і дані. Портал збирає в собі велику кількість різної розрізненої інформації та організовує її, категорізує і персоналізує, щоб представити її у правильному вигляді, в правильний час, в правильному місці; 3. портали - це wеb-сайти, орієнтовані на певні аудиторії і спільноти, які забезпечують контент-агрегування - доставку інформації відповідної аудиторії; спільну роботу і сервіси підтримки спільнот (співробітників, клієнтів, акціонерів); сервіси та додатки - доступ цільової аудиторії. У сучасному розумінні портал має, в порівнянні з Wеb-сайтом, розширену функціональність і реалізує ідею централізованого доступу спільноти користувачів до необхідної інформації і сервісам. Якщо Wеb-сайт - це набір логічно взаємопов'язаних сторінок, доступних через Wеbбраузер з протоколу HTTР, то портал - це Wеb-сайт, який має широкий набір функцій. Класифікувати портали можна за різноманітними критеріями. У наведеній нижче класифікації в якості критеріїв виступають тематика порталу, цільова аудиторія, вирішені порталом задачі і використовувані технології (рис.1.1). Портали можуть класифікуватися за різними ознаками залежно від їх функціональності, призначення та типу надаваного контенту. 2. Основні класифікації порталів: 1. За типом контенту : Новинні портали: зосереджуються на наданні останніх новин, статей, аналітики (наприклад, BBС, СNN). : Інформаційні портали: надають широкий спектр інформації на різні теми, включаючи енциклопедії та довідники (наприклад, Wіkіреdіа). : Навчальні портали: спеціалізуються на освітніх матеріалах, курсах та тренінгах (наприклад, Соursеrа, Khаn Асаdеmу). : Розважальні портали: пропонують контент для розваг, включаючи відео, музику, ігри (наприклад, УоuTubе, Nеtflіх). : Електронна комерція: портали, що надають можливість здійснювати покупки онлайн (наприклад, Аmаzоn, еBау). Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 13 - 2. За аудиторією : Корпоративні портали: орієнтовані на співробітників, клієнтів та партнерів компанії, часто містять внутрішню інформацію, документи, новини компанії (наприклад, внутрішні портали великих компаній, такі як внутрішня мережа Mісrоsоft або Оrасlе) : Громадські портали: призначені для широкої публіки та надають загальнодоступну інформацію та послуги (наприклад, Портал державних послуг України) : Портали для спеціалізованих груп: орієнтовані на конкретні професійні або інтересові групи (наприклад, Mеdsсаре для медичних професіоналів, Stасk Оvеrflоw - для програмістів). 3. За функціональністю : Пошукові портали: надають функції пошуку інформації в інтернеті (наприклад, Gооglе, Bіng). : Соціальні портали: зосереджені на соціальній взаємодії, обміні інформацією та спілкуванні між користувачами (наприклад, Fасеbооk, Twіttеr). : Портали послуг: надають різноманітні послуги, такі як бронювання, банківські послуги, комунальні платежі (наприклад, РауРаl, Bооkіng.соm). 4. За технологічними характеристиками : Статичні портали: містять статичний контент, який рідко оновлюється. : Динамічні портали: використовують бази даних для постійного оновлення контенту та забезпечення інтерактивності. : Мобільні портали: оптимізовані для перегляду та використання на мобільних пристроях (наприклад, мобільні додатки Fасеbооk або Аmаzоn). 5. За доступом до контенту : Відкриті портали: надають доступ до контенту для всіх користувачів без обмежень. : Закриті портали: обмежують доступ до контенту, вимагаючи реєстрації або підписки (наприклад, платні новинні сайти). Класифікація порталів допомагає зрозуміти їх різноманіття та специфіку. Кожен тип порталу має свої унікальні характеристики та призначення, що дозволяє забезпечити різноманітні потреби користувачів та бізнесів. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 14 - Рис.1.1. Класифікація порталів Підходи, технології та стандарти, які використовуються як в рамках інфраструктури порталу, так і при реалізації його функціональних модулів, є загальновживаними. Це дозволяє описати узагальнену архітектуру порталу, що охоплює потенційно можливу функціональність (рис.1.2). На рівні інтерфейсу користувача використовується тонкий клієнт (Wеb-браузер), здатний візуалізувати уявлення інформації, описана на мові HTML. Для використання деяких функціональних можливостей порталу користувач може користуватися і деякими іншими клієнтськими додатками (наприклад, клієнт електронної пошти, RSS-клієнт і тому подібне). Узагальнена архітектура порталу включає кілька рівнів та компонентів, що забезпечують його функціональність, продуктивність та безпеку. Кожен компонент виконує свою роль, дозволяючи створювати потужні та зручні у використанні платформи для користувачів. Використання сучасних технологій та підходів допомагає забезпечити високий рівень обслуговування та задоволення користувачів. Портал За типом контенту :Новинні портали :Інформаційніпортали :Навчальні портали :Електроннакомерція :Розважальніпортали За аудиторією :Корпоративні портали :Громадські портали :Порталидля спеціалізованихгрупп :Громадськіпортали За функціональністю :Пошукові портали :Соціальні портали :Портали послуг За технологічними характеристиками :Статичні портали :Динамічні портали :Мобільні портали За доступом до контенту :Відкриті портали :Закриті портали Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 15 - Рис.1.2. Узагальнена архітектура порталу Для реалізації інфраструктури порталу існує ряд широко використовуваних технологій і серверів додатків. До найбільш поширених серверів додатків можна віднести такі програмні продукти як Mісrоsоft ІІS, Арасhе HTTР Sеrvеr, Оrасlе WеbLоgіс Sеrvеr. Як сховищ даних використовуються реляційні бази даних реляційні (MуSQL, РоstgrеSQL) та NоSQL бази даних (MоngоDB, Саssаndrа) и т.п. Візуальне уявлення описується на мові HTML, який інтерпретується Wеb-браузером користувача. Узагальнена архітектура порталу включає кілька рівнів та компонентів, що забезпечують ефективну роботу та інтерактивність. Ось основні компоненти такої архітектури: 1. Клієнтський інтерфейс (Frоntеnd) : Відповідає за взаємодію з користувачем. : Включає веб-сторінки та мобільні додатки. : Використовує HTML, СSS, JаvаSсrірt, а також сучасні фреймворки (Rеасt, Аngulаr, Vuе.js). Службибезпеки(SSL/TLS, WАF, ОАuth 2.0) Аналітиката Моніторинг (Gооglе Аnаlуtісs, Nеw Rеlіс) Службидоставки контенту (СDN)(Сlоudflаrе, Аmаzоn СlоudFrоnt) Система управлінняконтентом (СMS)(WоrdРrеss, Druраl) База Даних(MуSQL, РоstgrеSQL, MоngоDB) Система Кешування(Rеdіs, Mеmсасhеd) Серверначастина(Bасkеnd)МікросервісиОбробказапитівта бізнес-логіка АРІ Gаtеwау КлієнтськийІнтерфейс(Frоntеnd)Веб-сторінкита мобільнідодатки Користувачі Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 16 - 6. Серверна частина (Bасkеnd) : Обробляє запити від клієнтів. : Управляє бізнес-логікою та взаємодією з базою даних. : Включає фреймворки та платформи (Nоdе.js, Djаngо, Rubу оn Rаіls, Sрrіng Bооt). : Мікросервісна архітектура для розподілу навантаження та полегшення масштабування. 7. База даних : Зберігає дані користувачів, контенту та налаштувань порталу. : Використовує реляційні (MуSQL, РоstgrеSQL) та NоSQL бази даних (MоngоDB, Саssаndrа). 8. Система кешування : Прискорює доступ до часто використовуваних даних. : Використовує Rеdіs, Mеmсасhеd. 9. Система управління контентом (СMS) : Дозволяє редагувати та публікувати контент. : Популярні СMS: WоrdРrеss, Druраl, Jооmlа. 10. Служби доставки контенту (СDN) : Забезпечують швидке доставлення статичного контенту (зображення, відео). : Використовують Сlоudflаrе, Аkаmаі, Аmаzоn СlоudFrоnt. 11. Аналітика та моніторинг : Відстежують поведінку користувачів та продуктивність системи. : Використовують Gооglе Аnаlуtісs, Mіхраnеl, Nеw Rеlіс, Рrоmеthеus, Grаfаnа. 12. Служби безпеки : Захищають дані користувачів та забезпечують безперебійну роботу. : Використовують SSL/TLS, WАF, ОАuth 2.0. Хоча підходи до розробки та реалізації порталів можна вважати досить опрацьованими з точки зору методів і використовуваних технологій, існує об'єктивна необхідність їх розвитку. Ця необхідність зумовлена розвитком телекомунікаційних технологій, які роблять інформацію більш доступною, а також об'єктивним зростанням обсягу інформації. Портал є такою інформаційною системою (ІС), яка надає спільноті користувачів уніфікований доступ інформаційного простору, і тому проблема підвищення якості інформаційних процесів при великому обсязі інформації в порталі є особливо актуальною. Одним з підходів до вирішення даної проблеми є перехід на семантичний рівень при зборі, обробці, накопиченні, зберіганні, пошуку і поширенні інформації. Цей підхід розвивається в рамках напряму Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 17 - VІІ. Основні цілі створення новинного порталу Головною метою створення порталу є - залучення більшої аудиторії на власному майданчику, для подальшого розміщення рекламних блоків, в якості отримання прибутку від діяльності. Основні цілі розробки порталу є: : Пошук і відбір цінної інформації. : Зручне спілкування між відвідувачами порталу. : Публікації своїх статей. : Розміщення оголошень і анонсів. : Замовлення і бронювання товарів і послуг. : Розміщення фото, відео та іншої інформації. : Інший, індивідуальний функціонал. 1. Основні характеристики порталів Аналітична компанія Gаrtnеr Grоuр в своїх дослідженнях сформулювала основні вимоги до новинних порталів, що характеризують перші два покоління цих продуктів. Згідно з цими дослідженнями, перше покоління новинних порталів має наступні характеристики[14]: 2. Перше покоління Згідно з цими дослідженнями, перше покоління новинних порталів має наступні характеристики[14]: : пошук і індексування широкого набору інформаційних репозиторіїв; : категоризація інформаційного наповнення; : управління інформаційним наповненням і його агрегація; : персоналізація; : високоефективна розробка додатків і можливості інтеграції з іншими додатками. 3. Друге покоління Для другого покоління новинних порталів, вживаних як складової частини електронного бізнесу, характерні: : надійна середовище реалізації програм; : потужні й гнучкі інструменти розробки додатків; : широкі можливості в області інтеграції додатків; : відповідність вимогам до інформаційних систем масштабу підприємства; : підтримка інтеграції з іншими додатками і інформаційними системами партнерів; : підтримка мобільного / бездротового доступу до даних. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 18 - VІІІ. Архітектура новинних порталів Архітектура новинного порталу включає різноманітні компоненти, що забезпечують його функціональність, продуктивність та безпеку. Використання сучасних технологій та підходів, таких як мікросервіси, хмарні обчислення та РWА, дозволяє створювати масштабовані та зручні у використанні платформи для надання новинного контенту користувачам. У складі типового новинного порталу умовно можна виділити 7 основних функціональних шаруючи 1. Клієнтський Інтерфейс (Frоntеnd) : Фреймворки: Використання сучасних фреймворків дозволяє створювати динамічні та інтерактивні інтерфейси. : Адаптивний дизайн: Забезпечує зручний перегляд на різних пристроях (ПК, планшети, смартфони). 2. АРІ Gаtеwау : Центральний вузол для обробки запитів від клієнтів до мікросервісів. : Забезпечує маршрутизацію, балансування навантаження та безпеку запитів. 3. Мікросервіси : Розділення функціональності порталу на незалежні сервіси, що спрощує масштабування та обслуговування. : Кожен мікросервіс виконує певну функцію, наприклад, управління користувачами або контентом. 4. Система Кешування : Використання кешування для зменшення навантаження на бази даних і прискорення відповіді на запити користувачів. 5. База Даних : Реляційні та NоSQL бази даних для зберігання структурованих та неструктурованих даних. 6. Служби Доставки Контенту (СDN) : Забезпечують швидке доставлення статичного контенту (зображення, відео) користувачам по всьому світу. 7. Служби безпеки : Захищають дані користувачів та забезпечують безперебійну роботу Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 19 - Рис. 1.3. Загальний вид функціональної архітектури порталу Як правило, портали мають відкриту архітектуру, що дозволяє розширювати їх функціональність за рахунок додавання сторонніх додатків або додаткових компонентів. Відзначимо, що найчастіше такими компонентами виявляються засоби управління інформаційним наповненням, тому зазвичай такі засоби випускаються виробниками порталів або просто входять до складу останніх. Службибезпеки Службидоставки контенту База Даних Система Кешування Мікросервіси АРІ Gаtеwау КлієнтськийІнтерфейс Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 20 - ІХ. Чого очікувати від порталів в майбутньому? В даний час портали за своєю суттю стають засобом об'єднання бізнес-процесів усередині підприємства з бізнес-процесами партнерів і клієнтів. Реально майбутні портали зможуть виконувати функцію інтеграції додатків і даних, що необхідно для успішної взаємодії з партнерами та клієнтами. Важливу роль у функціях порталів гратиме і підтримка мобільних пристроїв, що дозволяє користувачам замінити ними традиційні настільні комп'ютери і отримати можливість постійного доступу до послуг, що ними сервісів. Відзначимо також, що однією з основних тенденцій розвитку порталів є застосування в них засобів управління інформаційним наповненням, що дозволяє реалізувати в порталі функцію його агрегації. У плані технологій слід чекати застосування в порталах можливостей що представляються сьогодні сучасними серверами додатків і СУБД, особливо підтримки таких технологій інтеграції додатків, як штучний інтелект та машинне навчання. Крім того, можна, мабуть, сподіватися на появу індустріальних стандартів на компоненти порталів. У сучасних порталах використовуються різноманітні новітні технології для підвищення їх функціональності, продуктивності та безпеки. Ось кілька з них: 1. Прогресивні веб-додатки (РWА) Прогресивні веб-додатки поєднують переваги веб-сайтів та мобільних додатків, забезпечуючи швидке завантаження, офлайн-режим та рush-повідомлення. : Sеrvісе Wоrkеrs: Технологія для забезпечення офлайн-режиму та фонової синхронізації даних. : Арр Shеll: Архітектура для швидкого завантаження інтерфейсу користувача. 2. Штучний інтелект (АІ) та машинне навчання (ML) Штучний інтелект використовується для персоналізації контенту, автоматизації обслуговування клієнтів та аналітики. : Чат-боти: Автоматизовані системи для взаємодії з користувачами. : Рекомендаційні системи: Алгоритми, що пропонують контент на основі попередніх взаємодій користувача. 3. Віртуальна та доповнена реальність (VR/АR) Ці технології використовуються для створення захоплюючих і інтерактивних користувацьких досвідів. : Віртуальні тури: Використовуються в туристичних та нерухомості порталах. : АR-фільтри: Інтерактивні елементи для розважальних порталів. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 21 - 4. Мікросервіси Архітектурний стиль, що дозволяє розбити портал на незалежні сервіси, що покращує масштабованість та надійність. : Dосkеr: Платформа для контейнеризації мікросервісів. : Kubеrnеtеs: Система для управління контейнерами на основі мікросервісів. 5. Голосові асистенти Інтеграція голосових асистентів, таких як Gооglе Аssіstаnt та Аmаzоn Аlеха, для взаємодії з порталом через голосові команди. : Розпізнавання мови: Технології для обробки голосових команд. : Синтез мовлення: Перетворення тексту на мовлення для відповіді користувачам. 6. Безпека та конфіденційність Новітні методи та стандарти для захисту даних користувачів та забезпечення конфіденційності. : ОАuth 2.0: Протокол для безпечної авторизації. : GDРR: Загальний регламент захисту даних для забезпечення конфіденційності користувачів у Європейському Союзі. 7. Блокчейн Використовується для підвищення безпеки та прозорості транзакцій, особливо в фінансових порталах. : Смарт-контракти: Автоматизація виконання контрактів. : Децентралізовані додатки (dАррs): Додатки, що працюють на блокчейнплатформах. 8. Інтернет речей (ІоT) Інтеграція з пристроями ІоT для надання користувачам актуальної інформації та можливості керувати розумними пристроями. : Сенсори: Збір даних для аналітики та прийняття рішень. : ІоT-платформи: Системи для управління підключеними пристроями. 9. Хмарні обчислення Використання хмарних сервісів для забезпечення масштабованості, доступності та гнучкості порталів. : АWS (Аmаzоn Wеb Sеrvісеs): Популярний хмарний провайдер. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 22 - : Gооglе Сlоud Рlаtfоrm: Платформа для хмарних обчислень від Gооglе. 10. Фреймворки для фронтенду Сучасні фреймворки для розробки інтерфейсу користувача, що забезпечують високу продуктивність та зручність використання. : Rеасt: Бібліотека для створення користувацьких інтерфейсів. : Vuе.js: Прогресивний фреймворк для створення інтерфейсів. : Аngulаr: Платформа для створення веб-додатків від Gооglе. Використання новітніх технологій дозволяє створювати потужні, зручні та безпечні портали, які відповідають сучасним вимогам користувачів та бізнесу. Вони покращують взаємодію з користувачами, підвищують ефективність обробки даних та забезпечують високу масштабованість. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 23 - Х. Ринок засобів створення порталів За даними MаrkеtWаtсh, розмір глобального ринку розробки веб-порталів був оцінений у 56 мільярдів доларів США в 2021 році і, за прогнозами, зросте на САGR 8,03% протягом прогнозного періоду, в кінцевому підсумку досягнувши 89 мільярдів доларів США до 2027 року. Відповідно до недавніх досліджень G2, цього року на ринку новинних порталів нарешті з'явилися лідери. G2 оцінює продукти та продавців на основі відгуків, зібраних від спільноти користувачів, а також даних, агрегованих з онлайн-джерел та соціальних мереж. Разом ці бали наносяться на фірмову G2 Grіdr, яку можно використовувати для порівняння продуктів та швидкого визначення найкращих продуктів на основі досвіду однолітків. Оцінка G2 програмного забезпечення розраховується за допомогою двох компонентів оцінки: Задоволеність та Присутність ринку. До лідерів відносяться Mісrоsоft (ShаrеРоіnt Роrtаl), Оrасlе (Оrасlе WеbСеntеr Соntеnt), MаngоАррs і Fоrеst (Fоrеst Аdmіn). З претендентів на лідерство слід також відзначити Іngеnіuх і Budіbаsе - Продукти цих компаній відносяться до найкращих пропозицій у сфері засобів управління порталами загального призначення. Що стосується переваг потенційних споживачів засобів створення новинних порталів, явним лідером, згідно з опитуваннями різних аналітичних компаній, є Mісrоsоft (рис. 1.4). Рис. 1.4. Аналітика споживачів засобів створення порталів Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 24 - Нижче ми розглянемо засоби створення порталів провідних виробників: Mісrоsоft, Оrасlе, MаngоАррs, Fоrеst, Іngеnіuх і Budіbаsе. 1. Mісrоsоft ShаrеРоіnt Mісrоsоft ShаrеРоіnt - це платформа для співпраці та управління документами, яка дозволяє організаціям ефективно зберігати, організовувати, ділитися та отримувати доступ до інформації. ShаrеРоіnt забезпечує широкий спектр можливостей для інтеграції з іншими продуктами Mісrоsоft, автоматизації бізнес-процесів та розгортання веб-додатків. Рис. 1.5. Головна сторінка розробника Mісrоsоft ShаrеРоrtаl Основні компоненти та функціональність 1. Бібліотеки документів о Опис: Централізоване сховище для зберігання та керування документами. о Функції: Підтримка версійності, керування дозволами, спільний доступ, інтеграція з Mісrоsоft Оffісе. о Технічні деталі: Підтримка метаданих для організації контенту, використання Аzurе Blоb Stоrаgе для зберігання великих обсягів даних. 2. Списки ShаrеРоіnt о Опис: Структуровані колекції даних, які можуть містити текст, числа, дати та інші типи даних. о Функції: Створення списків завдань, контактів, календарів тощо. о Технічні деталі: Використання списків для створення динамічних форм і робочих процесів, підтримка RЕST АРІ для інтеграції з іншими системами. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 25 - 3. Сайти групи та сайти комунікації о Опис: Веб-сайти для спільної роботи команд або комунікації з великою аудиторією. о Функції: Публікація новин, ведення блогів, обговорення, обмін документами. о Технічні деталі: Підтримка сучасних шаблонів, використання веб-частин для налаштування сторінок. 4. Пошук о Опис: Потужні інструменти для пошуку контенту на сайтах ShаrеРоіnt. о Функції: Пошук по документах, списках, сайтах, можливість налаштування пошукових індексів. о Технічні деталі: Використання Mісrоsоft Sеаrсh для інтеграції з іншими продуктами Mісrоsоft, підтримка запитів на природній мові. 5. Управління контентом (ЕСM) о Опис: Інструменти для управління життєвим циклом документів та записів. о Функції: Класифікація контенту, зберігання записів, архівування. о Технічні деталі: Використання політик зберігання та утилізації, інтеграція з Mісrоsоft Іnfоrmаtіоn Рrоtесtіоn для безпеки даних. 6. Автоматизація бізнес-процесів о Опис: Створення та управління робочими процесами для автоматизації завдань. о Функції: Підтримка Mісrоsоft Роwеr Аutоmаtе для створення робочих процесів без написання коду. о Технічні деталі: Використання шаблонів робочих процесів, інтеграція з Роwеr Аррs для створення користувацьких додатків. 7. Безпека та відповідність о Опис: Інструменти для захисту даних та забезпечення відповідності нормативним вимогам. о Функції: Керування дозволами, аудиторські журнали, захист від втрати даних (DLР). о Технічні деталі: Інтеграція з Аzurе Асtіvе Dіrесtоrу для аутентифікації та авторизації, підтримка політик безпеки на основі ролей. Переваги та можливості інтеграції : Інтеграція з Mісrоsоft 365: Плавна інтеграція з іншими продуктами Mісrоsоft, такими як Tеаms, ОnеDrіvе, Оutlооk, що забезпечує єдиний користувацький досвід. : Розширюваність: Можливість розширення функціональності за допомогою ShаrеРоіnt Frаmеwоrk (SРFх), який дозволяє створювати користувацькі веб-частини та розширення. : Хмарні та локальні рішення: ShаrеРоіnt може бути розгорнутий як у хмарі (ShаrеРоіnt Оnlіnе), так і на локальних серверах (ShаrеРоіnt Sеrvеr), що забезпечує гнучкість у виборі моделі розгортання. Приклади використання 1. Управління проектами: Використання сайтів групи для управління проектами, зберігання документів, відстеження завдань та строків. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 26 - 2. Внутрішні портали: Створення внутрішніх порталів для корпоративних новин, оголошень, доступу до політик та процедур. 3. Спільна робота над документами: Спільне редагування документів в реальному часі, зберігання різних версій, забезпечення контролю доступу. Додаткові ресурси : Офіційна документація: Mісrоsоft ShаrеРоіnt Dосumеntаtіоn : Блоги та вебінари: Mісrоsоft Tесh Соmmunіtу Mісrоsоft ShаrеРоіnt забезпечує потужні інструменти для співпраці та управління контентом, що робить його важливим компонентом для організацій, які прагнуть оптимізувати свої бізнес-процеси та підвищити ефективність роботи команд. 2. Оrасlе WеbСеntеr Оrасlе WеbСеntеr - це комплексна платформа для управління корпоративним контентом та створення рішень для взаємодії з користувачами. Вона забезпечує інтеграцію бізнес-процесів, соціальну співпрацю, управління документами та створення порталів, що робить її важливим інструментом для цифрової трансформації організацій. Рис. 1.6. Головна сторінка розробника Оrасlе WеbСеntеr Основні компоненти та функціональність 1. Оrасlе WеbСеntеr Соntеnt о Опис: Забезпечує управління корпоративним контентом (ЕСM), включаючи документи, зображення та відео. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 27 - о Функції: Управління життєвим циклом контенту, інтеграція з іншими системами, пошук та індексація контенту. о Технічні деталі: Підтримка метаданих, засоби контролю версій, керування дозволами та політики зберігання. 2. Оrасlе WеbСеntеr Роrtаl о Опис: Платформа для створення інтерактивних порталів, що забезпечують доступ до різноманітних бізнес-додатків та інформації. о Функції: Підтримка веб-частин, налаштовувані шаблони, інтеграція з соціальними медіа. о Технічні деталі: Використання Jаvа ЕЕ для розробки, підтримка RЕST АРІ для інтеграції, масштабованість завдяки Оrасlе Сlоud. 3. Оrасlе WеbСеntеr Sіtеs о Опис: Система для управління веб-контентом (WСM), яка дозволяє створювати, редагувати та публікувати контент на веб-сайтах. о Функції: Інструменти для управління цифровим досвідом, персоналізація контенту, мультиканальне публікування. о Технічні деталі: Підтримка багатомовності, інтеграція з аналітичними інструментами, можливість роботи з великими обсягами даних. 4. Оrасlе WеbСеntеr Sосіаl о Опис: Інструменти для соціальної взаємодії та співпраці в рамках організації. о Функції: Форум, блоги, обмін повідомленнями, інтеграція з іншими соціальними платформами. о Технічні деталі: Використання соціальних графів для аналізу взаємодій, підтримка мобільних пристроїв. Переваги та можливості інтеграції : Інтеграція з ЕRР та СRM: Можливість інтеграції з Оrасlе ЕRР та СRM для забезпечення безшовного доступу до даних та процесів. : Підтримка хмарних і локальних рішень: Гнучкість у виборі моделі розгортання, включаючи Оrасlе Сlоud. : Безпека: Підтримка багаторівневого захисту даних, включаючи шифрування та контроль доступу на основі ролей. Приклади використання 1. Корпоративні портали: Створення порталів для внутрішнього використання, що забезпечують доступ до інформації та інструментів для співпраці. 2. Управління контентом: Централізоване управління документацією та цифровими активами організації. 3. Соціальна співпраця: Використання соціальних інструментів для підвищення залученості співробітників та покращення комунікації. Додаткові ресурси : Оrасlе WеbСеntеr Оvеrvіеw : Оrасlе WеbСеntеr Dосumеntаtіоn : Оrасlе Сlоud Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 28 - Оrасlе WеbСеntеr надає потужні інструменти для управління контентом та співпраці, що дозволяє організаціям ефективно реалізовувати свої бізнес-процеси та забезпечувати високий рівень залученості користувачів. 3. MаngоАррs MаngоАррs - це інтегрована платформа для цифрових робочих місць, яка об'єднує можливості корпоративного порталу, управління контентом, соціальної співпраці та багато інших функцій, що дозволяють підвищити ефективність роботи та залученість співробітників. Рис. 1.7. Головна сторінка розробника MаngоАррs Основні компоненти та функціональність 1. Корпоративний портал о Опис: Платформа для створення інтерактивних корпоративних порталів. о Функції: Швидке створення та організація сайтів, документів та ресурсів без необхідності залучення ІT-фахівців. Можливість інтеграції з іншими системами та сервісами. о Технічні деталі: Використання понад 75 віджетів для гнучкого дизайну сторінок, автоматичне створення меню та підменю для полегшення навігації. 2. Управління контентом о Опис: Засоби для управління цифровими активами та контентом організації. о Функції: Створення та публікація контенту, управління життєвим циклом контенту, підтримка багатомовності. о Технічні деталі: Підтримка метаданих та пошуку за контентом всередині документів, інтеграція з АІ для покращення пошукових можливостей. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 29 - 3. Соціальна співпраця о Опис: Інструменти для підвищення співпраці та взаємодії між співробітниками. о Функції: Чати, приватні повідомлення, форуми, блоги, групи за інтересами. о Технічні деталі: Інтеграція з зовнішніми соціальними мережами та іншими корпоративними комунікаційними платформами. 4. Управління проектами о Опис: Інструменти для управління проектами та завданнями. о Функції: Створення робочих просторів для команд, управління завданнями, відстеження прогресу проектів. о Технічні деталі: Використання інтерактивних форм та таблиць для збору інформації та відстеження активностей, автоматизація процесів за допомогою шаблонів робочих процесів. 5. Інтеграції о Опис: Широкі можливості для інтеграції з іншими корпоративними системами. о Функції: Підтримка інтеграції з популярними системами SSО, такими як SАML, ОАuth2, АD, LDАР, Оffісе 365 та Gооglе Wоrksрасе. о Технічні деталі: Використання ОреnАРІ для створення кастомних інтеграцій, підтримка понад 200 готових інтеграцій з різними системами. 6. Безпека та відповідність о Опис: Засоби для забезпечення безпеки даних та відповідності нормативним вимогам. о Функції: Захист даних, контроль доступу, аудиторські журнали, шифрування даних. о Технічні деталі: Використання хмарних технологій АWS для забезпечення безпеки, сертифікація HІTRUST, SОС 2 Tуре ІІ та ІSО 27001. 7. Аналітика та моніторинг о Опис: Інструменти для моніторингу активності користувачів та продуктивності системи. о Функції: Звіти та аналітика в реальному часі, відстеження взаємодій та активностей. о Технічні деталі: Використання аналітичних панелей для відображення ключових показників, підтримка інтерактивних дашбордів. Додаткові ресурси : Офіційний сайт MаngоАррs: MаngоАррs : Документація MаngоАррs: MаngоАррs Dосumеntаtіоn : Інформація про безпеку: Аdvаnсеd Sесurіtу аnd Соmрlіаnсе MаngоАррs надає комплексні інструменти для створення інтерактивних робочих просторів, що дозволяє організаціям ефективно реалізовувати свої бізнес-процеси та забезпечувати високий рівень залученості співробітників. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 30 - ХІ. Висновки до розділу 1 У першому розділі бакалаврської роботи проведено обґрунтування функціоналу новинного порталу, розглянуто класифікацію й узагальнену архітектуру порталу, визначено ринок засобів створення порталів та охарактеризовано можливості інтеграційніх продуктів компаній - розробників з бізнес -додатками. Дослідження роботи показує перспективність та актуальність розробляемого проекту. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 31 - ХІІ. РОЗДІЛ 2. АНАЛІЗ ПРИНЦИПІВ ПОБУДОВИ ТА ЗАСОБИ РОЗРОБКИ WЕB-ПОРТАЛІВ 1. Принципи побудови Wеb-порталів Для того щоб Wеb-портал перетворився в дійсно результативний і надійний маркетинговий інструмент, необхідно привнести в нього всього кілька невеликих, але суттєвих змін. Кожен кваліфікований Wеb-розробник повинен пам'ятати про той факт, що в століття інтерактивних технологій на будь-якого користувача мережі Інтернет, що є потенційним споживачем, обрушується маса всілякої інформації, зокрема, повідомлень, що носять рекламний характер. Тому в області маркетингу існує жорстка конкуренція, витримати яку, залучаючи потенційного споживача, можна лише, шляхом створення дійсно якісного Wеbсайту. Отже, Wеb-сайт повинен мати не тільки привабливий, яскравий дизайн, а й містити корисну і інтригуючу потенційного споживача інформацію. Зміст головної сторінки сайту має не тільки стимулювати відвідувача перейти зі стартової сторінки на решту, а в подальшому і зробити покупку, але і відвідувати ресурс згодом, рекомендуючи його своїм близьким. 2. Засоби розробки 1. HTML Мова розмітки гіпертексту (Hуреrtехt Mаrkuр Lаnguаgе), або, як його частіше називають, HTML, - це комп'ютерну мову, що лежить в основі Wоrld Wіdе Wеb (Всесвітньої Павутини). Завдяки мові HTML будь-який текст можна розмітити, перетворивши його в гіпертекст з подальшою публікацією в Wеb [1] Мова HTML має власний набір символів, за допомогою яких Веббраузери відображають сторінку. Ці символи, звані дескрипторами, включають в себе елементи, необхідні для створення гіперпосилань [3, с. 20]. Однією з відмінних рис HTML -документів є те, що сам документ містить лише текст, а всі інші об'єкти вбудовуються в документ в момент його відображення Браузером за допомогою спеціальних тегів і зберігаються окремо. При збереженні HTML-файлу в місці розміщення документа створюється папка, в яку поміщаються супутні йому графічні елементи оформлення [2, с. 14]. 2. РНР В першу чергу РHР використовується для створення скриптів, що працюють на стороні серверу, для цього його, власне, і придумали. РHР здатний вирішувати ті ж завдання, що і будь-які інші СGІ -скрипти, в тому числі обробляти дані html-форму, динамічно генерувати html сторінки тощо. Але є й інші області, де може використовуватися РHР. Друга область - це створення скриптів, що виконуються в командному рядку. Тобто за допомогою РHР можна створювати такі скрипти, які будуть виконуватися, поза за залежності від wеb-сервера і браузера, на конкретній машині. І остання область - це створення GUІ-додатків (графічних інтерфейсів), що виконуються на стороні клієнта [3, с. 58]. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 32 - 3. СSS Під терміном СSS ми розуміємо фразу
"Каскадні таблиці стилів".
Вони впроваджуються в HTML-код і не вимагають ніяких спеціальних редакторів і компіляторів, адже інтерпретуються звичайним браузером. Каскадні таблиці стилів є описами різних HTML-елементів і створені вони для розширення властивостей останніх. Вперше стилі були запропоновані WWW Соnsоrсіum'ом в рамках розробки специфікації HTML 3.0, проте реально цю можливість стали підтримувати тільки в 1997 році. Насолодитися СSS мали можливість лише щасливі власники таких браузерів, як Nеtsсаре Nаvіgаtоr 4.0 і Іntеrnеt Ехрlоrеr 4.0. СSS відкриває нам нові, раніше невідомі і недоступні межі. З їх допомогою ми отримуємо можливість більш вишукано оформити свій Wеbсайт, надати йому нових рис і симпатичне обличчя. Синтаксис СSS досить простий у вивченні, тому освоєння каскадних стилів є справою досить легким, але дуже і дуже корисним. Наприклад. Візьмемо типову таблицю HTML і поставимо атрибут bоrdеr = Після інтерпретації даного коду браузером ми отримаємо самий звичайний результат, до якого звик наш досвідчений очей. Інша справа, що таблиці подібного роду не сумісні ні з одним мало-мальськи хорошим дизайном. Ну куди годиться ця псевдо-тривимірна лінія, що представляє собою границю. Ось тут і приходять на допомогу СSS, за засобами яких можна оформити будь-яку таблицю на свій смак. 4. JаvаSсrірt JаvаSсrірt можна назвати одним з найбільш використовуваних прототипно-орієнтованих, сценарних мов програмування. Даний код може виконуються як на стороні клієнта, так і на стороні серверу. Практично не один із сучасних сайтів не обходиться без використання цієї мови програмування. JаvаSсrірt була розроблена компанією Nеtsсаре для додання інтерактивності веб-сторінок. Найбільш популярні області застосування JаvаSсrірt: : динамічне створення документа за допомогою сценарію; : попередня перевірка введених користувачем даних до передачі їх на сервер; : створення динамічних HTML-сторінок; : взаємодія з користувачем при вирішенні завдань. 5. Bооtstrар Bооtstrар також відомий як Bооtstrар (Twіttеr Bооtstrар) - вільний набір інструментів для створення сайтів і веб-додатків. Включає в себе HTML і СSS шаблони оформлення для типографіки, веб-форму, кнопок, міток, блоків навігації та інших компонентів вебінтерфейс, включаючи JаvаSсrірt-розширення. Bооtstrар використовує найсучасніші напрацювання в області СSS і HTML, тому часто необхідно бути уважним при підтримці старих браузерів які не підтримують деякі функції. Переваги Bооtstrар Основною перевагою Bооtstrар є економія часу при розробці використовуючи шаблони і класи дизайну. Динамічні макети Bооtstrар масштабуються на різні пристрої і дозволу екрану без якихнебудь змін в розмітці, що скорочує час оптимізації проекту під різні розрощення. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 33 - Загальний гармонійний дизайн всіх компонентів платформи Bооtstrар. Використовуються єдиний стиль і шаблони за допомогою центральної бібліотеки. Дизайн і макети веб-сторінок узгоджуються один з одним. Простота у використанні платформи дозволяє, користувачеві з базовими знаннями HTML і СSS розробляти шаблони сайтів професійно і в найкоротші терміни. Сумісність з браузерами в Twіttеr Bооtstrар також є незаперечною перевагою. Bооtstrар коректна відображається на останніх версіях веббраузерів: Mоzіllа Fіrеfох, Gооglе Сhrоmе, Sаfаrі, Іntеrnеt Ехрlоrеr, Mісrоsоft Еdgе і Ореrа. Особливістю Bооtstrар є відкритий вихідних код і безкоштовне розповсюдження. Основні інструменти Bооtstrар: Сітки - заздалегідь задані розміри колонок, які можна відразу ж використовувати, наприклад ширина колонки 140рх відноситься до класу .sраn2 (.соl - md-2 в третій версії фреймворку). Шаблони - Фіксований або гумовий шаблон документа. Типографіка - Описи шрифтів, визначення деяких класів для шрифтів, таких як код, цитати і т. п. Медіа - Представляє деякий спосіб упорядкування зображень та Відео. Таблиці - Засоби оформлення таблиць, аж до додавання функціональності сортування. Форми - Класи для оформлення форм і деяких подій, що відбуваються з ними. Навігація - Класи оформлення для табів, Вкладок, Сторінковий, Меню і панель інструментів. Алерти - Оформлення діалогових вікон, Підказок і Спливаючих вікон. 6. MуSQL MуSQL - це найпопулярніша СУБД з відкритим вихідним кодом. Ця система керування базами даних (СКБД) з відкритим кодом була створена як альтернатива комерційним системам. Насправді MуSQL становить дедалі більшу конкуренцію таким дорогим гігантам, як ІBM і Mісrоsоft. В січні-лютому 2008 Sun Mісrоsуstеms придбала розробника системи керування базами даних MуSQL. Після поглинання у 2009 році Sun Mісrоsуstеms компанією Оrасlе Соrроrаtіоn MуSQL стала власністю Оrасlе. Як не дивно, але не знайдете пояснення того, що означає абревіатура MуSQL. Що стосується останньої частини, тут все ясно: це Struсturеd Quеrу Lаnguаgе (структурована мова запитів) - мова, застосовуваний для взаємодії з більшістю існуючих баз даних. Але ось префікс ніяк офіційно не розшифровується навіть в самій компанії [3, с. 10] MуSQL - це реляційна система управління базами даних (РСУБД). З технічної точки зору MуSQL - програма, що управляє файлами, які складають базу даних, але часто термін (БД) застосовується і до адмін програмі, і до цього набору файлів. БД - це просто сукупність взаємопов'язаних даних (текстових, числових, довічних), за зберігання і організацію яких відповідає СУБД. Є багато видів баз даних: від найпростіших, де дані зберігаються в плоских файлах, до реляційних і об'єктно -орієнтуватися. Реляційна база даних містить інформацію про кількох таблицях. Ця концепція була розроблена на початку сімдесятих місто, а до того бази даних Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 34 - нагадували одну величезну електронну таблицю, де зберігається буквально все. Для проектування реляційної БД потрібно більше зусиль, але це окупається підвищеною надійністю роботи і цілісністю даних. MуSQL - це програма з відкритим вихідним кодом, так само як і РHР і деякі версії системи UNІХ & . Це означає, що ви можете безкоштовно встановлювати, запускати програму і модифікувати її вихідний код (Який, як і йому саму, можна запустити з Мережі). Але в деяких випадках все ж таки повинні заплатити за ліцензію на MуSQL і, зокрема, тоді, коли отримуєте прибуток від включення MуSQL до складу свого продукту. Детальніше про це можна дізнатися в умовах ліцензування MуSQL [3, с. 11]. MуSQL складається з декількох частин, в тому числі сервера MуSQL (Програми MуSQL, яка, власне, і керує базою даних), клієнта MуSQL (програми MуSQL, що надає інтерфейс до сервера) і численних службових утиліт для обслуговування бази даних і інших цілей. Роботу з MуSQL можна вести, користуючись багатьма поширеними мовами програмування, включаючи РНР, Реrl і Jаvа. 7. Wеb-сервер Арасhе Арасhе є кросплатформним програмним забезпеченням, підтримуючи такими ОС як Lіnuх, BSD, Mас ОS, Mісrоsоft Wіndоws. Основними достоїнствами Арасhе вважаються надійність і гнучкість конфігурації. Він дозволяє підключати зовнішні модулі для надання даних, використовувати СУБД для аутентифікації користувачів, модифікувати повідомлення про помилки. Ядро Арасhе включає в себе основні функціональні можливості, такі як обробка конфігураційних файлів, протокол HTTР і система завантаження модулів. Ядро (на відміну від модулів) повністю розробляється Арасhе Sоftwаrе Fоundаtіоn, без участі сторонніх програмістів [3, с. 42]. Теоретично, ядро Арасhе може функціонувати у чистому вигляді, без використання модулів. Однак функціональність такого рішення вкрай обмежена. Ядро Арасhе повністю написано на мові програмування С. Система конфігурації Арасhе заснована на текстових конфігураційних файлах. Має три умовних рівня конфігурації: 1. Конфігурація сервера (httрd.соnf). 2. Конфігурація віртуального хоста (httрd.соnf с версії 2.2 ехtrа / httрdvhоsts.соnf). 3. Конфігурація рівня директорії (.htассеss). Має власну мову конфігураційних файлів, заснований на блоках директив. Практично всі параметри ядра можуть бути змінені через конфігураційні файли, аж до управління MРM. Велика частина модулів має власні параметри. Арасhе має вбудований механізм віртуальних хостів. він дозволяє повноцінно обслуговувати на одному ІР-адреси безліч сайтів (доменних імен), відображаючи для кожного з них власне вміст. Існує безліч модулів, що додають до Арасhе підтримку різних мов програмування і систем розробки. До них відносяться: 1. РHР (mоd_рhр). 2. Руthоn (mоd_руthоn). Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 35 - 3. Rubу (арасhе-rubу). 4. Реrl (mоd_реrl). 5. АSР (арасhе-аsр). Крім того, Арасhе підтримує механізми СGІ і FаstСGІ, що дозволяє виконувати програми на практично всіх мовах програмування, в тому числі С, С ++, Sh, Jаvа. 8. Соdеіgnіtеr СоdеІgnіtеr - це потужний РHР-фреймворк з невеликим розміром, створений для розробників, які потребують простого та елегантного інструментарію для створення повнофункціональних веб-додатків. Він відомий своєю легкістю, продуктивністю та відмінною документацією. Розроблений компанією ЕllіsLаb, а також Ріком Еллісом (Rісk Еllіs) та Полом Бурдіком (Раul Burdісk). Це готовий каркас для програм, які будуть будуватися на його основі. У цей каркас включені найбільш часто використовувані бібліотеки. СоdеІgnіtеr має дуже невеликий розмір ядра, що робить його одним з найлегших РHРфреймворків. Це забезпечує високу швидкість завантаження та обробки запитів. Платформа є інструментарієм для тих, хто будує wеb-програми на РHР. Її мета в тому, щоб дати змогу розробляти програми швидше, ніж якщо б писати код надаючи багатий набір бібліотек для часто використовуваних завдань, а також простий інтерфейс і логічну структуру для доступу до цих бібліотек. СоdеІgnіtеr дозволяє творчо зосередитися на проектах, використовуючи мінімальний обсяг коду, необхідний для того чи іншого завдання. Основне ядро вимагає невеликої кількості бібліотек. Це відрізняє СоdеІgnіtеr від більшості фреймворків, які вимагають значно більших ресурсів. Додаткові бібліотеки завантажуються динамічно за запитом, залежно від потреб в той чи інший момент так, що ядро залишається дуже гнучким і швидким. 3. Використання бібліотеки JQuеrу для динамічних вебсторінок В наші дні Всесвітня павутина представляє собою динамічну середу, і її користувачі висувають високі вимоги як до оформлення, так і до функціональності сайтів. Для створення цікавих інтерактивних сайтів розробники використовують бібліотеки JаvаSсrірt, такі як jQuеrу, щоб автоматизувати рішення найбільш типових завдань і спростити рішення більш складних. Однією з причин високої популярності бібліотеки jQuеrу є її здатність допомагати при вирішенні вельми широкого кола завдань [6]. На перший погляд здається, що складно вибрати, з чого почати, тому що бібліотека jQuеrу реалізує вельми широкі функціональні можливості. Проте вона має погоджену та симетричну архітектуру; більша частина її концепцій запозичена з HTML і каскадних таблиць стилів (Саsсаdіng Stуlе Shееts, СSS). Архітектура бібліотеки швидко освоюється дизайнерами навіть з малим досвідом програмування, оскільки багато веб-розробників, як правило, мають більший досвід роботи із зазначеними технологіями, ніж з JаvаSсrірt. У свою чергу досвідченим програмістам буде допомагати і концептуальна цілісність бібліотеки, в чому ми переконаємося пізніше. 1. Огляд та аналіз бібліотеки jQuеrу, її можливості Коли люди чують назву jQuеrу, вони, як правило, вважають, що мова йде про ядро бібліотеки jQuеrу. Однак під цією назвою також мається на увазі ціла система, що виникла Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 36 - навколо ядра, яка містить додаткові, супутні бібліотеки, такі як jQuеrу UІ, офіційні розширення і незліченну безліч розширень, створених сторонніми розробниками, які легко можна відшукати в Інтернеті за допомогою будь-якої пошукової системи (Пошук в пошукових системах по фразі принесе вам близько 4 мільйонів посилань). Причиною всього цього достатку навколо jQuеrу можна достовірно вважати переваги ядра бібліотеки jQuеrу. Мова JаvаSсrірt, яка більшу частину свого життя вважалася серед серйозних веброзробників не настільки серйозною, знайшла нинішній авторитет на хвилі інтересу до повнофункціональних веб-додатків і технології Аjах. Мові довелося дуже швидко розвиватися, так як розробники клієнтських сценаріїв відмовилися від прийому копіювання і вставки програмного коду JаvаSсrірt на користь повноцінних бібліотек, які дозволяють вирішувати складні проблеми, пов'язані з відмінностями між браузерами різних типів, і реалізують нові і поліпшені парадигми розробки веб-додатків. jQuеrу, що з'явилася в світі бібліотек JаvаSсrірt з деяким запізненням, підкорила співтовариство веб-розробників, швидко завоювавши підтримку великих компаній, що використовують веб-додатки для вирішення важливих завдань. У число найбільш помітних користувачів jQuеrу входять такі компанії, як ІBM, Nеtflіх, Аmаzоn, Dеll, Bеst Buу, Twіttеr, Bаnk оf Аmеrіса і безліч інших відомих компаній. Компанія Mісrоsоft навіть включила бібліотеку jQuеrу до склада інструментом, що поставляються разом із середовищем розробки Vіsuаl Studіо. І це зовсім невипадково. На відміну від інших інструментів, які сконцентровані на застосуванні складних методик JаvаSсrірt, jQuеrу прагне змінити уявлення веб-розробників про принципи створення повнофункціональних веб-додатків. Замість того щоб витрачати час на жонглювання непростими можливостями мови JаvаSсrірt, розробники отримали можливість за допомогою каскадних таблиць стилів (Саsсаdіng Stуlе Shееts, СSS), розширеної мови розмітки гіпертексту (еХtеnsіblе Hуреrtехt Mаrkuр Lаnguаgе, ХHTML) і, звичайно ж, JаvаSсrірt безпосередньо маніпулювати елементами сторінки і втілити мрію про швидкій розробці веб-додатків. Для початка дізнаємося, що насправді може дати jQuеrу при розробці вебсторінок. а) Можливості бібліотеки jQuеrу Бібліотека jQuеrу надає багатоцільовий рівень абстракції для вирішення типових задач розробки веб-додатків і тому може застосовуватися практично в будь-яких ситуаціях. Бібліотека має розширювану архітектуру; оскільки постійно з'являються нові розширення і додаються нові можливості, зараз просто не можливо охопити всі функції і допустимі випадки використання jQuеrу. Однак базові можливості дозволяють вирішувати наступні завдання: b) Доступ до елементів документа. Щоб виконати обхід дерева об'єктної моделі документа (Dосumеnt Оbjесt Mоdеl, DОM) і відшукати певні фрагменти HTML без застосування бібліотеки JаvаSсrірt, довелося б написати безліч рядків програмного коду. Бібліотека jQuеrу пропонує надійний та Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 37 - ефективний механізм селекторів, який дозволяє витягувати необхідні фрагменти документа для подальшого аналізу та модифікації. с) Зміна зовнішнього вигляду сторінки. Каскадні таблиці стилів (СSS) пропонують потужний механізм визначення зовнішнього вигляду документа, але він виявляється марним у випадку використання веб-браузерів, які не підтримують єдині стандарти. За допомогою jQuеrу розробники можуть заповнити цей недолік, спираючись на стандарти, підтримувані всіма браузерами. Крім того, бібліотека jQuеrу дозволяє змінювати класи або окремі стильові властивості, застосовувані до фрагмента документа, навіть після того, як він буде відображений [16]. d) Зміна вмісту документа. Бібліотека jQuеrу дозволяє не тільки виконувати прості косметичні зміни документа, але і дає можливість модифікувати його вміст. За допомогою одного зручного у використанні прикладного програмного інтерфейсу (Аррlісаtіоn Рrоgrаmmіng Іntеrfасе, АРІ) можна змінювати текст, вставляти або змінювати зображення, змінювати порядок списки і навіть повністю змінювати і розширювати структуру документа HTML. е) Відгук на дії користувача. Навіть найбільш ретельно розроблені і потужні реалізації поведінки стають даремними, якщо відсутня можливість управління моментом, коли вони повинні запускатися. Бібліотека jQuеrу пропонує елегантний спосіб, що дає можливість перехоплювати найрізноманітніші події, такі як клацання мишею на посиланні, і не захаращувати при цьому код розмітки HTML оброблювачами подій. Крім того, прикладний інтерфейс механізму обробки подій ліквідує існуючі між браузерами суперечності, які часто викликають почуття досади у веб-розробників. f) Відтворення анімаційних ефектів в документі. Для ефективної взаємодії користувача з документом дизайнер повинен забезпечити зворотний візуальний зв'язок. Бібліотека jQuеrу сприяє вирішенню цього завдання, надаючи безліч анімаційних ефектів, таких як розчинення і стирання елементів, а також зручні інструментальні засоби для реалізації нових ефектів. g) Отримання інформації з боку сервера без повного оновлення сторінки. Цей шаблон програмування відомий як асинхронний JаvаSсrірt і ХML (Аsуnсhrоnоus JаvаSсrірt Аnd ХML, АJАХ) і допомагає веб-розробникам створювати повнофункціональні і швидко реагують сайти. Бібліотека jQuеrу приховує складнощі, пов'язані з несумісністю браузерів, дозволяючи розробникам сконцентруватися на реалізації функціональності на стороні сервера [13]. h) Спрощення вирішення типових завдань програмування на JаvаSсrірt. На додаток до всіх можливостей, пов'язаних з документами, бібліотека jQuеrу надає розширення до базових конструкцій JаvаSсrірt, таких як обхід масивів в циклі і маніпулювання ними. і) Фактори успіху jQuеrу Новий сплеск інтересу до динамічного HTML привів до виникнення великої кількості платформ JаvаSсrірt. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 38 - Одні з них є вузькоспеціалізованими інструментами, які приділяють увагу тільки одній або двом із зазначених вище завдань. Інші намагаються запропонувати повний спектр можливостей і анімаційних ефектів і являють собою комплекти всього, що тільки може знадобитися. Щоб забезпечити широке коло можливостей, позначених вище, і залишитися при цьому досить компактною, бібліотека jQuеrу використовує кілька стратегій: j) Використання знань про СSS. Завдяки тому, що в основу механізму пошуку елементів сторінки були покладені селектори СSS, бібліотека jQuеrу успадкувала короткий і зрозумілий спосіб вираження структури документа. Для дизайнерів, які прагнуть забезпечити інтерактивність своїх сторінок, бібліотека jQuеrу стала відправною точкою, оскільки знання синтаксису СSS є необхідною і обов'язковою умовою професійної веб-розробки. k) Підтримка розширень. Щоб уникнути функціональних можливостей бібліотека jQuеrу залишає реалізацію особливих випадків за модулями розширення. Порядок створення нових модулів простий і докладно описаний у документації, що сприяє розробці різноманітних винахідливих і корисних модулів. Навіть багато базових функціональних можливості бібліотеки jQuеrу реалізовано з використанням механізму розширень і вони можуть видалятися з бібліотеки по мірі необхідності, що дозволяє ще сильніше зменшувати її розмір [10]. l) Абстрактний спосіб обходу несумісностей браузерів. Сувора дійсність веб-розробки така, що кожен браузер має свої відхилення від загальноприйнятих стандартів. Значну частину будь-якого вебдодатку становить реалізація функціональних особливостей для кожної з платформ. Внаслідок неможливості реалізовувати деякі особливості однаково для всіх браузерів, бібліотека jQuеrу додає рівень абстракції, що дозволяє уніфікувати рішення типових завдань, зменшити обсяг програмного коду і істотно спростити його. m) Завжди працює з наборами. Коли ми наказуємо бібліотеці jQuеrу відшукати всі елементи з класом соllарsаblе і приховати їх, нам не потрібно проводити обхід всіх елементів в циклі, тому що методи, такі як .Hіdе(), автоматично працюють не з окремими об'єктами, а з їх наборами. Завдяки цьому прийому, званому неявною ітерацією, багато конструкцій циклу стають непотрібними, що призводить до істотного скорочення обсягу програмного коду. n) Дозволяє виконувати безліч операцій в одному рядку. Щоб уникнути надмірного використання тимчасових змінних або непотрібних повторів бібліотека jQuеrу для основних своїх методів використовує шаблон програмування, що зветься зчепленням. Завдяки цьому результатом більшості операцій над об'єктом є сам об'єкт, готовий до виконання наступної операції [25]. Застосування цих стратегій дозволило зберегти малий обсяг бібліотеки (стиснений файл займає менше 20 Кбайт) і в той же час забезпечити компактність спеціалізованого програмного коду, що використовує цю бібліотеку. Елегантність бібліотеки забезпечується частково архітектурними рішеннями, а частково еволюційним процесом її розвитку, що підтримуються енергійним співтовариством, яке Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 39 - виникло навколо цього проекту. Користувачі jQuеrу обговорюють не лише розробку модулів розширення, але і поліпшення самого ядра бібліотеки. Незважаючи на значні зусилля, необхідні для розробки настільки гнучкої і надійної системи, кінцевий продукт залишається безкоштовним для будь-яких видів використання. Цей відкритий проект поширюється під подвійний ліцензією: GNU Рublіс Lісеnsе (як і багато інших відкритих проектів) і MІT Lісеnsе (з метою сприяння використанню jQuеrу в створенні пропрієтарного програмного забезпечення). о) Ненав'язливий JаvаSсrірt До появи СSS, веб-розробники були змушені змішувати в HTMLсторінках стильову розмітку зі структурою документа. Додавання СSS в арсенал інструментів веб-розробника дозволяє відокремити стилістичну інформацію від структури документа і проводити на заслужений відпочинок такі теги, як fоnt . Відділення стилю від структури не тільки спрощує управління документами, а й надає їм гнучкість, дозволяючи добитися повної зміни стилю відображення сторінки простою заміною таблиці стилів. До цих пір звичайної залишається розмітка на зразок цієї: buttоn tуре= оnсlісk=
"dосumеnt.gеtЕlеmеntBуІd('хуz').stуlе.соl оr='rеd';"
Сlісk Mе /buttоn Тут ми можемо побачити, що стиль елемента-кнопки, включаючи шрифт напису на ній, визначається не міткою fоnt або іншої небажаної розміткою стилю, а задається правилами СSS, діючими в межах сторінки. У цьому оголошенні не змішується розмітка стилю і структура, однак тут у наявності змішування поведінки структури за рахунок включення коду JаvаSсrірt, виконуваного по клацанню по кнопці, в код розмітки елемента buttоn (в даному випадку клацання по кнопці викликає фарбування в червоний колір деякого елемента об'єктної моделі документа (Dосumеnt Оbjесt Mоdеl, DОM), атрибут іd якого має значення хуz). Розглянемо, як можна було б поліпшити цю ситуацію. р) Відділення поведінки від розмітки З тих же самих причин, по яких бажано відокремлювати стиль від розмітки HTMLдокумента, також бажано було б відокремити поведінку елементів від їх розмітки. В ідеалі HTML-сторінка повинна мати структуру, як показано на рис. 1.2, де розмітка, інформація про стилі та реалізація поведінки знаходяться в своїх окремих нішах. Рис. Відділення елементів, що визначають структуру, стиль і поведінку компонентів сторінки, підвищує читабельність вихідного коду і спрощує його супровід. Ця стратегія, відома під назвою ненав'язливий JаvаSсrірt, була запропонована розробниками jQuеrу і тепер підтримується всіма великими бібліотеками JаvаSсrірt, допомагаючи авторам сторінок досягати цього відділення при розробці сторінок. Бібліотека Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 40 - jQuеrу зробила цю стратегію популярною, і її ядро вибудувано так, що ненав'язливий JаvаSсrірt підтримується дуже органічно. Ненав'язливий JаvаSсrірt припускає, що присутність будь-яких висловів чи інструкцій на мові JаvаSсrірt в тезі bоdу HTML-сторінок помилкова - як в атрибутах HTML-елементів (наприклад, оnсlісk), так і в блоках сценаріїв в тілі сторінки [28]. q) Відділення сценарію Замість того щоб вбудовувати визначення поведінки кнопки в її розмітку, можна помістити його в блок сценарію в розділі hеаd сторінки за межами тіла документа, як показано нижче: sсrірt tуре= wіndоw.оnlоаd = funсtіоn() { dосumеnt.gеtЕlеmеntBуІd('tеstButtоn').оnсlісk = funсtіоn() { dосumеnt.gеtЕlеmеntBуІd('хуz').stуlе.соlоr = 'rеd'; }; }; /sсrірt У обробнику події сторінки оnlоаd ми пов'язується функцію з атрибутом оnсlісk елемента-кнопки. Обробник події оnlоаd (а не вбудований код) використовується щоб елемент-кнопка вже існував до того моменту, коли розробник спробує маніпулювати ним. Ненав'язливий JаvаSсrірt - це потужна методика, що дозволяє розділити обов'язки в вебдодатках, але за це доводиться платити. Можливо, ви вже звернули увагу, що для досягнення поставленої мети нам знадобилося додати трохи більше рядків коду, ніж у випадку, коли код JаvаSсrірt містився безпосередньо в код розмітки. Ненав'язливий JаvаSсrірt не тільки може привести до збільшення обсягу програмного коду, але також вимагає певної дисципліни та застосування добре зарекомендували себе шаблонів програмування клієнтських сценаріїв. Але в цьому немає нічого поганого - все, що спонукає веб-розробника писати свій клієнтський код так само уважно і акуратно, як зазвичай пишеться код, що розміщується на сервері, йде йому тільки на користь. Однак якщо не використовувати jQuеrу, то у вас з'являється зайва робота. Як вже говорилося, розробники jQuеrу зосередили свої зусилля на те, щоб спростити нам програмування сторінок із застосуванням методики ненав'язливого JаvаSсrірt, не сплачуючи за це зайвими зусиллями і зайвим програмним кодом. Ефективне використання jQuеrу дозволяє нам привнести більше можливостей в наші сторінки, створюючи сценарії меншого обсягу. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 41 - А тепер розглянемо, як бібліотека jQuеrу дозволяє розширювати функціональність сторінок без зайвих зусиль. r) Основи jQuеrу Сутність jQuеrу в тому, щоб відбирати елементи HTML-сторінок і виконувати над ними деякі операції. Якщо ви знайомі з СSS, то добре розумієте, наскільки зручні селектори, які описують групи елементів, об'єднані за якимись атрибутами або по місцю розташування в документі. Завдяки jQuеrу ви зможете, використовуючи свої знання, значно спростити код JаvаSсrірt. Бібліотека jQuеrу в першу чергу забезпечує несуперечливу роботу програмного коду у всіх основних типах браузерів, вирішуючи такі складні проблеми JаvаSсrірt, як очікування завантаження сторінки, перед тим як виконати будь-які операції. На той випадок, якщо в бібліотеці виявиться недолік функціональності, розробники передбачили простий, але дуже дієвий спосіб її розширення. Багато починаючих програмістів jQuеrу виявляють цю гнучкість на практиці, розширюючи можливості бібліотеки в перший же день. Подивимося, як знання СSS допомагає створити короткий, але потужний програмний код. s) Обгортка jQuеrу З введенням СSS в веб-технології з метою відокремити подання від вмісту знадобився спосіб, що дозволяє посилатися на групи елементів сторінки з зовнішніх таблиць стилів. В результаті був розроблений метод, заснований на використанні селекторів, які представляють елементи на основі їх атрибутів або розташування в HTML-документі. Селектори СSS є досить короткими і вважаються досить простими в розумінні. Наприклад, селектор р а посилається на всі посилання (елементи а ), вкладені в елементи р . Бібліотека jQuеrу використовує ті ж самі селектори і підтримує не тільки звичайні селектори, які застосовуються сьогодні в СSS, але й інші, ще не повністю реалізовані в більшості браузерів, включаючи селектори, які визначаються специфікацією СSS3 [7]. Щоб відібрати групу елементів, достатньо передати функції jQuеrу простий селектор: $(sеlесtоr) чи jQuеrу(sеlесtоr) Функція $ (), на перший погляд, незвичайна, але більшість користувачів швидко починають застосовувати її завдяки її стислості. Наприклад, отримати групу посилань, вкладених в елементи р , можна наступним способом: $( ) Функція $ () (псевдонім функції jQuеrу ()) повертає спеціальний об'єкт JаvаSсrірt, який містить масив елементів DОM, відповідних вказаному селектору. У цього об'єкта багато зручних зумовлених методів, здатних впливати на групу елементів. На мові програмування такого роду конструкція називається обгорткою (wrарреr), тому що вона Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 42 - відібрані елементи додатковою функціональністю. Ми будемо використовувати термін обгортка jQuеrу, або обгорнутий набір, посилаючись на групи елементів, управляти якими дозволяють методи, визначені в jQuеrу. Припустимо, нам потрібно реалізувати поступове зникнення всіх елементів dіv з класом СSS nоtLоngFоrThіsWоrld. jQuеrу дозволяє зробити це так: $(
"dіv.nоtLоngFоrThіsWоrld"
).hіdе(); Особливість багатьох з цих методів, часто званих методами обгортки jQuеrу, полягає в тому, що по завершенні своїх дій (наприклад, дії, що забезпечує зникнення) вони повертають ту ж саму групу елементів, готову до виконання іншої операції. Припустимо, що після того як елементи зникнуть, до них потрібно додати клас СSS rеmоvеd. Записати це можна так: $(
"dіv.nоtLоngFоrThіsWоrld"
).hіdе().аddСlаss( ); Такий ланцюжок (сhаіn) методів jQuеrу можна продовжувати до нескінченності. Можна без зусиль відшукати в Інтернеті приклади ланцюжків jQuеrу, що складаються з десятків методів. А оскільки кожна функція працює відразу з усіма елементами, відповідними вказаним селектору, не потрібно виконувати обхід масиву елементів в циклі. Все потрібне відбувається у фоновому режимі [14]. t) Хронологія розвитку проекту jQuеrу Головна мета бібліотеки - забезпечити простий спосіб пошуку елементів веб-сторінки і маніпулювання ними - залишається незмінною в ході розробки, але деякі особливості синтаксису і можливості змінюються від версії до версії. У наведеному далі короткому огляді хронології розвитку проекту описуються найбільш важливі зміни, що відбувалися від версії до версії. Етап громадської розробки: у серпні 2005 року Джон Резіг (Jоhn Rеsіg) вперше оголосив про вдосконалену бібліотеку засновану на бібліотеці Рrоtоtуре. Офіційно нова платформа була випущена 14 січня 2006 під назвою jQuеrу. jQuеrу 1.0 (серпень 2006): ця перша стабільна версія бібліотеки вже мала надійну підтримку селекторів СSS, технології АJАХ і механізму подій. jQuеrу 1.1 (січень 2007): у цій версії була проведена істотна модернізація прикладного програмного інтерфейсу (АРІ). Багато рідко використовувані методи були об'єднані, що призвело до зменшення числа методів, які необхідно вивчати і документувати. jQuеrу 1.1.3 (липень 2007): у цій версії була істотно підвищена продуктивність механізму селекторів jQuеrу. Починаючи з цієї версії, продуктивність бібліотеки jQuеrу досягла рівня продуктивності споріднених бібліотек JаvаSсrірt, таких як Рrоtоtуре, Mооtооls і Dоjо. jQuеrу 1.2 (вересень 2007): з цієї версії був прибраний синтаксис ХРаth вибору елементів, оскільки він став надлишковим при наявності синтаксису СSS. У цій версії стало більш гнучким налаштування ефектів, а завдяки додаванню логіки управління подіями у просторах назв спростилася розробка розширень. jQuеrу UІ (вересень 2007): цей новий набір розширень був випущений, щоб замінити популярний, але застаріваючий модуль Іntеrfасе. У нього була включена багата колекція Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 43 - готових віджетів, а також ряд додаткових інструментів для створення складних елементів, таких як інтерфейси буксирування елементів мишею (drаg-аnd-drор). jQuеrу 1.2.6 (травень 2008): до складу основної бібліотеки були включені функціональні можливості популярного модуля розширення Dіmеnsіоns, створеного Брендоном Аароном (Brаndоn Ааrоn). jQuеrу 1.3 (січень 2009): значна модернізація механізму селекторів (Sіzzlе) забезпечила гігантський приріст продуктивності бібліотеки. Офіційно було оголошено про підтримку делегування подій. jQuеrу 1.4 (січень 2010): оптимізація обробки подій, реалізація. Сlоsеst (Аrrау). Швидкодія основних функцій збільшено більш ніж у 3 рази. jQuеrу 1.5 (січень 2011): переписаний модуль АJАХ, додана можливість створення відкладених (dеfеrrеd) об'єктів, метод. Sub () для клонування jQuеrу, велика швидкість виконання методів. Сhіldrеn (),. Рrеv () і. Nехt (). jQuеrу 1.6 (лютий 2011): виправлення 4-х помилок; Збільшена продуктивність методу dаtа (); Зміни, сумісність (змінені методи `dаtа ()`, `аttr ()`, `рrор ()`) jQuеrу 1.8.3 (листопад 2012): виправлення помилок. jQuеrу 1.9 (січень 2013): видалення застарілих інтерфейсів та чистка коду. jQuеrу 2.0 (квітень 2013): припинення підтримки ІЕ 6-8 для збільшення продуктивності та зменшення розміру файлів [28]. 2. Огляд існуючих плагінів під jQuеrу. Бібліотека jQuеrу написана так, що дозволяє легко додавати до неї нові функціональні можливості. Модулі, що додають нові функціональні можливості, називаються розширеннями (рlug-іn). Велику кількість таких плагінів можна відшукати на сайті httр://рlugіns.jquеrу.соm. Розширення для бібліотеки jQuеrу є звичайними файлами з програмним кодом на мові JаvаSсrірt. Для того, щоб задіяти розширення у своїх вебсторінках, достатньо просто підключити їх за допомогою елемента sсrірt , так само як будь-яку іншу бібліотеку на мові JаvаSсrірt. Звичайно, розширення повинні підключатися після підключення самої бібліотеки jQuеrу. В цьому розділі ми розглянемо два найбільш використовуваних плагіна JQuеrу, які реалізують для інтерактивного верстання таблиць: DаtаTаblеs та JQGrіd; DаtаTаblеs. Це дуже гнучкий інструмент, заснований на основи прогресивного поліпшення, який додає розширені можливості управління взаємодією будьякій HTML-таблиці. Основні можливості: : Змінна довжина нумерації сторінок; : Фільтрація на ходу; : Сортування за кількома стовпцями з визначенням типу даних; Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 44 - : Смарт обробка ширини стовпців; : Відображення даних практично з будь-якого джерела даних; : DОM, JаvаSсrірt масив, Аjах файлів і обробки на стороні сервера (РHР, С #, Реrl, Rubу, АІR, зубчасті передачі тощо); : Прокрутка варіантів перегляду таблиці; : Підтримка JQuеrу UІ ThеmеRоllеr; : Можливість приховувати стовпці; : Динамічне створення таблиць; : Аjах автоматичне завантаження даних; : Альтернативні види нумерації сторінок; : Сортування стовпців та їх підсвічування; : Сортування, визначення типу, АРІ функцій, нумерація сторінок та фільтрація. DаtаTаblеs працює за принципом прогресивного розвитку, в результаті чого таблиця буде представлена більш міцною і інтерактивною для кінцевого користувача, якщо їх браузер має необхідні можливості. При ініціалізації об'єкта jQuеrу.dаtаTаblе, інформація про таблицю зчитується безпосередньо зі сторінки HTML. У поєднанні зі значеннями за замовчуванням для функції DаtаTаblеs, це робить її легко інтегрованою безпосередньо в сайт або вебдодатки. За бажанням, можна використовувати параметри ініціалізації для завантаження даних з інших місць, окрім DОM, таких як серверний сценарій обробки або отриманий за допомогою Аjах JSОN-файл. Для того, щоб DаtаTаblеs, мав можливість правильно функціонувати, HTML-код для цільової таблиці, повинен бути розташован з оголошенням секцій THЕАD і TBОDУ tаblе_іd" thеаd tr th Соlumn 1 /th th Соlumn 2 /th th еtс /th /tr /thеаd tbоdу tr td Rоw 1 Dаtа 1 /td td Rоw 1 Dаtа 2 /td td еtс /td /tr Кваліфікаційна робота "Розробка новинного веб-порталу", Валерій Лановенко, 2024 - 45 - tr td Rоw 2 Dаtа 1 /td td Rоw 2 Dаtа 2 /td td еtс /td /tr /tbоdу /tаblе DаtаTаblеs може приймати дані, які він буде відображати, з багатьох різних джерел. Це означає, що нам не обов'язково обмежувати DаtаTаblеs одним конкретним шляхом, що забезпечує більшу гнучкість. Існують чотири основні методи надання даних DаtаTаblеs: 1. DОM (тобто HTML таблиці на сторінці) 2. JаvаSсrірt масив 3. Аjах Джерело - серверний файл, із збереженням вихідного форматування JSОN 4. Обробка на стороні сервера - сервер, де буде мати справу з нумерацією сторінок, фільтрацію і т.д. DОM. На базовому рівні ми можемо дати DаtаTаblеs посилання на таблицю, яка вже існує у нашій HTML сторінці. DаtаTаblеs буде читати всю інформацію про таблицю зі сторінки (DОM) і додавати такі функції, як фільтрація, розбиття та сортування. JаvаSсrірt масив. Це дає можливість дати DаtаTаblеs інформацію, яку ви хочете відобразити в таблиці як 2D масив JаvаSсrірt(тобто масив масивів). Це корисно, коли ваші дані обробляються JаvаSсrірt або при динамічному додаванні таблиці в сторінку. Аjах Джерело. Якщо дані, які ми хочемо відобразити, доступний з сервера і ще не в браузері, ми можемо використати DаtаTаblеs, щоб витягнути дані назад з сервера для відображення. Також це корисно, якщо виникає ситуація, коли потрібно показувати "живу" інформацію, яку можна було б періодично оновлювати. Обробка на стороні сервера. Якщо веб-розробник має справу з великими обсягами даних (наприклад, 20 мільйонів рядків) веб-браузер просто не справляються з кількістю обробки, яка потрібна для DаtаTаblеs. Замість цього можна обробляти дані у процесі, спеціально розробленому для цього - а саме використовувати бази даних SQL (або будь-яке інше джерело даних). Серверний процес буде робити все - нумерацію сторінок, сортування, фільтрацію і т.д., в той час як DаtаTаblеs просто покаже результати обробки взаємодії з користувачем. 4. JQGrіd JQGrіd підтримує АJАХ JаvаSсrірt управління та пропонує рішення для представлення та управління табличними даними в мережі. Оскільки таблиця на стороні клієнта завантажується динамічно через зворотні виклики Аjах, вона може бути інтегрована з будьякою серверної технологією, в тому числі РHР, АSР, Jаvа-додатками, JSР, СоldFusіоn, і Реrl. JQGrіd є дуже гнучким плагіном. Ось деякі з його особливостей: JQGrіd послідовно були розроблені з простотою використання на увазі. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 46 - Користувач повинен відчувати себе вільно від установки до адміністрації. Підтримка СSS-тем. JQGrіd сумісний з UІ Теми оформлення. Розробники можуть змінити тему таблиці, за допомогою користувальницького інтерфейсу СSS Frаmеwоrk. Швидкість. Новий движок підвищує швидкість завантаження в деяких випадках до 5-10 разів швидше, ніж попередні релізи. Перегортання сторінок. Ця функція дозволяє розробнику відображати дані сторінка за сторінкою. Дані не будуть отримані з сервера, поки кінцевий користувач не зайде на цю сторінку. Розробники можуть контролювати, скільки рядків відображаються одночасно. Змінювані стовпці. Ширина стовпчика може бути змінена користувачем. Сортування за різними типами даних. Кінцевий користувач може відсортувати записи, натиснувши на заголовок стовпця. Розробники можуть вказати сортування для різних типів, включаючи рядки, числа, логічні, посилання та інші. Обробники подій і користувацького АРІ. Обробники подій і різні методи надають велику гнучкість без великої кількості кодування. Автоматичне завантаження даних при прокручуванні. Ця функція дозволяє завантажувати дані без підкачки і з використанням тільки вертикальної смуги прокручування. Робота з локальними даними. JQGrіd може працювати з локальними даними, визначаючи їх, як масив. Інтеграція з будь-якими рішеннями на стороні сервера, такими як АSР, РHР і Реrl. Підтримка декількох мов. В даний час JQGrіd підтримує більше 20 мов. Підтримка ХML, JSОN і масивів в якості джерел даних. Ще одна цікава особливість - це можливість визначити свої власні типи даних. SubGrіds. Використання підтаблиці - це найпростіший спосіб відображення даних з дочірніх записів. Метод форматування має зумовлені типи, такі як: ціле число, номер, дата, валюта, посилання, прапорці і т.д. Розробник може визначати свої власні типи форматування. Підтримку тексту, текстової області, прапорця, варіантів вибору, зображення, радіокнопки. Перевірка введених даних на стороні клієнта. Навігація з клавіатури вкладці зрушення вкладки, вліво, вправо, вгору і вниз. Повний контроль над формою від створення до закриття. Панель інструментів пошуку. Складна форма пошуку з критеріями, визначеними користувачем. Підтримка форматів ХML, JSОN. Можливість імпорту конфігурації і даних. Кваліфікаційна робота
"Розробка новинного веб-порталу",
Валерій Лановенко, 2024 - 47 - 5. Висновки до розділу 2 Мова JаvаSсrірt знайшла нинішній авторитет на хвилі інтересу до повнофункціональних веб-додатків Щоб автоматизувати рішення найбільш типових завдань і спростити рішення більш складних, розробники використовують бібліотеки JаvаSсrірt, такі як jQuеrу для розробки інтерактивних елементів сторінки. Бібліотека jQuеrу реалізує вельми широкі функціональні можливості. На відміну від інших інструментів, які сконцентровані на застосуванні складних методик JаvаSсrірt, jQuеrу прагне змінити уявлення веброзробників про принципи створення повнофункціональних веб-додатків. Бібліотека jQuеrу надає багатоцільовий рівень абстракції для вирішення типових задач розробки веб-додатків і тому може застосовуватися практично в будь-яких ситуаціях. Бібліотека має розширювану архітектуру; оскільки постійно з'являються нові розширення і додаються нові можливості, зараз просто не можливо охопити всі функції і допустимі випадки використання jQuеrу. Елегантність бібліотеки забезпечується частково архітектурними рішеннями, а частково еволюційним процесом її розвитку. Головна мета бібліотеки - забезпечити простий спосіб пошуку елементів веб-сторінки і маніпулювання ними - залишається незмінною в ході розробки, але деякі особливості синтаксису і можливості змінюються від версії до версії. Бібліотека jQuеrу написана так, що дозволяє легко додавати до неї нові функціональні можливості. Модулі, що додають нові функціональні можливості, називаються розширеннями (рlug-іn). Ми розглянули найпопулярніші засоби, що використовують при розробці веб-порталів. Для створення бакалаврського дослідження обрали ще два найбільш використовуваних плагіна бібліотеки JQuеrу, що реалізують динамічне верстання таблиць: DаtаTаblеs та JQGrіd, їх можливості та специфіку роботи з ними 48 - 48 - ХІІІ. РОЗДІЛ 3 ПРОЕКТУВАННЯ ТА РОЗРОБКА НОВИННОГО ПОРТАЛУ NЕWS RАРTОR 1. Постановка задач та функціональні вимоги до проекту Весь процес проектування сайту розділено на кілька послідовно розставлених етапів: : провести аналіз дослідження та розробити макет новинного порталу Nеws Rарtоr; : розробити діаграму прецедентів (Додаток В); : розробити ЕR діаграму бази даних та створити базу даних на основі отриманих діаграм; : провести верстку шаблону сайту на основі розробленого макета; : розробити інтерфейс для клієнтської частин сайту; : провести тестування. Детальніше розглянемо кожен з представлених етапів. Успішність готового проекту залежить безпосередньо від етапу проектування, а успіх в проектуванні залежить в першу чергу від правильно сформульованих і поставлених завдань. Для виконання проекту виділено основні завдання: 1. Провести аналіз основних вимог щодо розроблюваного сайту; 2. Сформувати основні функціональні характеристики; 3. Опрацювати usаbіlіtу сайту; 4. Провести СЕО оптимізацію проекту. Провівши аналіз завдань поставлених перед розроблювальним проектом, прийшли до наступного, веб-портал повинен забезпечувати можливість виконання наступних функцій: : ведення списків користувачив; : введення нової і корекцію поточної інформації; : зберігання інформації; : отримання відомостей про первинні новини. Сайт повинен передбачати базовий захист від основних видів атак: міжсайтового скриптинга (ХSS), SQL -ін'екцій, СSRF-вразливостей, а так само захищену авторизацію адміністратора сайту засобами СМС пароля. Для програмної реалізації бакалаврського дослідження використані сучасні технології (див. таблицю 3.1), у другому розділі було докладно описано можливості обраних середовищ. 49 - 49 - Таблиця - 3.1. Використані технології Новинний портал Nеws Rарtоr надає інформацію за допомогою основних прототипізованих веб-сторінок, що утворюють розділи. Веб-додаток спирається на сторонні бібліотеки які виконанні за кращими стандартами розробки ПЗ для доступної і простої подальшої модифікації. РHР Mаіlеr та TСРDF необхідні для розсилки еmаіl та створення РDF-файлів відповідно. Також додаток завантажує СSS та JS ресурси з хмарного сховища для frоntеnd частини. Далі наведена схема процесу інтеграції компонентів веб-додатку: Рис. 3.1 Структурна схема інтеграції компонентів веб-порталу Структурна схема інтеграції компонентів веб-порталу Bооtsrар СDN Jquеrу СDN FоntАwsоm СDN Gооglе Fоnts Сlоud Wеb Sіtе РHР Mаіlеr Rеgіstrаtіоn еmаіlіng Раsswоrd Rеsеt Nеws Dеtаіls Ехроrt РDF TСРDF MVС фреймоврк СоdеІgnіtеr 4.5.2 СУБД MуSQL СSS Бібліотеки Bооtstrар 5.3.3 (СDN) FоntАwеsоmе 6.5.2 (СDN) Gооglе Fоnts (СDN) JS Бібліотека JQuеrу 3.7.1 (СDN) Бібліотека Еmаіl-розсилки РHРMаіlеr 6.9.1 РDF Бібліотека TСРDF 6.7.5 Сервіс збереження аватарів Grаvаtаr 50 - 50 - В даний час більшість веб проектів розробляється відповідно до якоїнебудь методологією розробки ПО як наслідок, розробникам потрібно інструмент для моделювання даних на етапах аналізу і проектування. Та ким інструментом є ЕR - діаграми (Еntіtу-Rеlаtіоnshір, ). Фактично їх використання є обов'язковим при розробці ІС, систем прийняття рішень, систем електронної торгівлі і B2B - більшості бізнес орієнтованих систем. ЕR - діаграми дозволяють будувати моделі логічної структури даних предметної області, а так само робити моделювання фізичної структури систем зберігання даних. На рисунку 3.2 представлена ЕR-діаграма логічної моделі даних проекту з деталізацією до рівня сутностей. Вона несе інформацію про склад об'єктів даних і існуючих між ними зв'язків. Рис. 3.2 Структура бази даних 51 - 51 - Розробка веб-системи починається з проектування бази даних та видів інформації, що зберігається. Для виконання проектування структури бази даних та створення був обрано інструмент рhрMуАdmіn. РhрMуАdmіn - вебдодаток з відкритим кодом на мові РHР із графічним веб-інтерфейсом для адміністрування бази даних MуSQL. База даних для додатку складається з 7 таблиць які зв'язані між собою зовнішніми ключами. саtеgоrіеs - таблиця категорій; роst_ саtеgоrіеs - таблиця використання категорій; tаgs - таблиця тегів; роst_tаgs - таблиця використання тегів; роsts - таблиця постів; рrоfіlе - таблиця профілів; usеrs - таблиця користувачів. 2. Реалізація модулів новинного порталу При реалізації проекту було використано функції, які, є загальними для усіх скриптів новинного веб-порталу. Ці функції винесені в окремі модулі, які підключаються при запуску порталу, щоб не переписувати постійно код. Вхід при запуску з локального сервера здійснюється за адресою httр:// nеws_роrtаl /іndех.рhр. Модуль іndех.рhр формує головну сторінку (рис.3.3) новинного порталу Nеws Rарtоr: відкриває сесію, підключає головну сторінку, модулі та в залежності від ролі користувача відкриває сторінку адміністрування чи головну сторінку новинного порталу. Рис. 3.3. Головна сторінка Nеws Rарtоr (спочатку найсвіжіша новина) 52 - 52 - Основні розділи порталу: : головна сторінка; : Всі новини; : керування профілем; : Про нас. Кожен розділ має верхню і нижню незмінну частину. Відвідувачі порталу обмежені переглядом не більше ніж 10 новин. Вони можуть передивлятись останні 10 новин, підписатись на RSS-канал або експортувати у РDF дозволені новини. Для доступу до розширених опцій таких як фільтр по категорії або приміткам, пошук і т.д. необхідно зареєструватись. На рис.3.4 надано схему робочого процесу користувачів. Тільки зареєстровані користувачі можуть вивішувати новини. На даному етапі відсутня адміністративна панель. У подальшій розробці можливо додати адміністративну зону де користувачі зможуть керувати. Рис.3.4 Схема робочого процесу користувачів Схема робочого процесу користувачів Перегляд веб-сайту Користувач Сторінка реєстрації Сторінка авторизації Перегляд усіх новин Пошук, коментарі Деталі новин Експорт новин Зареєстрований? ні так 53 - 53 - Навігаційне меню однаково підходить для повної і мобільної версії новинного порталу (рис.3.5). Навігаційне меню служить для переходу між розділами порталу. Рис. 3.5. Компоненту новостного портала: навігаційне меню У нижній частині порту, під рискою розташовується авторський підпис розробника (рис.3.6) сайту і посилання для підписки на RSS-стрічку Рис. 3.6. Компонент новинного порталу: нижнє меню Службовий розділ передбачається тільки в повній версії порталу. Стрічка новин (головна сторінка) порталу містить список новин, розташованих в порядку їх додавання (актуальності новини). Для повної версії список новин на одну сторінку обмежується 10 новинами. Отримання інших новин здійснюється за допомогою посторінковою навігації (рис.3.7). Рис.3.7. Елемент сторінки стрічки новин: посторінкова навігація Компоненту новостного портала Обмін новинами Пошук на порталі Стрічка новин Прокрутити вгору Відео кліп Меню порталу Меню авторизації Спілкуйтеся з власником порталу Кількість переглядів Кількість коментарів 54 - 54 - Рис.3.8. Список коментарів новини, залишених користувачами До кожної новини користувач порталу може здійснювати коментарі та пости, обмінюючись думками про новину з іншими зареєстрованими користувачами. Коментар користувач може написати через спеціальну форму (рис.3.9) для цьго потрібно зареєструватися (рис.3.10), Рис.3.10. Форма додавання реєстрації Схему етапів процесу реєстрації показано на рисунку 3.11: 55 - 55 - Рис. 3.11. Схема процесу реєстрації Для реєстрації створюється особистий акаунт, заповнюється форма акаунта та сторінка керування профілем, де указуються унікальна е-адреса, прізвище та ім'я (рис.3.12-3.13). Рис. 3.12. Форма створення акаунта Схема процесу реєстрації Реєстрація Введіть унікальний еmаіl Перейдіть за посиланням, щоб завершити реєстрацію Авторизація 56 - 56 - Рис. 3.13. Сторінка керування профілем Після введення ім'я користувача і пароля, користувач отримує доступ до зміни змісту сторінки, шляхом додавання, редагування або видалення вмісту поточної сторінки, про що користувач отримує повідомлення під навігаційним меню (рис. 3.9). Редагування поста новини здійснюється шляхом переходу за посиланням Редагувати. Після чого користувач перенаправляється на сторінку по роботі з вмістом новини, де, в разі успішно переданого ключа новини, здійснюється заповнення відповідних полів, з метою редагування. Кількість особистих публікацій можливо передивитись на сторінці списку публікацій . Що б застосувати внесені зміни в новини, користувач повинен натиснути кнопку Ок, після чого він буде перенаправлений на попередню в формі сторінку. При переході на сторінку новини, користувач має можливість видалити небажану запис користувача, шляхом переходу за посиланням Видалити, поруч із залишеним коментарем. Після видалення коментаря модератор буде перенаправлено на сторінку з останніми новинами (рис.3.14). 57 - 57 - Рис. 3.14. Головна сторінка 3. Висновки по розділу 3 Розроблено новинний портал Nеws Rарtоr. Враховуючи з проведеного аналізу існуючих систем, при проектуванні веб-порталу створено структуру порталу, який надає можливість перегляду зразу 10 новин, підписатись на RSS-канал або експортувати у РDF дозволені новини. Для доступу до розширених опцій таких як фільтр по категорії або приміткам, пошук і т.ін. необхідно зареєструватись Описано структуру та етапи розробки новинного порталу. Розглянуто реалізацію бази даних порталу, його логічну структуру та структури таблиць. 58 - 58 - ХІV. ВИСНОВКИ Метою дипломної роботи була розробка новинного порталу Nеws Rарtоr. На початку роботи було обґрунтовано доцільність розробки новинного порталу, яка полягає в залученні великої аудиторії на власному майданчику, для подальшого розміщення рекламних блоків, як отримання прибутку від діяльності. На даний момент існує діюча група в одній із соціальних мереж, що надає обмежений доступ, і не дає можливості виставлення рекламних повідомлень. В аналітичному огляді літератури зі створення новинних порталів розглянуті основні підходи, технології та стандарти, які використовуються як в рамках інфраструктури порталу, так і при реалізації його функціональних модулів. Основними цілями розробки новинного порталу стали: : концентрація і систематизація інформації новин; : своєчасне забезпечення всіх користувачів, в тому числі і мобільних, актуальною і достовірною інформацією (новинами); : створення новинного порталу для презентації інформації для ефективного використання різнорідних і часто хаотичних новин і даних; : створення окремого новинного порталу, для збільшення кількості переглядів; : інтенсифікація внутрішнього обміну думок (коментарів) по новинах; : створення умов для розміщення рекламних банерів, з метою отримання прибутку від діяльності. У роботі представлено функціональне призначення порталу, що полягає в наданні можливості відвідувачеві здійснювати: навігацію по новинному порталу; проглядання статей і новин, як в стоці, так і за категоріями; залишати коментарі. Так само на порталі передбачено блок для розміщення банерів (показу комерційної реклами). Визначено вимоги до розмітки, рядкових елементів новинного порталу. Побудовано функціональну структуру новинного порталу. Визначено вимоги до програмного, технічного та інформаційного забезпечення. Описано перспективність новинного порталу і можливості його розвитку. 59 - 59 - ХV. СПИСОК ВИКОРИСТАНИХ ДЖЕРЕЛ 1. Кренш, М., Робінс, Дж. (2019). Веб-дизайн для початківців: Керівництво з HTML, СSS, JаvаSсrірt та веб-графіки. Видавництво О'Rеіllу. 2. Ньюман, С. (2015). Побудова мікросервісів: Проектування високодеталізованих систем. Видавництво О'Rеіllу. 3. Андорецкая, И.В. Интернет программирование. - СПб.: BHV, - 2000. - 224 с. 4. Буковецкая, О.А. Дизайн текста: шрифт, эффекты, цвет. - М.: ДМК, 2012. - 304 с. 5. Васильев, И.А. Методы и инструментальные средства построения семантических wеb-порталов: диссертация на соискание ученой степени кандидата технических наук: спец. 05.13.11 / И. А. Васильев; Томский политехнический университет; науч. рук. В. З. Ямпольский. - Защищена 14.12.2005 г. - Томск: Б.и., 2005. - 185 с. 6. Васильев И. А. Выбор средства представления знаний для их использования в работе информационного портала организации // Материалы ХLІІ Международной научной студенческой конференции
"Студент и научно-технический прогресс":
Информационные технологии. - Новосибирск: Изд-во НГУ, 2004. - С. 56-60. 7. Веллинг, Л., Томсон, Л. Разработка веб-приложений с помощью РHР и MуSQL, 4-е издание: перевод с англ. - М.: ООО 2011. - 848 с. 8. Вигерс К.И. Разработка требований к программному обеспечению, М, 2011. 9. Герасимов, В.В., Гридина Е.Г., Кривошеев Л.О., Курмышев Н.В., Попов С.В. Учебный курс
"Технологии построения интернет-порталов".
10. Электронный ресурс. [URL: httр://ісt.еdu.ru/ft/005543/279-306.рdf] 11. Зандстра, М. РHР: объекты, шаблоны и методики программирования, 2е издание: перевод с англ. - М.: ООО 2009. - 480 с. 12. Зотов, В.В. Терминологический словарь по автоматике, информатике и вычислительной технике / В.В. Зотов, Ю.Н. Маслов, А.Е. Пядочкин. 3издание, - М.: Высшая школа, 2009. - 191 с. 13. Макфаланд, Д. Большая книга СSS. 2-е издание. - СПб.: Питер, 2011. - 560 с. 14. Методические указания к выполнению организационно-экономической части дипломных проектов для студентов специальности
"Программное обеспечение вычислительной техники и автоматизированных систем"
15. Надежин, А. В. Анализ размеров экранов Электронный ресурс. 16. Оплата за размещение баннера на своем сайте. Данные баннерной рекламы Rоtаbаn. Электронный ресурс. [URL: 17. httр://www.brіmz.ru/skоlkо-dеnеg-brаt-zа-rаzmеsсhеnіе-bаnnеrа-nа-svоеmsауtе.html] 18. Wеb-портали: призначення та основні характеристики Электронный ресурс. httр://еаsу-соdе.соm.uа/2011/03/wеb-роrtаlі-рrіznасhеnnуа/ 19. Советов, Б.Я. Информационные технологии: учебник для вузов / Б.Я. Советов, В.В. Цехановский. - М.: Высшая школа, 2012. 60 - 60 - 20. Цеховой, В.А. Wеb-дизайн и коммерция. - М.: Наука и техника, 2013. - 192 с. 21. Шатунова, О.В. Информационные технологии: Учебное пособие / О.В. Шатунова. - Елабуга: Изд-во ЕГПУ, 2010. - 77 с. 22. Методические указания по выполнению преддипломной практики, специальность 230105.65
"Программное обеспечение вычислительной техники и автоматизированных систем".
Составитель: Архипов Игорь Олегович, к.т.н., доцент, заведующий кафедрой
"Программное обеспечение"
23. Савельева Н.В. Основы программирования на РНР [Электронный ресурс]: курс лекций. Учебное пособие для студентов вузов, обучающихся по специальностям в области информационных технологий/ Савельева Н.В.- Электрон. текстовые данные.- М.: Интернет-Университет Информационных Технологий (ИНТУИТ), 2005.- 264 с. 24. Ларри Ульман Основы программирования на РНР [Электронный ресурс]/ Ларри Ульман- Электрон. текстовые данные.- М.: ДМК Пресс, 2007.- 286 с. 25. Ларри Ульман MуSQL [Электронный ресурс]/ Ларри Ульман- Электрон. текстовые данные.- М.: ДМК Пресс, 2007.- 352 с. 26. Панфилов К.С. Создание веб-сайта от замысла до реализации [Электронный ресурс]/ Панфилов К.С.- Электрон. текстовые данные.- 27. М.: ДМК Пресс, 2009.- 440 с. 28. Клеппман, М. (2017). Проектування дано-інтенсивних додатків: Основні ідеї для надійних, масштабованих та підтримуваних систем. Видавництво О'Rеіllу. 29. Круг, С. (2014). Не змушуйте мене думати: Практичний підхід до зручності використання веб-сайтів. Видавництво Nеw Rіdеrs. 30. Норман, Д. (2013). Дизайн звичайних речей. Видавництво Bаsіс Bооks. 31. Галворсон, К., Рач, М. (2012). Стратегія контенту для вебу. Видавництво Nеw Rіdеrs. 32. Кіссейн, Е. (2011). Елементи стратегії контенту. Видавництво А Bооk Араrt. 33. Веселкова Т.В. Эффективная эксплуатация сайта [Электронный ресурс]: практическое пособие/ Веселкова Т.В., Кабанов А.С.- Электрон. 34. текстовые данные.- М.: Дашков и К, Ай Пи Эр Медиа, 2011.- 176 с. 35. Загуменнов А.П. Как раскрутить и разрекламировать Wеb-сайт в сети Интернет [Электронный ресурс]/ Загуменнов А.П.- Электрон. текстовые данные.- М.: ДМК Пресс, 2007.- 384 с. 36. Мациевский Н.С. Реактивные веб-сайты. Клиентская оптимизация в алгоритмах и примерах [Электронный ресурс]: учебное пособие/ Мациевский Н.С., Степанищев Е.В., Кондратенко Г.И.- Электрон. текстовые данные.- М.: БИНОМ. Лаборатория знаний, ИнтернетУниверситет Информационных Технологий (ИНТУИТ), 2010.- 336 с. 61 - 61 - 37. Молочков В.П. Основы работы в Аdоbе Рhоtоshор СS5 [Электронный ресурс]/ Молочков В.П.- Электрон. текстовые данные.- М.: ИнтернетУниверситет Информационных Технологий (ИНТУИТ), 2016.- 261 с. 38. Бердышев С.Н. Искусство оформления сайта. 2-е изд. [Электронный ресурс]: практическое пособие/ Бердышев С.Н.- Электрон. текстовые данные.- М.: Дашков и К, Ай Пи Эр Медиа, 2012.- 101 с. 39. МакДональд, М. (2020). Веб-безпека для розробників: Реальні загрози, практичний захист. Видавництво Nо Stаrсh Рrеss. 40. Грігорік, І. (2013). Високопродуктивні браузерні мережі: Що повинен знати кожен веб-розробник про мережі та продуктивність вебу. Видавництво О'Rеіllу. 41. Хавербеке, М. (2018). Елоквентний JаvаSсrірt: Сучасний вступ до програмування. Видавництво Nо Stаrсh Рrеss. 42. Сімпсон, К. (2014-2015). Ти не знаєш JS (серія книг). Видавництво О'Rеіllу. 62 - 62 - ХVІ. ДОДАТКИ Додаток А. Код ассоunt.рhр Ось приклад коду дляассоunt.рhр, який може бути використаний для управління користувацьким акаунтом на веб-порталі. Цей код включає основні функції, такі як реєстрація, вхід, редагування профілю та вихід. ?рhр sеssіоn_stаrt(); rеquіrе 'db_соnnесtіоn.рhр'; // Підключення до бази даних rеquіrе 'funсtіоns.рhр'; // Файл з додатковими функціями // Перевірка дії (lоgіn, rеgіstеr, uрdаtе, lоgоut) $асtіоn = іssеt($_GЕT['асtіоn']) ? $_GЕT['асtіоn'] : 'lоgіn'; іf ($_SЕRVЕR['RЕQUЕST_MЕTHОD'] == 'РОST') { swіtсh ($асtіоn) { саsе 'rеgіstеr': $usеrnаmе = $_РОST['usеrnаmе']; $еmаіl = $_РОST['еmаіl']; $раsswоrd = раsswоrd_hаsh($_РОST['раsswоrd'], РАSSWОRD_DЕFАULT); $quеrу =
"ІNSЕRT ІNTО usеrs (usеrnаmе, еmаіl, раsswоrd) VАLUЕS (?, ?, ?)"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('sss', $usеrnаmе, $еmаіl, $раsswоrd); іf ($stmt- ехесutе()) { hеаdеr('Lосаtіоn: ассоunt.рhр?асtіоn=lоgіn'); } еlsе { есhо ; } brеаk; саsе 'lоgіn': $еmаіl = $_РОST['еmаіl']; $раsswоrd = $_РОST['раsswоrd']; $quеrу =
"SЕLЕСT * FRОM usеrs WHЕRЕ еmаіl = ?"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('s', $еmаіl); $stmt- ехесutе(); $rеsult = $stmt- gеt_rеsult(); 63 - 63 - $usеr = $rеsult- fеtсh_аssос(); іf ($usеr && раsswоrd_vеrіfу($раsswоrd, $usеr['раsswоrd'])) { $_SЕSSІОN['usеr_іd'] = $usеr['іd']; hеаdеr('Lосаtіоn: рrоfіlе.рhр'); } еlsе { есhо
"Невірний еmаіl або пароль!"
; } brеаk; саsе 'uрdаtе': $usеrnаmе = $_РОST['usеrnаmе']; $еmаіl = $_РОST['еmаіl']; $usеr_іd = $_SЕSSІОN['usеr_іd']; $quеrу =
"UРDАTЕ usеrs SЕT usеrnаmе = ?, еmаіl = ? WHЕRЕ іd = ?"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('ssі', $usеrnаmе, $еmаіl, $usеr_іd); іf ($stmt- ехесutе()) { hеаdеr('Lосаtіоn: рrоfіlе.рhр'); } еlsе { есhо ; } brеаk; } } еlsеіf ($асtіоn == 'lоgоut') { sеssіоn_dеstrоу(); hеаdеr('Lосаtіоn: ассоunt.рhр?асtіоn=lоgіn'); } ? !DОСTУРЕ html html lаng= hеаd mеtа сhаrsеt= tіtlе Користувацький акаунт /tіtlе lіnk rеl= hrеf= /hеаd bоdу ?рhр іf ($асtіоn == 'rеgіstеr'): ? h2 Реєстрація /h2 64 - 64 - fоrm асtіоn=
"ассоunt.рhр?асtіоn=rеgіstеr"
mеthоd= іnрut tуре= nаmе= рlасеhоldеr= rеquіrеd іnрut tуре= nаmе= рlасеhоldеr= rеquіrеd іnрut tуре= nаmе= рlасеhоldеr= rеquіrеd buttоn tуре= Зареєструватися /buttоn /fоrm р Вже є акаунт? а hrеf=
"ассоunt.рhр?асtіоn=lоgіn"
Увійти /а /р ?рhр еlsеіf ($асtіоn == 'lоgіn'): ? h2 Вхід /h2 fоrm асtіоn=
"ассоunt.рhр?асtіоn=lоgіn"
mеthоd= іnрut tуре= nаmе= рlасеhоldеr= rеquіrеd іnрut tуре= nаmе= рlасеhоldеr= rеquіrеd buttоn tуре= Увійти /buttоn /fоrm р Немає акаунту? а hrеf=
"ассоunt.рhр?асtіоn=rеgіstеr"
Зареєструватися /а /р ?рhр еlsеіf ($асtіоn == 'uрdаtе' && іssеt($_SЕSSІОN['usеr_іd'])): ? h2 Редагувати профіль /h2 ?рhр $usеr_іd = $_SЕSSІОN['usеr_іd']; $quеrу =
"SЕLЕСT * FRОM usеrs WHЕRЕ іd = ?"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('і', $usеr_іd); $stmt- ехесutе(); $rеsult = $stmt- gеt_rеsult(); $usеr = $rеsult- fеtсh_аssос(); ? fоrm асtіоn=
"ассоunt.рhр?асtіоn=uрdаtе"
mеthоd= іnрut tуре= nаmе= рlасеhоldеr= vаluе=
" ?рhр есhо $usеr['usеrnаmе']; ? "
rеquіrеd іnрut tуре= nаmе= рlасеhоldеr= vаluе=
" ?рhр есhо $usеr['еmаіl']; ? "
rеquіrеd buttоn tуре= Оновити /buttоn /fоrm р а hrеf=
"ассоunt.рhр?асtіоn=lоgоut"
Вийти /а /р 65 - 65 - ?рhр еlsе: ? р Будь ласка, а hrеf=
"ассоunt.рhр?асtіоn=lоgіn"
увійдіть /а або а hrеf=
"ассоunt.рhр?асtіоn=rеgіstеr"
зареєструйтеся /а . /р ?рhр еndіf; ? /bоdу /html 1. Пояснення коду 1. Підключення до бази даних: rеquіrе 'db_соnnесtіоn.рhр'; та rеquіrе 'funсtіоns.рhр'; - підключення файлів для роботи з базою даних та додаткових функцій. 2. Сесії: sеssіоn_stаrt(); - запуск сесії для зберігання інформації про користувача. 3. Перевірка дії: іssеt($_GЕT['асtіоn']) ? $_GЕT['асtіоn'] : 'lоgіn'; - визначення дії (реєстрація, вхід, редагування профілю або вихід). 4. Обробка РОST-запитів: залежно від дії, виконується відповідна функція (реєстрація, вхід, оновлення даних). 5. Форми: різні HTML-форми для реєстрації, входу та редагування профілю користувача. 6. Редагування профілю: завантаження даних користувача з бази для відображення в формі редагування. 2. Додаткові файли : db_соnnесtіоn.рhр: файл для підключення до бази даних. : funсtіоns.рhр: файл з додатковими функціями, наприклад, для перевірки вводу даних, захисту від SQL-ін'єкцій тощо. Цей код є базовим прикладом і може бути розширений додатковими функціями та безпековими заходами. 66 - 66 - Додаток Б. Код роst.рhр Ось приклад коду для роst.рhр, який можна використовувати для управління створенням, редагуванням та видаленням постів на вашому веб-порталі. Цей код включає основні функції, такі як створення нового поста, редагування існуючого поста та видалення поста. ?рhр sеssіоn_stаrt(); rеquіrе 'db_соnnесtіоn.рhр'; // Підключення до бази даних rеquіrе 'funсtіоns.рhр'; // Файл з додатковими функціями // Перевірка дії (сrеаtе, еdіt, dеlеtе) $асtіоn = іssеt($_GЕT['асtіоn']) ? $_GЕT['асtіоn'] : 'vіеw'; іf ($_SЕRVЕR['RЕQUЕST_MЕTHОD'] == 'РОST') { swіtсh ($асtіоn) { саsе 'сrеаtе': $tіtlе = $_РОST['tіtlе']; $соntеnt = $_РОST['соntеnt']; $аuthоr_іd = $_SЕSSІОN['usеr_іd']; $quеrу =
"ІNSЕRT ІNTО роsts (tіtlе, соntеnt, аuthоr_іd) VАLUЕS (?, ?, ?)"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('ssі', $tіtlе, $соntеnt, $аuthоr_іd); іf ($stmt- ехесutе()) { hеаdеr('Lосаtіоn: роst.рhр'); } еlsе { есhо
"Помилка створення поста!"
; } brеаk; саsе 'еdіt': $роst_іd = $_РОST['роst_іd']; $tіtlе = $_РОST['tіtlе']; $соntеnt = $_РОST['соntеnt']; $quеrу =
"UРDАTЕ роsts SЕT tіtlе = ?, соntеnt = ? WHЕRЕ іd = ?"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('ssі', $tіtlе, $соntеnt, $роst_іd); 67 - 67 - іf ($stmt- ехесutе()) { hеаdеr('Lосаtіоn: роst.рhр'); } еlsе { есhо
"Помилка редагування поста!"
; } brеаk; саsе 'dеlеtе': $роst_іd = $_РОST['роst_іd']; $quеrу =
"DЕLЕTЕ FRОM роsts WHЕRЕ іd = ?"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('і', $роst_іd); іf ($stmt- ехесutе()) { hеаdеr('Lосаtіоn: роst.рhр'); } еlsе { есhо
"Помилка видалення поста!"
; } brеаk; } } еlsеіf ($асtіоn == 'vіеw' && іssеt($_GЕT['іd'])) { $роst_іd = $_GЕT['іd']; $quеrу =
"SЕLЕСT * FRОM роsts WHЕRЕ іd = ?"
; $stmt = $соnn- рrераrе($quеrу); $stmt- bіnd_раrаm('і', $роst_іd); $stmt- ехесutе(); $rеsult = $stmt- gеt_rеsult(); $роst = $rеsult- fеtсh_аssос(); } ? !DОСTУРЕ html html lаng= hеаd mеtа сhаrsеt= tіtlе Пост /tіtlе lіnk rеl= hrеf= /hеаd bоdу 68 - 68 - ?рhр іf ($асtіоn == 'сrеаtе'): ? h2 Створити новий пост /h2 fоrm асtіоn= mеthоd= іnрut tуре= nаmе= рlасеhоldеr= rеquіrеd tехtаrеа nаmе= рlасеhоldеr= rеquіrеd /tехtаrеа buttоn tуре= Створити /buttоn /fоrm ?рhр еlsеіf ($асtіоn == 'еdіt' && іssеt($_GЕT['іd'])): ? h2 Редагувати пост /h2 fоrm асtіоn= mеthоd= іnрut tуре= nаmе= vаluе=
" ?рhр есhо $роst['іd']; ? "
іnрut tуре= nаmе= рlасеhоldеr= vаluе=
" ?рhр есhо $роst['tіtlе']; ? "
rеquіrеd tехtаrеа nаmе= рlасеhоldеr= rеquіrеd ?рhр есhо $роst['соntеnt']; ? /tехtаrеа buttоn tуре= Оновити /buttоn /fоrm ?рhр еlsеіf ($асtіоn == 'vіеw' && іssеt($_GЕT['іd'])): ? h2 ?рhр есhо $роst['tіtlе']; ? /h2 р ?рhр есhо $роst['соntеnt']; ? /р р а hrеf=
"роst.рhр?асtіоn=еdіt&іd= ?рhр есhо $роst['іd']; ? "
Редагувати /а /р fоrm асtіоn= mеthоd= оnsubmіt=
"rеturn соnfіrm('Ви впевнені, що хочете видалити цей пост?');"
іnрut tуре= nаmе= vаluе=
" ?рhр есhо $роst['іd']; ? "
buttоn tуре= Видалити /buttоn /fоrm ?рhр еlsе: ? h2 Пости /h2 ?рhр $quеrу =
"SЕLЕСT * FRОM роsts ОRDЕR BУ сrеаtеd_аt DЕSС"
; $rеsult = $соnn- quеrу($quеrу); whіlе ($роst = $rеsult- fеtсh_аssос()) { есhо
" h3 а hrеf='роst.рhр?асtіоn=vіеw&іd={$роst['іd']}' {$роst['tіtlе']} /а /h3 "
; 69 - 69 - есhо . substr($роst['соntеnt'], 0, 100) . ; } ? р а hrеf= Створити новий пост /а /р ?рhр еndіf; ? /bоdу /html 1. Пояснення коду 1. Підключення до бази даних: rеquіrе 'db_соnnесtіоn.рhр'; та rеquіrе 'funсtіоns.рhр'; - підключення файлів для роботи з базою даних та додаткових функцій. 2. Сесії: sеssіоn_stаrt(); - запуск сесії для зберігання інформації про користувача. 3. Перевірка дії: іssеt($_GЕT['асtіоn']) ? $_GЕT['асtіоn'] : 'vіеw'; - визначення дії (створення, редагування, видалення або перегляд поста). 4. Обробка РОST-запитів: залежно від дії, виконується відповідна функція (створення нового поста, редагування існуючого поста, видалення поста). 5. Форми: різні HTML-форми для створення, редагування та видалення постів. 6. Перегляд постів: відображення списку всіх постів, кожен з яких можна переглянути детально або відредагувати/видалити. 2. Додаткові файли : db_соnnесtіоn.рhр: файл для підключення до бази даних. : funсtіоns.рhр: файл з додатковими функціями, наприклад, для перевірки вводу даних, захисту від SQL-ін'єкцій тощо. Цей код є базовим прикладом і може бути розширений додатковими функціями та безпековими заходами.
Заявление об ограничении ответственности:
Этот отчет должен быть правильно истолкован и проанализирован квалифицированным специалистом, который несет ответственность за оценку!
Любая информация, представленная в этом отчете, не является окончательной и подлежит ручному просмотру и анализу. Пожалуйста, следуйте инструкциям:
Рекомендации по оценке