План лекций
2008-02-25 21:13План лекций содержит ссылки на лекции и комментарии к ним в порядке, рекомендуемом к изучению. На сайте выделен специальный раздел с лекционными материалами, который на самом деле является зеркалом репозитория svn . Вы можете скачать лекции оттуда, но удобнее работать с ними через сайт.
А вот примеры к лекциям лучше скачать из репозитория, установить и попробовать, как они работают. Разумеется, все примеры должны работать.
План лекций:
Лекции состоят из связного списка лекций и неупорядоченных дополнительных материалов к ним. Основная масса всего лежит в разделе doc.zopelection.
Предварительная подготовка (1):
- Введение в питон.txt
- краткий рассказ про то как программировать на python под Zope3 и что об этом надо знать. Не воспринимайте это как учебник по питону, это только небольшая его часть, которая поможет легко использовать распространненные в Zope3 техники программирования на python;
- Введение в Zope.txt
- краткий рассказ про Zope3. Для знатоков Zope2, чтение этой статьи, по большей части, освежение хорошо известного материала. Тем не менее, она рекомендуется для обязательного прочтения;
- Введение в компоненты.txt
- эта лекция подробно знакомит с компонентами, дает основные определения и развеивает опасные заблуждения;
- TypicalPlacesInZope3Skins.txt
- рассказ о административных скинах Zope3, краткое введение в понятие скина вообще и рассказ о том, какие административные операции можно выполнить через WEB и как это лучше сделать;
Создание простого компонента Zope3 (2):
- Использование интерфейсов.txt
- рассказ о том, как используются сами интерфейсы;
- Использование схем интерфейсов.txt
- рассказ о том, как могут использоваться схемы интерфейсов;
- Использование сложных полей ввода.txt
- эта лекция подробно знакомит с приемами программирования интерфейсов для создания сложных полей;
- ZODB and Persistent Objects.txt
- статья кратко рассказывает о программировании перзистент-объектов в ZODB;
- Скелет контент класса в Zope.txt
- эта лекция рассказывает о том, из чего должен состоять простой продукт, какие файлы в него должны входить и как они должны лежать, и приводится пример простого продутка, снабженный рассказом об ограничениях на интерфейсах и множестве других тонкостей, которые необходимо учитывать даже при программировании такого простого продукта, что бы обеспечить простоту его интеграции с другими продуктами;
Стандартные формы добавления и редактирования (3):
- Директивы для создания видов и форм.txt
- разновидности ZCML-директив для создания странцы и что они делают на самом деле;
- AboutRequestMethod.txt
- рассказ об особенностях обработки запроса, позволяющих вызывать из одной формы разные виды;
- HOWTO add button into standard add and edit form.txt (нет)
- использование стандартных темплейтов для модификации стандартных кнопок и добавления новых полей;
Составление утилиты Zope (4) :
- Структура Zope3 сайта.txt
- описывает структуру типичного Zope3-сайта;
- Архитектура реестров.txt
- как устроены реестры, как они расположены, как они используются;
- Особенности работы реестров.txt
- статья кратко рассказывает об алгоритме работы реестра адаптеров и утилит;
- API работы с реестрами.txt
- различные типы реестров и как к ним обращатся;
Создание и использование адаптеров (5):
- HOWTO use adding and namechooser.txt
- на примере NameChooser (важной компоненты, используемой повсеместно), рассматриваются тонкости использования компонентной модели;
- HOWTO use recursive programming using adapters.txt
- Прочитав эту статью вы должны получить навык программирования рекурсии при использовании адаптеров. Это очень важная техника, которой всегда следует отдавать предпочтение перед другими альтернативами, так как она позволяет легко воспользоваться всеми преимуществами компонентной модели.
Траверс (6):
- Сценарий обслуживания запроса.txt (почти готово)
- статья кратко рассказывает об алгоритме обслуживания запроса;
- Траверсеры.txt
- статья, кратко рассказывает о программировании траверсеров на примере простого нечеткого траверсера;
- Использование декларации интерфейсов как инструмента настройки.txt
- статья рассказывает о том, как организовывать код так, что бы его настройка сводилась к декларации интерфейсов у объектов (Что-то на примере IFuzzyTraverser);
Использование аннотаций (7):
- Аннотации.txt (черновик)
- рассказ про аннотирование, что такое компоненты-аннотации, аннотируемые компоненты, как их создают, зачем они нужны и как их используют;
- Адаптация как способ ассоциации компонент.txt
- Интересный рассказ про то, как использования адаптеров позволяет скрыть детали реализации ассоциации компонент.
Составление директивы конфигурации (8):
- Хэндлеры ZCML директив.txt
- рассказ о написании хендлера ZCML директивы;
События и их обработчики(9):
- Обработчики событий.txt
- рассказ о том, какую роль имеют в Zope3 события и обработчики событий, как их обычно пишут, на примере продукта quota;
- События.txt (черновик)
- статья об использовании событий;
Вивлеты (10):
- Виды.txt
- Что такое виды и как их создавать, на примере вида для конкретного продукта;
- Скины.txt
- Пример написания простого скина;
- HOWTO use viewlets in skin programming.txt (нет)
- подробный рассказ о роли вьюлетов в программировании скинов;
Специальные приемы программирования :
- HOWTO use decorators in Zope.txt
- Статья вводит концепцию "декораторов", используемых в языке Python и дает примеры использования декораторов в Zope3, содержит краткий перечень распространненных в Zope3 декораторов;
- HOWTO resolve decode error problem.txt
- Рассказ о причинах возникновения "Decode Error", способах борьбы с ней;
- HOWTO Use xmlrpc with Zope.txt
- Краткое введение в xmlrpc и его использование в Zope3 на примере небольшого продукта;
- HOWTO Use mtime.txt
- Рассказ о способе получения времени последней модификации объекта из данных перзистент объекта. Вводится небольшой адаптер и проблема решена;
- HOWTO Clear ClipBoard.txt
- Если при просмотре логов выясняется, что при отображении страницы Zope делает какое-то обращение к давно не существующему компоненту, причем почему и зачем вы понять не можете, а у других ошибка не воспроизводится - что и является характерным признаком того, что у вас какая-то личная размолвка с буфером обмена.
- somepersistentwarning.txt
- Предупреждение о том, как надо работать с перзистент-классами так, что бы это не вызывало больших проблем.
- Speed-Zope3vsMySql.txt
- Тест на быстродействие Zodb и, заодно, краткий пример использования ZODB вне Zope;