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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     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, потому что иногда падает и надо как-то перезапускать. 

     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)

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

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

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

     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).

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

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

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

     19.02.2015       Выпуск 65 (16.02.2015 - 22.02.2015)       Статьи

Разбор данных с внешних сайтов с помощью Scrapy и MongoDB. Часть 2

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

     29.01.2015       Выпуск 62 (26.01.2015 - 01.02.2015)       Статьи

Интерактивная визуализация данных с помощью D3.js, DC.js и MongoDB

Здесь не очень много python, но web не должен зацикливаться на одном языке или технологии

     01.01.2015       Выпуск 59 (01.01.2015 - 11.01.2015)       Статьи

Разбор данных с внешних сайтов с помощью Scrapy и MongoDB

Инструкции о том как развернуть проект, найти нужные части разметки на стороннем сайте с помощью панели разработчика Google Chrome, а также сохранить полученные данные в MongoDB

     03.10.2014       Выпуск 46 (28.09.2014 - 07.10.2014)       Статьи
     19.09.2014       Выпуск 44 (14.09.2014 - 21.09.2014)       Статьи

Стартуем вместе с MongoDB

Небольшая статья о том как работать с pymongo

     04.09.2014       Выпуск 42 (31.08.2014 - 07.09.2014)       Статьи

psutil и MongoDB для мониторинга системы

Статья о том как построить графики загруженности одного или нескольких серверов на стеке psutil, bottle, MongoDb и jquery

     07.03.2014       Статьи

Делаем блог на Django и MongoDB

Весьма подробная статья, но описывает что делать, не объясняя почему именно так

     23.11.2013       Выпуск 4 (22.11.2013 - 29.11.2013)       Статьи

Делаем учебное приложение на Tornado, MongoDB и Angular.js

Также рассказывается как задеплоить проект на OpenShift от RedHat - который сам по себе может показаться интересным

PyMongo - как лучше читать только что сделаную запись

Подробная и интересная статья с объяснением того почему нужно использовать дефолтные настройки