IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     26.09.2016       Выпуск 145 (26.09.2016 - 02.10.2016)       Релизы

pymongo - 3.4

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#3.4. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     28.04.2016       Выпуск 123 (25.04.2016 - 01.05.2016)       Статьи

Piter Py #3 — личные впечатления pycon

В минувшие выходные прошла третья конференция питонистов в Питере — Piter Py #3 (http://it-sobytie.ru/events/5862). Конференция длилась три дня, была наполовину англоязычной, все эти дни слова "Docker", "Mongo", "Ansible" произносились даже чаще, чем "Python". И здесь я впервые услышал о существовании YAML-программистов. Делюсь собственными впечатлениями и, полагаю, выражаю мнение большинства других посетителей. 

     16.03.2016       Выпуск 117 (14.03.2016 - 20.03.2016)       Релизы

pymongo - 2.9.3

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9.3. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     08.02.2016       Выпуск 112 (08.02.2016 - 14.02.2016)       Статьи

Полноценный REST API для перфекционистов за 5 минут

Речь пойдёт об инструменте, который позволит вам построить полноценный и простой в использовании REST API за минимальное количество времени. Называется он – Python Eve.

К сожалению в Интернете очень много инструкций на эту тему, но все они вводят в заблуждение. Начинающие разработчики, начитавшись подобных статей, думают, что REST API это GET/POST/PUT/DELETE. Заказчики думают, что это дело пары часов. А когда они встречаются вместе, происходят магия в виде Express.js/Mongoose/Passport и ещё кучи хлама, который течёт и временами блокирует event-loop. Всё это запускается с помощью какого-нибудь supervisor, потому что иногда падает и надо как-то перезапускать. 

     04.02.2016       Выпуск 111 (01.02.2016 - 07.02.2016)       Релизы

pymongo - 2.9.1

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9.1. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     25.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Статьи

Как попасть в deadlock с getaddrinfo() 

Что случится, если запустить этот код?

import os
import socket
import threading


def lookup():
    socket.getaddrinfo('python.org', 80)

t = threading.Thread(target=lookup)
t.start()
if os.fork():
    # Parent waits for child.
    os.wait()
else:
    # Child hangs here.
    socket.getaddrinfo('mongodb.org', 80)

     04.12.2015       Выпуск 102 (30.11.2015 - 06.12.2015)       Интересные проекты, инструменты, библиотеки

django-mongolog - логгер в mongo

LOGGING = {
    'handler': {
        'mongolog': {
            'level': 'WARN',
            'class': 'mongolog.MongoLogHandler',
            'connection': 'mongodb://localhost:27017/'
        },
    },
    'loggers': {
        'django': {
            'handlers': ['console', 'mongolog'],
            'level': 'DEBUG',
            'propagate': True
        },
    },
}

     19.11.2015       Выпуск 100 (16.11.2015 - 22.11.2015)       Релизы

pymongo - 3.2

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#3.2. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     15.11.2015       Выпуск 99 (09.11.2015 - 15.11.2015)       Статьи

Асинхронный Python 3.5 и Mongodb

Это достаточно вольный перевод статьи об основных новшествах асинхронного драйвера для mongodb используемого в tornado. Основной мотив, который послужил для написания этого перевода — новшества, появившиеся в этой версии, такие как поддержкаasyncio, async, await и Python 3.5. Сама статья не сколько перечисление новшеств, сколько лаконичные примеры асинхронной работы с MongoDB. 

     23.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Релизы

pymongo - 2.9

Python интерфейс для MongoDB. Изменения описаны по ссылке https://allmychanges.com/p/python/pymongo/#2.9. Скачать можно по ссылке: http://pypi.python.org/pypi/pymongo/

     30.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Статьи

Пробуем JSON в Django и PostgreSQL (и сравниваем с MongoDB)

В Django 1.9 будет добавлено поле JSONField, его можно использовать с базой данных PostgreSQL >= 9.4. Давайте попробуем с ним поработать и оценить, насколько оно удобно.

В данный момент доступна альфа версия django 1.9, финальная запланирована на декабрь 2015. Установить альфа версию можно так:

pip install --pre django

Итак представим, что у нас есть интернет магазин, в котором мы предлагаем товары разных типов. Например, ноутбуки и футболки. Очевидно, что у таких товаров будет разный набор параметров: у футболок будет размер, цвет, а у ноутбуков - размер экрана, частота процессора, объем жесткого диска и прочее. Один из подходов для работы с такими данными в SQL - Entity–attribute–value model (EAV).

     04.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Видео

Mongoengine. Основы

Видео доклад про pymongo и mongoengine. О том как можно использовать MongoDB в продакшене.

     31.08.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Статьи

Почему не все так просто с MongoDB

В последнее несколько лет MongoDB приобрела огромную популярность среди разработчиков. То и дело в интернете появляются всякие статьи как очередной молодой популярный проект выкинул на свалку истории привычные РСУБД, взял в качестве основной базы данных MongoDB, выстроил инфраструктуру вокруг неё, и как все после этого стало прекрасно. Даже появляются новые фреймворки и библиотеки, которые строят свою архитектуру целиком на Mongo (Meteor.js например). По долгу работы я примерно 3 года занимаюсь разработкой и поддержкой нескольких проектов, которые используют MongoDB в качестве основной БД, и в этой статье хочу рассказать, почему на мой взгляд с MongoDB далеко не все так просто, как написано в мануалах, и к чему вы должны быть готовы, если вдруг решите взять MongoDB в качестве основной БД в ваш новый модный стартап :-) Все что описано ниже можно воспроизвести с использованием библиотеки PyMongo для работы с MongoDB из языка программирования Python. Однако скорее всего с аналогичными ситуациями вы можете столкнуться и при использовании других библиотек для других языков программирования.