- •Минск, бгу,
- •Глава 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. Быстрая разработка Веб-приложений
- •Начало работы с сайтом
- •Создание контента
- •Установка нового модуля
- •Создание шаблона
- •Включение блока отображение популярных статей
- •Удаление
Приложение 2. Быстрая разработка Веб-приложений
Для быстрой разработки Веб-приложений существует несколько CMS систем.
WordPress. Это CMS с открытым исходным кодом, распространяемая по лицензии GNU GPL. Написана на PHP, в качестве базы данных использует MySQL. Сфера применения — от блогов до достаточно сложных новостных ресурсов и интернет-магазинов. Встроенная система «тем» и «плагинов» вместе с удачной архитектурой позволяет конструировать различные сайты. Достоинства:
возможность публикации с помощью сторонних программ и сервисов;
простота установки, настройки;
поддержка RSS, Atom, trackback, pingback;
подключаемые модули (плагины) с простой системой их взаимодействия с кодом;
поддержка «тем», позволяющих легко менять как внешний вид, так и способы вывода данных;
реализация «тем» как файлов-шаблонов на PHP, что сказывается на скорости;
большие библиотеки «тем» и «плагинов»;
потенциал архитектуры, позволяющий реализовывать сложные решения;
человеко-понятный URL;
Из главных преимуществ отметим простоту в установке, скорость работы, наличие человекопонятного URL, большую библиотеку встраиваемых расширений и группу поддержки.
Livestreet
Новая перспективная CMS для социальных проектов, успевшая завоевать достаточно поклонников среди веб-разработчиков. Livestreet отличается приятным интерфейсом, удобной системой закладок, голосований, всевозможных рейтингов, возможностью создания внутри блога дополнительного закрытого сайта, присутствием системы инвайтов. Таким образом имеется полный набор инструментов для пользования социальной сетью без необходимости установки сторонних расширений. В сравнении с другими движками, эта система администрирования выглядит достойно.
Битрикс -- это платная CMS. Она может использоваться как для корпоративных сайтов, так и для социальных сетей, новостных ресурсов, интернет - магазинов и т.п. Из плюсов системы стоит отметить мощный визуальный HTML-редактор, который позволяет легко размещать на странице HTML, PHP контент и различные динамические компоненты. Из минусов: Битрикс достаточно требовательная и медленная CMS, часто отличающаяся нестабильностью и проблемами в безопасности.
DLE
DataLife Engine – это коммерческий, платный, движок, который обладает приличными функциональными возможностями. В первую очередь DLE ориентирован на создание новостных сайтов с богатым информационным контекстом. При этом он обладает широким опционалом по настройке, позволяющей использовать движок практически в любых сферах. Основным преимуществом этой CMS является низкая нагрузка на ресурсы системы даже при большой посещаемости ресурса, а также наибольшая оптимизация под поисковые системы. Некоторое время DLE пользовалась популярностью, в основном, из-за надежности в плане безопасности. Теперь CMS серьезно уступет WordPress и Joomla!, во многом и в плане безопасности.
Drupal.
Система с двенадцатилетней историей Drupal позволяет строить сайты любой сложности, составлять практичную иерархию любой направленности. Имеется поддержка разноязычного контента, URL, OpenID авторизация, механизм для оптимизации нагрузки на сайт, отдельные конфигурации ресурса для разных виртуальных хостов. Функции могут быть дополнены расширениями из библиотеки.
CMS написана на языке PHP и использует для хранения реляционные базы данных MySQL, PostgreSQL или другие. Drupal является свободным программным обеспечением. Разработку проекта начал в 2000 году бельгиец Дрис Байтаерт. В настоящее время разрабатывается версия 8.x, направленная на интернационализацию, мультиплатформенность, HTML5 и сервисы. Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и форумов, информационных архивов и сайтов новостей до порталов.
Имеющийся стандартный функционал можно увеличить подключением дополнительных расширений — «модулей». Стандартный набор модулей включает новостную ленту, блог, форум, загрузку файлов, сборщик новостей, голосование, поиск и другие. Дизайн сайта можно изменить посредством специальных модулей — «тем оформления». Благодаря модулям можно создавать проекты с довольно сложной структурой. Рассмотрим некоторые модули и инструменты :
CCK — Content Construction Kit - визуальный редактор, позволяющий расширить любой тип контента с помощью дополнительный полей: картинок, файлов, видео - роликов, ссылок на внешние и внутренние ресурсы и так далее.
Views — инструмент, позволяющий создавать списки документов, отфильтрованные по различным параметрам: по рейтингу, автору, дате публикации, наличию или отсутствию определенных тэгов. Фактически, модуль является графическим интерфейсом, с помощью которого создается сложный SQL-запрос к базе данных.
Panels — модуль, позволяющий создать страницы и без знания html. Данные для страниц будут предоставляться различными модулями. Модуль обычно, используется для создания главной страницы сайта с блоками новостей, форумными обсуждениями, комментариями.
Webforms — визуальный интерфейс для создания форм обратной связи и обработки переданных через формы данных.
ImageCache - модуль обеспечивающий функции обработки изображений на основе пользовательских сценариев. Например, при публикации документа можно изменить масштаб картинки, вырезать фрагмент, изменить палитру и т. п. Из одной картинки могут быть получены, пиктограмма, миниатюра для предварительного просмотра и полноразмерное изображение.
Devel, CTools, Backup & Migrate, Menu block, Rules - другие важные модули.
Entity Reference, Pathauto. В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии - механизма, позволяющиго создавать произвольное количество тематических категорий и ассоциировать их с модулями, обеспечивающими ввод и вывод информации.
Другая парадигма используется в CCK, где позволяется дополнять документы новыми полями различных типов. Посредством дополнительных модулей к CCK можно организовать связи между документами, не используя механизм таксономии.
Несколько примеров популярных модулей, которые можно скачать в репозитории на drupal.org:
Banner - баннерная система;
BBCode - поддержка форматирования BBCode для содержимого сайта;
Captcha - защитный механизм картинок "captcha";
Fckeditor - графический редактор для ввода контента;
Gallery - интеграция с галереей изображений Gallery2;
LDAP integration - интеграция с LDAP;
listhandler - интеграция с почтовыми рассылками;
Project - багтрекер;
SPAM - блокировка спама на основе алгоритма Байеса;
Swish - интеграция с системой поиска Swish;
Textile - поддержка разметки Textile для содержимого сайта.
Guestbook - модуль гостевой книги, служащий для создания гостевой книги.
Сontextlinks - модуль, позволяющий заменять ссылки иконками и значками.
Taxonomy Multi Editor - модуль для редактирования групп категорий. После его установки появится новая закладка в панели управления системой Drupal.
Postcard - модуль электронных открыток.
Shamu - модуль, который на этапе создания новости на сайте, автоматически отправляет ее на определённое количество адресов почты.
Taxonomy Context - позволяет при помощи определенной taxonomy создать и выводить информацию в стиле - заголовок и статистика по текущему разделу.
Database Administration - позволяет просмотреть значения строк в таблице базы данных и сделать проверку таблицы базы данных. Похож на phpMyAdmin.
Simplenews - модуль для реализации рассылки. Похожие модули Notify и Subscriptions.
Ad — система для управления показом рекламных баннеров
EFCKeditor, CKEditor, Tinymce — визуальные редакторы для ввода контента
Gallery — интеграция с галереей изображений Gallery2
LDAP integration — интеграция с LDAP
mailhandler, listhandler — возможность публикации материалов сайта через почтовый интерфейс и из почтовых рассылок
Модуль Ubercart как основа Интернет-магазина
На базе Drupal разработано два конкурирующих решения, позволяющих организовать электронный магазин — Ubercart и e-Commerce. Модули, которые не входят в стандартный дистрибутив Drupal, можно скачать с сайта Drupal — drupal.org.
Некоторые важные функции, предоставляемые Drupal:
единая категоризация всех видов содержимого (таксономия) — от форумных сообщений до блогов и новостных статей;
широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории;
вложенность категорий любой глубины;
поиск по сайту, в том числе поиск по таксономии и пользователям;
разграничение доступа пользователей к документам (ролевая модель);
динамическое построение меню;
поддержка XML-форматов;
вывод документов в RDF/RSS;
агрегация материалов с других сайтов;
переводы интерфейса и поддержка ведения разноязычного контента;
возможность создания сайтов с общей базой;
механизм для ограничения нагрузки на сайт (автоматическое отключение при высокой посещаемости части информационных блоков и модулей);
Дизайн сайта на Drupal строится на основе сменных тем оформления . Drupal поддерживает технологию Ajax и библиотеку JQuery.
