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

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

     12.04.2024       Выпуск 539 (08.04.2024 - 14.04.2024)       Видео

Обработка свыше 400М прод. событий в сутки

В KION в сутки поступает свыше 400 миллионов продуктовых событий (помимо технических). На основе этих событий продуктовые вертикали строят аналитику, следят за продуктом, принимают бизнес решения. Качество поступаемых данных критично важно. В докладе расскажу про весь pipeline событий, как мы их готовим для аналитиков и продактов.

     12.04.2024       Выпуск 539 (08.04.2024 - 14.04.2024)       Видео

Токены отмены как паттерн и как библиотека cantok.

Код на C# и на Go часто пронизан специальными объектами, отвечающими за прекращение работы — они называются токенами отмены, либо в случае Go — контекстами. Это супер-удобно и делает программы компактнее + надежнее, но питонисты про такое почему-то не в курсе. Мне пришлось решать эту проблему и написать свой инструмент + начать популяризировать паттерн.

     12.04.2024       Выпуск 539 (08.04.2024 - 14.04.2024)       Видео

Классификация запросов клиентов. Дёшево и сердито

Когда у вас достаточно большой и разношёрстный спектр запросов клиентов, а вам необходимо все это валидировать, и на это нет ресурсов в виде LLM или NN — "Что же делать?". Расскажу, как сделать классификацию быстро и без больших затрат на разметку и обучение.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Serverless для деплоя ml/dl моделей (с gpu зависимостью)

Основной профит, который можно будет вынести с доклада — сакральные знания (нет), темплейт упаковки, док, как это паковать. Ну и еще поговорим про: текущую ситуацию на рынке serverless сервисов с поддержкой gpu — какие еще есть сервисы плюсы и минусы serverless (священный холивар selfhosted vs serverless) как съехать с них на другой serverless или на self-hosted особенности/грабли/боль двух платформ выше

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Автоматизация процесса создания набора данных на примере РЖЯ

Часто для настолько специфичных задач, как распознавание жестового языка, создание набора данных требует значительных временных затрат. Мы решили автоматизировать этот процесс от поиска носителей русского жестового языка (РЖЯ) до разметки видео. В докладе расскажу об особенностях и проблематике распознавания РЖЯ и покажу, как с помощью нескольких строк кода собрать большой и достаточно разнородный набор данных на примере РЖЯ. Доклад будет полезен для тех, кто не знает как подступиться к сбору данных для нестандартной задачи. Слушатели узнают о процессе создания набора данных для задачи распознавания жестов и о решении в целом.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

А побыстрее можно?

Сколько существует python, столько все жалуются, что он медленный. Дошло до того, что даже автор языка признал, что так жить больше нельзя, и запустил проект по ускорению CPython. Но что именно можно (нужно?) ускорить в python? Какие изменения реализуются уже сейчас прямо на наших глазах? Нам предстоит погрузиться в некоторые аспекты работы интерпретатора, чтобы на примере одного из свежих изменений воочию увидеть, как же все-таки разгоняют python.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Утечки памяти и дедлоки: как выстрелить себе в ногу

Есть устоявшееся выражение про «выстрелить себе в ногу», его интерпретация для языка Python гласит следующее: «Вы пытаетесь выстрелить себе в ногу, но то и дело попадаете промеж пальцев. А всё потому, что Питон настолько гибкий — что из пальцев выскальзывает». Оказывается, попасть в ногу намного проще. Минорным обновлением Python вполне реально дедлокнуть себе интерпретатор, а запуск подпроцесса с пользовательским кодом превращается в дебаг утечки памяти. В таких случаях поиск root cause проблемы чаще всего оказывается сильно сложнее, чем хотфикс. И без понимания что же все-таки произошло, можно наступать на те же грабли снова и снова. Посмотрим на пару таких случаев со стороны стандартной библиотеки: как диагностировали и что полезного из этого вынесли. Заодно разберем, чем плох системный вызов fork, и как им можно сделать себе очень больно. Послушать будет интересно всем сочувствующим, особенно тем, кто использует библиотеки subprocess, multiprocessing и concurrent.futures.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Отладка на низком уровне

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

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Легковесный ЧПУ с EtherCAT на python и С

Эта история о том, как python разработчик и инженер-электронщик совместными усилиями сделали прототип промышленного ЧПУ. Мы использовали Python, Cython и язык С, чтобы разработать гибкую систему, способную управлять различными аппаратными конфигурациями для решения производственных задач. В рамках доклада мы рассмотрим следующие темы: Архитектура приложения ЧПУ: выбор дизайна, обеспечивающего гибкость и адаптивность системы Расчет точной траектории движения Интеграция аппаратного и программного обеспечения Достижение короткого цикла синхронизации для нескольких приводов (двигателей) Приглашаем вас принять участие в докладе, где мы поделимся опытом создания легковесного ЧПУ с поддержкой EtherCAT на Python и C.

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Как использовать serverless и не наломать дров

В этом докладе я расскажу о неожиданностях использования serverless по сравнению с server подходом. Зачем и почему serverless нужен Как делать версионирование, canary deployment, релизы в AWS Lambda и другие вещи для production ready бэкенд разработки Об особенностях python разработки под лямбды, о бесполезности асинхронности, сложности дебага ошибок, о поражающей скорости деплоймента кода в продакшен Как потратить сотни долларов на метрики и логи, которые никто не читает О том, как не сломать базу, если в нее ходят сразу 2–3 тысячи экземпляров лямбд

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Да кто такие эти ваши тайп-чекеры?

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

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео
     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Функциональщина в Python — это плохая идея?

Функциональное программирование — не самый популярный подход к написанию кода на Python. Но у ФП в Python есть активные сторонники. Они широко применяют и продвигают модули вроде functools, itertools из стандартной библиотеки и пакеты вроде toolz, funcy, returns и др. Мы рассмотрим, как идеи элегантного ФП кода и красивых математических абстракций сталкиваются с реальностью интерпретатора CPython и культуры pythonic кода. Доклад будет полезен программистам на Python, интересующимся функциональным программированием (уже применяющим его или заинтересованным в применении) и желающим обсудить, насколько ФП нужно и полезно им в Python. Предполагается знание основных концепций ФП (чистые функции, побочные эффекты, функции высшего порядка).

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Mojo — революция или хайп?

В мае разработчики движка Modular опубликовали публичную версию языка Mojo. Код на Mojo выглядит один-в-один, как код на питоне, и это не случайно. Mojo — это одновременно под- и надмножество питона, позволяющее выжимать адскую производительность в требовательных к CPU задачах — например, в задачах ML и AI. Подробностей пока мало: запустить Mojo локально нельзя, можно лишь воспользоваться специальной версией Jupyter Notebook, доступ к которой выдаётся через лист ожидания. Из материалов про Mojo пока доступны в основном только красивые презентации его авторов (показывающие, например, ускорение относительно CPython в тысячи раз на задаче умножения двух матриц). Я получил доступ к превью Mojo и немного в нём поковырялся. Так что теперь давайте вместе во время доклада попробуем разобраться, есть ли у этой разработки шансы на революцию, или это просто попытка выехать на хайпе вокруг AI?

     28.03.2024       Выпуск 537 (25.03.2024 - 31.03.2024)       Видео

Эволюция нового сервиса и типичные ошибки при его развитии

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

     13.03.2024       Выпуск 535 (11.03.2024 - 17.03.2024)       Видео

Практическая сторона тестов

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

     13.03.2024       Выпуск 535 (11.03.2024 - 17.03.2024)       Видео

Переход от Statsd к Prometheus

Про то, как структурировать метрики прометея в коде, выстроить удобные абстракции. Как меняется парадигма при переходе со statsd на прометей. Подводные камни при работе с прометеем.

     22.02.2024       Выпуск 532 (19.02.2024 - 25.02.2024)       Видео