- •Минск, бгу,
- •Глава 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.1. Среди n чисел найти наибольшее и наименьшее простые числа.
2.2. Для заданного числа n построить треугольник Паскаля.
2.3. Написать функцию, возвращающую текст приветствия в соответствии с приведенной ниже схемой
<?php
if((date(“G”) >=5)AND(date(“G”) <= 11 ))echo “Good Morning!”;
if((date(“G”)>=12)ANDdate(“G”)<=18))echo “Good Afternoon!”;
if((date(“G”) >= 19)AND(date(“G”)<= 4))echo “Good Evening!”;
?>
2.4
Решить методом итераций уравнение вида
.
Очередное приближение корня находится
по формуле
;
начальное приближение
задается произвольно. Обратите внимание,
что метод сходится, если только
.
2.5
Вычислить определенный интеграл
методом прямоугольников:
,
где n
– количество отрезков разбиения;
.
2.6
Найти минимум заданной функции
на заданном отрезке
методом золотого сечения. Для этого на
отрезке
находятся две точки:
и
,
где
.
2.7
Написать функцию вычисления
.
2.8
Написать функцию вычисления
.
2.9 Написать функцию n! Возможна ли рекурсия.
2.10 Написать функцию вычисления НОД(a, b).
2.11 Написать функцию вычисления НОК(a, b).
2.12
Написать функцию решения квадратного
уравнения
.
2.13
Написать функцию
– площадь треугольника.
2.14. Из n чисел вывести наибольшее число, делящееся на 9.
2.15. Вычислить интеграл методом трапеций.
2.16. Вычислить интеграл методом Симпсона.
2.17.
Решить уравнение методом Ньютона
.
2.18.
Значения функции
заданы таблично в массиве
при соответствующих значениях аргумента
в упорядоченном массиве
.
Найти значение функции в произвольной
точке x
по формуле Лагранжа:
.
2.19
Решить уравнение
методом деления отрезка пополам (методом
дихотомии). На каждой итерации отрезок
делится пополам и выбирается та из
половин, на концах которой функция
имеет значения разных знаков.
2.20
Написать функцию вычисления чисел
Фибоначчи:
;
.
Задание 3. Файлы и строки
Файлы могут быть текстовыми, содержащими строки переменной длины и бинарными, представляющими последовательность байт.
В следующих заданиях использовать файлы, строки и объекты.
1. Текст записан одной длинной строкой. Признаком красной строки служит символ $. Переформатировать текст в 60-символьные строки, формируя абзацы.
2. Текст, сформированный построчно, выровнять по правому краю так, чтобы каждая строка заканчивалась знаком препинания или одним пробелом. Выравнивание осуществить, вставляя дополнительные пробелы между словами (равномерно по всей строке).
3. Дан текст программы на каком-либо алгоритмическом языке и словарь зарезервированных слов этого языка (в английской транскрипции). Преобразовать текст, записав все зарезервированные слова прописными буквами, а остальные конструкции (имена и так далее) – строчными. Русские буквы (имена, литералы) не заменять.
4. Программа, записанная 80-байтовыми строками, в последних 8 байтах содержит номер строки. Строки упорядочены по номерам, но не обязательно с шагом 1. Поступает изменение к программе в таком виде. Вставить новые строки взамен имеющихся старых или между ними.
5. Текст записан 60-символьными строками, содержит следующие знаки корректуры: $ – сделать красную строку; # удалить следующее слово; @ – удалить следующую фразу. Произвести указанную корректировку, переформатируя строки в пределах абзаца.
6. Часто встречающаяся ошибка начинающих наборщиков – дважды записанное слово. Обнаружить и исправить такие ошибки в тексте, записанном 80-символьными строками; переформатировать строки в пределах абзаца.
7. Стихотворный текст (в строке не более 80 символов) имеет четырехстрочную строфу. Записать его «лесенкой» (по одному слову в строке), вставляя пустую строку после каждого четверостишья.
8. Поздравления. По заданному списку фамилий напечатать каждому упомянутому в списке поздравление к определенному празднику. Чтобы избежать шаблона, перечень желаемых благ выбирать как случайное подмножество из заготовленного списка (например, здоровья, счастья, продвижения по службе, долголетия и т. д.). Можно сделать переменными и название праздника – для универсальности программы.
9. Имеется список членов коллектива с указанием принадлежности каждого к различным общественным организациям (профком, ученый совет, общество книголюбов, федерация пентикса и т. д.). Напечатать приглашение всем членам на очередное заседание указанной организации. Задается только вид организации, место и время сбора.
12. В заданном тексте найти самое длинное слово и самую длинную фразу.
13. Обнаружено, что в тексте пропущены некоторые слова и словосочетания. Эти слова и словосочетания представлены отдельным списком в том порядке, в каком должны быть вставлены. Места вставки отмечены в тексте символом $. Откорректировать текст.
14. Текст не содержит собственных имен и сокращений, набран с использованием прописных и строчных русских букв. Проверить то, что все фразы (и только они) начинаются с прописной буквы; при необходимости откорректировать текст.
15. Текст, не содержащий собственных имен и сокращений, набран полностью прописными русскими буквами. Заменить все прописные буквы, кроме букв, стоящих после точки, строчными буквами.
16. IP-адрес посетителя страницы находится как элемент суперглобального массива S – Server[΄Remoute_ADDR΄]. Составить список посетителей за текущий день (неделю, месяц).
17. Запрет посещений с определенных IP-адресов. В массиве хранятся IP-адреса, выход с которых на наш сайт нежелателен. Сравнить IP-адрес посетителя с адресами из списка и не пускать нежелательного посетителя.
18. Составить список серверов ($_SERVER[΄SERVER_NAME΄]) и список страниц ($_SERVER[΄PHP_SELF΄]), которые мы посетили.
19. Составить список страниц, с которых приходят к нам посетители ($_SERVER[΄HTTP_REFERER΄]).
20. Составить список браузеров, операционных систем, поисковых роботов, которые посещают нашу страницу: ($_SERVER[΄HTTP_USER_AGENT΄]), таким же образом определяются менеджеры закачки типа ΄DownLoadMaster΄, ΄FlashGet΄ и другие.
21. Выяснить языковые предпочтения посетителя, который браузер отправляет серверу в HTTP-заголовке и помещает в массив $_SERVER[΄HTTP_ACCEPT_LANGUAGE΄].
22. В имеющемся словаре найти пары слов (анаграммы), при прочтении каждого из которых в обратном направлении образуется другое слово пары, например, (ПОЛК, КЛОП); (БАР, РАБ).
23. IP-адрес посетителя страницы находится как элемент суперглобального массива S – Server[΄Remoute_ADDR΄]. Составить список посетителей за текущий день (неделю, месяц).
24. Если посетители приходят из одной организации proxy-server, то IP-адрес у них будет одинаковый. В некоторых случаях можно получить адреса машин в подсети из среды окружения HTPP_X_FORWARDED_FOR с помощью функции getenu (HTTP_X_FORWARDED_FOR); составить список посетителей на текущий день (неделю, месяц).
25. Запрет посещений с определенных IP-адресов. В массиве хранятся IP-адреса, выход с которых на наш сайт нежелателен. Сравнить IP-адрес посетителя с адресами из списка и не пускать нежелательного посетителя.
26. Выяснить языковые предпочтения посетителя, который браузер отправляет серверу в HTTP-заголовке и помещает в массив $_SERVER[΄HTTP_ACCEPT_LANGUAGE΄].
27. Синонимайзер (заменить синонимами данный текст, вводимый из файла).
