Управление веб-сайтом

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 23.06.2012
Размер файла 4,5 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://allbest.ru/

Размещено на http://allbest.ru/

Тема Управление веб-сайтом

Название дисциплины Информатика и ВТ

Овчаров Юрий Валерьевич

Содержание

  • Введение
    • 1. Управление веб-сайтом
    • 1.1 Шаблоны и HTML
    • 1.2 PHP и JavaScript
    • 2. Простые системы управления
    • 2.1 Блоги и CMS для них
    • 3. Сложные системы управление
    • 3.1 CMS для магазинов
    • 3.2 Универсальные CMS
  • Заключение
  • Глоссарий
  • Список использованных источников
  • Приложения

Введение

В глобальной сети интернет информация предоставляется с помощью сайтов. Cайт или веб-сайт на английском языке website, дословно переводится web -- паутина и site -- «место». От этого и пошло название «Всемирная паутина». Веб сайт - это место во всемирной сети интернет, которое имеет свой адрес, собственного хозяина и состоит из отдельных веб-страниц, которые мы видим как одно целое. Антоненко М.В. SQL. Интернет. Полное руководство. - С-пб.: «Наука и техника», 2011. - с 483

Всемирная паутина сеть состоит из сайтов, доступных для общего пользования. Все страницы любого сайта объединяются одним корневым адресом, то, что мы набираем в адресной строке браузера, тематикой, системой управления и дизайном. Все страницы веб-сайта это текстовый документ, который написан на языке программирования HTML, XHTML, PHP, JavaScript и другие веб языки программирования. Данные текстовые файлы загружаются на ваш компьютер в папку Coockies, полученные данные обрабатываются браузером пользователя и отображаются на мониторе вашего компьютера в виде страницы сайта. Сайт отображается, так как задумал программист. Языки программирования дают возможность редактировать текст страницы, добавлять ссылки, вставлять видео, картинки и звуковые файлы. Сайты могут иметь простые страницы, которые содержат тексты и картинки, в приложении А представлена структура простого сайта. Есть и сайты, у которых имеются сложные страницы с большим количеством функций, которые управляются различными программами и на разных языках программирования. Вирин Ф. Интернет-маркетинг. Полный сборник практических инструментов. - М.: «Эксмо», 2012. - с 178

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

6 августа 1991 года был создан самый первый сайт в мире. Автором первого сайта был Тим Бернерс-Ли. Информацией, опубликованной на этом сайте, было описание новой технологии World Wide Web. Гаевский А. Ю., Романовский В. А. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript. - М.: «Триумф», 2008. - с 352

В настоящем времени сайт является визитной карточкой предприятия, фирмы, вашим портфолио. К сожалению, в России фирмы и предприятия не спешат создавать сайты. Во всемирной паутине имеются файлообменики, социальные сети, такие как odnoklassniki.ru, livejournal.ru, vkontakte.ru, интернет-магазины, онлайн-сервисы, браузерные онлайн-игры. Благодаря сайту можно распространять информацию, которую вы хотите, быстро её изменять, таким образом, пользователи, посетившие ваш сайт, будут обладать представленными вами данными. С помощью сайта вы сможете донести огромное количество информации до людей. Телевидение, радио и газеты не способны дать такого ошеломляющего эффекта. В газете информация ограничивается количеством страниц, на радио можно расслышать или неправильно записать, запомнить информацию. Имея собственный сайт вы не ограничены и можете разместить большое количество информации. Сайт доступен 24 часа в сутки 7 дней в неделю, благодаря этому все желающие могут получить к нему доступ. Главная задача сайта - доносить информацию до потенциальных клиентов и пользователей. Гаевский А. Ю., Романовский В. А. 100% самоучитель. Создание Web-страниц и Web-сайтов. HTML и JavaScript. - М.: «Триумф», 2008. - с 452

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

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

Отрицательные свойства статического сайта - при редактировании пользователь должен иметь знания HTML-верстки и других языков веб-программирования; при добавлении новых материалов приходится менять структуру сайта, чтобы обеспечить изменения в системе навигации; трудно поддерживать целостность сайта, если количество страниц превышает в 1000 страниц.

Динамические сайты основаны на шаблонной странице, в которую вставляется постоянно меняющееся информационное наполнение, которое обычно хранится в базе данных. Когда идет запрос страницы, нужная информация извлекается из базы данных, вставляется в нужное место в шаблоне, образуя новую веб-страницу, и пересылается веб-сервером в браузер пользователя, который и отображает ее должным образом. Помимо наполнения информация, динамически могут создаваться также и элементы навигации по сайту. Для обновления страницы достаточно вставить нужный текст и, который затем вставляется в базу данных с помощью определенного программного кода. В приложение В показана структура работы динамического сайта. Спиридонов М. Рунетология. Кто управляет русским Интернетом? - М.: «Манн, Иванов и Фербер», 2011. - с 252

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

Есть и отрицательные свойства у динамических сайтов такие как: дороговизна в разработке, дорог он и в техническом содержании. Также требуется большое количество технических затрат у серверов.

В динамических сайтах используются различные системы управления. Со временем они видоизменяются и совершенствуются для облегчения работы пользователя. Спиридонов М. Рунетология. Кто управляет русским Интернетом? - М.: «Манн, Иванов и Фербер», 2011. - с 298

1. Управление веб-сайтом

С возрастающей популярностью интернета и соответственно к сайтам, появилась необходимость в создании программы, которая будет управлять сайтом. Так появилась CMS - Content Management System, что в переводе с английского -система управления контентом. Примерно 17 августа 2000 года появилась первая CMS написанная на языке программирования PHP, называлась PHP-Nuke.

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

В самом начале создания систем управления шаблоны создавались посредством языка программирования HTML. На рисунке 1.1 показана структура простого сайта на языке HTML.

Рисунок 1.1

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

Простые сайты писались как всегда в языке программирования HTML, что и остается, по сей день. Для работы необходимо было знание данного языка. Благодаря CMS отпадает необходимость в знании языка программирования HTML.

Изначально язык HTML был задуман и создан как средство структурирования и форматирования документов без их привязки к средствам воспроизведения (отображения). В идеале, текст с разметкой HTML должен был без стилистических и структурных искажений воспроизводиться на оборудовании с различной технической оснащённостью (цветной экран современного компьютера, монохромный экран органайзера, ограниченный по размерам экран мобильного телефона или устройства и программы голосового воспроизведения текстов). Однако современное применение HTML очень далеко от его изначальной задачи. Например, тег <TABLE>, несколько раз использованный для форматирования страницы, которую вы на данный момент читаете, предназначен для создания в документах самых обычных таблиц, но, как можно убедиться, здесь нет ни одной таблицы. С течением времени, основная идея платформонезависимости языка HTML была отдана в своеобразную жертву современным потребностям в мультимедийном и графическом оформлении.

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

Имеются три типа систем управления. Первый тип это коммерческие CMS, что бы с ними работать надо купить лицензию. На рисунке 2 показаны статистика популярности коммерческих CMS на 2011 год.

Рисунок 1.2

Второй тип - это так называемые свободные системы управления, с которыми можно устанавливать бесплатно и использовать по своему усмотрению. На рисунке 3 показана статистика популярности год свободных CMS на 2011 год.

  • программный обеспечение интроспекция установка

Рисунок 1.3

Третий тип - это самописные или индивидуальные системы управления, которые создаются в интернет компаниях. На рисунке 4 показана статистика популярности индивидуальных систем управления на 2011 год.

Рисунок 1.4

Некоторые интернет-компании используют бесплатные CMS, которые отвечают все требованиям заказчика.

1.1 Шаблоны и HTML

Шаблоны в первых системах управления строились на языке веб-программирования HTML. Данный язык появился приблизительно в 1989-1991 годах. Создан он был для обмена научной и технической информации между компьютерами. Впоследствии он стал одним из основных языков веб-программирования. Язык HTML отлично справляется с проблемой сложности SGML путем определения небольшого набора семантических и структурных элементов - дескрипторов. Другое название дескрипторов - теги. Благодаря простоте восприятия синтаксиса языка HTML, создавать страницы было просто и удобно. С помощью языка можно создать страницы, который ссылаются друга на друга, что удобно в использовании и получении информации. На рисунке 1.5 показана простая страница, написанная на языке веб-программрования HTML.

Рисунок 1.5

Этот язык программирования со временем, благодаря своей простоте, стал популярным языком, который начали использовать в создании сайтов. Сначала программный код писал в просто текстовом блокноте, что позволяло создавать любому пользователю страницу сайта. На рисунке 1.6 представлена страница написанная в текстовом блокноте.

Рисунок 1.6

Вследствие распространения языка HTML в сети и усложнения структуры отображения данных, усложнялся и язык программирования. Нужно было отображать много картинок, и соответственно код страницы становился сложнее. На рисунке 1.7 показана структура сложной страницы.

Рисунок 1.7

Текстовые документы, содержащие разметку на языке HTML (такие документы традиционно имеют расширение .html или .htm), обрабатываются специальными приложениями, которые отображают документ в его форматированном виде. Такие приложения, называемые «браузерами» или «интернет-обозревателями», обычно предоставляют пользователю удобный интерфейс для запроса веб-страниц, их просмотра (и вывода на иные внешние устройства) и, при необходимости, отправки введённых пользователем данных на сервер.

Официальной спецификации HTML 1.0 не существует. До 1995 года существовало множество неофициальных стандартов HTML. Чтобы стандартная версия отличалась от них, ей сразу присвоили второй номер.

Версия 3 была предложена Консорциумом всемирной паутины (W3C) в марте 1995 года и обеспечивала много новых возможностей, таких как создание таблиц, «обтекание» изображений текстом и отображение сложных математических формул. Даже при том, что этот стандарт был совместим со второй версией, реализация его была сложна для браузеров того времени. Версия 3.1 официально никогда не предлагалась, и следующей версией стандарта HTML стала 3.2, в которой были опущены многие нововведения версии 3.0, но добавлены нестандартные элементы, поддерживаемые браузерами Netscape Navigator и Mosaic.

В версии HTML 4.0 произошла некоторая «очистка» стандарта. Многие элементы были отмечены как устаревшие и нерекомендованные (англ. deprecated). В частности, элемент font, используемый для изменения свойств шрифта, был помечен как устаревший (вместо него рекомендуется использовать таблицы стилей CSS).

В 1998 году консорциум Всемирной паутины начал работу над новым языком разметки, основанном на HTML 4, но соответствующим синтаксису XML. Впоследствии новый язык получил название XHTML. Первая версия XHTML 1.0 одобрена в качестве Рекомендации консорциума Всемирной паутины 26 января 2000 года.

Планируемая версия XHTML 2.0 должна была разорвать совместимость со старыми версиями HTML и XHTML, но 2 июля 2009 года консорциум Всемирной паутины объявил, что полномочия рабочей группы XHTML2 истекают в конце 2009 года. Таким образом, была приостановлена вся дальнейшая разработка стандарта XHTML 2.0.

Модуляризация XHTML это разделение XHTML 1.0, относительно HTML 4, на коллекцию абстрактных модулей, которые предоставляют специфические типы функциональности. Эти абстрактные модули реализованы в данной спецификации с использованием языка XML Document Type Definition/Определения Типа Документа, но ожидается появление реализации с использованием Схемы XML.

Правила определения абстрактных модулей и реализации их с использованием ОТД XML также определены в данном документе.

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

Модуляризация XHTML - это задача специфицирования правильно определённых наборов элементов XHTML, которые (наборы) могут комбинироваться и расширяться авторами документов, создателями типов документов, другими спецификациями стандартов XML и дизайнерами приложений и продуктов с целью дать техническую возможность разработчикам содержимого доставлять это содержимое на большое количество разнообразных платформ.

За последние два года многие специализированные рынки приняли HTML в качестве языка содержимого. Происходит быстрое продвижение в направлении использования HTML на большом количестве новых компьютерных платформ.

В настоящее время наблюдается активность в продвижении HTML на мобильные устройства (наручные компьютеры, портативные телефоны и т.п.), телевизионные устройства (цифровые телевизоры, Web-браузеры на базе TV и т.п.) и приборы (устройства с фиксированными функциями). Каждое из этих устройств имеет свои особые требования и ограничения.

Модуляризация XHTML предоставляет дизайнерам продуктов средства спецификации элементов, поддерживаемых устройством, с использованием стандартных строительных блоков и стандартных методов определения того, какие блоки используются.

Эти модули служат "точками соответствия" для сообщества содержимого. Сообщество содержимого может теперь иметь установленную базу, поддерживающую определённые коллекции модулей, вместо того, чтобы беспокоиться об установленной базе, которая поддерживает то или иное изменение элементов XHTML. Использование стандартов является критичным для того, чтобы модуляризованный XHTML имел успех повсюду. Для разработчиков содержимого экономически нереально подгонять содержимое к каждому изменению элементов XHTML. Путём спецификации стандарта, любой процесс программы может автономно создавать содержимое для устройства, или устройство может автоматически загрузить программу, необходимую для работы модуля.

Модуляризация позволяет также расширять возможности представления XHTML путём использования расширяемости XML без нарушения стандарта XHTML. Такой способ разработки даёт стабильную и реальную основу для разработчиков содержимого и издателей при обслуживании быстро множащихся технологических изменений на Web.

В результате этого появилась нужда в специальной программе помогающей программисту в написании страниц сайта. Первая такая программа появилась примерно в 1997 году. Только в 2002 году такие программы стали популярны. На рисунке 1.8 показана одна из программ помогающая программисту, создавать сайты. Муссиано Ч., Кеннеди Б. HTML и XHTML. Полное руководство. - М.: «Символ-Плюс», 2011. - с 258

Благодаря данной программе можно было без особых проблем создавать сайты. В нем имеется словари языков программирования HTML, CSS, JavaScript, PHP.

Можно в новой закладке или в этом же окне открыть окно, в котором показывается, что будет отображаться на сайте. Это позволяет быстро и эффективно изменять код сайта, чтобы получилось, то, что задумал программист.

Рисунок 1.8

Даже после создания программ, которые помогали создавать сайты, веб-программирование усложнилось. И языка программирования HTML стало мало. Потребовались дополнительные языки веб-программирования, дабы сайт бы более динамичнее.

1.2 PHP и JavaScript

Язык программирования PHP создал в 1995 году датский программист Расмус Лердорф. Создавался язык для вывода и учета посетителей онлайн-резюме, обрабатывающие шаблоны HTML-документов. Написан он был на Perl. На рисунке 1.9 показан код на языке PHP. Зандстра М. PHP. Объекты, шаблоны и методики программирования. - М.: «Вильямс», 2009. - с 289

Вскоре быстроты и функциональности Perl стало не хватать. И Расмус Лердорф подключил язык программирования Си. Это развило функциональность языка PHP и дало больше возможностей для создания сайтов.

В 1996 году PHP прошел еще одно преобразование. В новом PHP было включена поддержка mSQL, DBM и Postgress95 без данных, cookies, поддержку определяемых пользователем функции и многие другое.

Рисунок 1.9

Даже имея все плюсы, язык веб-программирования PHP в 1998 году имел малую популярность, всего 1% от всех сайтов в интернете, примерно 50 тысяч сайтов. Через год популярность языка PHP увеличилась по состоянию на 1999 год. Развитие языка в этот период совершал один и тот же человек, создатель языка Расмус Лердорф.

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

<p>Это будет проигнорировано.</p>

<?php echo 'А это будет обработано.'; ?>

<p>Это тоже будет проигнорировано.</p>

Можно использовать и более продвинутые структуры:

Пример #1 Продвинутое внедрение

<?php

if ($expression) {

?>

<strong>Это истина.</strong>

<?php

} else {

?>

<strong>Это ложь.</strong>

<?php

}

?>

Это работает так, как и ожидается, потому что когда PHP встречает закрывающие теги ?>, он просто начинает выводить все, что встретит (за исключением перевода строки, стоящим сразу после закрывающего тега - смотрите разделение инструкций), пока не встретит следующий открывающий тег. Вышеуказанный пример, разумеется, надуман, но при больших объемах текста выход из режима PHP обычно более эффективен, чем посылка всего текста через echo() или print().

Существует четыре набора тегов, которые могут быть использованы для обозначения PHP-кода. Из них только два <?php ?> и <script language="php"> </script>) всегда доступны. Другими двумя являются короткие теги и теги в стиле ASP, которые могут быть включены или выключены в конфигурационном файле php.ini. Хотя короткие теги и теги в стиле ASP могут быть удобны, они не так переносимы, как длинные версии, и поэтому не рекомендуются.

Замечание:

Кроме того, если вы намереваетесь вставлять PHP-код в XML или XHTML, чтобы соответствовать XML стандартам, ам следует использовать форму <?php ?>.

Пример #2 Открывающие и закрывающие теги PHP

1. <?php echo 'если вы хотите работать с документами XHTML или XML, делайте так'; ?>

2. <script language="php">

echo 'некоторые редакторы (например, FrontPage) не

любят инструкции обработки';

</script>

3. <? echo 'это простейшая инструкция обработки SGML'; ?>

<?= выражение ?> Это синоним для "<? echo выражение ?>"

4. <% echo 'Вы можете по выбору использовать теги в стиле ASP'; %>

<%= $variable; # Это синоним для "<% echo . . ." %>

Несмотря на то, что теги указанные в первых двух примерах всегда доступны, наиболее широко используется (и рекомендуется) первый пример из этих двух.

Короткие теги (третий пример) доступны только когда они включены с помощью директивы short_open_tag в конфигурационном файле php.ini, либо если PHP был скомпилирован с опцией --enable-short-tags .

Теги в стиле ASP (четвертый пример) доступны только когда они были с помощью директивы asp_tags в конфигурационном файле php.ini.

Замечание:

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

Замечание:

В PHP 5.2 и более ранних версиях парсер не позволял файлам содержать только один открытый тег <?php. Это было разрешено, начиная с версии PHP 5.3.

Замечание:

Начиная с версии PHP 5.4, короткий тег вывода <?= распознается всегда, вне зависимости от значения директивы short_open_tag.

Как в C или Perl, PHP требует окончания инструкций точкой запятой в конце каждой инструкции. Закрывающий тег блока PHP-кода автоматически применяет точку с запятой; т.е. нет необходимости ставить точку с запятой в конце последней строки блока с PHP-кодом. Закрывающий тег блока "поглотит" немедленно следующий за ним переход на новую строку, если таковой будет обнаружен.

<?php

echo 'Это тест';

?>

<?php echo 'Это тест' ?>

<?php echo 'Мы опустили последний закрывающий тег';

Замечание:

Закрывающий тег PHP-блока в конце файла не является обязательным, и в некоторых случаях его опускание довольно полезно, например, при использовании include() или require(), так, что нежелательные пробелы не останутся в конце файла и вы все еще сможете добавить http-заголовки после подключения к ответу сервера. Это также удобно при использовании буферизации вывода, где также нежелательно иметь пробелы в конце частей ответа, сгенерированного подключаемыми файлами.

С изменением отображения информации, сайт усложнялся и его разработка тоже. Также усложнялся и язык PHP, который стал популярный в наше время. Программирование на данном языке стало трудным, и требовались обширные знания. На рисунке 1.10 показана сложная структура PHP.

Рисунок 1.10

По состоянию на 2012 год последней работающей версией языка программирования PHP 5.4. Язык стал популярным на столько, что стали создавать системы управления основанных на этом языке. Ловэйн П. Объектно-ориентированное программирование на PHP 5. - С-пб.: «НТ Пресс», 2007. - 224 с.

Так как сайтостроение развивалось языков HTML и PHP не хватало для дизайна и реализации задумок программистов и дизайнер. Так появился язык JavaScript.

JavaScript является диалектом от языка ECMAScript. Впервые язык разработан Брэнданом Айхом из компании Netscape, он был включён в браузер Netscape Navigator.

Данный язык обычно используется как встраиваемый язык для программного доступа к объектам приложения. JavaScript широко применялся как язык сценария для предания интерактивности веб-страницам.

Многие языки программирования вложили свое влияние в JavaScript, при разработке была цель создать язык похожий на Java, но при этом легким для использования непрограммистами. Что отличает JavaScript от других языков это то, что он не принадлежит ни одной из компании, используемых в веб-разработке.

Дополнительную гибкость в разработке языку придает - анонимные функции, карринг, функция замыкания, объекты как списки, функции объекта первого класса. Также у языка имеются отрицательные характеристики. Отсутствует стандартные интерфейсы к веб-сервирам и базы данных. Также отсутствует система управления пакетами, которая бы отслеживала зависимость и автоматически установила их. На рисунке 1.11 показан простейший код на языке JavaScript.

Рисунок 1.11

Со временем область применения языка JavaScript распространялась быстро. Некоторые сайты только и использовали сценарии, написанные на JavaScript, что придавало сайту больше динамичности. Вскоре все браузеры поддерживали данный язык, т.к. у всех сайтов есть хоть один сценарий на JavaScript. Стефанов С. JavaScript. Шаблоны. - М.: «Символ-Плюс», 2011. - с 189

JavaScript обладает рядом свойств объектно-ориентированного языка, но реализованное в языке прототипирование обусловливает отличия в работе с объектами по сравнению с традиционными объектно-ориентированными языками. Кроме того, JavaScript имеет ряд свойств, присущих функциональным языкам -- функции как объекты первого класса, объекты как списки, карринг, анонимные функции, замыкания -- что придаёт языку дополнительную гибкость.

Несмотря на схожий с Си синтаксис, JavaScript по сравнению с языком Си имеет коренные отличия:

- объекты, с возможностью интроспекции;

- функции как объекты первого класса;

- автоматическое приведение типов;

- автоматическая сборка мусора;

- анонимные функции.

Объект -- некоторая сущность в виртуальном пространстве, обладающая определённым состоянием и поведением, имеет заданные значения свойств (атрибутов) и операций над ними (методов). Ключевое понятие парадигмы объектно-ориентированного программирования (ООП).

Например, это область оперативной памяти (некоторой машины), содержащая информацию (например двоичные данные), которая заставляет что-нибудь сделать эту машину (например вывести (или не вывести) сообщение Hello world, с 25-го сверху Y-пиксела её дисплея, 10-пунктовым либо Вердана-, либо Тахома-подобным шрифтом, например, в зависимости от того, какие данные машина внесёт (или уже имеет) в «обусловленное» (-ом) место (-е) этой (или другой) области её памяти, на основании «главного алгоритма машины» и специфики её работы вообще (архитектура и Спецификация программного обеспечения, запущеного в данный момент). Т.е. объект это некоторый законченный код (алгоритм, данные), доступный машине, в котором указанно то, что машине делать, но делать это на основании уже запущенного (исполняемого) на ней кода, который и «использует» рассматриваемый код как объект. Причём в парадигме ООП задумано так, что уже написанный (например описанный ООП языком) сложный объект, может быть использован как модуль в составе (сборке) какой-нибудь библиотеки (программы), для чего не нужно переписывать его заново, а достаточно лишь перевести исходный код («псевдокод») класса (объекта) в другой вид (если нужно), понятный «новой программе» (например транслятору), в которой будет реализован алгоритм работы и/или данные этого объекта.

Интроспекция в программировании -- возможность в некоторых объектно-ориентированных языках определить тип и структуру объекта во время выполнения программы. Эта возможность особенно заметна в языке Objective C, однако имеется во всех языках, позволяющих манипулировать типами объектов как объектами первого класса. Интроспекция может использоваться для реализации полиморфизма.

Объектами первого класса в контексте конкретного языка программирования называются сущности, которые могут быть переданы как параметр, возвращены из функции, присвоены переменной.

В языке отсутствуют такие полезные вещи, как:

- модульная система: JavaScript не предоставляет возможности управлять зависимостями и изоляцией областей видимости;

- стандартная библиотека: в частности, отсутствует интерфейс программирования приложений по работе с файловой системой, управлению потоками ввода/вывода, базовых типов для бинарных данных;

- стандартные интерфейсы к веб-серверам и базам данных;

- система управления пакетами, которая бы отслеживала зависимости и автоматически устанавливала их.

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

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

Синтаксис языка JavaScript во многом напоминает синтаксис Си и Java, семантически же язык гораздо ближе к Self, Smalltalk или даже Лиспу.

В JavaScript:

все идентификаторы регистрозависимы,

в названиях переменных можно использовать буквы, подчёркивание, символ доллара, арабские цифры,

названия переменных не могут начинаться с цифры,

для оформления однострочных комментариев используются //, многострочные и внутристрочные комментарии начинаются с /* и заканчиваются */.

Структурно JavaScript можно представить в виде объединения трёх чётко различимых друг от друга частей:

ядро (ECMAScript),

объектная модель браузера (Browser Object Model или BOM (de)),

объектная модель документа (Document Object Model или DOM).

Если рассматривать JavaScript в отличных от браузера окружениях, то объектная модель браузера и объектная модель документа могут не поддерживаться.

Объектную модель документа иногда рассматривают как отдельную от JavaScript сущность, что согласуется с определением DOM как независимого от языка интерфейса документа. В противоположность этому ряд авторов находят BOM и DOM тесно взаимосвязанными.

Возможности PHP очень большие. Главным образом, область применения PHP сфокусирована на написание скриптов, работающих на стороне сервера; таким образом, PHP способен выполнять всё то, что выполняет любая другая программа CGI. Например, обрабатывать данных форм, генерировать динамические страницы, отсылать и принимать cookies. Но PHP способен выполнять и множество других задач.

Существуют три основных области, где используется PHP.

Создание скриптов для выполнения на стороне сервера. PHP наиболее широко используется именно таким образом. Все, что вам понадобится, это парсер PHP (в виде программы CGI или серверного модуля), вебсервер и браузер. Чтобы Вы могли просматривать результаты выполнения PHP-скриптов в браузере, вам нужен работающий вебсервер и установленный PHP. За более подробными сведениями обратитесь к подразделу установка PHP.

Создание скриптов для выполнения в командной строке. Вы можете создать PHP-скрипт, способный запускаться вне зависимости от вебсервера и браузера. Все, что вам потребуется - парсер PHP. Такой способ использования PHP идеально подходит для скриптов, которые должны выполняться регулярно, например, с помощью cron (на платформах *nix или Linux) или с помощью планировщика задач (Task Scheduler) на платформах Windows. Эти скрипты также могут быть использованы в задачах простой обработки текстов. Дополнительная информация находится здесь.

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

PHP доступен для большинства операционных систем, включая Linux, многие модификации Unix (такие, как HP-UX, Solaris и OpenBSD), Microsoft Windows, Mac OS X, RISC OS, и многих других. (Существует даже версия PHP для OS/2. Неизвестно, правда, насколько соответствующая нынешним реалиям). Также в PHP включена поддержка большинства современных вебсерверов, таких, как Apache, Microsoft Internet Information Server, Personal Web Server, серверов Netscape и iPlanet, сервера Oreilly Website Pro, Caudium, Xitami, OmniHTTPd и многих других. Для большинства серверов PHP поставляется в качестве модуля, для других, поддерживающих стандарт CGI, PHP может функционировать в качестве процессора CGI.

Таким образом, выбирая PHP, вы получаете свободу выбора операционной системы и вебсервера. Кроме того, у вас появляется выбор между использованием процедурного или объектно-ориентированного программирования или же их сочетания.

PHP способен не только выдавать HTML. Возможности PHP включают формирование изображений, файлов PDF и даже роликов Flash (с использованием libswf и Ming), создаваемых "на лету". PHP также способен выдавать любые текстовые данные, такие, как XHTML и другие XML-файлы. PHP способен осуществлять автоматическую генерацию таких файлов и сохранять их в файловой системе вашего сервера, вместо того, чтобы отдавать клиенту, организуя, таким образом, кеш динамического содержания, расположенный на стороне сервера.

2. Простые системы управления

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

Рисунок 2.1

Как видно на рисунке 2.1 показана структура стандартного блога. Видно название статьи, затем ее аннотация, ссылка на полную версию статьи. Справа ссылка на подписку, опрос и меню сайта.

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

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

Чаще всего систему управления пишут на языке программирования PHP с поддержкой базы данных MySQL, PostgreSQL и других. Шварц Б. PHP. MySQL. Оптимизация производительности. - М.: «Символ-Плюс», 2010. - с 589

MySQL -- свободная система управления базами данных (СУБД). MySQL является собственностью компании Oracle Corporation, получившей её вместе с поглощённой Sun Microsystems, осуществляющей разработку и поддержку приложения. Распространяется под GNU General Public License или под собственной коммерческой лицензией. Помимо этого разработчики создают функциональность по заказу лицензионных пользователей, именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.

MySQL является решением для малых и средних приложений. Входит в состав серверов WAMP, AppServ, LAMP и в портативные сборки серверов Денвер, XAMPP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы.

Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.

MySQL портирована на большое количество платформ: AIX, BSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, SCO UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Windows Server 2003, WinCE, Windows Vista и Windows 7. Существует также порт MySQL к OpenVMS. Важно отметить, что на официальном сайте СУБД для свободной загрузки предоставляются не только исходные коды, но и откомпилированные и оптимизированные под конкретные операционные системы готовые исполняемые модули СУБД MySQL.

PostgreSQL -- свободная объектно-реляционная система управления базами данных (СУБД). Существует в реализациях для следующих платформ: Linux, Solaris/OpenSolaris, Win32, Win x86-64, Mac OS X, FreeBSD, QNX 4.25, QNX 6.

PostgreSQL ведет свою «родословную» от некоммерческой СУБД Postgres, разработанной, как и многие open-source проекты, в Калифорнийском университете в Беркли. К разработке Postgres, начавшейся в 1986 году, имел непосредственное отношение Майкл Стоунбрейкер, руководитель более раннего проекта Ingres, на тот момент уже приобретённого компанией Computer Associates. Само название «Postgres» расшифровывалось как «Post Ingres», соответственно, при создании Postgres были применены многие уже ранее сделанные наработки.

Стоунбрейкер и его студенты разрабатывали новую СУБД в течение восьми лет, с 1986 по 1994 год. За этот период в синтаксис были введены процедуры, правила, пользовательские типы и многие другие компоненты. Работа не прошла даром -- в 1995 году разработка снова разделилась: Стоунбрейкер использовал полученный опыт в создании коммерческой СУБД Illustra, продвигаемой его собственной одноимённой компанией (приобретённой впоследствии компанией Informix), а его студенты разработали новую версию Postgres -- Postgres95, в которой язык запросов POSTQUEL -- наследие Ingres -- был заменен на SQL.

В этот момент разработка Postgres95 была выведена за пределы университета и передана команде энтузиастов. С этого момента СУБД получила имя, под которым она известна и развивается в текущий момент -- PostgreSQL.

Функции являются блоками кода, исполняемыми на сервере, а не на клиенте БД. Хотя они могут писаться на чистом SQL, реализация дополнительной логики, например, условных переходов и циклов, выходит за рамки собственно SQL и требует использования некоторых языковых расширений. Функции могут писаться с использованием одного из следующих языков:

Встроенный процедурный язык PL/pgSQL, во многом аналогичный языку PL/SQL, используемому в СУБД Oracle;

Скриптовые языки -- PL/Lua, PL/LOLCODE, PL/Perl, plPHP, PL/Python, PL/Ruby, PL/sh, PL/Tcl и PL/Scheme;

Классические языки -- C, C++, Java (через модуль PL/Java);

Статистический язык R (через модуль PL/R).

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

Функции могут выполняться как с правами их создателя, так и с правами текущего пользователя.

Иногда функции отождествляются с хранимыми процедурами, однако между этими понятиями есть различие.

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

Механизм правил представляет собой механизм создания пользовательских обработчиков не только DML-операций, но и операции выборки. Основное отличие от механизма триггеров заключается в том, что правила срабатывают на этапе разбора запроса, до выбора оптимального плана выполнения и самого процесса выполнения. Правила позволяют переопределять поведение системы при выполнении SQL-операции к таблице. Хорошим примером является реализация механизма представлений (англ. views): при создании представления создается правило, которое определяет, что вместо выполнения операции выборки к представлению система должна выполнять операцию выборки к базовой таблице/таблицам с учетом условий выборки, лежащих в основе определения представления. Для создания представлений, поддерживающих операции обновления, правила для операций вставки, изменения и удаления строк должны быть определены пользователем.

Согласно результатам автоматизированного исследования различного ПО на предмет ошибок, в исходном коде PostgreSQL было найдено 20 проблемных мест на 775 000 строк исходного кода (в среднем, одна ошибка на 39 000 строк кода). Для сравнения: MySQL -- 97 проблем, одна ошибка на 4 000 строк кода; FreeBSD (целиком) -- 306 проблем, одна ошибка на 4 000 строк кода; Linux (только ядро) -- 950 проблем, одна ошибка на 10 000 строк кода.

SQL - это стандартный язык программирования, применяемый для создания, модификации, поиска и извлечения информации, хранящейся в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД).

С помощью SQL можно, в частности, превратить любой вопрос типа «А где живут наши клиенты?» в такую команду, которую программное обеспечение базы данных сможет понять и выполнить (для приведенного вопроса это может быть команда SELECT city, state FROM customers). Если умеешь извлекать информацию аналогичного типа с помощью графического инструментария построения запросов, то, скорее всего, заметно, что он становится весьма ограничивающим и громоздким по мере того, как сложность ваших запросов возрастает. Вот здесь и нужен SQL, хотя решением указанной проблемы его возможности не ограничиваются. Например, можно применять SQL для того, чтобы добавлять, модифицировать и удалять данные и объекты базы данных. И именно потому, что язык SQL такой мощный, его поддерживают наиболее популярные СУБД, в частности Microsoft Access, Oracle и MySQL, хотя уровень этой поддержки существенно зависит от того, о какой именно СУБД идет речь.

SQL - один из формальных языков, то есть средство, с помощью которого передается компьютеру инструкции, называемые программой. Программное обеспечение базы данных выполняет эту программу, написанную на языке SQL. Это значит, что СУБД выполняет те запросы, которые вы ей передали, и отображает результаты их работы, в том числе какое-нибудь сообщение об ошибке. Языки программирования, называемые также формальными языками, отличаются от языков общения, называемых неформальными или естественными языками, главным образом тем, что создаются под конкретную цель, полностью лишены двусмысленности, имеют весьма ограниченные словарный запас и гибкость. Таким образом, если нет результата от работы своей программы, на который рассчитывали при ее написании, это произошло потому, что программа содержит какую-либо ошибку (логическую или синтаксическую - в последнем случае, скорее всего, будет выведено соответствующее сообщение, описывающее ошибку), а не потому, что компьютер неправильно понял инструкции, формализованные в виде программы (эта информация проясняет, почему отладка программ считается одной из основных задач программирования).

Будучи формальным языком, SQL, как и другой язык этого типа, имеет свои синтаксис и семантику. Синтаксис включает собственно слова и символы, которые можно применять, а также правила, по которым эти слова и символы можно использовать при создании команд и программ. Семантика помогает выяснить реальное значение, смысл любой синтаксически правильной команды. Вполне можно написать на SQL какую-нибудь команду, соответствующую синтаксису языка, которая, тем не менее, будет выражать неверный смысл (то есть будет правильной синтаксически, но неверной семантически).

Работу по созданию WEB-сайта можно условно разделить на три основные составляющие:

- создание информационного наполнения (тексты, видео, аудио, мультимедийные презентации и т.д.);

- разработка элементов интерактивности (навигационная поддержка, раскладка страниц, шаблоны, возможности поиска);

- управление процессом построения WEB-сайта.

Проблема информационного наполнения является предметом отдельного обстоятельного обсуждения. В данной статье мы ее касаться не будем.

Вторая составляющая (элементы интерактивности) обычно привлекает наибольший интерес, как профессиональных веб-команд, так и хозяев информационных сайтов. Она постоянно обсуждается в различных телеконференциях, в специализированных периодических изданиях и книгах. Пользователей же, за редким исключением, интересует в первую очередь информационное наполнение сайта. Интерактивные возможности оцениваются только в той степени, в которой они облегчают или упрощают работу с информацией. Говоря математическим языком, "полезность" сайта является функцией информационного наполнения, но не качества оформления.

Третья составляющая - управление процессом построения WEB-сайта - вообще выпала из сферы внимания профессиональной аудитории. Возможно, опыт, накопленный российскими сетевыми менеджерами, еще мал и неустойчив. Рынок WEB-услуг, наверное, самый молодой в области телекоммуникаций и компьютеров, правила на нем еще окончательно не определились. Должно пройти время, чтобы профессионалы начали анализировать свой прошлый опыт и делать на его основе какие-то выводы. Однако для тех, кому необходимо принять решение уже сегодня, а завтра показать результат, это не оправдание.

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

Первые простые CMS появились в период с 2000 по 2002 годах, некоторые имели много ошибок и были сложны для установки и настройки. Те же, которые были простыми в использовании и отладке быстро вошли в обиход и их продолжали совершенствовать, некоторые и по сей день улучшают.

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

Также были созданы сайты, которые давали возможность создавать сайты пользователем, менять дизайн, менять структуру сайта, делать его, так как хочется пользователю.

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

Данные нововведения дали еще один толчок в развитии сайтов и разработке новых систем управления. Так что некоторые CMS сильно усложнились и стали доступны только для опытных программистов.

Системы управления создавались на языке программирования PHP, некоторые считают, что это объектно-ориентированный язык.

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

Объекты упрощают разработку веб-приложений, устраняя необходимость копировать и адаптировать существующий код. Если бы полезность объектно-ориентированного программирования была настолько очевидна, то внедрение этой технологии не встретило бы сопротивления.

В последнее время идея объектно-ориентированного программирования (ООП), кардинально новая идеология написания программ, все более занимает умы программистов.

Объектно-ориентированные программы более просты и мобильны, их легче модифицировать и сопровождать, чем их "традиционных" собратьев. Кроме того, похоже, сама идея объектной ориентированности при грамотном ее использовании позволяет программе быть даже более защищенной от различного рода ошибок, чем это задумывал программист в момент работы над ней. Однако ничего не дается даром: сами идеи ООП довольно трудны для восприятия "с нуля", поэтому до сих пор очень большое количество программ (различные системы Unix, Apache, Perl, да и сам PHP) все еще пишутся на старом добром "объектно-неориентированном" Си.

PHP до недавнего времени обеспечивал лишь некоторую поддержку ООП. Однако после выхода PHP5 поддержка ООП в PHP стала практически полной. Никсон Р. PHP. Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript. - С-пб.: «Питер», 2011. - с 235

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

- она проста для понимания: ООП позволяет мыслить категориями повседневных объектов;

- повышенно надежна и проста для сопровождения -- правильное проектирование обеспечивает простоту расширения и модификации объектно-ориентированных программ. Модульная структура позволяет вносить независимые изменения в разные части программы, сводя к минимуму риск ошибок программирования;


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.