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

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

     05.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи

Про аналитику и серебряные пули или «При чем здесь Рамблер/топ100?»

Это лонгрид о том, как мы проектировали архитектуру обновлённого сервиса веб-аналитики, с какими сложностями столкнулись по пути и как с ними боролись. Если вам интересны такие базворды как ClickhouseAerospikeSpark, добро пожаловать под кат.

В прошлом году Рамблеру и Топ-100 исполнилось 20 лет – достаточно большой срок, за который на сервисе было несколько крупных обновлений и последнее из них случилось достаточно давно. Предыдущая версия Рамблер/топ-100 морально устарела, с точки зрения интерфейсов, кода и архитектуры. Планируя перезапуск, мы отдавали себе отчёт в том, что косметическим ремонтом не обойтись – нам надо было выстроить новый сервис практически с нуля.

     04.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи

Массивы в Python

Описание разных структур для массивов

     04.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи

Оптимизация производительности Django проектов (часть 2)

Это продолжение серии статей про оптимизацию Django приложений. Первая часть доступна здесь и рассказывает о профилировании и настройках Django. В этой части мы рассмотрим оптимизацию работы с БД (модели Django).

     03.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи
     03.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи
     03.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи
     03.07.2017       Выпуск 185 (03.07.2017 - 09.07.2017)       Статьи

Детектор машин для само-управляемой машины

Используем машинное обучение и компьютерное зрения для определения машин поблизости

     02.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи
     02.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Метод оптимизации Нелдера — Мида. Пример реализации на Python

Метод Нелдера — Мида — метод оптимизации (поиска минимума) функции от нескольких переменных. Простой и в тоже время эффективный метод, позволяющий оптимизировать функции без использования градиентов. Метод надежен и, как правило, показывает замечательные результаты, хотя и отсутствует теория сходимости. Используется по умолчанию в функции optimize из модуля scipy.optimize популярной библиотеки для языка python, которая используется для математических расчетов.

     02.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Как делать тесты производительности

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

     01.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Автоэнкодеры в Keras, Часть 6: VAE + GAN

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

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

В этой части попробуем взять лучшее от обоих подходов путем совмещения вариационных автоэнкодеров (VAE) и генеративных состязающихся сетей (GAN)

     01.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Интеграция 1С с DLL с помощью Python

Недавно я разработал алгоритм для логистики, и нужно было его куда-то пристроить. Помимо веб-сервиса решено было внедрить данный модуль в 1С, и тут появилось довольно много подводных камней. 

Начнем с того, что сам алгоритм представлен в виде dll библиотеки, у которой одна точка входа, принимающая JSON строку как параметр, и отдающая 2 колбэка. Первый для отображения статуса выполнения, другой для получения результата. С web-сервисом все довольно просто, у питона есть замечательный пакет ctypes, достаточно подгрузить нужную библиотеку и указать точку входа. 

     01.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Создание запускаемых файлов из скриптов на языке Python с помощью cx_Freeze

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

Python - интерпретируемый язык, а это значит, что если вы хотите распространять ваше приложение, то у пользователя должен быть установлен интерпретатор, на вход которого он должен подать исходные коды вашей программы. Если вы разрабатываете приложение под Linux или основная масса пользователей вашей программы - айтишники (программисты, админы и им сочувствующие), то требование установить интерпретатор Python скорее всего их не испугает. А вот заставлять устанавливать Python, а, возможно, еще и дополнительные библиотеки обычных пользователей - сомнительная идея.

     01.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Делаем data science-портфолио: история через данные

Data science-компании всё чаще смотрят портфолио, когда принимают решение о приёме на работу. Это, в  частности, из-за того, что лучший способ судить о практических навыках — именно портфолио. И хорошая новость в том, что оно полностью в вашем распоряжении: если постараетесь – сможете собрать отличное портфолио, которым будут впечатлены многие компании.

     01.07.2017       Выпуск 184 (26.06.2017 - 02.07.2017)       Статьи

Вероятностный и информационный анализ результатов измерений на Python

Нет более полезного инструмента для исследования, чем подтверждённая практикой теория.

Зачем нужна информационная теория измерений

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