Огляд скриптовых мов - Python
Приклади збереження даних Приклади збереження данихУ порівнянні з pickle або YAML для ініціалізації роботи з ZODB потрібно написати на парі рядків програмного коду більше, але як тільки сховище...
Контактні дані Київ, Мясницкая вул., 35
Телефон: +38 (044) 997 - 93 - 19
Факс: +38 (044) 999 - 99 - 91
Приклади збереження даних
Як при збіглому знайомстві із цим програмним кодом визначити, що він використовує Z0DB? Ніяк. Але не будемо ходити по колу.) Спадкування від класу persistent.Persistent дозволяє задіяти сховані механізми й полегшує для ZODB сериализацию цих даних. Цей приклад практично ідентичний попередньому прикладу використання ZODB, де ми зберігали словник і список. Тільки тут ми імпортуємо свій власний модуль, створюємо два екземпляри нашого класу й зберігаємо ці два об'єкти в базі даних ZODB.

Ці два об'єкти - рахунок noah і рахунок jeremy, кожний з яких має на балансі 1000 (припустимо, $1000.00, але ми не ідентифікували, у якій валюті обчислюється сума на рахунку). Наш приклад не тільки створив два об'єкти, як очікувалося, але й зберіг їх на диск для наступного використання. А як нам відкрити базу даних і змінити суми на рахунках? Всі наші зусилля були б безглузді, не будь такої можливості. Сума на рахунку noah зменшилася з 1000 до 700, а сума на рахунку jeremy збільшилася з 1000 до 1300.

Причина, по якій ми відмовилися від використання класу MyClass, полягає в тому, що нам хотілося продемонструвати роботу із шипиками. Один із класичних способів зробити це - продемонструвати їхнє використання при роботі з банківськими рахунками. Якщо вам потрібно гарантувати благополучний переклад коштів з одного рахунку на іншій без втрати коштів, то шипика будуть першим інструментом, на який варто звернути увагу.

Це деяка модифікація попереднього приклада сценарію, що виконує переклад коштів. Тільки цього разу замість одного перекладу він виконує переклади по 300 одиниць із рахунку noah на рахунок jeremy, поки на рахунку noah не виявиться недостатньо коштів для перекладу. У момент, коли на рахунку виявляється недостатньо коштів, сценарій виводить повідомлення про те, що виникло виключення, і інформацію про поточний стан рахунків. Після цього викликається метод abort шипики й виконання циклу переривається.

Крім того, сценарій виводить інформацію до й після циклу шипиків. Поки шипики відбуваються, і до й після операції загальний обсяг коштів на рахунках становить 2000, оскільки споконвічно на кожному рахунку була сума 1000. Перед початком циклу перекладів на рахунку noah була сума 700 одиниць і на рахунку jeremy - 1300 одиниць, разом 2000. Коли виникло виключення OutOf Funds, на рахунку noah було 100 одиниць і на рахунку jeremy -2200, разом 2300.
Служба аутентификации Служба аутентификацииОдне із самих удалих визначень, з якими нам доводилося зіштовхуватися, приводиться у Википедии: "прикладний протокол, що дозволяє звертатися до служби каталогів, що працює поверх протоколу TCP/IP". Як приклад...
Веб додатка Веб додаткаОдне з поліпшень, яке можна було б внести в цей додаток, -це реалізувати сортування в порядку, зворотному поточний. Зробити це досить просто, але ми залишимо реалізацію цієї можливості читачам. Як ще одне поліпшення...
Запуск сценарію Запуск сценаріюЦе в точності відповідає нашим очікуванням. Тепер спочатку спробуємо запустити сценарій, що додає новий запис, а потім знову запустимо сценарій, що витягає дані. Цей приклад ідентичний попередньому прикладу, де використовувався метод store,...
Створення звітів Створення звітівКрім того, ми могли б розширити цей сценарій і відшукувати запису з обсягом використання 80 відсотків, 70 відсотків і видавати попередження по досягненні цих рівнів. Такий сценарій легко можна було б об'єднати, наприклад, с...
 
(c) Copyright