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

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

     25.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Решение задачи определения RUL трансформаторов с помощью машинного обучения на python

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

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Как можно компилировать типизированный Python

Прошло уже целых 9 лет с тех пор, как состоялся документ PEP 484, в котором сообществу Python были ниспосланы типы. Многих это сильно разозлило, и в широких массах этот ход осуждался (1). С тех пор жители Интернета неоднократно заявляли, что стремятся выяснить: в самом ли деле это означает, что теперь можно компилировать Python в нативный код и таким образом его ускорять? Вопрос совершенно оправданный. Он возник у меня на самом раннем этапе моих разработок, касающихся Python-компиляторов. Итак, осуществимо ли это?

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Вскрываем средство для DDoS-атак на российскую ИТ-инфраструктуру

В начале апреля 2023 года на одном из хостов был обнаружен подозрительный файл mhddos_proxy_linux_arm64 (MD5: 9e39f69350ad6599420bbd66e2715fcb), загружаемый вместе с определенным Docker-контейнером. По открытым источникам стало понятно, что данный файл представляет из себя свободно распространяемый инструмент для осуществления распределённой атаки на отказ в обслуживании (DDoS), направленный против российской ИТ-инфраструктуры.

     23.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Умный дом с голосовым ассистентом на минималках

Небольшой лонгрид с предысторией и планами, чтобы лучше понимать почему, что и как получилось.Разработка шла с переменной скоростью в течении лет 5. Совсем не сразу взялся за летопись, поэтому прошу прощения, если что-то будет некорректно ;)В результате имеем масштабируемое решение, которое можно использовать в любом месте (квартира, дом или еще что).

     21.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Что такое SpeedTab и как им пользоватся

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

     21.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Вопросы и обсуждения

Python Bytes: #341 Shhh - For Secrets and Shells

Очередной выпуск англоязычного подкаста Python Bytes

     21.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

О генерации скобочных последовательностей

Эта коротенькая заметка посвящена симпатичной задачке генерации в лексикографическом порядке всех правильных скобочных последовательностей. Её нередко включают в список задач для подготовки к собеседованию (например, здесь).

     20.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Типизация в Python. Работа с Mypy, PyCharm и SQLAlchemy 2.0

На митапе «Типичный Python» поделились своим опытом, послушали коллегу из МТС Digital, а также ответили на вопросы участников. Приводим краткий обзор трех докладов: разбираем работу со средой разработки PyCharm, статическим анализатором Mypy и программной библиотекой SQLAlchemy 2.0.

     19.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Суперклей ABI, или Как применять C++ где угодно

Время от времени я сталкиваюсь с понятием «двоичный», он же «бинарный» интерфейс приложений, или просто ABI (application binary interface). Все найденные мной материалы на эту тему были либо очень скудны, либо вели к многостраничным эпопеям, которые напоминали сборную солянку из описания, например, архитектуры процессора x86, сдобренную стандартом С++.

     19.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Полнотекстовый поиск в PostgreSQL с SQLAlchemy

В прошлой статье я  писал о том, как реализовать end-to-end тестирование telegram-бота. А сегодня расскажу о том, как реализовать полнотекстовый поиск в Postgres посредством SQLAlchemy и как его проиндексировать. Вы узнаете, как подготовить файл миграции для alembic. В конце статьи я приведу ссылку на небольшой репозиторий, где реализовал сервис-класс для удобной интеграции поиска в свой проект. 

     19.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

А как понять? Делаем аналитику для бота с нуля. Часть 1 — пишем бота

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

     19.06.2023       Выпуск 496 (19.06.2023 - 25.06.2023)       Статьи

Поиск объектов на изображении. Часть 1

Компьютерное зрение - удивительная область, которая позволяет компьютерам видеть и понимать мир через обработку изображений и видео. Одним из наиболее популярных инструментов для работы с компьютерным зрением является библиотека OpenCV. В этой статье мы рассмотрим, как использовать OpenCV для распознавания обьектов на изображении.

     18.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Что под капотом у нейронной сети. Нейросеть c точки зрения математики и программирования

Цель данной публикации – комплексное рассмотрение строения искусственных нейронных сетей c точки зрения и математики и программного кода. В данной работе нейронная сеть реализуется на языке Python с использованием библиотеки tensorflow.keras. Статья сосредоточена в основном на строении и функционировании искусственной нейронной сети, поэтому такие этапы как обучение и т.д. в ней не затрагиваются.

     18.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Мой первый супероптимизатор

Настало время для очередного бесполезного проекта.

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

     18.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Заметки про увеличение картинок нейронными сетями

TLDR — это не готовое решение, это попытка самостоятельно разобраться, подобрать архитектуру и обучить генеративно-состязательную модель (GAN) для увеличения картинок в 2 или 4 раза. Я не претендую на то, что моя модель или путь рассуждений лучше каких-то других. Кроме того, относительно недавно стали популярны трансформеры и diffusion модели — заметки не про них.

     18.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Сводка новостей от pythonz.net 11.06.2023 — 18.06.2023

А теперь о том, что происходило в последнее время на других ресурсах.

     15.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Apache Airflow в связке с Kubernetes

В этой статье я поделюсь опытом в работе Apache Airflow в связке с Kubernetes. Мы соберем собственный образ Docker с python-скриптом, установим Airflow в Kubernetes, настроим автоматическую синхронизацию DAG'ов с удалённым репозиторием и их исполнение. Всё это — на примере запуска простейшего DAGа.

     14.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Мокинг внешних API в Python

В этом руководстве я покажу, как протестировать использование внешнего API с помощью Python моков. Интеграция со сторонними приложениями — отличный способ расширить функциональность любого продукта. Однако дополнительные возможности продукта сопряжены с определенными препятствиями. Если вы не являетесь владельцем внешней библиотеки, у вас не получится контролировать серверы, на которых она размещена, код, составляющий ее логику, или данные, которые передаются между ней и приложением. Кроме того, пользователи постоянно воздействуют на данные при взаимодействии с библиотекой.

     14.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Вопросы и обсуждения

Python Bytes: #340 Snorkel not included

Очередной выпуск англоязычного подкаста Python Bytes

     14.06.2023       Выпуск 495 (12.06.2023 - 18.06.2023)       Статьи

Что такое индексация смарт-контрактов в Web3 разработке?

Статья в которой я скомпилировал знания полученные в течение года работы в web3 инфраструктурном провайдере о данных на EVM блокчейнах и инструментах разработчика для доступа к ним. Сложно сказать, что культура инженерии данных глубоко укоренилась в сообществе разработчиков Web3. И не каждый разработчик может легко определить, что означает индексация в контексте Web3. Я хотел бы уточнить некоторые детали на эту тему и поговорить об инструменте под названием The Graph, который стал де-факто стандартом индустрии для доступа к данным на блокчейне для создателей DApp'ов (децентрализованных приложений).