- •Минск, бгу,
- •Содержание.
- •Глава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 работать быстрее
- •Литература
Как заставить Drupal работать быстрее
В списке модулей выключите все модули, которые не используются, также стоит пожертвовать модулями статистики;
Модуль locale сильно сказывается на ухудшение скорости работы сайта, но локализация обычно нужна, значит либо адаптируем к работе с gettext и смотрим, стало ли быстрей, либо на крайний случай выключаем локализацию интерфейса;
Темы c XML-шаблонами обычно медленнее тем использующих только PHP. Посмотрите, какая тема используется по умолчанию и- смените на тему использующую только php;
Важной частью увеличения скорости работы Drupal является информация о количестве обращений к базе данных. Ставим модуль devel, включаем отображение запросов и смотрим время их исполнения. Также делаем тотальный optimize всех таблиц.
работать следует не с папкой С:\WebServes, а с локальным диском Z или как Вы выбрали L (Диск Z - это виртуальный хостинг Денвера):
Копируем библиотеку php_mbstring.dll в папку Z:\usr\local\php5\ext (скачать соответствующий PHP и из него скопировать эту библиотеку и только так, иначе библиотека может не соответствовать установленному PHP);
Меняем кодировку базы в файле Z/usr/local/mysql5/cnf вместо ср1251 устанавливаем utf8 в строках 28, 40, 41, а в phpMyAdmin устанавливаем ru-utf8 и utf8_general.ci;
Z:/usr/local/php5/php.ini
Чтобы не было зависаний, при работе тяжелых модулей, в строке 255 увеличить время работы скрипта с 30 до 300 max_execution_time = 300;
Проверяем строки, которые необходимо раскомментировать: extension=php_mbstring.dll - работа с уникодом,раскомментируем extension=msql.dll,раскомментируем extension=php_gd2.dll - графическая библиотека;
Добавляем в файл .HTACCESS в корневой папке (на Денвере это папка www) в самом верху четыре строки:
php_value error_reporting 7 php_value memory_limit 32M //но лучше 96М RewriteCond %{HTTP_REFERER} ^http://www\.google\.com/$ RewriteRule .* - [F]
Здесь первая строка - отвечает за отображение и сглаживание отдельных ошибок, не влияющих на работу сайта; вторая-за необходимый объем памяти для нормальной работы всех модулей Друпала, во избежание "белого экрана смерти" (без этой строчки можно обойтись, если в файле php.ini есть строка memory_limit=32 или в settings.php прописана строка ini_set(‘memory_limit’,’32M’); третья и четвертая строки-необходимы для нормальной работы поисковых серверов;
Создаем папку translations в папке www/profiles/default, а именно www/profiles/default/translations, в которую размещаем перевод. Эта папка не обязательна, можно хранить перевод и на жестком диске компьютера;
Вопросы
1.Модули
Из чего состоит модуль?1
Что такое .info файлы?
Как добавлять стили и JS-код в модуль?
Что такое хуки?
Как добавить свою страницу в систему меню Друпала?
Как переопределить вывод на существующей странице сайта?
Что такое Forms API?
Как изменить произвольную форму созданную другим модулем?
Как добавить к этой форме свою проверку и свой обработчик?
Как добавить на сайт свой блок из модуля?
Как сделать чтобы у этого блока были собственные настройки?
Как выполнять дополнительные действия при сохранении ноды?
Как отображать свои данные на страницах нод?
2.Темизация
Как работает регистр темизации?
Как переопределить стандартный шаблон в теме?
Как темизировать вывод в модулях?
Как вводить новые шаблоны?
Как работают базовые темы?
Код
Какие правила кодирования используются при разработке Друпал-проектов?
Как работать с SVN и CVS?
Как создавать и применять патчи?
Какие проблемы существуют при выкладывании проектов на живой сервер?
Какой код можно считать безопасным и какие есть методы обеспечения безопасности в Друпале?
Как реализовывать unit-тесты в Друпале?
Денвер и Drupal
Шаг 1. Денвер
Для того, чтобы запустить Drupal на домашнем компьютере, понадобиться отдельная программа, которая позволит это делать. Одна из таких программ — Денвер. Денвер — это программый комплекс, позволяющий превратить ваш локальный компьютер в сервер. Название расшифровывается как «джентльменский набор веб-разработчика». Скачайте с сайта Денвера его дистрибутив и запустите. Откроется окно браузера, а после его закрытия появиться следующее окно:
Шаг 2. Папка
После установки Денвера, нужно сделать папку в которой будут храниться файлы сайта. Для этого зайдите в папку, в которой установлен Денвер, если вы её не меняли, то это C:\WebServers. Она выглядит следующим образом:
Далее перейдите в папку home и сделайте в ней папку для файлов сайта. В этом примере была сделана папка drupal.site:
Войдите в папку drupal.site и сделайте в ней папку с названием www:
И уже в папку www распакуйте файлы Drupal:
Если всё это делаете в первый раз, то чтобы не ошибиться что в какой папке делать, обращайте внимание на адресную строку на картинках — в ней можно увидеть текущее местонахождение.
Шаг 3. База данных
По умолчанию, Drupal работает с базой данных MySQL. Эта база данных входит в комплект Денвера и для работы с ней нужно запустить Денвер. Найдите ярлыки которые Денвер создал на Рабочем столе и запустите Start servers.
Запустите браузер, наберите в адресной строке localhost и используйте мышь, чтобы нажать им на кнопку Перейти в браузере. Открывшуюся страницу нужно прокрутить до раздела Утилиты, в котором перейдите по ссылке Заведение новых БД и пользователей MySQL. После перехода по ссылке, заполните окрывшуюся страницу следующим образом:
Пароль администратора MySQL: <оставьте пустым>
Имя базы данных: drupalsite
Логин пользователя: drupalsite
Пароль: drupalsite
…еще раз: drupalsite
После ввода этих данных, нажмите кнопку Создать БД и пользователя. Страница перезагрузится и после заголовка появится надпись: База данных и новый пользователь заведены. Теперь у вас есть база данных с названием drupalsite, для доступа к базе будет использоваться логин и пароль drupalsite.
Шаг 4. Установка Drupal
Поледний шаг — это установка самого Drupal. Здесь будет описана установка Drupal с включённым в дистрибутив русским языком. Наберите в адресной строке браузера: drupal.site
нажмите кнопку перехода и вы увидите страницу с предложением выбрать язык на котором и будет проходить дальнейшая установка. Выберите Russian (Русский) и нажмите кнопку Select language.
На следующей странице Drupal попросит создать файл settings.php в папке /sites/default. Этот файл нужно создать из файла default.settings.php. Нужно именно создать новый файл, а не переименовать существующий. После этого в этой папке у вас должно быть два файла: default.settings.php и settings.php. Нажмите ссылку обновите страницу в последней строке.
На следующей странице введите информацию о базе данных (название, пользователя и пароль) и нажмите кнопку Сохранить. Секция Расширенные настройки не понадобится.
Откроется и вскоре исчезнет страница Установка Drupal, во время которой Drupal внесёт изменения в файл settings.php.
Следующая страница будет находится на экране дольше. Вы увидите процесс импорта переводов интерфейса. На общих хостингах с небольшими ресурсами именно эта операция проходит не полностью, т.к. установленного ограничения на время выполнения скрипта не хватает на импорт переводов.
После того, как переводы будут импортированы, нужно ввести общую информацию о сайте (название, почтовый адрес, часовой пояс, поддержка чистых ссылок, оповещения) и информацию об аккаунте администратора.
На следующей странице будет проведена установка языка.
На последней странице установки Drupal сообщит о её завершении и предложит войти в аккаунт. Нажмите ссылку “войти”. Вы окажетесь в аккаунте администратора. На странице будет находиться сообщение, которое выводится на первую страницу сайта в том случае, когда нет не одного документа выведенного на первую страницу. Прочитайте эту страницу. Отметьте:
после установки удалять файл install.php нет необходимости, т.к. в install.php есть Verify existing settings.php и установка запуститься только в том случае, если файл settings.php содержит записи совпадающие с default.settings.php.
однако если хотите, вы можете удалить как install.php, так и все файлы с расширением txt: CHANGELOG.txt, COPYRIGHT.txt, INSTALL.txt, INSTALL.mysql.txt, INSTALL.pgsql.txt, LICENSE.txt, MAINTAINERS.txt, UPGRADE.txt.
Нажмите кнопку «Да». После этого появиться окно с процессом распаковки файлов. Когда файлы будут распакованы, то следующее окно будет таким:
Денвер проверит наличие необходимых компонентов, убедится что всё на месте и предложит нажать Enter для продолжения. Нажимаете Enter и появляется следующее окно:
На этом шаге предлагается выбрать папку в которую будет установлен Денвер. Можете выбрать то название, которое вам больше нравиться. Если устраивает C:\WebServer, то нажимаете Enter. Здесь нужно подтвердить свой выбор. Нужно ввести y и нажать Enter.
Денвер предупредит о создании виртуального диска. После нажатия Enter появится следующее окно:
Здесь нужно ввести букву виртуального диска. По умолчанию Денвер предлагает ввести Z и если у вас нет причин выбирать другую букву, то введите z и нажмите Enter.
Денвер сделает на диске указанную папку и предупредит о начале копирования файлов. После нажатия Enter, в окне пробежит строка копирующихся файлов:
Затем будет выведено следующее сообщение: режим запуска Денвера. Прочитайте пояснения к режимам и выберите удобный для вас 1 или 2. После этого Денвер спросит нужно ли создавать на Рабочем столе ярлыки. Процедура установки Денвера закончена.
WordPress
WordPress — CMS с открытым исходным кодом, распространяемая под GNU GPL. Написан на PHP, в качестве базы данных использует MySQL. Сфера применения — от блогов до достаточно сложных новостных ресурсов и интернет-магазинов. Встроенная система «тем» и «плагинов» вместе с удачной архитектурой позволяет конструировать практически любые проекты.
На 2007 год WordPress — самая популярная система для ведения автономных блогов.
возможность публикации с помощью сторонних программ и сервисов;
простота установки, настройки;
поддержка RSS, Atom, trackback, pingback;
подключаемые модули (плагины) с уникальной простой системой их взаимодействия с кодом;
поддержка так называемых «тем», позволяющих легко менять как внешний вид, так и способы вывода данных;
«темы» реализованы как наборы файлов-шаблонов на PHP, что положительно сказывается на скорости и гибкости;
громадные библиотеки «тем» и «плагинов»;
заложенный потенциал архитектуры позволяет легко реализовывать сложные решения;
человеко-понятный URL;
Joomla!
Joomla! (джу́мла) — свободная система управления содержимым, написанная на языках PHP и JavaScript, использующая в качестве хранилища базу данных MySQL. В настоящее время актуальна версия 1.6. В 2008 года по числу ежедневных скачиваний Joomla! заняла второе место после WordPress со значительным отрывом от других подобных систем. CMS Joomla! включает в себя различные инструменты для изготовления веб-сайта. Важной особенностью системы является минимальный набор инструментов при начальной установке, который дополняется по мере необходимости. Это снижает загромождение административной панели ненужными элементами, а также снижает нагрузку на сервер и экономит место на хостинге.
Joomla! позволяет отображать интерфейс фронтальной и административной части на любом языке. Каталог расширений содержит множество языковых пакетов
Основные возможности
Функциональность можно расширять с помощью дополнительных модулей (расширений, плагинов).
Модуль безопасности для многоуровневой аутентификации пользователей и администраторов.
Система шаблонов позволяет легко изменять внешний вид сайта.
Настраиваемые схемы расположения модулей, включая левый, правый и центральный блоки меню.
К преимуществам системы можно отнести то, что все модули, компоненты, плагины, шаблоны можно написать самому, разместить их в структурированном каталоге расширений или отредактировать существующее расширение по своему усмотрению.
Возможности администрирования
Для каждой динамической страницы можно создать своё описание и ключевые слова в целях повышения рейтинга в поисковых системах;
Начало и окончание публикации любых материалов можно запрограммировать по календарю;
Возможность ограничить доступ к определённым разделам сайта только для зарегистрированных пользователей;
Настраиваемые схемы расположения элементов по областям шаблона
Различные модули (последние новости, счётчик посещений, подробная статистика посещений, гостевая книга, форум и другие);
Возможность создания не одной, а нескольких форм обратной связи для каждого контакта;
Модуль приёма от удалённых авторов новостей, статей и ссылок;
Иерархия объектов;
Менеджер рассылки новостей.
Встроенный визуальный редактор TinyMCE;
Минимальные системные требования
Для работы Joomla требуются:
Apache 1.3.x или новее.
Для версии 1.6 будут требоваться, как минимум, PHP 5.2 и MySQL 5.0.4.
