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

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

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

Внутри виртуальной машины Python. Часть 1

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

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

MASK-RCNN для поиска крыш по снимкам с беспилотников

Все чаще можно слышать про планы правительства провести полную инвентаризацию объектов недвижимости с целью уточнения кадастровых данных. Для первичного решения этой задачи можно применить простой способ, основанный на расчете площади крыш капитальных строений по аэрофотоснимкам и дальнейшее сопоставление с кадастровыми данными. К сожалению, ручной поиск и расчет занимает много времени, а поскольку новые дома сносятся и строятся непрерывно, то расчет требуется повторять снова и снова. Сразу возникает гипотеза, что этот процесс можно автоматизировать с помощью  алгоритмов машинного обучения, в частности, Computer Vision. В этой статье я расскажу о том, как мы в «НОРБИТ» решали эту задачу и с какими сложностями столкнулись.

     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)       Статьи
     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)       Вопросы и обсуждения
     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)       Статьи
     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. Также может быть использовано и в ряде других задач.