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

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

     06.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

7 вредных советов проектировщику REST API Django

Адаптация статьи REST WORST PRACTICES, © Jacob Kaplan-Moss. Статья написана применительно к Django, но информация будет актуальна для широкого круга специалистов.

Думаю что лучший способ понять как нужно делать, изучить как делать НЕ нужно. Представляю вашему вниманию вредные советы проектировщикам REST API.

     05.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

Байесовские многорукие бандиты против A/B тестов

 У компании есть веб-сайт, на котором есть красная кнопка в форме прямоугольника с закругленными краями. Если пользователь нажимает на эту кнопку, то где-то в мире мурлычет от радости один котенок. Задача компании — максимизация мурлыкания. Также есть отдел маркетинга, который усердно исследует формы кнопок и то, как они влияют на конверсию показов в клико-мурлыкания. Потратив почти весь бюджет компании на уникальные исследования, отдел маркетинга разделился на четыре противоборствующие группировоки. У каждой группировки есть своя гениальная идея того, как должна выглядеть кнопка. В целом никто не против формы кнопки, но красный цвет раздражает всех маркетологов, и в итоге было предложено четыре альтернативных варианта. На самом деле, даже не так важно, какие именно это варианты, нас интересует тот вариант, который максимизирует мурлыкания. Маркетинг предлагает провести A/B/n-тест, но мы не согласны: и так на эти сомнительные исследования спущено денег немерено. Попробуем осчастливить как можно больше котят и сэкономить на трафике. Для оптимизации трафика, пущенного на тесты, мы будем использовать шайку многоруких байесовских бандитов (bayesian multi-armed bandits). Вперед.

     04.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

Модель колебательного звена с применением символьного и численного решений дифференциального уравнения на SymPy и NumPy

В статье использованы возможности пакета SymPy совместно с пакетом NumPy. Всё сводиться к преобразованию символьных выражений в функции способные работать с другими модулями Python.

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

Надеюсь, что подобные исследования колебательного звена на Python найдут своих сторонников.

     03.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

Открытый курс машинного обучения. Тема 6. Построение и отбор признаков

В рамках сегодняшней статьи хочется обзорно описать три похожих, но разных задачи:

  • feature extraction and feature engineering – превращение данных, специфических для предметной области, в понятные для модели векторы;
  • feature transformation – трансформация данных для повышения точности алгоритма;
  • feature selection – отсечение ненужных признаков.

Отдельно отмечу, что в этой статье почти не будет формул, зато будет относительно много кода.

     03.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

Спектральный анализ сигналов нелинейных звеньев АСУ на Python

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

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

     03.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

Украшаем жизнь с помощью gdb PrettyPrinting API

 

Что gdb можно как-то улучшать на питоне, знает каждый, кто хоть раз заглядывал в документацию. А кто хоть раз просматривал ее по диагонали, знает про такую штуку, как «Pretty Printers» — которые вроде позволяют gdb красиво печатать разные сложные структуры. Я документацию по диагонали просматривал, хотя особо и не вникал. Но однажды, набирая в очередной раз что-то вроде (все примеры из исходников MariaDB, которые я дебажу по много раз каждый божий день, иногда исключая выходные):
 

     02.04.2017       Выпуск 171 (27.03.2017 - 02.04.2017)       Статьи

Создаем бота для Skype. Шаг за шагом, через REST API и на Python

Год назад Microsoft представила платформу для создания ботов под Skype. Платформа предоставляет удобный формат сообщений, можно отправлять карточки с кнопками, как в телеграмме, одним словом, выглядит все очень круто. 

Недавно мне потребовалось написать бота для Skype. И несмотря на то, что тема подымалась на хабре ( например), я столкнулся с некоторыми сложностями, мне очень не хватало step-by-step гайда по работе с REST API. 

     31.03.2017       Выпуск 171 (27.03.2017 - 02.04.2017)       Статьи

Скачиваем историю переписки со всеми пользователями ВКонтакте с помощью Python

Для лингвистического исследования мне понадобился корпус прямой речи, порожденной одним человеком. Я решил, что для начала удобнее всего использовать собственную переписку в ВК. Это статья о том, как скачать все сообщения, которые Вы когда-либо отправляли своим друзьям, используя программу на Python и API ВКонтакте. Для работы с API будем использовать библиотеку vk.

     29.03.2017       Выпуск 171 (27.03.2017 - 02.04.2017)       Статьи

Запускаем простой блог на Wagtail CMS (Django) — часть 3, заключительная Django

Третью часть про Wagtail CMS я решил посветить тем моментам, которые помогли мне снова полюбить Django. Благодаря большому сообществу, которое развивает эту CMS, любой найдет в ней что-то для себя.

В заключительной части будут затронуты следующие моменты:

  • StreamField
  • API + React
  • Разработка для e-commerce

     27.03.2017       Выпуск 171 (27.03.2017 - 02.04.2017)       Статьи

Открытый курс машинного обучения. Тема 5. Композиции: бэггинг, случайный лес

Данное занятие мы посвятим простым методам композиции: бэггингу и случайному лесу. Вы узнаете, как можно получить распределение среднего по генеральной совокупности, если у нас есть информация только о небольшой ее части; посмотрим, как с помощью композиции алгоритмов уменьшить дисперсию, и таким образом улучшим точность модели; разберём, что такое случайный лес, какие его параметры нужно «подкручивать» и как найти самый важный признак. Сконцентрируемся на практике, добавив «щепотку» математики.

     27.03.2017       Выпуск 171 (27.03.2017 - 02.04.2017)       Статьи

Варим ML Boot Camp III: Starter Kit

16 марта закончилось соревнование по машинному обучению ML Boot Camp III. Я не настоящий сварщик, но, тем не менее, смог добиться 7го места в финальной таблице результатов. В данной статье я хотел бы поделиться тем, как начать участвовать в такого рода чемпионатах, на что стоит обратить внимание в первый раз при решении задачи, и рассказать о своем подходе.

     26.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Как я SQLAlchemy удобной сделал SQLAlchemy

Не секрет, что SQLAlchemy — самая популярная ORM на Python. Она позволяет писать куда более продвинутые вещи, чем большинство Active Record собратьев. Но плата за это — более сложный код, и в простых задачах вроде CRUD это напрягает.

О том, как я сделал Алхимию удобной, воспользовавшись опытом лучших Active Record ORM, читайте под катом.

     25.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Соревнование mlbootcamp от mail.ru, кратко о рецепте второго места

Добрый день, читатель! Данная статья расскажет о пути получения второго места на соревновании MLBootCamp III. Для тех, кто не в курсе — это соревнование по машинному обучению и анализу данных от Mail.Ru Group, проходило с 15 февраля по 15 марта.

В статье будет коротко про историю построения решения, немного советов про то, на чем набил шишек и благодарности) Итак, поехали. 

     24.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Нерегулярные ошибки в импортах

Сегодня я поделюсь очередной болью в поддержке проекта на 0.7 милионов строчек кода на Python'е. Кажется, с этим багом в разных формах мы сталкиваемся уже несколько лет, и он приводит в совершенное замешательство даже опытных разработчиков.

     23.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Предсказываем будущее с помощью библиотеки Facebook Prophet

Прогнозирование временных рядов — это достаточно популярная аналитическая задача. Прогнозы используются, например, для понимания, сколько серверов понадобится online-сервису через год, каков будет спрос на каждый товар в гипермаркете, или для постановки целей и оценки работы команды (для этого можно построить baseline прогноз и сравнить фактическое значение с прогнозируемым).

     23.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Переводы документации Python

О новом предложении по улучшению Питона.

     21.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Как получить координаты маршрута между двумя городами в Python

Представим, что нам нужно получить координаты маршрута между Винницей и Одессой. Для этого воспользуемся Google Directions API и модулем googlemaps.

     21.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Использование ArcGIS API for Python в Jupiter Notebook

 

Я работаю в департаменте Больших Данных, где занимаюсь разработкой высоконагруженных геоинформационных систем и сервисов на базе движков для распределенных вычислений. О высоких материях мы еще поговорим, а сегодня плавно начнем погружение в ГИС.

     20.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Обзор uniset2-testsuite — небольшого велосипеда для функционального тестирования. Часть 2

В первой части был обзор возможностей. А в этой части рассмотрим, какие уже реализованы интерфейсы тестирования и как добавить свой…

     20.03.2017       Выпуск 170 (20.03.2017 - 26.03.2017)       Статьи

Открытый курс машинного обучения. Тема 4. Линейные модели классификации и регрессии

Сегодня мы детально обсудим очень важный класс моделей машинного обучения – линейных.
Ключевое отличие нашей подачи материала от аналогичного в курсах эконометрики и статистики – это акцент на практическом применении линейных моделей в реальных задачах (хотя и математики тоже будет немало).