Разработка сайта

Краткие сведения о доске объявлений, структура и внутреннее содержание соответствующего сайта. Принципы и основные этапы разработки, выбор и обоснование программных средств: язык HTML, каскадные таблицы стилей, JavaScript, Web-сервер Apache, PHP.

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

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

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

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

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

Введение

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

Разработкой Одной из представленных площадок - Доски объявлений в Интернете - и посвящена данная работа.

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

Целью данной бакалаврской работы является разработка именно такого Web-сайта: то есть сайта, на котором можно было бы найти информацию относительно любого спроса\предложения, начиная от продажи ручек parker, заканчивая компьютерами, автомобилями.

1. Краткие сведения о доске объявлений

Данный сайт, на котором демонстрируется электронная доска объявлений, состоит из разделов объявлений, подразделов, число которых не ограниценно, самих объявлений, страницей поиска и добавления объявлений, а так же администраторской части для управления всей информацией на сайте. Число разделов не органичено и может принимать произвольное имя. Например «Охота, рыбалка, туризм» где будут размещаться объявления сугубо по данной теме. То есть продажа и покупка снастей, лодок, рюкзаков, снаряжения и так далее. Подразделы тоже создаются произвольно и имеют произвольное имя. Тем самым в разделе «Охота рыбалка, туризм» можно создать раздел «Удилища» в котором объявления буду размещаться только по спросу и предложений удилищ.

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

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

2. Выбор средств разработки

В качестве основного средства разработки Web-сайта применялся язык разметки гипертекста HTML. Все остальные средства носят лишь вспомогательный характер и предназначены или для оптимизации загрузки данных (язык PHP, СУБД MySQL, Web-сервер Apache), или для визуального улучшения сайта (язык JavaScript).

Для упрощения процесса установки и интеграции программных частей использовался комплекс «Денвер-2», включающий в себя сервер MySQL и Web-сервер Apache с поддержкой PHP. Преимущество комплекса «Денвер-2» в том, он не требуют настройки, а базовые возможности доступны сразу же после установки.

2.1 Язык HTML

Термин HTML (Hyper Text Markup Language) означает «язык маркировки гипертекстов». HTML - своеобразная противоположность сложным языкам программирования, известным только специалистам. [2]

Первая версия HTML была разработана в 1989 году Тимом Бенерс-Ли для популярного в прошлом браузера Mosaic. Но в то время ни для языка, ни для браузера не нашлось достойного применения. В 1993 году появился HTML+, и эта версия также осталась практически незамеченной. Начало широкого использования гипертекста дала версия 2.0, которая появилась в июне 1994 года. Это был год роста популярности WWW по всему миру. Элементы, включенные в версию 2, в большинстве своем используются по сей день.

В версии 3.0 HTML, которая появилась год спустя, была реализована возможность прорисовки математических символов (знаков интеграла, бесконечности, дроби, скобок и т.д.) при помощи элементов языка. Под эту версию был разработан браузер Arena. Но этот проект оказался тупиковым и не получил дальнейшего распространения.

В 1996 году появился HTML 3.2. Это было новаторское решение, были введены фреймы, которые стали теперь весьма популярны у разработчиков WEB-страниц. Даже сейчас на основе этой спецификации можно реализовать интересные дизайнерские решения. Практически все современные браузеры поддерживают версию 3.2, поэтому авторы Web-страниц уверенны в работоспособности всех элементов.

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

И наоборот, элементы APPLET и SCRIPT, необходимые для расширения HTML другими программными кодами версии 3.2, не сыграли той роли, которую были призваны сыграть. Это объясняется тем, что браузеры различных версий по-разному интерпретировали программы на разных языках Java, JavaScript, Visual Basic (VBScript). В результате не удалось получить достаточно надежный работающий код, и данные языки использовались любителями HTML в основном для экспериментов.

Официальная спецификация HTML 4 (Dynamic HTML) появилась в 1997 году. В это время уже было очевидно, что дальнейшее развитие гипертекста будет осуществляться за счет скрипт-программирования. Это оказалось немногим более эффективным, чем вводить в язык все новые элементы. Появившиеся в то время браузеры (Netscape Navigator 4, Microsoft Internet Explorer 4 и др.) уже достаточно надежно интерпретировали программный код (был установлен определенный уровень стандартизации). Однако проблемы у разработчиков еще остались. В качестве примера можно отметить, что многие скрипты начинаются с определения версии браузера, чтобы потом использовать тот или иной фрагмент кода. Очевидно, что на программиста ложится обязанность тестирования страниц на всех популярных в настоящие время браузерах.

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

2.2 Каскадные таблицы стилей

Каскадные таблицы стилей или CSS (от английского Cascading Style Sheets) - это довольно позднее нововведение. Если сам HTML появился в 1989 году, то таблицы стилей - только в 1997. Мало того, таблицы стилей не считаются частью HTML. Связано это с тем, что WWW была создана учеными как средство для обмена текстовыми документами, а HTML был языком, с помощью которого создавали эти документы. Для ученых главным было содержимое документа, а не его оформление. Поэтому первые версии HTML не включали даже средств для размещения на Web-страницах графических изображений, не то, что для сложного форматирования текста. Но время шло, и в Интернет пришел обыватель, тотчас потребовавший от Web-дизайнеров «сделать ему красиво». А Web-дизайнеры, в свою очередь, потребовали от разработчиков стандарта HTML средств, облегчающих им работу. [3]

Так и возникли каскадные таблицы стилей. В настоящее время приняты спецификации CSS1 и CSS2, идет работа над CSS3. Однако современные Web-обозреватели, да и то самые последние их версии, полностью поддерживают только CSS1 и, частично, CSS2.

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

Всего стандарт CSS определяет три способа задания стиля для элемента страницы. Перечислим их и дадим краткое описание каждому способу.

1. Внешняя (или привязанная) таблица стилей. Стили сохраняются в отдельном файле с расширением css и привязываются к Web-странице с помощью особого тэга <LINK>.

2. Внутренняя (или внедренная) таблица стилей. Таблица стилей в этом случае имеет тот же самый формат, что и внешняя, но располагается в секции заголовка той же Web-страницы и помещается внутрь специального тэга <STYLE>.

3. Внутренние (также встроенные или внедренные) стили. Определение стиля помещается прямо в нужный тэг, для чего используется специальный атрибут STYLE.

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

2.3 Язык JavaScript

JavaScript - это новый язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Он был разработан фирмой Netscape в сотрудничестве с Sun Microsystems на базе языка Sun's Java. С помощью JavaScript на Web-странице можно сделать то, что невозможно сделать стандартными тэгами HTML. Скрипты выполняются в результате наступления каких-либо событий, инициированных действиями пользователя. Создание Web-документов, включающих программы на JavaScript, требует наличие текстового редактора и подходящего браузера. Некоторые браузеры включают в себе встроенные редакторы, поэтому необходимость во внешнем редакторе отпадает. [4]

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

2.4 Web-сервер Apache

Apache HTTP-сервер (по-русски обычно произносят «Апамч») - это веб-сервер с открытым исходным кодом. С апреля 1996 это самый популярный HTTP-сервер в Интернете; в апреле 2007 года он работал на 58% всех Web-серверов. [5]

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

Недостатком наиболее часто называется отсутствие удобного стандартного интерфейса для администратора.

Сервер был написан в начале 1995 года и считается, что его имя восходит к шуточному названию «a patchy» (англ. «заплаточный»), так как он устранял ошибки популярного тогда сервера Всемирной паутины NCSA HTTPd 1.3. В дальнейшем, с версии 2.х, сервер был переписан заново и теперь не содержит кода NCSA, но имя осталось. На данный момент разработка ведется в ветке 2.2, а в версиях 1.3 и 2.0 производятся лишь исправления ошибок безопасности.

Web-сервер Apache разрабатывается и поддерживается открытым сообществом разработчиков под эгидой Apache Software Foundation и включён во многие программные продукты, среди которых СУБД Oracle и IBM WebSphere.

2.5 Язык PHP

сайт программный таблица

PHP, что означает «Препроцессор Гипертекста», является широко используемым языком сценариев общего назначения с открытым исходным кодом. PHP создавался специально для ведения Web-разработок и может использоваться непосредственно в HTML-коде. Синтаксис языка берет начало из C, Java и Perl и является легким для изучения. Преимущественным назначением PHP является предоставление Web-разработчикам возможности быстрого создания динамически генерируемых Web-страниц, однако, область применения PHP не ограничивается только этим. [5]

PHP/FI

Истоки PHP лежат в старом продукте, имевшем название PHP/FI. Последний был создан Расмусом Лердорфом в 1995 году и представлял собой набор Perl-скриптов для ведения статистики посещений его резюме. Этот набор скриптов был назван «Personal Homepages Tools» («Инструменты для персональных домашних страниц»). Очень скоро потребовалась большая функциональность, и Расмус пишет новую, намного более обширную версию на C, работающую с базами данных и позволяющую пользователям разрабатывать простейшие Web-приложения. Расмус решил выложить исходный код PHP/FI на всеобщее обозрение, исправление ошибок и дополнение.

PHP/FI (Personal Home Page / Forms Interpreter - Персональная Домашняя страница / Интерпретатор Форм) включал в себя базовую функциональность сегодняшнего PHP. Он имел переменные в стиле Perl, автоматическую интерпретацию форм и возможность встраиваться в html-код. Собственно синтаксис языка имел много общего с Perl, хотя и был намного проще и ограниченнее.

В 1997 выходит PHP/FI 2.0, вторая версия C-имплементации обозначила группу пользователей: несколько тысяч людей по всему миру, с примерно 50 000 доменами, что составляло около 1% всего числа доменов Интернета. Несмотря на то, что разработкой занималось уже несколько людей, PHP/FI 2.0 все еще оставался крупным проектом одного человека.

Официально PHP/FI 2.0 вышел только в ноябре 1997 года, после проведения большей части своей жизни в бета-версиях. Вскоре после выхода его заменили альфа-версии PHP 3.0.

PHP 3

PHP 3.0 была первой версией, напоминающей PHP, каким мы знаем его сегодня. В 1997 году Энди Гутманс (Andi Gutmans) и Зив Сураски (Zeev Suraski) переписали код с начала: разработчики сочли PHP/FI 2.0 не пригодным для разработки приложения электронной коммерции, над которым они работали для проекта Университета.

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

Абсолютно новый язык программирования получил новое имя. Разработчики отказались от дополнения о персональном использовании, которое имелось в аббревиатуре PHP/FI. Язык был назван просто «PHP» - аббревиатура, содержащая рекурсивный акроним: «PHP: Hypertext Preprocessor» (PHP: Препроцессор Гипертекста).

К концу 1998, PHP использовался десятками тысяч пользователей. Сотни тысяч Web-сайтов сообщали о том, что они работают с использованием языка. В то время PHP 3.0 был установлен приблизительно на 10% серверах Интернета.

PHP 3.0 был официально выпущен в июне 1998 года после 9 месяцев публичного тестирования.

PHP 4

К зиме 1998 года, практически сразу после официального выхода PHP 3.0, Энди Гутманс и Зив Сураски начали переработку ядра PHP. В задачи входило увеличение производительности сложных приложений и улучшение модульности базиса кода PHP. Расширения дали PHP 3.0 возможность успешно работать с набором баз данных и поддерживать большое количество различных API и протоколов, но PHP 3.0 не имел качественной поддержки модулей и приложения работали неэффективно.

Новый движок, названный «Zend Engine» (от имен создателей: Zeev и Andi), успешно справлялся с поставленными задачами и впервые был представлен в середине 1999 года. PHP 4.0, основанный на этом движке и принесший с собой набор дополнительных функций, официально вышел в мае 2000 года, почти через два года после выхода своего предшественника PHP 3.0. В дополнение к улучшению производительности, PHP 4.0 имел еще несколько ключевых нововведений, таких как поддержка сессий, буферизация вывода, более безопасные способы обработки вводимой пользователем информации и несколько новых языковых конструкций.

Сегодня PHP используется сотнями тысяч разработчиков. Несколько миллионов сайтов сообщают о работе с PHP, что составляет более 20% доменов Интернета.

Группа разработчиков PHP состоит из множества людей, работающих над ядром, и расширениями PHP, и смежными проектами, такими, как PEAR или документация языка.

PHP 5

Пятая версия PHP была выпущена разработчиками 13 июля 2004 года. Изменения включают обновление ядра Zend (Zend Engine 2), что существенно увеличило эффективность интерпретатора. Введена поддержка языка разметки XML. Полностью переработаны функции ООП, которые стали во многом схожи с моделью, используемой в Java. В частности, введён деструктор, открытые, закрытые и защищённые члены и методы, окончательные члены и методы, интерфейсы и клонирование объектов. Нововведения, однако, были сделаны с расчётом сохранить наибольшую совместимость с кодом на предыдущих версиях языка. На данный момент самыми стабильными и часто используемыми являются именно версии 5.xx, даже несмотря на то, что уже имеется dev-версия PHP 6.

PHP 6

Шестая версия PHP находится в стадии разработки с октября 2006 года. В ней уже сделано множество нововведений, как, например, исключение из ядра POSIX-регулярных выражений и «длинных» суперглобальных массивов, удаление директив safe_mode, PHP_magic_quotes и register_globals из конфигурационного файла PHP.ini. Также много внимания уделено поддержке Юникода.

2.6 Система управления базами данных MySQL

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

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

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

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

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

3. Структура сайта

3.1 Категории и подкатегории

Данный Web-сайт состоит из категорий и подкатегорий. Их глубина не ограниченна. Название категории соответствует ее фактическому применение. Например, категория «Автомобили» сугубо для размещения объявлений по теме покупка и продажа автомобилей.

3.2 Страницы добавления

Для размещения объявлений присутствуют ссылки на главной странице на форму добавления. В ней находятся все необходимые поля ввода для размещения объявления: Имя, адрес, E-mail, срок размещения, тема, текст объявления, контактные данные. После заполнения всех данных и подтверждения об отправке, объявление поступает модерацию.

3.3 Модуль администрирования

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

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

4. Дизайн

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

4.1 Интерфейс

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

Рис. 4.1 Внешний вид доски объявлений

4.2 Графика

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

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

Цветовые особенности реализуются посредством применения CSS.

Файл images/style.css задает общие для всех страниц свойства, а именно: цвет фона и цвета ссылок (непосещенных, активных, посещенных).

BODY {margin:10; FONT-SIZE: 14px; COLOR: #444444; FONT-FAMILY: 'Courier New', Tahoma, Arial; BACKGROUND-COLOR: #ffffff}

TD {FONT-SIZE: 14px; COLOR: #444444; FONT-FAMILY: 'Courier New', Tahoma, Arial}

menu {color: #E33C00; text-decoration: none;}

A {COLOR: #0066CC; TEXT-DECORATION: none}

A:hover {COLOR: #0066CC; TEXT-DECORATION: none}

A:visited {COLOR: #0066CC}

center_link {text-decoration:none; color: #999999}

w99 {width: 316;}

w50 {width: 40%;}

progress {width: 1px; height: 14px;

color: #666666;

font-size: 12px;

overflow: hidden;

background-color: #EBEBEB;

padding-left: 5px;

}

input, textarea, select {

BACKGROUND-COLOR: #ffffff;

BORDER-BOTTOM: #969696 1px solid;

BORDER-LEFT: #969696 1px solid;

BORDER-RIGHT: #969696 1px solid;

BORDER-TOP: #969696 1px solid;

COLOR: #333333;

FONT-SIZE: 8pt; FONT-FAMILY: Verdana, Arial;

}

voit_radio {

BACKGROUND-COLOR: #F4F4F4;

BORDER: 0;

}

radio {

BACKGROUND-COLOR: #FFFFFF;

BORDER: 0;

}

b {color:#666666; FONT-WEIGHT: bold}

b:hover {text-decoration:none;}

off {FONT-SIZE: 8pt; color: #999999;}

error {BORDER-BOTTOM: #E33C00 1px solid; BORDER-LEFT: #E33C00 1px solid; BORDER-RIGHT: #E33C00 1px solid; BORDER-TOP: #E33C00 1px solid;}

nav {text-decoration:none; font-weight: bold;}

name {font-family: Georgia, «Times New Roman», Times, serif; font-size:22px; font-weight:bold; color:#FFFFFF}

table_item {margin: 5;}

table_top_orange {

width: 100%;

vertical-align: top;

background: url (px1.gif);

background-position: top;

background-repeat: repeat-x;

border-color: #FF9900;

border: dashed #EEEEEE;

}

img_news {

vertical-align: top;

border-color: #EEEEEE;

border: #EEEEEE;

border: none;

}

table_top_red {

width: 100%;

vertical-align: top;

background: url (px2.jpg);

background-position: top;

background-repeat: repeat-x;

border-color: #FF0000;

border: dotted #EEEEEE;}

blue {color: #0066CC; text-decoration: none;}

menu_txt {color:#939393; text-decoration:none; font-family:tahoma; font-size:10px; text-transform:uppercase; font-weight:bold}

sm1 {font-size:11px}

u {text-decoration:underline}

blue_bold {color: #0066CC; text-decoration: none; font-weight:bold}

sm {font-size:10px}

sm_orange {color:#F7941D; text-decoration:none; font-size:11px; font-weight:bold}

copy {font-family:tahoma; font-size:10px; color:#9B9B9B; text-decoration:none}

price {color: red; font-size:16px; font-weight:bold}

date {color: #FFFFFF; text-decoration:none}

a:date {text-decoration: none; color:#FFFFFF}

white {FONT: Trebuchet, Tahoma; COLOR: #FFFFFF}

black {FONT: Trebuchet, Tahoma; COLOR: #000000}

gray {FONT: Trebuchet, Tahoma; COLOR: #999999}

dark_blue {FONT: Trebuchet, Tahoma; COLOR: #336699}

dark_green {FONT: Trebuchet, Tahoma; COLOR: #006633}

dark_orange {FONT: Trebuchet, Tahoma; COLOR: #FF9900}

red {FONT: Trebuchet, Tahoma; COLOR: #FF0000}

dark_red {FONT: Trebuchet, Tahoma; COLOR: #B71E2D}

bg_gray {background-color:#E6E6E6; padding-bottom: 3px; padding-top: 3px; padding-left: 9px; padding-right: 9px}

bg_dark_red {background-color:#B71E2D; padding-bottom: 3px; padding-top: 3px; padding-left: 9px; padding-right: 9px}

bg_dark_orange {background-color:#FF9900; padding-bottom: 3px; padding-top: 3px; padding-left: 9px; padding-right: 9px}

bg_dark_blue {background-color:#336699; padding-bottom: 3px; padding-top: 3px; padding-left: 9px; padding-right: 9px}

bg_dark_green {background-color:#006633; padding-bottom: 3px; padding-top: 3px; padding-left: 9px; padding-right: 9px}

b {FONT-WEIGHT: bold}

cn {FONT: 22px 'Courier New'; FONT-WEIGHT: bold}

up {TEXT-TRANSFORM: uppercase}

nd {text-decoration:none}

HR {COLOR: #E6E6E6; HEIGHT: 1px}

small {FONT-SIZE: 14px; COLOR: #888888}

IMG {BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px}

16 {FONT-SIZE: 16}

14 {FONT-SIZE: 14}

12 {FONT-SIZE: 12}

H1 {MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 16px}

H1 A {MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 16px}

H1 A:visited {MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 16px}

H2 {MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 14px}

H2 A {MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 14px}

H2 A:visited {MARGIN-TOP: 5px; MARGIN-BOTTOM: 5px; FONT-SIZE: 14px}

H3 {MARGIN-TOP: 5px; MARGIN-BOTTOM: 3px; FONT-SIZE: 12px}

H3 A {MARGIN-TOP: 5px; MARGIN-BOTTOM: 3px; FONT-SIZE: 12px}

H3 A:visited {MARGIN-TOP: 5px; MARGIN-BOTTOM: 3px; FONT-SIZE: 12px}

stat {DISPLAY: none}

4.3 Браузерная совместимость

На сегодняшний день наиболее распространенным браузером является Microsoft Internet Explorer (83%). Однако в последнее время всё большее распространение стали получать браузеры Opera и Mozilla Firefox. Эти браузеры также поддерживают выполнение Java-скриптов и каскадные таблицы стилей. Тестирование данного Web-сайта производилось во всех перечисленных браузерах, и во всех он работал без ошибоки и вид страниц не различался. Таким образом, для просмотра сайта можно использовать любой из них, по вкусу пользователя.

5. Конструкторский раздел

При создании данного Web-сайта, помимо языка разметки гипертекста HTML, использованы каскадные таблицы стилей, Web-сервер Apache, язык PHP и язык JavaScript.

Рассмотрим механизм функционирования Web-сайта более подробно.

5.1 Шаблон сайта

Шаблон сайта состоит из двух файлов: itop.inc.php и foot.inc.php, - а в центральную часть динамически подгружается информация из скриптов, в зависимости от того на какой странице пользователь.

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

Подгрузка шаблонов выполняется в нужном файле (к примеру sboard.php) оператором «include», которому в качестве параметров передаются переменные имена файлов.

Картинки для категорий и подкатегорий хранятся в виде отдельных файлов в графическом формате.

Так же в сайте испоьлзовано динамическое изменение заголовка страницы, что бы поисковые системы могли лучше распознать, где какой раздел, и так же сайт имеет удобные для людей URL. Тоесть вместо http://board.ru/index.php? id=1 адрес будет такой http://board.ru/board/1

Это реализовано за счёт модуля, который подключается к Apache и называется mod_Rewrite.

5.2 Раздел «Добавить объявление»

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

Рис. 5.2.1 кнопка для добавления объявления

Рис. 5.2.2 пуская форма для добавления объявления

Рис. 5.2.3 заполненная форма для добавления объявления

Рис. 5.2.4 страница, отображённая после того как пользователь добавит объявление

Структура таблицы «board», базы данных данного сайта, хранит в себе объявления и имеет следующую структуру:

id - уникальный номер объявления

id_category - уникальный номер категории, берётся из таблицы board_cat

autor - автор объявления

title - заголовок

email - email адрес посетителя, который оставил объявление

address - адресс посетителя

phone - телефон

text - сообщение, указанное в объявлении

hits - количество просмотров

type - тип

old_mess - поле, которое показывает устарело объявление или нет

checkbox_top - поле, при определённом значении, которого, объявление будет в топе - выводится не смотря на дату добавления.

time - дата добавления

time_delete - дата удаления

last_edit - дата последнего редактирования

А структура таблицы «board_cat» слудующая:

id - уникальный номер категории

root_category - здесь указывается 0 если категория является корневой или id из board_cat что бы указать что это подкатегория категории с уникальным номером id

name_cat - название категории

description - описание категории

img - картинка для категории

5.3 Раздел отображаемый при выборе какой-либо категории

Рис. 5.3.1. список категорий на сайте

Рис. 5.3.2. список объявлений в категории

5.4 Раздел «Администрирование»

Для того, что бы попасть в раздел администирования, нужно набраться в адресе http://board.ru/admin/

Появится форма ввода пароля:

Рис. 5.4.1 форма ввода пароля

Если пароль был введён правильно, то будет открыта система администрирования, на главной странице, которой, будут отображены новые объявления, которые ещё не были просмотрены администратором:

Рис. 5.4.2 новые объявления

Рис. 5.4.3 редактирование объявления в системе администрирования

Рис. 5.4.5 список категорий в системе администрирования

Рис. 5.4.6 список объявлений в категории, отображаемый в системе администрирования

Рис. 5.4.7 изменение категории в системе администрирования

Рис. 5.4.8 личные данные администратора в системе администрирования

Рис. 5.4.9 изменение личных данных администратора в системе администрирования

Заключение

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

Созданная система является сложным программным комплексом, построенным по технологии «клиент-сервер». Информация формируется динамически. Графическая оболочка сайта должна подстраиваться под различные разрешения экрана.

Разработка среды велась «с нуля», и на этапе проектирования было учтено множество пожеланий со стороны заказчика. Это позволило создать проект, максимально удовлетворяющий потребностям заказчика.

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

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

Список использованных источников

1 Macromedia Dreamweaver MX [Электронный ресурс]: учебное пособие / Дронов В. - Электрон. дан. и прогр. - [Россия], [2004-2007]. - Режим доступа: http://www.vgi.volsu.ru

2 JavaScript [Electronic resource]: Einfuehrung, Programmierung und Referenz / Stefan Koch. - Electronic data and program. - [German]: dpunkt.verlag, 1996-1997. - Mode of access: http://rummelplatz.uni-mannheim.de/~skoch/js/

3 Википедия [Электронный ресурс]: свободная энциклопедия. - Электрон. дан. - [Россия], [1999-2000]. - Режим доступа: http://ru.wikipedia.org

4 MySQL. Одобрено лучшими российскими программистами [Электронный ресурс]: Справочное руководство по MySQL. - Электрон. дан. - [Россия], [2001-2002]. - Режим доступа: http://www.mysql.ru

Приложение А

Фрагменты кода, отвечающие за дизайн web-сайта

require_once («mysql.php»);

require_once («func.php»);

require_once («admin/config.php»);

?>

<html>

<head>

<title>

<? if (isset($title)) echo $title; else echo «test1.ru»;?>

</title>

<meta http-equiv= «Content-Language» content= «ru»>

<meta http-equiv= «Content-Type» content= «text/html; charset=windows-1251»>

<meta content= «index, follow, all» name= «robots»>

<meta content= «5 days» name= «revisit-after»>

<meta name= «keywords» content="<? if (isset($keywords)) echo $keywords; else echo «test1.ru»;?>">

<meta name= «description» content="<? if (isset($description)) echo $description; else echo «test1.ru»;?>">

<LINK REL=STYLESHEET TYPE= «text/css» HREF="<? echo «http:// »; echo $_SERVER ['HTTP_HOST']; echo»/»;?>images/style.css»>

</head>

<body onLoad= «loadclock()»>

<table width= «100%» align= «center» border= «0» cellpadding= «0» cellspacing= «10» bgcolor= "#FFFFFF»>

<tr>

<td width= «75%» valign= «top»>

<?

if (date(H) >= «5» && date(H) < «12») $now = «Доброе утро»;

if (date(H) >= «12» && date(H) < «19») $now = «Добрый день»;

if (date(H) >= «19» && date(H) <= «23») $now = «Добрый вечер»;

if (date(H) >= «0» && date(H) < «5») $now = «Доброй ночи»;

if (isset ($_ENV['USERNAME']) &&! empty ($_ENV['USERNAME'])) echo «<font size=\» - 1\» class=gray>».$now. "».$_ENV['USERNAME']. «</font>»;

else echo «<font size=\» - 1\» class=gray>».$now. «</font>»;

?><font size=» - 1» class=gray>, Сегодня

<SCRIPT language=JavaScript>

function makeArray() {

var args = makeArray.arguments;

for (var i = 0; i < args.length; i++) {

this[i] = args[i];

}

this.length = args.length;

}

function fixDate(date) {

var base = new Date(0);

var skew = base.getTime();

if (skew > 0)

date.setTime (date.getTime() - skew);

}

function getString(date) {

var months = new makeArray («Января», «Февраля», «Марта»,

«Апреля», «Мая», «Июня»,

«Июля», «Августа», «Сентября»,

«Октября», «Ноября», «Декабря»);

return date.getDate()+ " " + months [date.getMonth()];

}

var cur = new Date();

fixDate(cur);

var str = getString(cur);

document.write(str);

</SCRIPT>, </font>

<script>

<!-

function show2 () {

var Digital=new Date()

var hours=Digital.getHours()

var minutes=Digital.getMinutes()

var seconds=Digital.getSeconds()

var dn=»»

if (hours>24) {

dn=»»

hours=hours-24

}

if (hours==0)

hours=24

if (minutes<=9)

minutes= «0»+minutes

if (seconds<=9)

seconds= «0»+seconds

var ctime="<font face='Verdana' size='-2'> «+hours+»: «+minutes+»: «+seconds+» «+dn+»</font>»

if (! document.all)

document.write(ctime)

else

tick2.innerHTML=ctime

}

function loadclock() {

if (document.all)

setInterval («show2 ()», 1000)

}

if (! document.all)

show2 ()

// ->

</script>

<span id=tick2></span>

</td>

<td width= «25%» align= «right» valign= «top»>&nbsp; <a href= «Добавить в избранное» onClick=«window.external.addFavorite ('<? echo «http:// ».$_SERVER ['HTTP_HOST'];?>/', 'test1.ru'); return false;» title= «Добавить в избранное»>В избранное</a>&nbsp; <a href=»<? echo «http:// ».$_SERVER ['HTTP_HOST'];?>/» title= «На главную»>На главную</a></td>

</tr>

</table>

<table width= «100%» align= «center» bgcolor= "#F4F4F4» border= «0» cellpadding= «0» cellspacing= «10»>

<tr>

<td>

<center><strong class=\ «dark_red b up\»><h1>Доска бесплатных объявлений!</h1></strong></center>

</td>

<td><div align= «right»>

<form method=post action= «http:// <? echo $_SERVER ['HTTP_HOST']?>/search/»>

<span class= «gray b»>Поиск: </span><input type=text size=26 name=search_word>

<input name=search_in value=title type=hidden>

<input type=submit value=Искать>

</form>

</div></td>

</tr>

</table>

<TABLE WIDTH= «100%» align= «center» BORDER= «0»>

<TR>

<TD valign= «top»><table width= «100%» border= «0» align= «center» cellpadding= «0» cellspacing= «20»>

<tr>

<td width= «25%» valign= «top» style= «padding-bottom:5px; padding-left:5px; padding-right:5px»>

</td>

</tr>

</table>

</td>

</tr>

</table>

</TD>

</TR>

</TABLE>

<table width= «100%»>

<TR>

<TD valign= «top» class= «copy» height= «1»><hr color= «F5F5F5» width= «100%» />

<div align= «center»><? echo «<span class=up>&copy;».$_SERVER ['HTTP_HOST']. "».date («Y»). «<span>»;?></div></TD>

</TR>

</TABLE>

</BODY>

</HTML>

Файл sboard

<?

include («mysql.php»);

include («func.php»);

include («admin/config.php»);

$time_now = time ();

$a = mysql_query («SELECT * from board WHERE».$time_now.» > ((time_delete * 86400) + time) ORDER by id»);

$b = mysql_num_rows($a);

while ($qwe = mysql_fetch_array($a))

{

$data_udaleniya_iz_bazy = $qwe ['time_delete'] * 86400 + $qwe['time'];

if (time () > $data_udaleniya_iz_bazy)

{

$del_sus = mysql_query («DELETE from board LIMIT 1»);

}

else {}

}

if (! empty ($_GET['id_cat']) && intval ($_GET['id_cat']) > 0 &&! empty ($_GET['id_mess']) && intval ($_GET['id_mess']) > 0)

{

$hits = mysql_query («UPDATE board SET hits = hits + 1 WHERE id=».$_GET ['id_mess']. "»);

$query = mysql_query («SELECT A.id as board_id, A.*, B.*

FROM board as A, board_cat as B

WHERE A.id =». $_GET ['id_mess'].»

AND B.id =». $_GET ['id_cat']. "»);

if (mysql_num_rows ($query) > 0)

{

while ($message = mysql_fetch_array($query))

{

$message['title'] = str_replace («'», «&quot», $message['title']);

$message['title'] = str_replace («`», «&quot», $message['title']);

$title = $message['title'];

$keywords = $message['title'];

$description = $message ['name_cat'].» | Заголовок:».$message['title'];

include («design/itop.inc.php»);

echo «<table width=98% border=1 bordercolor=#EEEEEE bgcolor=#FAFAFA cellpadding=5 cellspacing=2 align=center><tr valign=middle title='».$message['title']. «'><td align=center>»;

echo»<table border=0 width=100%><tr>»;

echo «<td align=center><font class=small>Категория: <a href= \ «http:// ». $_SERVER ['HTTP_HOST']. "/board/». $_GET ['id_cat']. "/\» title = \ «Категория:».$message ['name_cat']. "\">».$message ['name_cat']. «</a></font></td>»;

if ($message['type'] == «P») {$type = «&nbsp; Предложение&nbsp;»;} else $type = «&nbsp; Спрос&nbsp;»;

echo «<td align=center><font size=2 color=#888888>Тип объявления:».$type. «</font></td>»;

$time_actual = (($message['time'] + $message ['time_delete'] * 86400) - time()) / 86400 + 1;

echo «</tr></table><br>»;

echo «<strong class=up title='».$message['title']. «'><h4>».$message['title']. «</h4></strong>»;

echo»<table border=0 width=100%><tr>»;

$date = date («d.m.y», $message['time']);

echo «<font class=small>Дата добавления:».$date. «<br>»;

echo «Объявление актуально еще <strong>».intval ($time_actual). «</strong> дн.</font><br />»;

echo «<strong>Автор:».$message['autor']. «</strong>»;

echo «</tr></table><br>»;

echo»<table border=0 width=90% bgcolor=#FFFFFF cellpadding=15 cellspacing=12 ><tr>»;

echo «<td title='».$message['text']. «'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font class=b>Содержание объявления: </font>».$message['text']. «</td>»;

echo «</tr></table><br>»;

echo»<table border=0 width=100%><tr>»;

if ($message['phone'] || $message['address'] || $message['email']) {echo «<td><strong>&nbsp; Контакты автора:&nbsp; </strong>»;} else {echo «Автор не указал контакты…»;}

if ($message['phone']) {echo «<strong>Тел.: </strong>».$message['phone'].».»;} else {echo «»;}

if ($message['address']) {echo «<strong>Адрес: </strong>».$message['address'].».»;} else {echo «»;}

if ($message['email']) {echo «<strong>E-mail: </strong><a href=\ «mailto:».$message['email']. "\» title=\ «E-mail автора\">».$message['email']. «</a>.»;} else {echo «»;}

if ($message['phone'] || $message['address'] || $message['email']) {echo «</td>»;} else {echo «»;}

echo «</tr></table>»;

echo «</td></tr></table>»;

}

}

else

{

$title = «Доска объявлений»;

$keywords = «Доска объявлений.»;

$description = «Доска объявлений»;

include («design/itop.inc.php»); // выводим шапчёнку

echo «<strong><center>Нет запрашиваемых данных.</center></strong><br><br><br>»;

echo «<a href=\ «http:// ». $_SERVER ['HTTP_HOST']. "/board/add/\» title=\ «Добавить объявление\"><center>Добавить объявление</a> |»;

echo «<a href=\ «http:// ». $_SERVER ['HTTP_HOST']. "/board/\» title=\ «На главную страницу Доски объявлений\">На главную страницу Доски объявлений</a></center><br>»;

exit();

}

}

elseif (! empty ($_GET['id_cat']) && intval ($_GET['id_cat']) > 0 && empty ($_GET['id_mess']))

{

$query = mysql_query («SELECT *

FROM board as A, board_cat as B

WHERE A.id_category = B.id

AND A.id_category =». intval ($_GET['id_cat']). "»);

if (mysql_num_rows ($query) > 0)

{

$echo_cat = mysql_fetch_array($query);

$num = mysql_num_rows ($query);

@$start = page_list ($_GET['page'], $num, $COUNT_SHOW_BOARD);

$query = mysql_query («SELECT A.id as board_id, A.*, B.* FROM board as A, board_cat as B WHERE A.id_category = B.id AND A.id_category =». $_GET ['id_cat'].» AND A.checkbox_top > 0 ORDER by time DESC LIMIT $start, $COUNT_SHOW_BOARD»);

$title = «Доска объявлений | Категория».$echo_cat ['name_cat'];

$keywords = «Доска объявлений. Категория».$echo_cat ['name_cat'].» |».$echo_cat['description'];

$description = «Доска объявлений | Категория».$echo_cat['description'];

include («design/itop.inc.php»);

echo «<a href=\ «http:// ». $_SERVER ['HTTP_HOST']. "/board/add/\» title=\ «Добавить объявление\"><center>Добавить объявление</a> |»;

echo «<a href=\ «http:// ». $_SERVER ['HTTP_HOST']. "/board/\» title=\ «Вернуться на главную страницу Доски объявлений\">Вернуться</a> на главную страницу Доски объявлений</center><br>»;

echo»<div align=center>»;

echo «Категория: <a href = \ «http:// ». $_SERVER ['HTTP_HOST']. "/board/».$echo_cat ['id_category']. "/\">».$echo_cat ['name_cat']. «</a> | Всего объявлений в данной категории: [».$num.»]»;

echo «</div><br><br>»;

while ($top_board = mysql_fetch_array($query))

{

echo»<table style=\ «BORDER-BOTTOM: #FF9900 2px dashed; border-top: #FF9900 2px dashed\» width=90% bordercolor=#990000 bgcolor=#FFFEF4 align=center border=0 cellpadding=\ «0\» cellspacing=\ «10\»>

<tr title='».$top_board['title']. "'>

<td width=5%><img src=\» http:// ». $_SERVER ['HTTP_HOST']. "/images/att.gif\» alt=\ «Статус: Прикрепленное объявление\»></td>

<td>»;

if ($top_board['type'] == «P») {$type = «&nbsp; Предложение&nbsp;»;} else $type = «&nbsp; Спрос&nbsp;»;

echo «<font size=2 color=#888888>Тип объявления:».$type.» &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;»;

$date = date («d.m.y», $top_board['time']);

echo «Дата добавления:».$date.» &nbsp;&nbsp;&nbsp;|&nbsp;&nbsp;&nbsp;»;

echo «Просмотров: [».$top_board['hits'].»]</font><br>»;

echo «<font size=4 style=\» font-family: Tahoma\» >

<br />

<strong><a href =\» http:// ». $_SERVER ['HTTP_HOST']. "/board/category/».$top_board ['id_category']. "/message/».$top_board ['board_id']. "/\» title='».$top_board['title']. «'><center>».$top_board['title'].» </center></a></strong>

</font>


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

  • Язык маркировки гипертекстов HTML, основа создания web-страниц. История спецификаций, каскадные таблицы стилей CSS. Способы определения таблиц стилей (стилевого шаблона). Язык подготовки сценариев JavaScript, его использование. Программный код web сайта.

    курсовая работа [26,9 K], добавлен 05.07.2009

  • Понятие сайта и их классификация - корпоративные, презентационные, тематические, интернет-магазины. Язык гипертекстовой разметки HTML и его средства разработки. Виртуальный web-сервер Denver и MySQL базы. Этапы разработки сайта и структура навигации.

    дипломная работа [2,4 M], добавлен 13.01.2015

  • Основные понятия web-технологий. Разработка дизайна сайта, анализ программных средств для его разработки. Создание шаблона с помощью гипертекстового языка html и CMS joomla для верстки станиц. Разработка динамической модели и размещение на хостинге.

    дипломная работа [6,9 M], добавлен 04.06.2013

  • Основные технологии разработки ресурсов Интернет. Процесс разработки веб-сайта. Понятие Web-сайта и классификация Web-сайтов. Основные этапы разработки Web-сайта. Использование HTML, CSS, JavaScript, FLASH, PHP и реляционной базы данных MySQL.

    презентация [1,3 M], добавлен 28.11.2015

  • Создание индивидуального сайта с использованием языка гипертекстовой разметки HTML и языка скриптов JavaScript. Программные средства, используемые при выполнении работы. Основные средства для создания сайта. Разработка CSS-файла (таблица стилей).

    лабораторная работа [31,0 K], добавлен 28.10.2010

  • Практическая значимость создания сайта. Язык программирования JavaScript. Основные области использования языка JavaScript при создании интерактивных HTML-страниц. Язык программирования PHP. Программная основа сайта. Создание оформления дизайна сайта.

    дипломная работа [1,1 M], добавлен 05.03.2013

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

    курсовая работа [1,3 M], добавлен 02.07.2014

  • История Hyper Text Markup Language, таблицы стилей, уровни Cascading Style Sheets. Описание средств разработки шаблона. Верстка элементов шаблона и создание стилей. Требования к качеству html-верстки и тестирование сайта. Листинг html и css-кода.

    курсовая работа [237,5 K], добавлен 28.12.2014

  • Язык разработки PHP: применение, синтаксис, типы данных, суперглобальные массивы, особенности интерпретатора. Apache-HTTP сервер: архитектура, механизм виртуальных хостов, функциональные возможности. Разработка сайта системы диагностики. Бюджет проекта.

    дипломная работа [1,4 M], добавлен 25.11.2012

  • HTML как язык разметки гипертекста, его структура, элементы. Каскадные таблицы стилей, их разработка. Верстка: страницы как мы их видим. Новые технологии – HTML5, CSS3. LESS. Динамический язык стилевой разметки. Технологии упрощенной разметки HAML, SASS.

    дипломная работа [3,4 M], добавлен 19.04.2013

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