- •Романчик в.С.
- •Минск, бгу, 2011
- •Введение в Интернет Коротко об истории Интернет
- •Как работает Интернет?
- •Система адресации в Интернет
- •Способы подключения к сети Интернет
- •Сервисы Интернет
- •Электронная почта
- •Адресация электронной почты
- •Передача файлов по ftp
- •Всемирная паутина www
- •Задания по теме “Введение в Интернет”
- •Общие задания для лабораторной работы #1
- •Глава 1. Протоколы Интернет Понятие и краткое описание протоколов
- •Соотношение между tcp/ip и osi/iso
- •Межсетевой протокол ip
- •Транспортный протокол tcp
- •Флаги (управляющие биты) Это поле содержит 6 битовых флагов:
- •Механизм действия протокола
- •Передача данных
- •Протокол дэйтаграмм udp
- •Протоколы сетевого уровня
- •Протоколы электронной почты
- •Протокол pop3
- •Протокол imap4
- •Протокол smtp
- •Спецификация mime
- •Проблемы с кодировкой
- •Протокол ftp
- •Http – Протокол передачи гипертекстов
- •Что такое транзакция http
- •Клиентские методы http
- •Что возвращается обратно: коды ответа сервера
- •Заголовки http
- •Задания по теме «Протоколы Интернет»
- •Глава 2 Краткий обзор основных технологий Веб
- •Язык разметки гипертекста html
- •Язык xml
- •Язык программирования скриптов на стороне клиента JavaScript
- •Язык Java на клиентской странице
- •Технология «клиент-сервер». Cgi
- •Программирование для серверов
- •Технология ssi
- •Язык программирования Perl
- •Глава 3. Основные этапы разработки сайтов
- •Модель водопада
- •Спиральная модель
- •Модель Уолта Диснея
- •Управление проектами
- •Глава 4. Веб – дизайн и обработка гипертекстовых документов
- •Главная страница
- •Рекомендации по дизайну главной страницы
- •Какими должны быть внутренние страницы web-сайта
- •Логическое проектирование дизайна сайта
- •Основные этапы и уровни информационного обмена
- •Сжатие изображений с помощью фракталов
- •Язык разметки гипертекста html
- •Теги, атрибуты, значения
- •Структура документа
- •Разрыв строки
- •Предварительное форматирование
- •Выравнивание текста
- •Комментарии
- •Физическая и логическая разметка документа
- •«Физические» теги:
- •«Логические» теги:
- •Специальные символы
- •Графика
- •Формы html
- •Теги div и span
- •Метатеги
- •Новое в html 5
- •Валидация документов
- •Вопросы и задания
- •Задания для выполнения
- •Каскадные таблицы стилей css
- •Способы включения каскадных таблиц стилей
- •Множественные классы
- •Селекторы идентификаторов (id-селекторы)
- •Комментарии
- •Свойства шрифтов. Свойство шрифтов font позволяет задать одну или несколько характеристик шрифта.
- •Свойства текста.
- •Цвет и фон.
- •Представление документа в виде специальных областей – блоков
- •Отступы, поля, позиционирование
- •Границы элементов
- •Визуальное форматирование
- •Визуальные эффекты
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Различные свойства
- •1. Свойства шрифтов.
- •2. Свойства текста.
- •3. Свойства цвета и фона.
- •4. Свойства рамки.
- •6. Свойства изображений.
- •Css. Примеры
- •Новое в css3
- •Валидация css
- •Глава 5. Язык JavaScript Введение
- •Включение скриптов JavaScript в html-код
- •Создание простых сценариев
- •Комментарии. Скрытие сценариев от браузеров
- •Отладка скриптов. Ввод и вывод данных
- •Инструменты для разработчика
- •Описание языка Типы данных
- •Преобразование типа
- •Специальные числа
- •Булев тип
- •Переменные типа Undefined и Null
- •Массивы
- •Оператор with
- •Оператор switch
- •Метод eval()
- •Функции
- •Передача параметров по значению и по ссылке
- •Глобальные и локальные переменные
- •Модель событий
- •Ключевое слово this
- •Исключения: throw/catch/finally
- •Объектная модель
- •Пользовательские объекты
- •Прототипы
- •Встроенные объекты String, Array, Date, Math Объект String
- •Объект Date (Дата)
- •Методы объекта Date
- •Объект Function (Функция)
- •Свойства Function
- •Методы Function
- •Объекты браузера
- •Объект window
- •Методы объекта window
- •Свойства окна, передаваемые методу open
- •Свойства и методы объекта navigator
- •Свойства объекта screen
- •Свойства и методы объекта history
- •Свойства и методы объекта document
- •Коллекции и подчиненные объекты объекта document Обращение к элементам страницы
- •Свойства и методы объекта location
- •Свойства и методы объекта style
- •Объект layer
- •Свойства объекта layer
- •Методы объекта layer
- •Навигация по дереву документа
- •Свойства объектов-узлов
- •Несколько других свойств узлов - объектов dom
- •Создание новых узлов
- •Добавление узлов в документ
- •Копирование: метод cloneNode()
- •Удаление и замена узлов в документе
- •Работа с атрибутами элементов
- •Метод removeAttribute()
- •Модель ajax:
- •Запрос к серверу. Класс xmlHttpRequest
- •Методы класса xmlHttpRequest
- •Свойства класса xmlHttpRequest
- •Создание экземпляра объекта xmlHttpRequest
- •Использование dom
- •Проблема с кешированием в Microsoft Internet Explorer
- •Информируйте пользователя
- •Подготовьте запасной план
- •Работа с cookie
- •Формат и синтаксис cookie
- •Синтаксис http заголовка для поля Cookie
- •Дополнительные сведения
- •Способы задания значений cookie
- •Примеры на JavaScript
- •Тестовые вопросы по языку JavaScript
- •Упражнения и задачи по JavaScript
- •Список итоговых заданий (курсовая работа)
- •Литература
- •Приложение 1. Программное обеспечение Adobe Dreamweaver cs4
- •Типы данных
- •Ассоциированные массивы
- •Операторы
- •Подпрограммы
- •Введение
- •Возможности php.
- •Инструменты для разработки
- •Как php работает
- •Глава 1. Язык php Типы данных
- •Массивы и инициализация массивов
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и журнал error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Некоторые улучшения в организации работы с данными
- •Передача данных от клиента к серверу и обратно. Протокол http
- •Клиентские методы http
- •Обработка html-форм
- •Передача переменных в скрипт.
- •Передача значений переменных по методу get
- •Передача данных из клиентской формы на сервер по методу get
- •Передача данных из клиентской формы на сервер по методу post
- •Php и различные формы
- •Обработка форм
- •Более сложные переменные формы
- •Базы данных и язык sql
- •Реляционные субд Модель данных в реляционных субд
- •Нормализация модели данных
- •Язык sql
- •Команды sql
- •Команды определения структуры данных (Data Definition Language – ddl)
- •Команды манипулирования данными (Data Manipulation Language – dml)
- •Команды управления транзакциями (Transaction Control Language - tcl)
- •Команды управления доступом (Data Control Language – dcl)
- •Работа с командами sql Извлечение данных, команда select
- •Ключевое слово distinct
- •Секция from, логическое связывание таблиц
- •Секция where
- •Секция order by
- •Групповые функции
- •Секция group by
- •Секция having
- •Изменение данных
- •Команда insert
- •Команда delete
- •Команда update
- •Определение структуры данных Команда create table
- •Команда alter table
- •Команда drop table
Типы данных
Perl оперирует следующими типами данных - скалярами, массивами, ассоциативными массивами (хешами). Особенностью Perl является то, что типы применяемых переменных не объявляются.
Их названия начинаются со знака $ - для скалярных переменных, @ -для массивов, % - хешей. Имена $varName и @varName различны.
Скалярные переменные могут принимать числовые и строковые значения, например
#Пример 3.3 : Вывод значений переменных
$str=”Результат:”;
$a = 2;
$b = 6;
$c = $a . $b; # ”.” — операция конкатенации двух строк
$d = $c / 2;
print $str, $d; # — результат равен 13
Будет выведено:
Результат:13
Массив — это список скаляров. Каждый элемент массива — это скалярная переменная, которой можно присваивать значение. Все массивы в языке Perl— динамические. О проблемах распределения памяти заботится интерпретатор. Рассмотрим пример:
#Ghbvth 3.4 : Вывод значений массивов
@emptyArray = ();
@numberArray = (12, 014, 0x0c, 34.34, 23.3E-3);
@stringArray = ("This", "is", 'an', "array", 'of', "strings");
@mixedArray = ("This ", 10, " is ", 'a', " mixed array ", ' of ', " items");
print "Here is an empty array:" . @emptyArray ."\n";
print @numberArray; print "\n";
print @stringArray; print "\n";
print @mixedArray; print "\n";
Будет выведено:
Here is an empty array:0
12121234.340.0233
Thisisanarrayofstrings
This 10 is a mixed array of items
Здесь символ "\n" выводится отдельно от массива. Если вместо этого использовать контактенацию и вывести print @numberArray . "\n";, то Perl истолкует @numberArray в скалярном контексте и выведет не элементы массива, а их число. Так и происходит вывод массива @emptyArray, в результате чего выводится число элементов 0.
В следующем примере массив используется в скалярном контексте в котором значением массива является число элементов.
@array = (1..5);
$numberOfElements = @array;
$doubleTheSize = 2 * @array;
print "The number of array elements is: " . $numberOfElements . "\n";
print "Double the number of array elements is: " . $doubleTheSize . "\n";
Будет выведено:
The number of array elements is: 5
Double the number of array elements is:10
Два массива можно объединить в одном:
@smallArrayOne = (5..10);
@smallArrayTwo = (1..5);
@largeArray = (@smallArrayOne, @smallArrayTwo);
print @largeArray;
Будет выведено:
123455678910
Как и в C++, нумерация элементов массива начинается с нуля, однако здесь можно использовать отрицательные индексы, чтобы вести отсчет от конца массива. Например:
@array = (1..5);
print @array; print "\n";
print $array[-1]; print $array[-2];
print $array[-3]; print $array[-4];
print $array[-5]; print "\n";
Будет выведено:
12345
54321
Можно использовать подмассивы данного массива:
@array = ("One", "Two", "Three", "Four");
($first, $third) = @array[0, 2];
@half = @array[2, 3];
print("\@array=@array\n");
print("\$first=$first \$third=$third\n");
print("\@half=@half\n");
@array[0, 3] = @array[3, 0];
print("\@array=@array\n");
Будет выведено:
@array=One Two Three Four
$first=One $third=Three
@half=Three Four
@array=Four Two Three One
В отличие от других языков программирования, в массиве на Perl можно объединять скаляры разных типов данных. В следующем примере массивы объединяются в результирующий массив.
@A=(1,2,3);
@B = (4, 5, 6);
@C = (7, 8, 9);
@D = (@A, @B, @C);
print @D;
Результирующий массив D будет содержать числовые значения от 1 до 9
Встроенная функция qw() используется для объединения нескольких скалярных значений в массив например:
@passwords = qw(pas1 pas2 pas3);
Проведя такую операцию, затем можно обращаться к каждому из скаляров с помощью индексных ссылок. В рассматриваемом примере $passwords[0] имеет значение pas1, $passwords[1] — pas2, а $passwords[2] —pas3.
Вcтроенная функция sort(() использует массивы как аргументы и возвращает массив, в отсортированном виде. Результатом операции print sort(‘Beta’,’Gamma’,’Alpha’); будет последовательность AlphaBetaGamma. Функция join() имеет два входных параметра — строку и массив строк. Она возвращает строку, которая состоит из всех элементов массива, разделенных значением входной строки, т. е. print join (‘:’,’Name’,’Address’,’Phone’); и выдает на печать Name : Address : Phone. Функцию push() можно использовать, чтобы добавить к уже существующему массиву какой-нибудь элемент, не создавая при этом дополнительный массив. Например:
#Пример 3.10 : добавление элемента в массив
@b = (”Beta”, ”Gamma”, ”Alpha”);
push @b, ”Tetta”; # добавим в массив @b новый элемент
@w = sort @b; # отсортируем массив @b по алфавиту
$i=0; # инициализируем переменную $c
foreach (@w) {
print ”$w[$i]\n”; # выведем отсортированные значения
$i++;
}
Будет выведено:
Alpha
Beta
Gamma
Tetta
Как ранее указывалось, дескриптор <STDIN> возвращает в скалярном виде значение введенной строки. Примененный массиву, он каждому его отдельному элементу присваивает значение очередной введенной строки, пока не будет введен признак конца файла Ctrl+Z. Таким образом, если ввести три строки и операцию конца файла [Ctrl + Z], то массив будет состоять из трех элементов, которые являются строками и заканчиваются символами перехода на новую строку.
#!/usr/local/bin/perl -w
#пример3.12- ввод и вывод строк
print "Enter an array elements:";
@a =<STDIN>;
print "Array: @a \n";
Будет выведено:
Enter an array elements: aaaa<ввод>
bbbb<ввод>
cccc<ввод>
Ctrl+Z
Array: aaaa
bbbb
cccc