- •Минск, бгу,
- •Содержание.
- •Глава1. Компьютерные сети и протоколы…………………………..15
- •Введение в Интернет Коротко об истории Интернет
- •Как работает Интернет?
- •Система адресации
- •Способы подключения к сети
- •Сервисы Интернет
- •Передача файлов по ftp
- •Всемирная паутина www
- •Электронная почта
- •Задания по теме “Введение в Интернет”
- •Глава 1. Компьютерные сети и протоколы
- •Локальные сети
- •Распределенные и глобальные сети
- •Сеть vpn
- •Адресация в локальных сетях
- •Адресация в глобальных сетях и в Интернет
- •Понятие и краткое описание протоколов
- •Соотношение между tcp/ip и osi/iso
- •Межсетевой протокол iPv4
- •Транспортный протокол tcp
- •Протокол дэйтаграмм udp
- •Протоколы arp и rarp
- •Протоколы сетевого уровня
- •Протоколы электронной почты
- •Протоколы smtp и pop3
- •Протокол imap4
- •Спецификация mime
- •Протокол ftp
- •Http – Протокол передачи гипертекстов
- •Клиентский запрос http
- •Ответ сервера
- •Развитие прикладных протоколов: soap, rest, rpc
- •Безопасность в сети
- •Протокол ssl
- •Установление подлинности участников
- •Проблемы с кодировкой и Unicode
- •Задания по теме «Протоколы Интернет»
- •Глава 2. Проектирование и разработка сайтов
- •Виды сайтов
- •Этапы проектирования и разработки сайта
- •Модели проектирования и управление проектами
- •Итерационная (спиральная) модель
- •Программные средства управления проектами
- •Логическое проектирование дизайна сайта
- •Главная страница сайта
- •Внутренние страницы сайта
- •Оценки качества Веб – сайтов
- •Глава 3. Краткий обзор основных технологий разработки Веб приложений
- •Язык разметки гипертекста xml
- •Синтаксис xml
- •Объявление xml
- •Конструкции языка
- •Правильно построенные и действительные документы xml
- •Отображение xml документа
- •Словари xml
- •Вставка флэш в страницу
- •Язык ActionScript
- •Видео-аудио проигрыватели
- •Технология «клиент-сервер»
- •Язык Java на клиентской и серверной странице
- •Базы данных и язык sql
- •Нормализация модели данных
- •Язык sql
- •Команды определения структуры данных
- •Команды манипулирования данными
- •Команды управления транзакциями
- •Команды управления доступом
- •Извлечение данных, команда select
- •Секция where
- •Групповые функции
- •Секция having
- •Изменение данных
- •Команда insert
- •Язык разметки гипертекста html
- •Формы html
- •Новые элементы форм html5
- •Новый тип input – range служит для ввода значения из диапазона
- •Теги div и span
- •Метатеги
- •Новые возможности html5
- •Поддержка аудио
- •Поддержка видео
- •Атрибут Controls
- •Валидация документов
- •Каскадные таблицы стилей css
- •Способы включения каскадных таблиц стилей
- •Теги div , span и link
- •Свойства шрифтов (фонтов).
- •Заголовок1 Заголовок2 Заголовок3
- •Стили текста.
- •Цвет и фон.
- •Свойства списков
- •Свойства таблиц
- •Псевдоклассы
- •Псевдостили текста
- •Псевдоэлементы
- •Форматирование псевдоклассов и псевдоэлементов
- •Различные свойства
- •Представление документа в виде блоков
- •Отступы, поля, позиционирование
- •Границы элементов
- •Визуальное форматирование
- •Визуальные эффекты
- •Новое в css3
- •Глава 5. Язык JavaScript Введение
- •Включение скриптов JavaScript в html-код
- •Создание простых сценариев
- •Комментарии. Скрытие сценариев от браузеров
- •Отладка скриптов. Ввод и вывод данных
- •Описание языка Типы данных
- •Преобразование типа
- •Булев тип
- •Переменные типа Undefined и Null
- •Массивы
- •Операторы и выражения
- •Оператор присваивания
- •Арифметические операторы
- •Операторы сравнения
- •Функции пользователя
- •Передача параметров по значению и по ссылке
- •Глобальные и локальные переменные
- •Модель событий
- •Ключевое слово this
- •Перехват события.
- •Методы addEventListener, removeEventListener, attachEvent.
- •Исключения: throw/catch/finally
- •Объектная модель
- •Пользовательские объекты
- •Прототипы
- •Встроенные объекты String, Array, Date, Math Объект String
- •Объект Array
- •Объект Date (Дата)
- •Методы объекта Date
- •Коллекции
- •Свойства элемента innerHtml и outerHtml
- •Навигация по дереву документа
- •Создание новых узлов
- •Удаление и замена узлов в документе
- •Объект window
- •Свойства окна, передаваемые методу open()
- •Методы объекта window
- •Свойства и методы объекта navigator
- •Свойства и методы объекта history
- •Свойства и методы объекта location
- •Объект layer
- •Свойства объекта layer
- •Методы объекта layer
- •Использование каскадных таблиц стилей и объекта style
- •Модель ajax:
- •Класс xmlHttpRequest
- •Свойства класса
- •Методы класса
- •Создание экземпляра объекта
- •Использование dom
- •Объект FormData
- •Работа с cookie
- •Синтаксис http заголовка для поля Cookie
- •Способы задания значений cookie
- •Примеры на JavaScript
- •Глава 6. Язык серверных скриптов php
- •Инструменты для разработки
- •Как php работает
- •Описание языка Типы данных
- •Массивы и инициализация массивов
- •Операции и выражения
- •Операции сравнения
- •Логические операции
- •Строковые операции
- •Операторы управления
- •Функции
- •Рекурсивные функции
- •Аргументы функции
- •Область действия и время жизни переменных
- •Изменяемые (динамические) переменные
- •Внешние библиотечные функции
- •Функции для работы с массивами
- •Функции для работы со строками.
- •Функции форматных преобразований строк
- •Преобразование строк и файлов к формату html и наоборот
- •Преобразование html в простой текст
- •Преобразование строки к верхнему и нижнему регистру
- •Установка локальных настроек
- •Регулярные выражения
- •Perl-совместимые функции для работы с регулярными выражениями
- •Функции даты и времени
- •Математические функции
- •Объектно-ориентированное программирование в php Основные понятия ооп
- •Классы и Объекты
- •Конструкторы и деструкторы
- •Наследование классов и интерфейсов
- •Магические методы
- •Обработка ошибок
- •Ошибки php и журнал error_reporting
- •Чтение и запись бинарных файлов
- •Работа с каталогами в рнр
- •MySql – сервер: бд1; бд2; бд3; бд4;
- •Язык запросов sql
- •Операция соединения.
- •Команды sql для создания баз данных и таблиц
- •Выборка данных из таблиц бд
- •Работа с MySql (сохранение данных в базе данных).
- •Работа с MySql занесение и получение данных из базы данных
- •Организации работы с данными
- •Передача данных от клиента к серверу и обратно. Протокол http
- •Клиентские методы http
- •Обработка html-форм
- •Передача переменных из формы в скрипт.
- •Передача значений переменных по методу get
- •Передача данных из формы на сервер по методу get
- •Передача данных из формы на сервер по методу post
- •Php и различные формы
- •Обработка форм
- •Более сложные переменные формы
- •Глава 7. Лабораторные работы Лабораторная работа 1 (4 часа). Инструменты и средства создания простых сайтов
- •Лабораторная работа 3 (4часа). Применение каскадных таблиц стилей css
- •Трехколоночный контейнерный макет сайта
- •Лабораторная работа 4. Применение каскадных таблиц стилей css
- •Некоторые подсказки по синтаксису css:
- •1. Свойства шрифтов.
- •2. Свойства текста.
- •3. Свойства цвета и фона.
- •4. Свойства рамки.
- •5. Свойства списков.
- •6. Свойства изображений.
- •Форматирование блока
- •Лабораторная работа 5 (4 часа). Динамика и JavaScript на Веб –странице.
- •Ответить на следующие вопросы
- •Пример вывода даты и времени.
- •Пример вывода строки в стиле печатной машинки
- •Дополнительные задачи и упражнения по JavaScript
- •Лабораторная работа 6 по JavaScript (4 часа).
- •Проверка правильности заполнения формы на сайте
- •Методы объекта window
- •Методы focus() и blur()
- •Лабораторная работа 7. Php Задание 1. Массивы и строки Выполнить одно из перечисленных ниже упражнений
- •Задание 2. Функции
- •Задание 4. Работа с базами данных Выполнить одно из перечисленных ниже упражнений
- •Задание 5. Создание web-объектов Список заданий
- •Приложение 1. Курсовые работы Курсовая работа 1. Создание клиентских приложений
- •Курсовая работа №2. Сайты клиент-сервер
- •Каталог товаров
- •Система вопрос/ответ
- •Курсовая работа №3. Технологии разработки Веб – приложений Проекты сайтов
- •Перечень заданий
- •Приложение 2. Быстрая разработка Веб-приложений и cms
- •Начало работы с сайтом
- •Установка нового модуля
- •Создание шаблона
- •Создание индивидуальных шаблонов
- •Движок шаблонирования xTemplate
- •Создание нового шаблона
- •Удаление блока с формой входа на сайт
- •Включение блока для отображение популярных статей
- •Удаление ссылки "Далее" в отображение статьи
- •Drupal: практические примеры
- •Как заставить Drupal работать быстрее
- •Литература
Приложение 2. Быстрая разработка Веб-приложений и cms
Drupal. Это — система управления сайтом (CMS), написанная на языке PHP и использующая для хранения реляционные базы данных MySQL, PostgreSQL или другие. Drupal является свободным программным обеспечением. Разработку проекта начал в 2000 году бельгиец Дрис Байтаерт. В настоящее время разрабатывается версия 8.x, направленная на интернационализацию, мультиплатформенность, HTML5 и сервисы. Архитектура Drupal позволяет применять его для построения различных типов сайтов — от блогов и форумов до информационных архивов и сайтов новостей. Имеющийся стандартный функционал можно увеличивать подключением дополнительных расширений — «модулей».
Drupal имеет модульную архитектуру с компактным ядром. Стандартный набор модулей включает такие функции, как новостная лента, блог, форум, загрузка файлов, сборщик новостей, голосование, поиск и другие. Дизайн сайта можно изменить посредством специальных модулей — «тем оформления». Благодаря модулям можно создавать проекты с довольно сложной структурой. Рассмотрим некоторые из них:
CCK — Content Construction Kit, визуальный редактор, позволяющий расширить любой тип контента с помощью дополнительный полей: картинки, файлы, видео-ролики с бесплатных видео-хостингов, ссылки на внешние и внутренние ресурсы и так далее. Этот модуль представляет собой визуальный редактор для Node API.
Views — инструмент, позволяющий создавать списки документов, отфильтрованные по различным параметрам: по рейтингу, автору, дате публикации или последнего комментария, наличию или отсутствию определенных тэгов. Фактически, этот модуль является графическим интерфейсом, с помощью которого пользователь создает сложный SQL-запрос к базе данных.
Panels — модуль, позволяющий без знания html, создать страницы разделенные на районы. Данные для них будут предоставляться различными модулями. Этот модуль, обычно, используется для создания главной страницы сайта, на которой выводятся блоки с новостями, форумными обсуждениями, комментариями.
Webforms — визуальный интерфейс для создания форм обратной связи и обработки данных, переданных через эти формы.
Важный модуль — ImageCache обеспечивает функции автоматической обработки изображений на основе пользовательских сценариев правил обработки (preset). Например, при публикации документа можно настроить ImageCache таким образом, чтобы сразу изменить масштаб картинки, вырезать фрагмент нужного размера, изменить палитру, повернуть и т. п. Из одной картинки автоматически могут быть получены, например, пиктограмма, миниатюра для предварительного просмотра и полноразмерное изображение. Все эти модули интегрированы с системой темизации Drupal и позволяют изменять внешний вид создаваемых ими документов.
Другие важные модули – это Devel, CTools, Backup & Migrate, Menu block, Rules
Entity Reference, Pathauto. В Drupal предлагается гибкая схема организации структуры сайта на основе таксономии. Таксономия — механизм, позволяющий создавать произвольное количество тематических категорий для содержимого сайта и ассоциировать их с модулями, обеспечивающими ввод и вывод информации. Категории могут представлять плоские или иерархические списки, либо сложные структуры, где элемент может иметь несколько «родителей» и несколько дочерних элементов.
Другая парадигма используется в CCK, в котором позволяется дополнять документы новыми полями различных типов — от полей ввода URL и email, до полей хранения и отображения мультимедийных файлов. Посредством дополнительных модулей к 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 - модуль для редактирования групп категорий. Модуль Taxonomy Multi Editor позволяет управлять определениями taxonomy связанными с вашими узлами. После его установки появиться новая закладка в панели управления системой Drupal, что увеличивает функциональность данного модуля.
Postcard - модуль электронных открыток.
Shamu - модуль, который на этапе создания новости на сайте, отправить его на определённое количество адресов почты. Т.е. модуль просто позволяет распространять новости сайта своим посетителям. Особенность модуля в том, что всё работает автоматически.
Taxonomy Context - модуль позволяет при помощи определенной taxonomy создать и выводить информацию в стиле - заголовок и статистика по текущему разделу, выводя заголовок и описание текущего определения, путь "breadcrumb" текущего определения taxonomy.
Database Administration - модуль, позволяющий просмотреть значения строк в таблице базы данных и сделать проверку таблицы базы данных. Похож на phpMyAdmin.
Simplenews - модуль, служащей для реализации рассылки. Существуют также похожие модули Notify и Subscriptions.
Ad — система для управления показом рекламных баннеров
EFCKeditor, CKEditor, Tinymce — визуальные редакторы для ввода контента
Gallery — интеграция с галереей изображений Gallery2
LDAP integration — интеграция с LDAP
mailhandler, listhandler — возможность публикации материалов сайта через почтовый интерфейс и из почтовых рассылок
Модуль Ubercart как основа Интернет-магазина
На базе Drupal разработано два конкурирующих решения, позволяющих организовать электронный магазин — модули Ubercart и e-Commerce. В Ubercart реализованы интерфейс покупателя и менеджера магазина. Первый включает в себя витрину и корзину для покупок, второй обеспечивает управление товарами и их атрибутами, а также управление магазином в целом. Корзина Ubercart по умолчанию предоставляет возможность оплатить товар.
Модули, которые не входят в стандартный дистрибутив Drupal, можно скачать с официального сайта Drupal — drupal.org
Некоторые важные функции, предоставляемые Drupal:
единая категоризация всех видов содержимого (таксономия) — от форумных сообщений до блогов и новостных статей;
широкий набор свойств при построении рубрикаторов: плоские списки, иерархии, иерархии с общими предками, синонимы, родственные категории;
вложенность категорий любой глубины;
поиск по содержимому сайта, в том числе поиск по таксономии и пользователям;
разграничение доступа пользователей к документам (ролевая модель);
динамическое построение меню;
поддержка XML-форматов;
вывод документов в RDF/RSS;
агрегация материалов с других сайтов;
переводы интерфейса сайта на разные языки, а также поддержка ведения разноязычного контента;
возможность создания сайтов с пересекающимся содержимым (например общей базой пользователей или общими настройками);
механизм для ограничения нагрузки на сайт (автоматическое отключение при высокой посещаемости части информационных блоков и модулей);
Дизайн сайта на Drupal строится на основе сменных тем оформления. Взамен единственной схемы построения дизайна. Drupal даёт возможность использовать различные «движки тем», использующие шаблоны, удобные для редактирования Drupal поддерживает технологию Ajax для динамической подгрузки содержимого. Для работы с JavaScript добавлена библиотека JQuery.
