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

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

     29.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Релизы

pytest-stub 0.1.0 - плагин для подмены пакетов, модулей, атрибутов

О новом подключаемом расширении для pytest, позволяющем подменять различные сущности в зависимостях.

     28.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

[Перевод] Обучение с подкреплением на языке Python

В последней публикации уходящего года мы хотели упомянуть о Reinforcement Learning — теме, книгу на которую мы уже переводим.

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

     28.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Замер скорости вариантов форматирования строк

Сейчас мы узнаем, какой из вариантов форматирования строк работает быстрее остальных.

     28.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Без ансамбля

Решили мы однажды заняться автоматизацией наших рутинных рабочих моментов. Создать у себя ансамбль(ansible) или что-нибудь в этом роде. Я полез на сайт ансамбля, посмотрел как он работает … подключается к удаленному серверу через ssh и выполняет какие-то там скрипты... Стоп, подумал я, разве для этого нужен ансамбль? Я и без ансамбля, сам ..., один… могу это сделать! А чтобы не только лишь я это мог, решил написать вэб приложение. Приложение назвали Update Server, сокращенно UpS.

     27.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Коротко о работе с RabbitMQ из Python

Так повелось, что в процессе работы в МегаФоне, приходится сталкиваться с однотипными задачами при работе с RabbitMQ. Закономерно возникает вопрос: «Как упростить и автоматизировать выполнение таких задач?»

 

Первое решение, которое приходит в голову, использовать интерфейс HTTP, и, безусловно, из коробки RabbitMQ обладает хорошим веб-интерфейсом и HTTP API. Тем не менее, использование HTTP API не всегда удобно, а иногда и вообще невозможно (допустим у вас недостаточно прав доступа, а опубликовать сообщение ну очень хочется) в такие моменты возникает необходимость работы именно по протоколу AMQP

     26.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Intel OpenVINO на Raspberry Pi: урожай 2018 года

Писать про программирование можно не только прозой, но и стихами. Последнее, конечно, случается не часто — скажем, в блоге Intel такое бывало чуть менее, чем никогда. Однако в порядке эксперимента сегодня мы решили позволить себе; как это получилось — решать вам. Итак...

     26.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Нагрузочное тестирование с locust. Часть 3

Финальная статья об инструменте для нагрузочного тестирования Locust. Сегодня поделюсь наблюдениями, которые накопил в процессе работы. Как всегда, видео прилагается.

     25.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

[Перевод] Создание модели распознавания лиц с использованием глубокого обучения на языке Python

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

Одна из таких технологий — распознавание лиц. При правильном и этичном использовании эта технология может применяться во многих сферах жизни.

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

     25.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Mixture Density Networks

Давайте поговорим о, как вы уже наверное смогли догадаться, нейронных сетях и машинном обучении. Из названия понятно, что будет рассказано о Mixture Density Networks, далее просто MDN, переводить название не хочу и оставлю как есть. Да, да, да… будет немного скучной математики и теории вероятности, но без неё, к сожалению, или к счастью, тут уж сами решайте, трудно представить мир машинного обучения. Но спешу вас успокоить, ее будет относительно мало и она будет не сильно сложная. Да и вообще ее можно будет пропустить, а просто посмотреть на небольшое количество кода на Python и PyTorch, все верно, сеть мы будем писать с помощью PyTorch, а так же на различные графики с результатами. Но самое главное то, что будет возможность немного разобраться и понять что же такое MD сети.

     25.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Предсказываем время решения тикета с помощью машинного обучения

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

Под катом я расскажу о том, как проводил анализ и обучал ML модели, предсказывающие время решения оформляемых в нашу команду тикетов.

     24.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи

Я у мамы алготрейдер: ищем бес&платные фреймворки для тестирования гипотез и запуска в боевом режиме (Python)

Допустим, вы имели какое-то отношение к фондовому рынку раньше. Или, не имея такового, увлеклись горячей (но в последние месяцы уже заметно похолодевшей....) темой криптовалют. Также предположим, что вы пошли еще дальше и решили, что «ручное управление» полетами уже неэффективно и надо бы автоматизировать свои светлые идеи и превратить мартышкин труд в нечто более технологичное. Ровно на этом моменте начинаются вопросы, которые я хотел бы обсудить в статье, а именно: есть ли готовое решение для бэктестинга торговых идей (бесплатное желательно), где взять исторические данные (в идеале бесплатно), а также что с этим всем потом делать, т.е. какие существуют решения для боевого запуска автоматизированных торговых систем, успешно проверенных на бэктесте? Примечание первое и второе: статья написана для Python-based библиотек и систем, как дела с доступностью для других языков судить не могу; в приоритете — зарубежные рынки и/или криптовалюты, относительно применимости к фондовому рынку РФ судить также не берусь.

     23.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

[Перевод] Годные туториалы на YouTube

На YouTube много бесплатных обучающих и курсов и туториалов.

     22.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Видео

Python Junior подкаст. Про женщин в IT

В гостях у подкаста Ксения Сухова, датасайентист из ДомКлик. Мы поговорили с Ксенией о карьере женщин в IT и связанных с этим проблемах.

     21.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Машинное обучение на Python-е с интерактивными Jupyter демонстрациями

Недавно я запустил репозиторий Homemade Machine Learning, который содержит примеры популярных алгоритмов и подходов машинного обучения, таких как линейная регрессия, логистическая регрессия, метод K-средних и нейронная сеть (многослойный перцептрон). Каждый алгоритм содержит интерактивные демо-странички, запускаемые в Jupyter NBViewer-e или Binder-e. Таким образом у каждого желающего есть возможность изменить тренировочные данные, параметры обучения и сразу же увидеть результат обучения, визуализации и прогнозирования модели у себя в браузере без установки Jupyter-а локально.

     21.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

История одного эксперимента с Cython и C++ vector

Одним холодным зимним вечером, хотелось согреться в офисе и проверить теорию одного коллеги, что C++ vector мог бы быстрее справиться с задачей, чем CPython list.
В компании мы разрабатываем продукты на базе Django и случилось так, что нужно было обработать один большой массив словарей. Коллега предположил, что реализация на C++ была бы гораздо быстрее, а меня не покидало чувство, что Гвидо и сообщество наверное немного круче нас в Си и возможно уже решили и обошли все подводные камни, реализовав всё гораздо быстрее.
Для проверки теории, я решил написать небольшой тестовый файл, в котором решил прогнать в цикле вставку 1М словарей одинакового содержания в массив и в vector 100 раз подряд.
Результаты хоть и были ожидаемые, но так же и внезапные.

     19.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Модульное тестирование и Python

Поделюсь нашим опытом проведения модульного тестирования. Статья состоит из трёх частей: в первой расскажу, чего мы вообще добиваемся с помощью модульного тестирования; во второй части описаны принципы, которым мы следуем; а из третьей части вы узнаете, как упомянутые принципы реализованы на Python.

     19.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Pylint изнутри. Как он это делает

Разные помощники в написании классного кода нас просто окружают, линтеры, тайпчекеры, утилиты для поиска уязвимостей, всё с нами. Мы привыкли и используем не вдаваясь в детали, как «черный ящик». Например, мало кто разбирается в принципах работы Pylint — одного из таких незаменимых инструментов для оптимизации и улучшения кода на Python.

     19.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Без BDFL: кто теперь направит Python?

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

     18.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Видео

Что внутри у питона: откуда быть пошел async

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

     18.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Видео

Госуслуги в формате диалогов с чат-ботами. Real-time приложение с чат-ботами на Python

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