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

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

     20.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Программисты-сантехники, или история об одной утечке и сложностях борьбы с ней

Шел вторник, 25 февраля. Непростой выпуск версии в субботу, 22 февраля, был уже в прошлом. Казалось, что все худшее позади, и ничто не предвещало беды. Но все изменилось в один момент, когда от мониторинга пришла ошибка об утечке памяти на процессе-координаторе сервиса контроля доступа.

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

     20.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Прекратите называть ваши Python модули “utils”

Перевод статьи: Stop naming your python modules “utils”

Представьте себе следующую типичную ситуацию: разработчик, который либо добавляет новый код, либо реорганизует существующий, работая с каким нибудь новым классом или функцией. Ему нужно решать где разместит этот код, но он функционально не подходит к уже существующим модулям. И что же обычно делает разработчик в этой ситуации? Он создает новый модуль – utils.py.

     20.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи

Сохраните в закладках эту статью, если вы новичок в Python (особенно если изучаете Python сами)

Представляю вашему вниманию перевод статьи "Bookmark this if you are new to Python (especially if you self-learn Python)" в двух частях (1, 2) c простыми, но полезными советами и трюками в Python.

     20.04.2020       Выпуск 331 (20.04.2020 - 26.04.2020)       Статьи
     19.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Строим города по клику мыши с Houdini и Python

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

Эта статья как раз про подобное. Автор придумал метод постройки виртуальных городов, который в перспективе хочет превратить в полноценный инструмент левел-дизайнера.

В этом материале я разберу базовую настройку инструмента City Builder в Houdini, который может строить города простыми кликами мышью. Обратите внимание, что он работает только внутри Houdini с использованием Python Viewer States.

     19.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

PyDERASN: как я добавил big-data поддержку

Продолжаю прошлую статью о PyDERASN — свободном ASN.1 DER/CER/BER кодеке на Python. За прошедший год, с момента её написания, кроме всяких мелочей, небольших исправлений, ещё более строгой проверки данных (хотя и прежде он был уже самым строгим из известных мне свободных кодеков), в этой библиотеке появился функционал для работы с большими объёмами данных — не влезающих в оперативную память. Об этом и хочу рассказать в данной статье.

     19.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Пробуждение спящего института: как мы убираем ходунки у Python в REAPER

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

 

Однако, сегодня нежданно вырвался из локдауна ментейнер героя сегодняшнего обзора, и, буквально несколько часов назад в PyPi ушел reapy v0.6.0. Под катом — последний changelog, и мне особенно приятно, что в той или иной степени я поучаствовал в появлении каждой его строчки.

Итак: зачем нужен reapy, и что происходит с Python в REAPER.

     18.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio

Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию модема с помощью OFDM и GNU Radio.

Данные мы будем передавать по воздуху, в прямом смысле этого слова — для приема и передачи будет достаточно динамика и микрофона.

Для тех, кому интересно как это работает, продолжение под катом.

     18.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Как извлечь текст из PDF

Список библиотек

     19.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Представляем PyCaret: открытую low-code библиотеку машинного обучения на Python

Рады представить вам PyCaret – библиотеку машинного обучения с открытым исходным кодом на Python для обучения и развертывания моделей с учителем и без учителя в low-code среде. PyCaret позволит вам пройти путь от подготовки данных до развертывания модели за несколько секунд в той notebook-среде, которую вы выберете.

По сравнению с другими открытыми библиотеками машинного обучения, PyCaret – это low-code альтернатива, которая поможет заменить сотни строк кода всего парой слов. Скорость проведения более эффективных экспериментов возрастет экспоненциально. PyCaret – это, по сути, оболочка Python над несколькими библиотеками машинного обучения, такими как scikit-learn, XGBoost, Microsoft LightGBM, spaCy и многими другими.

     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи
     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Dissecting a Web stack

An in-depth review of the components of a (Python) web stack, and the reasons behind each part of it

     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Множественное наследование и mixin классы

Подробный обзор инструментов

     17.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

Как убить на мелкий скрипт кучу времени или история одного пулл-реквеста

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

 

Понадобилось мне дублировать информацию из markdown-заметок в телеграм-канал. Казалось быть, что тут рассусоливать — Ctrl+C и Ctrl+V в помощь. Однако выяснился маленький нюанс: markdown в телеге не совсем полноценный и ссылки в таком формате [text](http://example.com) клиент не поддерживает. Ладно, подумал я, попробуем что-то с этим сделать.

     16.04.2020       Выпуск 330 (13.04.2020 - 19.04.2020)       Статьи

«Как зеницу ока...» или делаем простенькую охранную систему на базе микроконтроллера (Сanny или Arduino) и Raspberry PI

Во время подготовки статьи, про распознавание микроконтроллеров с помощью TensorFlow и OpenCV мне одновременно на глаза попались Craftduino, Canny 3 tiny и Raspberry PI, после чего я решил, что будет здорово еще раз объединить их в одной статье. Я долго думал, о чем писать, а потом стыдно признаться, вспомнил, что я здоровый дядька, а еще ни разу не подключал ничего по UART. «В жизни надо попробовать всё» — подумал я. Но писать только про подключение к UART скучно, поэтому незамедлительно были заказаны всякие «игрушки», среди которых были новенькая Arduino, и пара датчиков.

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