Рекомендуем

РНР: Полезные приемыОрлов А. А. РНР: Полезные приемы
Web-интерфейс баз данных ODBCГанеев Р.М. Web-интерфейс баз данных ODBC
Построение Интернет-приложений на языке JavaФридман А.Л. Построение Интернет-приложений на языке Java

Книга

Сервер приложений "Zope"

Учебное пособие для вузов
2009 г.
256 стр.
Тираж 500 экз.
Формат 70x100/16 (170x240 мм)
Исполнение: в мягкой обложке
ISBN 978-5-9912-0112-4
ББК 32.973я73
УДК 681.3
Гриф УМО
Допущено УМО по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению 230100 – «Информатика и вычислительная техника», специальности 230105 – «Программное обеспечение вычислительной техники и автоматизированных систем»
Аннотация
Рассмотрен язык программирования Python и вопросы применения приложения ZOPE (Z Object Publishing Environment) для разработки Web-приложений. Дано описание синтаксиса языка Python, построения структур данных, разбираются вопросы объектно-ориентированного программирования. Рассмотрены принципы работы сервера приложений Zope, его объектная модель и интерфейс управления. Обсуждаются вопросы синтаксиса, приведены примеры использования языков разработки шаблонов DTML и TAL, взаимодействие с реляционными базами данных, создание поисковых служб. Рассмотрены вопросы настройки системы безопасности сервера. Пособие содержит большое количество примеров и контрольные вопросы по изучаемым темам, что может служить основой для построения лабораторного практикума. Для студентов вузов, обучающихся по направлению 230100 - "Информатика и вычислительная техника", специальности 230105 - "Программное обеспечение вычислительной техники и автоматизированных систем", может быть полезна специалистам.

Оглавление

ОГЛАВЛЕНИЕ

ПРЕДИСЛОВИЕ

Раздел I. ЯЗЫК ПРОГРАММИРОВАНИЯ PYTHON

ГЛАВА 1. ВВЕДЕНИЕ
1.1. Переменные
1.2. Оператор присваивания
1.3. Множественное присваивание
1.4. Присваивание по значению и ссылке
1.5. Комментарии

ГЛАВА 2. ЧИСЛОВЫЕ ТИПЫ ДАННЫХ
2.1. Разновидности числового типа данных
2.2. Логический тип данных

ГЛАВА 3. СТРУКТУРЫ ДАННЫХ
3.1. Cписки
3.2. Диапазоны
3.3. Кортежи
3.4. Словари
3.5. Строки
3.6. Строки unicode
3.7. Контрольные вопросы и упражнения

ГЛАВА 4. ОПЕРАТОРЫ
4.1. Вывод данных
4.2. Условный оператор
4.3. Особенности операторов сравнения
4.4. Операторы цикла

ГЛАВА 5. ФУНКЦИИ
5.1. Передача в функцию переменного числа аргументов
5.2. Область видимости переменных
5.3. Использование lambda-функций
5.4. Функции работы со структурами данных
5.5. Документирование функций
5.6. Контрольные вопросы и упражнения

ГЛАВА 6. ВВОД И ВЫВОД ДАННЫХ
6.1. Ввод данных
6.2. Форматированный ввод/вывод
6.3. Операции с файлами
6.4. Контрольные вопросы и упражнения

ГЛАВА 7. ВЫРАЖЕНИЯ В PYTHON

ГЛАВА 8. МОДУЛИ В PYTHON
8.1. Использование модулей
8.2. Подключение модулей
8.3. Каскадное подключение модулей
8.4. Поиск модулей
8.5. Компиляция модулей
8.6. Документирование модулей
8.7. Стандартные модули Python

ГЛАВА 9. ПАКЕТЫ
9.1. Создание пакета
9.2. Установка пакетов

ГЛАВА 10. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
10.1. Классы
10.2. Создание и вызов объектов
10.3. Методы
10.4. Атрибуты класса
10.5. Управление атрибутами
10.6. Наследование
10.7. Инкапсуляция
10.8. Дополнительные возможности «новых» классов
10.9. Структуры
10.10. Исключения и классы

Раздел II. СЕРВЕР ПРИЛОЖЕНИЙ ZOPE

ГЛАВА 1. ОБЩИЕ ПРИНЦИПЫ ФУНКЦИОНИРОВАНИЯ
1.1. Объектная модель Zope
1.2. Динамически подставляемые данные
1.3. Организация хранения данных
1.4. Механизм заимствования
1.5. Способы разработки Web-приложений в Zope
1.6. Контрольные вопросы и упражнения

ГЛАВА 2. ИНТЕРФЕЙС УПРАВЛЕНИЯ ZOPE
2.1. Создание нового объекта
2.2. Переименование и удаление объекта
2.3. Вырезка и вставка объекта.
2.4. Отмена изменений

ГЛАВА 3. ОБЪЕКТЫ ZOPE
3.1. Свойства объектов
3.2. Объект Каталог (Folder Objects)
3.3. DTML Document и DTML Мetod
3.4. Объект File
3.5. Объект Image
3.6. Контрольные вопросы и упражнения

ГЛАВА 4. ЯЗЫК DTML
4.1. Команды DTML
4.2. Динамическая подстановка значений.
4.3. Шаблон объектов DTML Document и DTML Method
4.4. Атрибуты команды dtml-var
4.5. Создание переменных
4.6. Пространство имен
4.7. Обработка условий
4.8. Циклические операции
4.9. Использование атрибутов в выражениях Python 1
4.10. Вызов методов
4.11. Комментарии
4.12. Управление объектами
4.13. Контрольные вопросы и упражнения

ГЛАВА 5. ПРИМЕР ПРОСТОГО ПРИЛОЖЕНИЯ
5.1. Определение требований к приложению
5.2. Построение системы навигации по сайту
5.3. Титульные страницы
5.4. Усовершенствование навигации
5.5. Использование CCS
5.6. Разметка страниц
5.7. Файловая библиотека

ГЛАВА 6. СКРИПТЫ PYTHON
6.1. Трехуровневая модель
6.2. Создание скрипта
6.3. Особенности использования оператора print
6.4. Пример скрипта
6.5. Переменные окружения скрипта
6.6. Вызов скриптов
6.7. Вызов скриптов с использованием Web-запроса
6.8. Вызов скриптов из других объектов
6.9. Передача параметров
6.10. Скрипты и безопасность
6.11. Встроенные функции
6.12. Обработка форм
6.13. Контрольные вопросы и упражнения

ГЛАВА 7. ВНЕШНИЕ МЕТОДЫ
7.1. Создание и редактирование внешних методов
7.2. Ограничения использования внешних методов
7.3. Контрольные вопросы и упражнения

ГЛАВА 8. СИСТЕМА БЕЗОПАСНОСТИ ZOPE
8.1. Архитектура системы безопасности Zope
8.2. Определение прав пользователя
8.3. Регистрация новых пользователей
8.4. Типичные случаи настройки системы безопасности

ГЛАВА 9. ИНДЕКСАЦИЯ И ПОИСК
9.1. Массовая индексация
9.2. Создание объекта ZCatalog
9.3. Каталогизация объектов
9.4. Построение интерфейса поиска
9.5. Метаданные
9.6. Поиск из Python
9.7. Индексы
9.8. Текстовые индексы
9.9. Индексы по атрибутам объектов
9.10. Индексы по датам
9.11. Индексы по ключевым словам
9.12. Индексирование по пути
9.13. Индекс типа TopicIndex
9.14. Хранимые запросы
9.15. Автоматическая каталогизация

ГЛАВА 10 СВЯЗЬ С РЕЛЯЦИОННЫМИ БАЗАМИ ДАННЫХ
10.1. Соединения с базами данных
10.2. Использование методов ZSQL
10.3. Динамические шаблоны и тег sqlvar
10.4. Вызов метода ZSQL
10.5. Построение поисковой формы
10.6. Операции сравнения в запросах
10.7. Построение сложных запросов

ГЛАВА 11. ЯЗЫК ПОСТРОЕНИЯ ШАБЛОНОВ
11.1. Недостатки DTML
11.2. Компоненты ZPT
11.3. Использование ZPT
11.4. Объекты Zope Page Template
11.5. TAL namespace
11.6. Выражения пути
11.7. Выражения TAL
11.8. Определение переменных
11.9. Подстановка значений
11.10. Управление атрибутами
11.11. Замена тега
11.12. Создание циклов
11.13. Условная вставка или удаление элемента (condition)
11.14. Обработчик ошибок времени выполнения (on-error)
11.15. Пропуск элемента (omit-tag)
11.16. Порядок выполнения

ГЛАВА 12. ВЫРАЖЕНИЯ TALES
12.1. Типы выражений TALES
12.2. Встроенные имена
12.3. Выражения пути
12.4. Строковые выражения
12.5. Использование выражений Python
12.6. Выражение Not
12.7. Выражение nocall
12.8. Выражение exists

ГЛАВА 13. ЯЗЫК ОПРЕДЕЛЕНИЯ МАКРОСОВ METAL
13.1. Выражение metal:define-macro
13.2. Выражение metal:use-macro
13.3. Выражение metal:define-slot
13.4. Выражение metal:fill-slot

ЗАКЛЮЧЕНИЕ

Приложение I. ВСТРОЕННЫЕ ФУНКЦИИ PYTHON

Приложение II. ZOPE API
ОБЪЕКТНАЯ МОДЕЛЬ
КЛАСС OBJECTMANAGER
КЛАСС OBJECTMANAGERITEM
КЛАСС PROPERTY MANAGER
КЛАСС PROPERTYSHEET
КЛАСС PROPERTYSHEETS
КЛАСС REQUEST
КЛАСС RESPONSE

БИБЛИОГРАФИЯ

Список литературы