- •Минск, бгу,
- •Глава 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. Сайты клиент-сервер
Каждая задача состоит из 2 частей: интерфейсная (клиентская) часть и административная часть. Админовская часть используется для обновления и дополнения материала сайта. Вход в админовскую часть должен быть закрыт паролем. Все админовские страницы также должны быть защищены.
Система управления лентой новостей.
Постановка задачи: Разработать систему управления лентой новостей.
Интерфейсная часть представляет собой HTML-страницу, на которой выводятся последние N новостей. Число N задается в системе администрирования. Новости выводятся в кратком виде: Дата, Анонс новости, Ссылка на подробнее
Внизу выводится ссылка на архив, при нажатии на которую пользователь попадает на страницу, где выводится архив в следующем виде:
Апрель 2003 (5)
Март 2003 (12)
Февраль 2003 (8)
…
При нажатии на название месяца, выводится страница, содержащая все новости в кратком виде за этот месяц. При нажатии на «подробнее», выводится полный вид новости. На странице «подробнее» (полный вид новости) выводится дата, полный текст новости, автор. Имеется ссылка на страницу новостей.
Административная часть.
Вход в административную часть должен быть закрыт паролем. Все административные страницы должны быть защищены, чтобы пользователь не мог получить доступ к администрированию новостей. Реализовать с помощью механизма сессий.
В административной части администратор может:
А) Редактировать существующие новости (изменять, удалять)
Б) Добавлять новые новости
В) Изменять число выводимых на странице новостей
Реализовать хранение новостей в базе данных MySQL.
Каталог товаров
Разработать каталог товаров.
На первой странице выводится список разделов товаров. При переходе в раздел, пользователь попадает на страницу товаров из этого раздела, который выводится в табличном виде. Поля для товара: наименование, описание, цена.
Администратор имеет возможность ввести новый раздел, изменить или удалить существующий. Также администратор может добавить, изменить, удалить любой товар в любом разделе.
Система вопрос/ответ
Пользователь может просмотреть страницу с вопросами и ответами (FAQ). Внизу в форме он может ввести свой вопрос. Этот вопрос сохраняется в базе и доступен администратору в системе администрирования.
Администратор в системе администрирования, может посмотреть поступившие вопросы и дать на них ответы, после чего они появляются на странице FAQ.
Система опросов
Система интернет-опросов предназначена для проведения онлайновых опросов и голосований. Интерфейсная часть состоит из HTML-страницы, на которой выводится вопрос и форма, в которой выводятся варианты ответа. Пользователь может выбрать один из вариантов ответа, и ответить на вопрос. После ответа, пользователю выводятся текущие результаты опроса.
Административная часть. Администратор может посмотреть результаты текущего опроса, остановить текущий опрос, добавить новый опрос.
Система конкурсов и тестов
В один конкурс входит несколько вопросов. На каждый вопрос несколько вариантов ответа. Администратор при вводе ответов указывает правильные ответы.
Пользователь, отвечая на вопросы, отмечает правильные на его взгляд ответы. После завершения ввода, система проверяет правильность ответов и выводит результат.
Форум
Разработать линейную систему форумов. Пример: www.kv.by/forum
Простейший Интернет-магазин + база данных+Ajax
– просмотр ассортимента товаров – Витрина
– отметить товары
– принять контактные данные заказчика.
- Корзина заказов. Ожидание заказа
– передать магазину список заказанных товаров и данные покупателя
8. Создать сайт с подключаемыми с других сайтов информерами, которыми могут быть: курсы валют, прогноз погоды, гороскопы, спортивные новости, анекдоты, переводчик на иностранный язык+проектирование на UML
9. Coздать многоязыковый сайт с возможностью перевода страницы на английский, немецкий или французский языки. (Информер на translate.ru. или другой)
10. Визитка для ученого или учреждения + гостевая книга+баннер.
11. Учебный сайт+проектирование на UML.
13. Музыка. Каталог+проигрыватель+мультимедия.
14. Системы активного отображения информации– чаты, блоги, Wiki
15. Системы управления контентом.
16. Информационный сайт: Поиск телефона по фамилии или по адресу.
17. Библиотека: Просмотр каталога или поиск в каталоге. Заказ книги, если книга свободна. Для электронной книги просмотр или скачивание.
18. Электронный научный журнал. Прием статей от автора. Подписка, рассылка, реклама, скачивание.
19. Интернет – Конференция. Прием заявок, прием тезисов, рассылка сообщений и приглашений. Конференция on-line.
20. Система контроля в учреждении образования. Web – журнал и Web- дневник.
21. Страница приема заданий содержит таблицу со списком студентов и заданий. Студенты могут только посмотреть текущее состояние дел. Преподаватели могут поставить или убрать галочку, означающую факт сдачи задания. Должна быть предусмотрена возможность сортировки списка студентов по имени или по количеству cданных заданий.
22. Информационная система отслеживания колебаний котировок акций
23. Интернет аукцион. Создать Интернет-аукцион. Пользователь указывает min цену своего товара и время до конца продажи данного товара. Сделать ботов, которые в случае не достижения min цены будут ее поднимать на 20 секунд до конца продажи данного товара.
24. Создать приложение, позволяющее тестировать качество работы хостеров. Приложение должно посылать запрос на указанный ресурс с заданной периодичностью, проверяя доступен ли сайт в данный момент времени. На основе полученных данных приложение формирует статистику работы.
25. Создать сервис для отправки открыток на e-mail. Предоставить пользователю выбор вида открытки и посылаемого текста поздравления или создания собственного текста и открытки. Предусмотреть список рассылки.
26. Создать сервис, который мог бы рандомно генерировать задание для студента, причем задания должны быть разного уровня сложности.
27. Создать галерею фотографий с возможностью оценивания (голосования). Очередность отображения фотографий зависит от их рейтинга и изменяется.
28. Автоматический генератор сайтов (по шаблонам).
29. Написать игровой сайт: Игра «Пятнашки», «Кто хочет стать миллионером?», «Крестики-Нолики», «Морской бой» против компьютера или другие.
30. Создать галерею фотографий с возможностью оценивания. Очередность отображения фотографий зависит от рейтинга.
31. Написать сервис-редактор изображений, возможности: конвертирование в различные форматы, изменять размер изображения и сохранять его, реализовать различные фильтры и т. д.
32. Написать скрипт чата. Особенности:
Страница входа
Страница с личными настройками
Общие комнаты
Комнаты с приватными сообщениями
Возможность добавить картинку-аватар.
33. Скрипт проверки наличия новых личных сообщений на каком-либо популярном форуме (сайте). Особенности:
Получение html-страницы при помощи CURL (вход в авторизированный раздел отправкой post-запроса на страницу логина)
Проверка наличия новых сообщений на странице (NegExps)
Отправка уведомлений на почту
34. Быстрая разработка сайтов на основеWordPress
35. Быстрая разработка сайтов на основе Joomla!
36. Быстрая разработка сайтов на основе Drupal
37. Бизнес
38. Веб-дизайн
39. Фотосайты
40. Интерьер и мебель
41. Ландшафт
42. Автомобили
43. Спорт
45. Кафе и рестораны
46. Ночные клубы
47. Животные
48. 3D шаблоны
49. Фотогалереи
50. Свадьба
51. Семья
52. Мода
53. Магазин подарков
54. Медицина
55. Отели
Использование сервисов
Обеспечение безопасности
Защита от автоматического заполнения форм (СAPTCHA)
Подтверждение email
log авторизаций (фиксация действий пользователей)
Уведомления администратору
Разделение прав доступа
Поддержка
Партнерская программа
Программа сертификации
Встроенная онлайн поддержка
Документация по системе
Публичный форум
Публичная рассылка
Сторонние разработчики
Перетаскиваемый контент
ЧПУ (Дружественный URL)
Встроенный редактор изображений
Пакетная загрузка файлов
Отмена действий
Визуальный редактор (WYSIWYG)
Закачка архива с распаковкой
Восстановление объектов из корзины
Коррекция опечаток
Быстрое редактирование
Копирование объектов
Скины
27. Гибкость системы
28. Локализация интерфейса
29. Многосайтовость
30. Многодоменность
31. Поддержка UTF-8
32. Производительность
33. Кеширование страниц
34. Memcached
35. Включенный функционал
36. Статистика посещений
37. Управление стилями и шаблонами
38. Документооборот
39. Управление рекламой
40. SEO
41. Поведенческие технологии
42. Экспорт RSS. Агрегатор News Reader.
43. FAQ
44. Формы обратной связи . Опросы .Голосования. Поиск. Форум
45. Рассылка
46. Новости
47. Каталог
48. Файловый менеджер
49. Внешняя фотогалерея
50. Внутренний фотобанк
51. Управление пользователями
Баннеры. Банерные сети.
Персонализированная on-line реклама.
Система коллективной разработки приложений assembla.com.
38. Использование региональных настроек.
39. Элементы управления и расширенные элементы управления.
40. Баннеры.
41. Быстрый переход на избранные сайты, спроектированный в виде выпадающего меню.
42. Электронные платежные системы
43. Интернет – радио и телевидение
44. Поисковые системы
45. FTP- серверы
46. Служба IRC
47. Написать сервис-редактор изображений. Возможности: конвертирование в различные форматы, изменять размер изображения и сохранять его, реализовать различные фильтры и т. д.
48. Написать скрипт чата. Особенности:
Страница входа
Страница с личными настройками
Общие комнаты
Комнаты с приватными сообщениями
Возможность добавить картинку-аватар.
49. Скрипт проверки наличия новых личных сообщений на каком-либо популярном форуме (сайте). Особенности:
Получение html-страницы при помощи CURL (вход в авторизированный раздел отправкой post-запроса на страницу логина)
Проверка наличия новых сообщений на странице (NegExps)
Отправка уведомлений на почту
50. Создать серверную спамилку (спамит по форумам PHPbb и гостевым книгам).
51. Создать синонимайзер (заменить синонимами данный текст).
52. Создать сервис по определению Tug и PageRank сайта.
53. Создать сервис по определению доменов, которые заканчиваются или брошенные. (Работа с сервисом Whois, зона .com; .info).
54. Создать Http-туннель. Создание цепи анонимных http, socks proxy.
55. Нахождение мультов (лиц, зарегистрировавшихся с одного IP несколько раз) и удаление несколько последних, оставляя первого.
56. Использование cookie & session: Пользователю, посетившему раздел музыка, предлагается банер с рекламой магазина музыкальных инструментов.
61. Написать парсер (Вырезание статей со всех сайтов).
