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

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

     25.12.2015       Выпуск 105 (21.12.2015 - 27.12.2015)       Статьи
     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)

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

Дилемма новогодних подарков

Этот пост дает теоретико-игровое объяснение традиции дарить подарки на Новый Год

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

Мой top 5 'новых' Python модулей в 2015 году

Автор статьи приводит 5 модулей для Python, которые наиболее сильно понравились в 2015году

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

Asterisk + Huawei E1550 или как не стоит экономить на телефонии

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

Компания занималась продажами, и естественно здесь оказалось много таких человечков, которых зовут менеджерами по продажам, и им нужно было очень много звонить!
 

     20.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Умножение по методу русских крестьян

Иногда этот метод называют «крестьянское умножение», иногда «древнеегипетское», иногда «эфиопское», иногда «умножение через удвоение и деление пополам». Некоторым он хорошо известен, некоторым – непонятен, но при этом он достаточно полезен и может использоваться не только для умножения, но и для возведения в степень и расчётов матриц.

     18.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи
     18.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи
     18.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Распознаем улыбки с помощью OpenCV и scikit-learn

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

     18.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Городской чат на Python, Django и Twilio IP Messaging

Статья описывает опыт создания чата привязанного к гео-позиции. 

     18.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Python->Cython->C++, да и COM в придачу: написание фреймворка для автотестов

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

Несмотря на то, что отдельным частям нашего проекта более 25 лет, мы только в самом начале пути внедрения автоматического тестирования. Тем не менее, у нас уже есть некоторые успехи, о которых я хочу поведать в этой статье.

Как писать хорошие автотесты – тема отдельной статьи. И, вероятно, не одной. Я же расскажу вам как мы внедрили тестирование отдельных компонентов. Компоненты написаны на С++ и имеют интерфейсы очень похожие на СОМ. В качестве языка для тестов мы выбрали python и используем очень мощный тестовый фреймворк PyTest. В статье я расскажу про сложности связки С++/СОМ и питона, подводные камни, на которые мы наткнулись и как решали эти проблемы.

     17.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Мысли разработчика: почему существует Python3

Один из core-разработчиков делится своими мыслями о причине создания Python3.

     17.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Синхронный код в асинхронном Twisted, или сказ о том, как скрестить ежа с ужом

Twisted — асинхронный (событийно-ориентированный) фреймворк, написанный на Python. Мощное средство для быстрой разработки сетевых (и не только) сервисов. Он разработан с использованием паттерна проектирования Reactor. Сервисы созданные с использованием Twisted быстры и надежны, фреймворк позволяет не писать макаронный код, насыщенный непонятными коллбэками, имеет внутри себя красивые хелперы (Deferred, Transport, Protocol etc). Другими словами, делает нашу жизнь бекенд разработчиков лучше.
Но есть и проблемы

     17.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Python не C: часть два

Статья про инструменты оптимизации кода на Python. В материале вы найдете упоминание numpy, scipy, векторизации данных и варианты оптимизации кода, который работает с деревьями

     17.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Сборка XGBoost для Python под Windows

Библиотека XGBoost гремит на всех соревнованиях по машинному обучению и помогает завоёвывать призовые места. Однако, стать обладателем этого пакета для Python под Windows не так просто.

Процесс установки скудно описан на GitHub и немногим шире на форуме Kaggle. Поэтому попробую описать пошагово и более подробно. Надеюсь это поможет сохранить много времени неопытным пользователям.

     16.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Django. Знакомство с ElasticSearch

Понадобилось на одном из своих проектов установить FTS сервис. Я достаточно долгое время пользовался SphinxSearch, но решил поинтересоваться у общественности (тут итут) какой сейчас инструмент более популярен и отвечает следующим требованиям:

     16.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Selenium для Python. Глава 6. Объекты Страницы

Продолжение перевода неофициальной документации Selenium для Python.
Оригинал можно найти здесь.

     16.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Статьи

Парсинг формул в 50 строк на Python

Вдохновение — задача с собеседования Яндекса и статья «Парсинг формул в 40 строк». Моей целью было посмотреть, как будет выглядеть «pythonic» решение этой задачи. Хотелось, чтобы решение было простым, код читаемым и разделённым. В итоге ещё получился и пример применения цепочки генераторов (generators pipeline).