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

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

     12.05.2020       Выпуск 334 (11.05.2020 - 17.05.2020)       Статьи

Повторяем когортный анализ, выполненный в Power BI, силами Python

Поводом для написания данной публикации послужил вебинар, который я посмотрел на Youtube. Он был посвящен когортному анализу продаж. Автор использовал для работы с данными платформу Power BI Desktop. Ссылку на указанное видео приводить не буду, чтобы эта статья не была расценена как реклама, но по ходу повествования постараюсь делать спойлеры к первоисточнику, чтобы лучше объяснять логику собственного решения. Данный вебинар натолкнул меня на идею, что интересно было бы повторить возможности формул DAХ функциями библиотеки Pandas.

     12.05.2020       Выпуск 334 (11.05.2020 - 17.05.2020)       Статьи

Визуализация сетевых топологий, или зачем еще сетевому инженеру Python #2

Эта статья написана по мотивам решения задания на недавно прошедшем онлайн-марафоне DevNet от Cisco. Участникам предлагалось автоматизировать анализ и визуализацию произвольной сетевой топологии и, опционально, происходящих в ней изменений.

 

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

     11.05.2020       Выпуск 334 (11.05.2020 - 17.05.2020)       Статьи

Настройка Debian, Nginx и Gunicorn для Django проекта

Была задача поднять свой Debian сервер на Nginx для проектов Django 3.х. Перерыв кучу информации в интернете, удалось это сделать соединив рекомендации с нескольких разных сайтов. Если вам интересно почитать, как настроить свой первый сервер для Django-проекта, то — добро пожаловать.

     11.05.2020       Выпуск 334 (11.05.2020 - 17.05.2020)       Статьи

Apple TimeCapsule/AirPort Extreme. Root доступ и побег из привязанного региона

Наверняка многие владельцы сетевых устройств Apple, которые читают эту статью, таких как TimeCapsule или Airport Extreme, рано или поздно задумывались почему у купленных в России устройств нет поддержки beamforming и максимальная ширина канала 40МГц? И как следствие максимальная скорость приема и передачи данных – 600 Мбит/с (вместо заявленных 1300 Мбит/с).

     10.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Домашний кластер на Dask

Я недавно проводил исследование, в рамках которого было необходимо обработать несколько сотен тысяч наборов входных данных. Для каждого набора — провести некоторые расчеты, результаты всех расчетов собрать вместе и выбрать "лучший" по некоторым критериям. По сути это bruteforce перебор. Тоже самое происходит при подборе параметров ML моделей с помощью GridSearch.

 

Однако, с некоторого момента размер вычислений может стать для одного компьютера великоват, даже если запускать ее в несколько процессов с помощью joblib. Или, если сказать точнее, он становится слишком долгим для нетерпеливого экспериментатора.

     10.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Groupby aggregation в pandas

Агрегация является одной из самых частых операций при анализе данных. Разные технологии предлагают нам кучу способов эффективно группировать и агрегировать интересующие нас поля(столбцы, признаки). В этой статье будет рассказано про реализацию агрегации в pandas.
По своей специализации я очень мало работаю с python, но часто слышу про плюсы и мощь этого языка, в особенности когда речь заходит про работу с данными. Поэтому я проведу здесь параллель операций с T-SQL и приведу некотрые примеры кода. В качестве данных я буду использовать наверное самый популярный data set — Ирисы Фишера.

     09.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Django. Как создать полиморфную систему динамических виджетов

Пример архитектурного решения для создания динамических виджетов сайта на Django. Также может быть использовано и в ряде других задач.

     08.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Простейший тренажер английских слов с использованием Питона и Балаболки

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

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

     08.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Отложенные ретраи силами RabbitMQ

В этой статье я хочу поделиться с вами «рецептом», который позволил нам реализовать отложенные ретраи при использовании брокера сообщений RabbitMQ

     08.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Python: Работа с базой данных, часть 2/2: Используем ORM

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

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

     07.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Материальный Python. Что нового в библиотеке KivyMD

Не так давно уже писали о Python в Mobile development и разработке мобильных приложений на Python с помощью библиотек Kivy и KivyMD. Эта статья продолжит знакомить вас с кроссплатформенными Python инструментами, а конкретно сегодня мы рассмотрим новинки, которые появились в библиотеке KivyMD за последнее время.

     07.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Князь сказал или где была война. Мой опыт исследования «Войны и мир»

Роман-эпопею Льва Николаевича Толстого «Война и мир» я так и не прочитал до сих — в школе было не интересно из-за «словоблудия» автора, а с возрастом как-то нет времени взяться за такой объемный труд.

Однако решил, что изучить стоит…

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Интерактивные эксперименты с машинным обучением (на TensorFlow)

Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере.

 

Несмотря на то, что машинные модели в репозитории могут быть немного "туповатенькими" (помните, это всего-лишь эксперименты, а не вылизанный код, готовый к "заливке на продакшн" и дальнейшему управлению новыми Tesla)

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Видео

Moscow Python Podcast. Удаленная работа. Взгляд со стороны техдира (level: All)

В гостях у Moscow Python Podcast Илья Лебедев, технический директор компании BestDoctor и евангелист Moscow Python. Обсудили как безболезненно перейти на удаленную работу и о инструментах организации процессов.

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Визуальный отладчик для Jupyter

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

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

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Работа с базой данных во Flask: от джуна джуну

Написать данную статью меня побудило желание помочь таким же новичкам в Python в целом и в работе с Flask в частности, как я сам. Во время работы над задачей целостного и понятного объяснения в том стиле, как любим мы, новички, не нашел. Приходилось информацию искать по крупицам. Каких-то картинок не будет. Сугубо техническая статья. Опытным людям буду благодарен за комментарии и за подсказки по улучшению кода.

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Обзор Python 3.9

Недавно в сети стала доступна для установки альфа-версия Python 3.9. Релиз планируется на октябрь 2020 года, но уже сейчас можно взглянуть, а что же он нам новенького готовит.

     06.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

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

Продолжаем отбирать публикации, которые помогают снизить порог входа в сферу ML. Как и прежде, здесь в первую очередь собраны инструменты с открытым исходным кодом, предобученные модели и высокоуровневые API.

     05.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Простая космическая симуляция с помощью Python и Box2D

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

Рискну ошибиться, но это первое описание Box2D для Python на Хабре, восполним этот пробел.

     05.05.2020       Выпуск 333 (04.05.2020 - 10.05.2020)       Статьи

Django. Добавление счётчиков к моделям в административной панели Django

Заметка о добавлении счетчиков к моделям в административной панели Django