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

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

     16.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

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

Недавно я очень удивился, когда обнаружил, что

 

>>> pow(3,89)

работает медленнее, чем

>>> 3**89

Я пытался придумать какое-либо приемлемое объяснение, но не смог. Я засек время выполнения этих двух выражений, используя модуль timeit из Python 3:

     15.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Сравнение BDD фреймворков Python: плюсы и минусы

Почти все основные языки программирования имеют фреймворки для BDD тестирования, и Python не исключение. И по факту, у него их несколько! Итак, как их сравнить и какой из них лучший? Попробуем разобраться.

     15.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Нейросети и глубокое обучение, глава 3, ч.2: почему регуляризация помогает уменьшать переобучение?

Эмпирически мы увидели, что регуляризация помогает уменьшать переобучение. Это вдохновляет – но, к сожалению, не очевидно, почему регуляризация помогает. Обычно люди объясняют это как-то так: в каком-то смысле, менее крупные веса имеют меньшую сложность, что обеспечивает более простое и действенное объяснение данных, поэтому им надо отдавать предпочтение. Однако это слишком краткое объяснение, а некоторые его части могут показаться сомнительными или загадочными. Давайте-ка развернём эту историю и изучим её критическим взглядом.

     14.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Пример простой нейросети, как результат разобраться что к чему

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

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

Можно прочитать лирическую предысторию, разворачивая текст, а можно это пропустить и перейти непосредственно к описанию нейросети.

     13.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Визуализация столбца из DataFrame с помощью библиотеки Seaborn

Попробуем визуализировать данные по рекламным кампаниям, которые храняться в DataFrame.

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Настройка Django Settings: лучшие практики

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

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Подчеркивание в Python

Недавно мне довелось послушать доклад о хороших и плохих практиках программирования на языке Си. В нем, в частности, была затронута тема расшифровки забавно выглядящего программного кода (смайликов в Си). После чего последовал спор о целесообразности использования такого запутанного кода для проверки навыков кандидата на должность программиста при собеседованиях. Спор не привел к единому мнению.

Рассмотрим возможный вопрос по смайликам при собеседовании на должность, подразумевающую знание языка программирования Python.

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Мелкая питонячая радость #7: три штуки по цене одной — консольная анимация, алгоритмы и отладка

На этой неделе достаточно крупных малких радостей не нашлось, зато нашлись 3 совсем мелкие мелкие радости.

     10.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Объяснение задачи на Python с собеседования

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

     10.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Прогнозирование результатов футбольных матчей

Модель машинного обучения на Python c использованием библиотеки Scikit-learn, для прогнозирования результатов футбольных матчей Российской Премьер Лиги (РПЛ).

     09.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Как студенты из Перми попали в финал международного чемпионата по анализу данных Data Mining Cup 2019

В этой статье я расскажу о нашем опыте участия в соревновании по анализу данных Data Mining Cup 2019 (DMC) и о том, как нам удалось войти в ТОП-10 команд и принять участие в очном финале чемпионата в Берлине.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

XLNet против BERT

В конце июня коллектив из Carnegie Mellon University показал нам XLNet, сразу выложив публикацию, код и готовую модель (XLNet-Large, Cased: 24-layer, 1024-hidden, 16-heads). Это предобученная модель для решения разных задач обработки естественного языка.

В публикации они сразу же обозначили сравнение своей модели с гугловым BERT-ом. Они пишут, что XLNet превосходит BERT в большом количестве задач. И показывает в 18 задачах state-of-the-art результаты.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Внедрение Airflow для управления Spark-джобами в ivi: надежды и костыли

Задача деплоя моделей машинного обучения в продакшн — это всегда боль и страдания, потому что очень некомфортно вылезать из уютного jupyter notebook в мир мониторинга и отказоустойчивости.

Мы уже писали про первую итерацию рефакторинга рекомендательной системы онлайн-кинотеатра ivi. За прошедший год мы почти не дорабатывали архитектуру приложения (из глобального — только перезд с устаревших python 2.7 и python 3.4 на «свежий» python 3.6), зато добавили несколько новых ML моделей и сразу столкнулись с проблемой выкатывания новых алгоритмов в продакшн. В статье я расскажу про наш опыт внедрения такого инструмента управления потоками выполнения задач как Apache Airflow: почему у команды возникла эта необходимость, чем не устраивало существующее решение, какие костыли пришлось запилить по дороге и что из этого получилось.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Нейросети и глубокое обучение, глава 3, ч.1: улучшение способа обучения нейросетей

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

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Заполняем документы в Microsoft Word при помощи Python. Часть 2

В предыдущем посте было рассмотрено как заполнить запрос в word с помощью python. В этот раз будет продемонстрировано как заполнить сразу несколько word документов данными из таблицы excel.

Перед тем как работать с программой, нам необходимо подготовить файл excel, где будут содержаться исходные данные.

     08.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Linux-разработка в Windows с WSL и Visual Studio Code Remote

Работа с VS Code Remote и Windows Subsystem for Linux (WSL) дает возможность использовать полнофункциональную среду разработки Linux на ноутбуке или десктопе с предустановленной Windows. В этом материале рассмотрим то, как использовать эти инструменты для разработки приложений на Python в Linux.

     07.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Пишем бот для рыбалки в игре Albion Online на языке Python

Являюсь счастливым пользователем операционной системы GNU/Linux.И как многим известно, игрушек идущих на линукс без дополнительных танцев с бубном намного меньше чем в «Винде».

И еще меньше игр в жанре MMORPG.

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

     06.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Обзор Python 3.8

Релиз Python 3.8 намечен на октябрь 2019 года, но уже сейчас у каждого есть возможность пощупать набор новых фишек языка. Пока пишу этот пост, на официальном сайте доступна версия python 3.8b2.

Итак, что же нам готовит релиз грядущий?