- •Минск, бгу,
- •Глава 1. Компьютерные сети и протоколы
- •Глава 2. Проектирование и разработка сайтов……………………….62
- •Глава 3. Краткий обзор основных технологий разработки Веб приложений…………………………………………………………..……......90
- •Глава 4. Информационный обмен, html и css.…..……………….132
- •Глава 5. Язык JavaScript………………………………………………..202
- •Глава 6. Язык серверных скриптов php…………...…………………286
- •Глава 7. Лабораторные работы……………………..………………….400
- •Введение Коротко об истории Интернет
- •Как работает Интернет?
- •Система адресации
- •Способы подключения к сети
- •Сервисы Интернет
- •Электронная почта
- •Передача файлов по ftp
- •Всемирная паутина www
- •Глава 1. Компьютерные сети и протоколы
- •Локальные сети
- •Распределенные и глобальные сети
- •Сеть vpn
- •Адресация в локальных сетях
- •Адресация в глобальных сетях и в Интернет
- •Адресация в iPv6
- •Доменные имена
- •Url адреса
- •Понятие и краткое описание протоколов
- •Соотношение между tcp/ip и osi/iso
- •Межсетевой протокол iPv4
- •Формат пакета iPv6
- •Формат заголовка пакета iPv6
- •Заголовки расширения iPv6
- •Маршрутный заголовок
- •Транспортный протокол tcp
- •Протокол дейтаграмм udp
- •Протоколы arp и rarp
- •Протоколы сетевого уровня
- •Протоколы электронной почты
- •Протоколы smtp и pop3
- •Протокол imap4
- •Протокол ftp
- •Протокол передачи гипертекстов
- •Клиентский запрос http
- •Ответ сервера
- •Развитие прикладных протоколов: rpc, rest, soap
- •Безопасность в сети
- •Протокол ssl
- •Шифрование данных
- •Установление подлинности участников
- •Реализация ssl
- •Как избежать блокирования сайтов
- •Проблемы с кодировкой и Unicode
- •Задания для подготовки рефератов
- •Адресация в iPv6.
- •Глава 2. Проектирование и разработка сайтов
- •2.1. Виды сайтов
- •2.2. Этапы проектирования и разработки сайта
- •2.3. Модели проектирования и управление проектами
- •2.3.1 Модель водопада для управления проектами
- •2.3.2 Итерационная (спиральная) модель
- •2.3.3 Технология Microsoft Solutions Framework (msf)
- •2.3.4 Другие технологии управления проектами
- •2.4. Программные средства управления проектами
- •2.5.1. Стили сайтов
- •2.6. Логическое проектирование дизайна сайта
- •2.7. Главная страница сайта
- •2.8. Внутренние страницы сайта
- •2.9. Оценки качества Веб-сайтов
- •2.9.1. Оценки качества для e-commerce
- •2.9.2. Ключевые индикаторы для e-commerce
- •2.9.3. Определение качества и рейтинга сайтов учебных заведений
- •2.9.4. Оценка качества и стоимости сайта
- •Глава 3. Краткий обзор основных технологий разработки Веб-приложений
- •3.1. Язык разметки гипертекста xml
- •3.1.1. Синтаксис xml
- •Объявление xml. Первая строка xml-документа называется объявление xml.
- •Конструкции языка xml. Повторим еще раз содержимое xml-документа: набор элементов, секций cdata, директив анализатора, комментариев, спецсимволов, текстовых данных.
- •3.1.2. Правильно построенные и действительные документы xml
- •Отображение xml-документа. Наиболее распространены три способа преобразования xml-документа в отображаемый для пользователя вид:
- •3.3. Язык ActionScript
- •3.3.1. Видео-, аудиопроигрыватели
- •3.5. Технология «клиент-сервер»
- •3.6. Программирование для серверов
- •Язык Java на клиентской и серверной странице
- •3.7. Базы данных и язык sql
- •Нормализация модели данных
- •3.8. Язык sql
- •Команды управления транзакциями
- •Извлечение данных, команда select
- •Секция where. Директива where содержит условия отбора (предикат). Синтаксис where выглядит следующим образом:
- •Групповые функции. Если нас интересуют не строки таблицы, а некоторые итоги, мы можем использовать в процессе выборки колонок таблиц групповые функции (табл. 3.5.).
- •Команда insert. Добавление новых записей в таблицу осуществляется посредством команды insert. Она имеет следующий синтаксис:
- •Глава 4. Информационной обмен, нтмl и css
- •4.1. Язык разметки гипертекста html
- •4.2. Ссылки
- •4.3. Списки
- •4.3. Формы html
- •4.2.2. Новые элементы форм html5
- •Поддержка видео
- •4.2.3. Новые возможности html5
- •Поддержка аудио
- •4.3. Каскадные таблицы стилей css
- •4.3.1. Способы включения каскадных таблиц стилей
- •Заголовок 1 Заголовок 2 Заголовок 3
- •4.4. Цвет и фон
- •Свойства таблиц
- •4.5. Псевдоклассы
- •Псевдоэлементы
- •4.5.1. Форматирование псевдоклассов и псевдоэлементов
- •Различные свойства
- •Отступы, поля, позиционирование
- •Границы элементов
- •Новое в css3
- •Глава 5. Язык JavaScript
- •5.1. Включение скриптов JavaScript в html-код
- •Создание простых сценариев
- •Комментарии.
- •Отладка скриптов. Ввод и вывод данных
- •5.2. Описание языка
- •5.2.1. Типы данных
- •Преобразование типа
- •5.2.2 Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Операторы сравнения
- •Оператор with
- •Оператор switch
- •5.3. Функции
- •5.3.1. Стандартные функции.
- •Eval() : позволяет выполнить строку, содержащую выражение, как javascript-код. Это полезно когда код формируется в ходе выполнения скрипта. Пример реализации простейшего калькулятора приведен ниже:
- •5.3.2. Функции пользователя
- •5.3.3. Передача параметров по значению и по ссылке
- •5.3.4. Глобальные и локальные переменные
- •5.3.5. Модель событий
- •Ключевое слово this
- •5.3.6. Модель событий JavaScript 1.2 и объект Event.
- •5.4. Объектная модель
- •5.4.1. Пользовательские объекты
- •5.4.2. Прототипы
- •5.4.3. Исключения: throw/catch/finally
- •5.4.4. Встроенные объекты String, Array, Date, Math Объект String. Экземпляр объекта можно объявить двумя способами:
- •Объект Array
- •Объект Date (Дата)
- •Методы объекта Date
- •5.5.1. Коллекции
- •Свойства элемента innerHtml и outerHtml
- •Навигация по дереву документа
- •Создание новых узлов
- •Удаление и замена узлов в документе
- •Объект window
- •Свойства окна, передаваемые методу open()
- •Методы объекта window
- •Свойства и методы объекта navigator
- •Свойства и методы объекта history
- •Свойства и методы объекта location
- •Объект layer
- •Каскадные таблицы стилей и объект style
- •Модель ajax:
- •5.6.1 Класс xmlHttpRequest
- •Использование dom
- •Работа с cookie
- •5.7.2. Манипуляции с dom
- •5.5.3. Блочная верстка
- •5.7.3. Обработка событий
- •5.7.3. Обработка событий
- •5.8. Примеры на JavaScript
- •Глава 6. Язык серверных скриптов php
- •Инструменты для разработки
- •Как php работает
- •Описание языка Типы данных
- •Массивы и инициализация массивов
- •Операции и выражения
- •Операции сравнения
- •Логические операции
- •Строковые операции
- •Операторы управления
- •Функции
- •Рекурсивные функции
- •Область действия и время жизни переменных
- •Изменяемые (динамические) переменные
- •Внешние библиотечные функции
- •Функции для работы с массивами
- •Функции для работы со строками.
- •Функции форматных преобразований строк
- •Преобразование строк и файлов к формату html и наоборот
- •Преобразование html в простой текст
- •Установка локальных настроек
- •Регулярные выражения
- •Функции даты и времени
- •Математические функции
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и журнал error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из бд
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Организации работы с данными
- •Передача данных от клиента к серверу и обратно. Протокол http
- •Клиентские методы http
- •Обработка html-форм
- •Передача переменных из формы в скрипт.
- •Передача данных на сервер по методам get и post
- •Ввод данных из различных форм
- •Работа с e-mail
- •Cookies-наборы
- •Сессии (Сеансы)
- •Отмена регистрации сеансовых переменных
- •Сериализация объектов
- •Вывод графических данных с помощью рнр
- •Получение информации об изображении
- •Функции рисования прямых и кривых линий
- •Заливка изображений
- •Удаление и изменение цветов палитры
- •Создание прозрачности в изображениях
- •Рисование с помощью кистей
- •Использование шрифтов и вывод строк
- •Слияние изображений с помощью gd
- •Глава 7. Лабораторные работы Лабораторная работа 1 (4 часа). Инструменты и средства создания простых сайтов
- •Лабораторная работа 3 (4часа). Применение каскадных таблиц стилей css
- •Трехколоночный контейнерный макет сайта
- •Лабораторная работа 4. Применение каскадных таблиц стилей css
- •1. Свойства шрифтов.
- •2. Свойства текста.
- •3. Свойства цвета и фона.
- •4. Свойства рамки.
- •5. Свойства списков.
- •6. Свойства изображений.
- •Лабораторная работа 5 (4 часа). Динамика и JavaScript на Веб – странице.
- •Ответить на следующие вопросы
- •Лабораторная работа 6 по JavaScript (4 часа).
- •1.Проверка правильности заполнения формы на сайте
- •Методы объекта window
- •Задание 2. Функции
- •Задание 4. Работа с базами данных Выполнить одно из перечисленных ниже упражнений
- •Задание 5. Создание web-объектов Список заданий
- •Drupal: практические примеры
- •Приложение 1. Курсовые работы Курсовая работа 1. Создание клиентских приложений
- •Курсовая работа №2. Сайты клиент-сервер
- •Каталог товаров
- •Система вопрос/ответ
- •Курсовая работа №3. Технологии разработки Веб – приложений
- •Приложение 2. Быстрая разработка Веб-приложений
- •Начало работы с сайтом
- •Создание контента
- •Установка нового модуля
- •Создание шаблона
- •Включение блока отображение популярных статей
- •Удаление
Включение блока отображение популярных статей
Включаем модуль "statistics" (administer/modules) входящий в стандартный дистрибутив Drupal;
В настройках модуля (administer/setting/statistics) включаем счетчик показа статей;
В administer/blocks включаем появившийся блок "Popular content". Не забудьте настроить его (configure);
"Number of day's top views to display" - количество самых популярных статей за день, "Most recent views" - последние просмотры. По умолчанию "Disаble".
Удаление
Чтобы убрать блок с формой входа на сайт, надо отключить блок "Пользовательский логин". После этого, доступ для авторизации будет по следующей ссылке: http://dnsname/?q=user . Чтобы удалить ссылку "Далее" в отображение статьи необходимо вставить тег <!--break--> в конце статьи. После него не должно быть пробелов.
Денвер и Drupal
Шаг 1. Денвер
Чтобы запустить Drupal на домашнем компьютере, можно использовать Денвер. Денвер — это программый комплекс, позволяющий превратить локальный компьютер в сервер. Название расшифровывается как «джентльменский набор веб-разработчика». Скачайте с сайта Денвера его дистрибутив и запустите. Откроется окно браузера, а после его закрытия появиться окно, предлагающие распаковку.
Нажмите кнопку «Да». После этого появиться окно с процессом распаковки файлов. Когда файлы будут распакованы, то Денвер проверит наличие необходимых компонентов, убедится что всё на месте и предложит нажать Enter для продолжения. Нажимаете Enter и появляется следующее окно:
На этом шаге предлагается выбрать папку в которую будет установлен Денвер. Здесь нужно подтвердить свой выбор и нажать Enter.
Денвер предупредит о создании виртуального диска. Здесь нужно ввести букву виртуального диска. По умолчанию Денвер предлагает ввести Z и если у вас нет причин выбирать другую букву, то введите z и нажмите Enter.
Денвер сделает на диске указанную папку и предупредит о начале копирования файлов. После нажатия Enter, в окне пробежит строка копирующихся файлов:
Затем будет выведено сообщение: режим запуска Денвера. Прочитайте пояснения к режимам и выберите 1 или 2. Процедура установки закончена.
Шаг 2. Папка
После установки Денвера, нужно сделать папку в которой будут храниться файлы сайта. Для этого зайдите в папку, в которой установлен Денвер, если вы её не меняли, то это C:\WebServers. Далее перейдите в папку home и сделайте в ней папку для файлов сайта. В этом примере была сделана папка drupal.site:
Войдите в папку drupal.site и сделайте в ней папку с названием www. И уже в папку www распакуйте файлы Drupal:
Шаг 3. База данных
По умолчанию, Drupal работает с базой данных MySQL. Эта база данных входит в комплект Денвера и для работы с ней нужно запустить Денвер. Запустите Start servers. Запустите браузер, наберите в адресной строке localhost и используйте мышь, чтобы нажать им на кнопку Перейти в браузере. Открывшуюся страницу нужно прокрутить до раздела Утилиты, в котором перейдите по ссылке Заведение новых БД и пользователей MySQL. После перехода по ссылке, заполните окрывшуюся страницу:
Пароль администратора MySQL: <оставьте пустым>
Имя базы данных: drupalsite
Логин пользователя: drupalsite
Пароль: drupalsite
еще раз: drupalsite
После ввода этих данных, нажмите кнопку Создать БД и пользователя. Страница перезагрузится и после заголовка появится надпись: База данных и новый пользователь заведены. Теперь у вас есть база данных с названием drupalsite, для доступа к базе будет использоваться логин и пароль drupalsite.
Шаг 4. Установка Drupal
Поледний шаг — это установка самого Drupal. Здесь будет описана установка Drupal с включённым в дистрибутив русским языком. Наберите в адресной строке браузера: drupal.site
нажмите кнопку перехода и вы увидите страницу с предложением выбрать язык на котором и будет проходить дальнейшая установка. Выберите Russian (Русский) и нажмите кнопку Select language.
На следующей странице Drupal попросит создать файл settings.php в папке /sites/default. Этот файл нужно создать из файла default.settings.php. Нужно именно создать новый файл, а не переименовать существующий. После этого в этой папке у вас должно быть два файла: default.settings.php и settings.php. Нажмите ссылку обновите страницу в последней строке.
На следующей странице введите информацию о базе данных (название, пользователя и пароль) и нажмите кнопку Сохранить. Откроется и вскоре исчезнет страница Установка Drupal, во время которой Drupal внесёт изменения в файл settings.php.
На следующей странице отобразится процесс импорта переводов интерфейса. На общих хостингах с небольшими ресурсами именно эта операция проходит не полностью, т.к. установленного ограничения на время выполнения скрипта не хватает на импорт переводов.
После того, как переводы будут импортированы, нужно ввести общую информацию о сайте (название, почтовый адрес, часовой пояс, поддержка чистых ссылок, оповещения) и информацию об аккаунте администратора. Затем будет проведена установка языка.
На последней странице установки Drupal сообщит о её завершении и предложит войти в аккаунт администратора. На странице будет находиться сообщение, которое выводится на первую страницу сайта в том случае, когда нет не одного документа выведенного на первую страницу.
Joomla! Джу́мла — свободная система управления содержимым, написанная на языках PHP и JavaScript, использующая базу данных MySQL. Текущая версия – v3. Важной особенностью системы является минимальный набор инструментов разработки сайтов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели и нагрузку на сервер и экономит место на хостинге. Joomla! может применяться для создания самых разных интернет-сайтов.
Joomla! имеет возможность самостоятельного написания/ редактирования модуля или компонента и последующего его встраивания в структуру ресурса, впечатляющий каталог дополнений, расширенные возможности администрирования и SEO-оптимизации. Joomla! позволяет отображать интерфейс на любом языке. Каталог расширений содержит множество языковых пакетов. Система шаблонов позволяет легко изменять внешний вид сайта.
К преимуществам системы можно отнести то, что все модули, компоненты, плагины, шаблоны можно написать самому, разместить их в структурированном каталоге расширений или отредактировать существующее расширение.
Низкий уровень вхождения.
Приятный интерфейс - простой для понимания обычным пользоваталем.
В базовой комплектации она опережает все системы по функциональности и производительности.
На Joomla можно сделать почти что все что угодно. Основное расширение функционала достигается, через компоненты.
Надежность. Модуль безопасности для многоуровневой аутентификации пользователей и администраторов.
Возможности администрирования. Для каждой динамической страницы можно создать своё описание и ключевые слова в целях повышения рейтинга в поисковых системах; Начало и окончание публикации любых материалов можно запрограммировать по календарю; Возможность ограничить доступ к определённым разделам сайта только для зарегистрированных пользователей; Настраиваемые схемы расположения элементов по областям шаблона. Различные модули (последние новости, счётчик посещений, подробная статистика посещений, гостевая книга, форум и другие); Возможность создания не одной, а нескольких форм обратной связи для каждого контакта; Модуль приёма от удалённых авторов новостей, статей и ссылок;
Кроме этого имеется: Иерархия объектов; Менеджер рассылки новостей; Встроенный визуальный редактор TinyMCE;
Для работы Joomla требуются: Apache 1.3.x или новее, как минимум, PHP 5.2 и MySQL 5.0.4.
Недостатки Joomla. Из недостатков Joomla! можно отметить недостаточную “легкость” движка, что сказываеться и на скорости загрузки сайта. Производительность - для малых проектов идеальная, для больших проектов без оптимизации движка использовать не стоит. Расширения также часто замедляют Joomla!.
Обзор популярности
По российским данным в десятку наиболее популярных CMS входят 1С-Битрикс, Joomla!(free), WordPress(free), MODx CMS/CMF(free), Drupal(free), UMI.CMS, NetCat, HostCMS, AMIRO.CMS, DataLife Engine. По данным зарубежного Интернет самыми известными CMS являются Joomla, Typolight и Kentico.
Рассмотрим отдельно популярные системы управления интернет-магазинами.
Magento -- по данным Alexa, это самая популярная система управления интернет-магазинами в мире на февраль 2011 г. Российская сборка Magento -- это версия Magento, адаптированная для интернет-магазинов России и СНГ. Ключевые особенности Российской сборки Magento: полная русификация магазина, 100% открытый исходный программный код, интеграция с «1C:Управление торговлей», интеграция с популярными платёжными системами России, Украины, Казахстана, Беларуси.
PrestaShop -- веб-приложение для электронной коммерции с открытым кодом.
В 2011 г. CMS Prestashop 1.4 была признана лучшей в Европе. На 2012 год сервисом PrestaBox поддерживается более 100 000 действующих интернет-магазинов. Осуществляется платная и бесплатная поддержка. На официальном сайте имеются также: форум, галерея, блог и учебный ресурс и многое другое. PrestaShop уступает Magento размеру сообщества и количеству готовых решений, но выигрывает у него же за счет легкости и скорости работы. Российская версия PrestaShop полностью русифицирована, имеет бесплатную поддержку, подключение платежных систем.
Еще одна система OpenCart, также как и PrestaShop легка в освоении, быстра и становится популярней с каждым годом.
Литература
Уэнделл Одом Компьютерные сети. — М.: «Вильямс», 2005. — С. 432.
Halsall F. Data communications, computer networks and open systems. Addison-Wesley publishing company, 1992, 772 pp.
Кристиансен Т., Торкингтон Н. Perl: Библиотека программиста :Пер. с англ.- СПб.: Издательство «Питер», 2000. - 736с.: ил.
Хейл, Бернард Ван. JDBC: Java и базы данных :Пер. с англ. М.,1999.-320с.
Робин Никсон. «Создаем динамические веб-сайты с помощью PHP, MySQL и JavaScript», – Питер , 2011.
Люк Веллинг, Лора Томсон. «Разработка Web-приложений с помощью PHP 5 и MySQL 5. PHP5», – Williams, 2008.
Тодд Томлинсон. «CMS Drupal 7. Руководство по разработке системы управления веб-сайтом». – Williams, 2011.
Викрам Васвани. «Zend Framework: разработка веб-приложений на PHP», – Питер, 2012.
Владимир Дронов. «HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов», – BHV, 2010.
Майкл Моррисон. «Изучаем JavaScript», – Питер, 2012.
Алексей Черных. «Drupal 7», – ЭКСМО, 2011.
Джеймс Ли, Брент Уэр. «Использование Linux, Apache, MySQL и PHP для разработки Web-приложений», – Williams, 2004.
http://www.citforum.ru
http://www.xpoint.ru
http://phpclub.unet.ru
http://www.webmasteram.ru
http://inftech.webservis.ru
http://dit.vov.ru
http://chip.ua
20. http://www.adobe.com/support/dreamweaver/
21. www.adobe.com,
WEB 2.0 сервисы и приложения.
1. http://wikipedia.org/
2. http://livejournal.com/
4. http://www.ebay.com/
6. http://www.skype.com/
7. http://www.google.com/adsense
8. http://netvibes.com/
10. http://habrahabr.ru/
11. http://digg.com/
12. http://www.backpackit.com/
13. http://www.basecamphq.com/
14. http://sourceforge.net/
15. http://youtube.com/
18. http://web2.ajaxprojects.com/
