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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

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

Некоторые репозитории в помощь изучающим и преподающим Python и машинное обучение

Я Юрий Кашницкий, раньше делал здесь обзор некоторых MOOC по компьютерным наукам и искал «выбросы» среди моделей Playboy.

Сейчас я преподаю Python и машинное обучение на факультете компьютерных наук НИУ ВШЭ и в онлайн-курсе сообщества по анализу данных MLClass, а также машинное обучение и анализ больших данных в школе данных одного из российских телеком-операторов. 

Почему бы воскресным вечером не поделиться с сообществом материалами по Python и обзором репозиториев по машинному обучению… В первой части будет описание репозитория GitHub с тетрадками IPython по программированию на языке Python. Во второй — пример материала курса «Машинное обучение с помощью Python». В третьей части покажу один из трюков, применяемый участниками соревнований Kaggle, конкретно, Станиславом Семеновым (4 место в текущем мировом рейтинге Kaggle). Наконец, сделаю обзор попавшихся мне классных репозиториев GitHub по программированию, анализу данных и машинному обучению на Python.

     06.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Статьи

SWAPY с новым генератором кода

SWAPY – графическая утилита для автоматизации UI для pywinauto (Python). В версии 0.4.7 полностью переработан генератор кода. Основные возможности, а также примеры как быстро и просто создать скрипты автоматического тестирования UI, смотрите под катом. 

     05.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Статьи

Событийно-ориентированный бэктестинг на Python шаг за шагом. Часть 5 (и последняя)

В предыдущих статьях мы говорили о том, что такое событийно-ориентированная система бэктестинга, разобрали иерархию классов, необходимую для ее функционирования, обсудили то, как подобные системы используют рыночные данные, а также осуществляют отслеживание позиций и генерацию приказов на покупку. Кроме того, мы описали процесс оценки производительности тестируемых стратегий. В сегодняшнем материале будет рассмотрен процесс создания обработчика API брокерской системы для перехода к реальной торговле. Примечание: В качестве примера автор использует API зарубежной компании Interactive Brokers, отсюда названия обсуждаемых модулей (IBExecutionHandler и т.п.). У ITinvest есть собственный API-интерфейс SmartCOM, который может быть использован при создания систем, подобных описываемой

     05.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Статьи

Решение задачи кредитного скоринга в студии Microsoft Azure Machine Learning

Резюме Предсказать, выплатит клиент банка кредит или нет. Задача была предложена на интернет-турнире, устроенном одним банком. Один из примеров ее решения можно найти здесь. Наша цель состоит в построении решения на платформе Microsoft Azure. 

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

Hash Functions and You: Partners in Freedom

Краткое введение в основы работы хеш-функций. Из доклада вы узнаете, что такое хеши и какими способами их можно формировать; немного о структурах данных, в которых используется хеширование; о фильтре Блума и его применении в упомянутых структурах; о том, какие функции хеширования следует применять для решения различных задач, в частности, для безопасного хранения данных.

Слайды: http://curtis.lassam.net/projects/hash_presentation/

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

My Python's a little Rust-y

Rust — язык программирования, разрабатываемый в компании Mozilla, предлагающий свойства, гарантируемые компилируемыми низкоуровневыми языками (в частности быстродействие), и позволяющий не заботится о ручном управлении памятью. Rust неплохо сочетается с ctypes и cffi, что позволяет достаточно удобно обращаться к написанным на нём библиотекам из кода Python. Доклад является кратким введением в Rust с несколькими примерами вызова функций при помощи cffi.

Слайды: https://speakerdeck.com/pycon2015/dan-callahan-my-pythons-a-little-rust-y

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

Lightning Talk: Deepwalker/trafaret

Кирилл Перевозчиков

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

Lightning Talk: Python Debugger

Николай Карелин

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео
     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

Lightning Talk: PyMove3D

Анатолий Бабеня

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

Использование BDD в разработке на Python

Владимир Шебуняев Владимир показал на примерах, как и зачем использовать BDD в Continuous Integration, какие есть преимущества и проблемы у этого подхода. Также он познакомил слушателей с инструментами Behave, Lettuce, pycukes, specloud, freshen, pyvows, pytest-bdd.

     04.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Видео

Мониторинг производительности приложения на Python с использованием pinba + graphite + tessera

Евгений Климов В своем докладе Евгений рассказал о том, как быстро понять, что приложение «тормозит», настроить детектор аномалий и alert на SMS. Также речь зашла об основных показателях, на которые необходимо обращать внимание при оценке производительности веб-приложений.

     03.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Статьи

Аннотации типов в Python,PEP 0484 и немного почтовых сервисов

Краткий обзор что привнес PEP 484 и что из этого можно приготовить

     02.11.2015       Выпуск 98 (02.11.2015 - 08.11.2015)       Конференции, события, встречи разработчиков

Python Meetup 25.09.2015: мониторинг производительности и использование BDD

Всем привет! С небольшой задержкой публикуем видео с сентябрьского Python Meetup. В этот раз, в рамках докладов мы обсудили: Мониторинг производительности веб-приложения на Python с использованием pinba + graphite + tessera ​Использование BDD в разработке на Python Также участники сообщества обсудили несколько актуальных Python'овских тем в рамках Lightning Talk. Записи всех выступлений вы найдете под катом.

     01.11.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Релизы

django-sitemessage 0.7.0 — Отправляем сообщения Telegram из Django

Вслед за torrt рассылать телеграммы научилось и django-sitemessage.

     30.10.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Колонка автора

Hardcore Python: Оптимизация на грани и за ней

Возможно, вы видели доклад Антона Патрушева про оптимизацию Python — вплоть до отключения Garbage Collector. Это свежий доклад (PyCon RU 2015) и в нём вы найдете развитие идей оптимизации Python

     29.10.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Колонка автора

Hardcore Python: Пишем свой интерпретатор

Говорят, что отличный результат для мужчины — построить дом, вырастить сына и посадить дерево. А если ты программист, то ещё написать свой язык программирования.

Сейчас уже нет чисто интерпретируемых языков, даже Python сначала компилируется в байт-код, а потом интерпретируется — исполняется. Но как это он делает?

Чтобы узнать магию внутренностей интерпретаторов предлагаю цикл статей Let’s Build A Simple Interpreter:

     29.10.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Колонка автора

Пишем web-проекты: Использование gevent для эмуляции высокой нагрузки

Обязательное действие перед выпуском более-менее серьёзного проекта — тестирование производительности. На высоконагруженных проектах нужно точно знать, какую нагрузку они могут выдержать, причём заранее. Следовательно, нужен способ эмуляции высокой конкурентности, желательно чтобы в теории он позволял полностью загрузить канал траффиком. К тому же, неплохо было бы, чтобы для этого не нужно было использовать несколько десятков серверов. В докладе будет рассказано об опыте использования gevent для подобной задачи, что позволило бы обойтись одним t1.micro инстансом, с которого выполняется тестирование.

     29.10.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Статьи

PyTest

По историческому призванию я SQL-щик. Однако судьба занесла меня на BigData и после этого понесла кривая — я освоил и Java, и Python, и функциональное программирование (изучение Scala стоит в списке). Собственно на одном из кусков проекта встала необходимость тестирования кода на Python. Ребята из QA посоветовали для этих целей PyTest, но даже они затруднились толком ответить чем этот зверь хорош. К сожалению, в русскоязычном сегменте информации по данному вопросу не так уж и много: как это используют в Yandex да и все по-хорошему. При этом описанное в этой статье выглядит достаточно сложно для человека начинающего путешествие по этой стезе. Не говоря уже об официальной документации — она приобрела для меня смысл лишь после того, как я разобрался с самим модулем по другим источникам. Не спорю, там написаны интересные вещи, но, к сожалению, совсем не для старта.

     31.10.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Релизы

PyPy 4.0.0

В отличие от прошлых выпусков, в версии PyPy 4.0 впервые наблюдается снижение производительности: новый выпуск в среднем на 1.5% медленнее прошлой версии PyPy, но по-прежнему в 7 раз быстрее классического CPython 2.7.