Социальные сети

У нас нашли

Спонсоры проекта

    Принтер а3
    Производитель офисной техники. Анонс материалов свежего номера.
    price.electrozon.ru

MongoDB является очень и очень молодым проектом.
Увы, не везде успели сделай биндинго для данной DB или сделать их использования привычным, лёгким и правильным в рамках определённой системы.

Моим же выбором является именно Pylons.
Данный веб-фреймворк не является интерпрайзным, бизнес-ориентированным решением, в отличии от Grails или, возможно Django.
Всё делается самими разработчиками.

Что делать? Конечно, делать самому! Помогать opensource-коммьюнити!

Гугл выдал много ресурсов, страниц, сообщений рассылок etc.
Но давайте по очереди.
Самым наглядным. первым примером оказался блог, который использовал pymongo и pylons.
Однако, он использует драйвер pymongo без какой-либо более удобной абстракции, приходится делать больше работы.
Для таких вещей был создан MongoKit. Но об этом чуть позже.
В любом случае, стоит обратить внимание на код, ибо MongoKit использует именно pymongo, и знать что/как в самом драйвере очень и очень полезно.
Сам движок блога. Minger. 9 месяцев уже не обновлялся.
Форк Minger - MingerPlus. Есть небольшие изменения, которые будет полено посмотреть. 7 месяцев уже в спячке.

Как я и говорил, это самый живой и открытый ресурс. Остальное не стоит внимания. Или пока не стоит внимания.
Стоит подчеркнуть что сам драйвер pymongo имеет свой, внутренний пул соединений, по сему нет необходимости создавать каждый раз новое соединение, он разруливает это сам.
Данный подход хорошо виден в коде:
http://bitbucket.org/bbangert/minger/src/tip/minger/lib/app_globals.py

...
class Globals(object):
...
```def __init__(self):
``````db_info = dict( .... ) #здесь всякие параметры из конфига
``````try:
`````````conn = Connection(db_info['host'], db_info['port'], #открываем соединение
````````````````````````pool_size=int(config['blog.database.pool'])) #размер пула соединения
``````except ConnectionFailure: #ну понятно
`````````...
``````self.db = conn[db_info['db']] #о! вот здесь мы сохраняем класс для работы с БД как глобальную переменную приложения
``````auth = self.db.authenticate(db_info['username'], db_info['password']) #а теперь аутентируемся в БД
``````...
...

Настройка завершена. класс Globals в будущем представлен в виде переменной pylons.app_globals.
Для большего удобства остаётся лишь выделить переменную в более удобное место для использования в контроллере.

http://bitbucket.org/bbangert/minger/src/tip/minger/lib/base.py
...
```self._db = pylons.app_globals.db
...

В общем, вот и всё с этим проектом.

Но не будем зацикливаться и посмотрим на... MongoKit!
Собственно, ссылка на всё и вся о MongoKit

MongoKit - модуль для Python, призванный структурировать слои проверки и схемотизации над замечательным pymongo-драйвером. Он написан быть проще, легче на сколько это возможно с принципами KISS(Keep it simple, stupit - сохраняй это простым, тупица) и DRY(Dont repeat yourself - не повторяйся).

Небольшой пример, список фич etc

Часть туториала по подключению его в Pylons
Стоит заметить что фактически оно не сильно отличается от подключения pymongo как в блоге выше.
Однако mongokit даёт 2 очень и очень приятные фичи:
1) Валидаторы
Можно автоматизировать проверку полей по типу данных в пайтоне, при этом это делается очень легко.
2) Схемы
Благодаря этому можно сделать готовые схемы и автоматизировать добавление информации в БД, упростить и сократить количество кода.

Как я закончу эксперименты с MongoDB, так сразу составлю тутор о том как лучше и правильнее использовать MongoDB с Pylons.








































Читайте также

  • Мой небольшой рассказ…Немного из жизни…немного выдумка…©
  • Немного про потустороннее
  • Фотки и немного текста о недавнем путешествии.
  • Немного об атлетизме…
  • Аспекты общения. Немного о Эмпатии и чувствительности.



  • Последние новости


    План занятий

    Обучение детей от года до 3 лет плаванию, как правило, проходит в три этапа. На первом этапе ребенок должен адаптироваться к воде, избавиться от страха перед глубиной, неизвестной средой. Намного проще дети привыкают к бассейну, где есть бортики, вода теплая и прозрачная. Чуть сложнее дети адаптируются к открытым водоемам с темной и прохладной ...
    Читать далее »

    Гимнастика от 2 лет до 2 лет 6 месяцев

    1. Самостоятельная ходьба. 2. Бег вдогонку за взрослым или к взрослому в разном темпе. 3. Руки вверх, потянуться – «деревья большие большие», развести руки в стороны. 4. Ходьба по доске, приподнятой над полом на 15–20 см. 5. Приседания. 6. Подъем туловища с опорой на ладони в положении лежа на животе. 7. Хлопк...
    Читать далее »

    Проблема: ожоги, ушибы, травмы

    Немного повзрослев, ребенок начинает интересоваться источниками огня, что чревато ожогом. При незначительном ожоге необходимо поврежденный участок тела поместить под холодную проточную воду, а затем обработать антиожоговым аэрозолем. В период выздоровления применяют массаж, который способствует улучшению лимфо– и кровотока. В резуль...
    Читать далее »

    Проблема: плоскостопие

    Когда ребенок начинает ходить, его первые шаги могут быть омрачены плоскостопием. К сожалению, если эта болезнь наследственная, то волнения вполне обоснованны. И здесь без посещения детского врача ортопеда не обойтись. Его рекомендации относятся к укреплению подошвенного свода стопы вашего ребенка. Костная структура стопы ребенка ...
    Читать далее »

    Рефлекторные движения

    Рефлекторные гимнастические упражнения, В основе которых лежат врожденные двигательные рефлекторные реакции, проводятся первые три пять месяцев жизни ребенка, когда еще не утрачены безусловные двигательные рефлексы – «автоматическая походка», ладонно ротовой рефлекс, хоботковый рефлекс, сохранение равновесия, защитно оборонительные рефлексы. Рефлекторные гимнасти...
    Читать далее »

    Техника выполнения: растирание

    Прямолинейное растирание Выполняется концевыми фалангами одного или нескольких пальцев. Движение проводится прямолинейно одной рукой или обеими, иногда с отягощением. Круговое растирание Проводится с помощью круговых движений концевыми фалангами одного или нескольких пальцев. Кисть располагается с опорой на основании ладони, а манипуляции выполняют в сторону мизинца одной рук...
    Читать далее »

    Проблема: пупочная грыжа

    Пупочная грыжа – это патологическое состояние, в котором через несколько расширенное пупочное кольцо происходит выпячивание брюшины, сальника и даже кишечника. Причина заболевания следующая: вследствие дефекта передней брюшной стенки и пупочного кольца проявляется округлое или овальное выпячивание. Чаще факторами, провоцирующими повышение внутрибрюшного давления, являются кашель, запоры ...
    Читать далее »