Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДИПЛОМКА ВД.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
172.64 Кб
Скачать

Министерство образования и науки РФ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

Московский государственный университет

дизайна и технологии

Институт повышения квалификации

Направление переподготовки 070601 «Дизайн»

Программа «Разработка интерфейсов и веб-дизайн»

Выпускная работа

На тему: «Разработка сайта»

Исполнитель: Яковлева Любовь Юрьевна ______________

Руководитель: преп. Угрюмов А.С. ______________

Москва «____» _______________ 2014 г

Содержание

ВВЕДЕНИЕ …………………………………………………………………………

ЗАКЛЮЧЕНИЕ…………………………………………………………………….59

СПИСОК ЛИТЕРАТУРЫ………………………………………………………….60

4. Сырых Ю.А. «Современный веб-дизайн. Эпоха Веб 3.0»/ Ред.; Вильямс, 2013 - 368 с.

5. Итан М., «Отзывчивый веб-дизайн»/ Ред.; Манн, Иванов и Фербер, 2012 - 172 с.

Введение

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

Развитие современных технологий способствует появлению новых специальностей в этой сфере деятельности. Еще несколько лет назад о специальности Web-дизайнера никто не знал, а сегодня она является одной из самых популярных в области информационных технологий.

Неотъемлемая часть Internet, WWW (World Wide Web, в переводе с английского "всемирная паутина"), позволила по-новому пользоваться давно известными во всем мире текстовыми сносками. Когда автор журнальной статьи или книги помещает в тексте знак сноски, в нижней части страницы, помимо объяснения, могут быть указаны источники дополнительной информации, например, другая страница или книга. В Internet составители компьютерных "страниц" делают практически то же самое, подчеркивая либо выделяя в документах ключевые слова или пиктограммы.

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

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

World Wide Web является одной из самых молодых услуг Internet: WWW родилась в 1990 году в европейском исследовательском центре CERN, а в 1992 году началось практическое применение этой технологии за пределами CERN. С конца 1993 года начался поистине взрывной рост WWW, который привел к тому, что сегодня этот вид информационного сервиса Internet является самым популярным, наиболее динамично развивающимся и во многом определяет современный облик всемирной сети.

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

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

Интересной тенденцией, наметившейся еще весной 1996 года, является появление значительного числа серверов коммерческих банков, финансовых корпораций, инвестиционных компаний, бирж, брокерских фирм и сетевых информационных систем для сферы экономики и финансов. В данной контрольной работе будет разработан web-сайт для предприятия МП г. Тольятти «Управляющая компания №2», которая занимается предоставлением коммунальных услуг. Разработка сайта предназначена для представления информации о данной организации в сети Internet.

1. Постановка задачи

Задача состоит в создании тематического WEB-сайта с использованием гипертекстового языка разметки HTML, каскадных листов стилей CSS и языка программирования JavaScript. Объем контрольной работы должен составлять минимум пять WEB-страницы (первая страница - новости, остальные страницы - дополнительные, раскрывающие сущность выбранной тематики).

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

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

2.3 Веб-сервер

2.3.1 Выбор веб-сервера

Веб-серверы - это сервер, принимающий HTTP-запросы от клиентов, обычно веб-браузеров, и выдающий им HTTP-ответы, обычно вместе с HTML-страницей, изображением, файлом, медиа-потоком или другими данными. Веб-серверы – основа Всемирной паутины.

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

Клиент, которым обычно является веб-браузер, передаёт веб-серверу запросы на получение ресурсов, обозначенных URL-адресами. Ресурсы – это HTML-страницы, изображения, файлы, медиа-потоки или другие данные, которые необходимы клиенту. В ответ веб-сервер передаёт клиенту запрошенные данные. Этот обмен происходит по протоколу HTTP.

Доля рынка для известных серверов во всех доменах от августа 1995 года - май 2011

На ноябрь 2010 года наиболее распространёнными веб-серверами http://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%B1-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80 - cite_note-0, являются:

  1. Apacheсвободный веб-сервер, наиболее часто используемый в Unix-подобных операционных системах;

  2. IIS от компании Microsoft, распространяемый с ОС семейства Windows NT.

  3. nginx – свободный веб-сервер, разрабатываемый Игорем Сысоевым с 2002 года и пользующийся большой популярностью на крупных сайтах;

  4. lighttpd – свободный веб-сервер;

Рисунок 3 – Доля рынка веб-серверов

Таблица 1

Обзорная таблица популярных веб серверов

Название

Автор и год создания

Распространение

Open Source

Лицензия

Особенности

Apache HTTP Server

Apache Software Foundation, 1995

Бесплатно

Да

Apache License

Упор на надёжность и гибкость.

Internet Information Services

Microsoft, 1995

вкл. в Win NT

Нет

Microsoft EULA

Является частью пакета IIS. Единственный, кто поддерживает .NET

nginx

Игорь Сысоев, 2002

Бесплатно

Да

Вариант BSD

Разрабатывался для испытывающих большую нагрузку серверов.

Включает в себя почтовый прокси-сервер.

lighttpd

Jan Kneschke, февраль 2003

Бесплатно

Да

Вариант BSD

Использование на сильно нагруженных серверах обеспечивая быстроту и защищённость.

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

Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, Mac OS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д. Поддерживает IPv6. Недостатком наиболее часто называется отсутствие удобного стандартного интерфейса для администратора.

lighttpd (также «lighty», «лайти») – веб-сервер, разрабатываемый с расчётом на быстроту и защищённость, а также соответствие стандартам. Это свободное программное обеспечение, распространяемое по лицензии BSD. lighttpd работает в Linux и других Unix-подобных операционных системах, а также в Microsoft Windows.

В lighttpd есть поддержка:

  1. сжатия отдаваемого содержимого «на лету»

  2. HTTP-аутентификации

  3. перезаписи URL

  4. SSL

  5. автоматической балансировки нагрузки (нагрузка может автоматически распределяться по нескольким запущенным серверам lighttpd).

Веб-сервер также поддерживает интерфейсы CGI, SCGI, FastCGI и AJP (только в разрабатываемой сейчас версии 1.5), позволяя использовать приложения, написанные на любых языках программирования.

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

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

nginx (англ. engine x) (по-русски произносится как э́нджин-э́кс) – веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах (тестировалась сборка и работа на FreeBSD, OpenBSD, Linux, Solaris, Mac OS X). Начиная с версии 0.7.52 появилась бинарная сборка под Microsoft Windows.

Разрабатывается Игорем Сысоевым с 2002-го года для компании Rambler и постоянно модернизируется. Осенью 2004 года вышел первый публично доступный релиз.

Основные функции:

  1. обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кеш дескрипторов открытых файлов

  2. акселерированное проксирование без кэширования, простое распределение нагрузки и отказоустойчивость

  3. поддержка кеширования при акселерированном проксировании и FastCGI

  4. акселерированная поддержка FastCGI и memcached серверов, простое распределение нагрузки и отказоустойчивость

  5. модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, HTTP-аутентификация, SSI-фильтр

  6. несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно

  7. поддержка SSL

  8. экспериментальная поддержка встроенного Perl

По данным Netcraft за май 2011 года, число сайтов, обслуживаемых nginx, превышает 23,8 миллиона, что делает его третьим по популярности веб-сервером в мире.

Как и lighttpd, nginx часто используют для отдачи статического содержимого, генерируемого «тяжёлым» веб-приложением, работающим под управлением другого веб-сервера. Среди известных проектов, использующих nginx: Rambler, Yandex, Begun, Wordpress.com, SourceForge.net, vkontakte.ruhttp://ru.wikipedia.org/wiki/Nginx - cite_note-3 и многие другие.

Применение nginx целесообразно прежде всего для статических веб-сайтов и как прокси-сервера перед динамическими сайтами.

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

2.4 Способы реализации

2.4.1 Выбор языка программирования

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

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

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

Создатели языков по-разному толкуют понятие язык программирования. К наиболее распространённым утверждениям, признаваемым большинством разработчиков, относятся следующие:

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

Задача: Язык программирования отличается от естественных языков тем, что предназначен для передачи команд и данных от человека к компьютеру, в то время как естественные языки используются для общения людей между собой. Можно обобщить определение «языков программирования» – это способ передачи команд, приказов, чёткого руководства к действию; тогда как человеческие языки служат также для обмена информацией.

Исполнение: Язык программирования может использовать специальные конструкции для определения и манипулирования структурами данных и управления процессом вычислений.

Языки программирования могут быть реализованы как компилируемые и интерпретируемые.

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

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

Кратко говоря, компилятор переводит исходный текст программы на машинный язык сразу и целиком, создавая при этом отдельную машинно-исполняемую программу, а интерпретатор выполняет исходный текст прямо во время исполнения программы («интерпретируя» его своими средствами).

Разделение на компилируемые и интерпретируемые языки является условным. Так, для любого традиционно компилируемого языка, как, например, Паскаль, можно написать интерпретатор. Кроме того, большинство современных «чистых» интерпретаторов не исполняют конструкции языка непосредственно, а компилируют их в некоторое высокоуровневое промежуточное представление (например, с разыменованием переменных и раскрытием макросов).

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

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

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

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

Некоторые языки, например, Java и C#, находятся между компилируемыми и интерпретируемыми. А именно, программа компилируется не в машинный язык, а в машинно-независимый код низкого уровня, байт-код. Далее байт-код выполняется виртуальной машиной. Для выполнения байт-кода обычно используется интерпретация, хотя отдельные его части для ускорения работы программы могут быть транслированы в машинный код непосредственно во время выполнения программы по технологии компиляции «на лету» (Just-in-time compilation, JIT). Для Java байт-код исполняется виртуальной машиной Java (Java Virtual Machine, JVM), для C# – Common Language Runtime.

Подобный подход в некотором смысле позволяет использовать плюсы как интерпретаторов, так и компиляторов. Следует упомянуть также язык Форт(Forth), имеющий и интерпретатор, и компилятор.

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

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

Веб-приложения стали широко популярными в конце 1990-х - начале 2000-х годов.

Существенное преимущество построения Web приложений для поддержки стандартных функций браузера заключается в том, что функции должны выполняться независимо от операционной системы данного клиента. Вместо того чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней разворачивается.

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

Другой (менее универсальный) подход заключается в использовании Adobe Flash, Silverlight или Java-апплетов для полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java или Flash реализациями на стороне клиента может приводить к различным осложнениям.

В связи с архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми» клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям; альтернативный термин «Богатое Интернет приложение»

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

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

Серверная часть получает запрос от клиента, выполняет вычисления, после этого формирует веб-страницу и отправляет её клиенту по сети с использованием протокола HTTP.

Само веб–приложение может выступать в качестве клиента других служб, например, базы данных или другого веб–приложения, расположенного на другом сервере. Ярким примером веб–приложения является система управления содержимым статей Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных статей.

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

Таблица 3

Обзорная таблица языков веб программирования

Название

Лицензия

Веб–сервер

ASP

проприетарная

Специализированный

ASP.NET

проприетарная

Специализированный

C/C++

Свободная

практически любой

Java

Свободная

множество, в том числе свободных

Perl

Свободная

практически любой

PHP

Свободная

практически любой

Python

Свободная

практически любой

Ruby

Свободная

практически любой

В ходе анализа языков программирования для реализации поставленной задачи был выбран язык PHP.

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

Язык PHP специально предназначен для веб-программирования, сочетает достоинства языков C и Perl и при этом весьма прост в изучении и обладает значительными преимуществами перед традиционными языками программирования.

Синтаксис PHP очень напоминает синтаксис языка C и во многом заимствован из таких языков как Java и Perl. Программист С очень быстро освоит язык PHP и сможет использовать его с максимальной эффективностью.

В принципе, в PHP есть практически все операторы и функции, имеющиеся в стандартном GNU С (или их аналоги), например есть циклы (while, for), операторы выбора (if, switch), функции работы с файловой системой и процессами (fopen, *dir, stat, unlink, popen, exec), функции ввода–вывода (fgets,fputs,printf) и множество других.

Язык и его интерпретатор разрабатываются группой энтузиастов в рамках проекта с открытым кодом. Проект распространяется под собственной лицензией, несовместимой с GNU GPL.

PHP-скрипты обычно обрабатываются интерпретатором в порядке, обеспечивающем кроссплатформенность разработанного приложения:

  1. лексический анализ исходного кода и генерация лексем;

  2. синтаксический анализ полученных лексем;

  3. генерация байт–кода;

  4. выполнение байт–кода интерпретатором (без создания исполняемого файла).

Для увеличения быстродействия приложений, возможно, использование специального программного обеспечения, так называемых акселераторов. Принцип их работы заключается в кэшировании однажды сгенерированного байт–кода в памяти и/или на диске, таким образом, из процесса работы приложения исключаются этапы 1–3, что в общем случае ведёт к значительному ускорению работы. Наибольшая эффективность акселератора достигается на скриптах с большим количеством исходного кода, содержащих небольшое количество операций, ресурсоёмких при выполнении, даже, считанного количества раз (например таких, как масштабирование изображений).

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

В силу популярности языка PHP и желания увеличить быстродействие основанных на нём веб–приложений, создано несколько альтернативных компиляторов близкого к PHP языка. Так в феврале 2010 года компания Facebook открыла свой компилятор PHP – HipHop (HPHP, Hyper–PHP) генерирующий код на C++, с последующей компиляцией в машинный код с помощью gcc.