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

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

     02.06.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Видео

Moscow Python Podcast. Проблемы пакетных экосистем в Python (level: middle / senior)

Как развивалось пакетирование в Python, что в нём на текущий момент оставляет желать лучшего, какие системы для управления зависимостями актуальны и в какую сторону они развиваются?

     01.06.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Три неочевидных примера использования шаблонизаторов в backend-е

С одной стороны, предмет действительно был квадратным. C другой стороны он был круглым. Но с третьей стороны, с которой должен быть треугольник, предмет вышел кривой и косой.

 

— Алешенька идет на совещанку? — в дверь просунулась Леночкина заинтересованная физиономия.
— Алешенька на совещанку не идет. Алешенька пишет статью.
— О кубиках?
— Каких еще кубиках? — я опустил глаза, в руках и правда был злосчастный кубик. То есть шарик. То есть ромбик.
— Не о кубиках! И не о шариках. О шаблонах.
— Я им так и скажу! Шаблон, ах. — Леночка уже бежала дальше по коридору.

"О шаблонах. Даже о трех разных шаблонах". Точнее, о трех причинах использовать шаблоны в серверном коде. И ни одна из этих причин не будет про HTML.

     01.06.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

ARA: алгоритм для нахождения максимального числа точек на прямой линии

Недавно мне попалась классическая задачка для собеседований: поиск максимального числа точек, стоящих на прямой линии (на плоскости, координаты целочисленные). В голову сразу пришла идея полного перебора, которая имеет очевидную сложность по времени в O(n^2), но мне показалось, что здесь обязано быть что-то ещё, хоть какая-то альтернатива в O(n*log(n)). Через полчаса нашлось даже нечто лучшее!

     31.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Озвучивание прошлого. Руководство для историков по преобразованию данных в звук

Богатая литература по археоакустике и звуковым ландшафтам помогает воссоздать звук места, каким он был (например, см. Виртуальный Собор Святого Павла или работу Джеффа Вейча по древней Остии). Но мне интересно «озвучить» сами данные. Я хочу определить синтаксис для представления данных в виде звука, чтобы эти алгоритмы можно было использовать в исторической науке. Друкер сказал знаменитую фразу, что «данные» — это на самом деле не то, что дано, а скорее то, что захвачено, трансформировано, то есть 'capta'. При озвучивании данных я буквально воспроизвожу прошлое в настоящем. Поэтому на передний план выходят допущения и преобразования этих данных. Полученные звуки являются «деформированным исполнением», которое заставляет по-новому услышать современные пласты истории.

     31.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Машинное обучение на максимальной скорости: система Predictive Maintenance за четыре месяца

Около полугода наша команда работает над Predictive Maintenance Platform — системой, которая должна предсказывать возможные ошибки и поломки оборудования. Это направление стоит на стыке IoT и Machine Learning, работать здесь приходится и с железом и, собственно, с программным обеспечением. О том, как мы строим Serverless ML с библиотекой Scikit-learn на AWS, и пойдет речь в этой статье. Я расскажу о сложностях, с которыми мы столкнулись, и об инструментах, используя которые, сэкономили время.

     31.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Почему каждый Data Scientist должен знать Dask

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

Dask – без преувеличения наиболее революционный инструмент для обработки данных, который мне попадался. Если вам нравятся Pandas и Numpy, но иногда вам не удается справиться с данными, не умещающимися в RAM, то Dask – именно то, что вам нужно.

     30.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Кастомизация Django ORM на примере ZomboDB

Часто при работе с Django и PostgreSQL возникает необходимость в дополнительных расширениях для базы данных. И если например с hstore или PostGIS (благодаря GeoDjango) всё достаточно удобно, то c более редкими расширениями — вроде pgRouting, ZomboDB и пр. — приходится либо писать на RawSQL, либо кастомизировать Django ORM. Чем я предлагаю, в данной статье, и заняться, используя в качестве примера ZomboDB и его getting started tutorial. И заодно рассмотрим как можно подключить ZomboDB к проекту на Django.

     30.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи
     29.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Асинхронная библиотека для работы с API Mikrotik

Недавно мне понадобилось поработать с Mikrotik через его API. Вроде бы ничего примечательного, есть официальная библиотека, есть еще на гитхабе обёртка, но вот беда — мне надо было работать асинхронно через asyncio и использованием плюшек async/await. И такой библиотеки я не нашел.

     29.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Говорят, выучить Python и стать программистом легко. Правда?

Работать в ИТ — круто, но путь в индустрию может быть совсем не таким, как описывают родители или преподаватели в школе. На биржах труда ищут мобильных разработчиков, девопсов, бэкендеров и фронтендеров, но где эти профессии в списках специальностей классических вузов?

     29.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Почему вам следует использовать pathlib

Когда я открыл для себя тогда еще новый модуль pathlib несколько лет назад, я по простоте душевной решил, что это всего лишь слегка неуклюжая объектно-ориентированная версия модуля os.path. Я ошибался. pathlib на самом деле чудесен!

 

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

     28.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Впечатления от PyCon US 2019

О впечатлениях от программы и выступлений на PyCon US 2019

     27.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Статьи

Логирование в Python

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

     27.05.2019       Выпуск 284 (27.05.2019 - 02.06.2019)       Новости

Pythonhoted.org ошибочно заблокирован Роскомнадзором

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

 

     26.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Видео

Moscow Python Podcast. Как войти в разработку за считанные месяцы (level: junior)

Как джуниору сориентироваться в хитросплетениях IT-индустрии? Какая мотивация лучше всего помогает начинающему программисту не капитулировать перед первыми трудностями? Как эффективнее искать вакансии — через рекрутинговые сервисы или через знакомых? Как пробиваться через «HR-заслон» в компанию мечты?

     26.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Статьи

Перенос стиля

Перенос стиля это процесс преобразования стиля исходного к стилю выбранного изображения и опирается на Сверточный тип сети (CNN), при этом заранее обученной, поэтому многое будет зависеть от выбора данной обученной сети. Благо такие сети есть и выбирать есть из чего, но здесь будет применяться VGG-16.

     24.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Статьи

Восстановление данных с XtraDB таблиц без файла структуры, используя побайтовый анализ ibd файла

Так произошло, что сервер был атакован вирусом шифровальщиком, который по "счастливой случайности", частично отставил нетронутыми файлы .ibd (файлы сырых данных innodb таблиц), но при этом полностью зашифровал файлы .fpm (файлы структур). При этом .idb можно было поделить на:

 

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

     24.05.2019       Выпуск 283 (20.05.2019 - 26.05.2019)       Статьи

Классификация покрова земли при помощи eo-learn. Часть 3

Прошлые пару недель были весьма непростыми. Мы опубликовали первую и вторую части наших статей по поводу классификации покрова в масштабе целой страны при помощи фреймворка eo-learn. eo-learn — это библиотека с открытым исходным кодом для создания прослойки между получением и обработкой снимков со спутников и машинного обучения. В предыдущих статьях в примерах мы указывали только маленькое подмножество данных и показывали результаты лишь на малом проценте всей зоны интереса (AOI — area of interest). Знаю, это выглядит по меньшей мере не слишком впечатляюще, а возможно — весьма грубо с нашей стороны. Всё это время вас мучили вопросы, как можно использовать эти знания и перенести их на следующий уровень.