Воркшоп про токены отмены и про cantok

На этот раз побывал на внутреннем мероприятии внутри VK - Python Times. Рассказал про паттерн токенов отмены и в деталях вживую показал, как работает моя собственная его имплементация - cantok. В настоящий момент материал на видео немного устарел, т. к. API библиотеки успел слегка измениться.

January 19, 2024

INSTLD: когда управление зависимостями проще быть уже не может

В ноябре 2023 года выступал на онлайн-митапе от Evrone. Рассказал про свой пет-проект - instld. Вот запись конкретно моего выступления: А вот всего мероприятия целиком: Там помимо меня есть еще один доклад + я отвечаю на ряд вопросов от зрителей.

November 29, 2023

Многопоточный Python на примерах: токены отмены

В этой статье мы обсудим паттерн “Cancellation Token” (или по-русски - “токен отмены”), популярный в некоторых других языках, но почему-то обойденный вниманием в Python-сообществе. Он о том, как безопасно и красиво завершать работу функции, треда или корутины. Эта статья — уже третья в серии про многопоточное программирование на Python. Предыдущая была про защиту от дедлоков, но читать её для понимания этой не обязательно. Вся серия предназначена для программистов, знакомых с базовыми концепциями многопоточного программирования....

November 21, 2023

Многопоточный Python на примерах: избавляемся от дедлоков

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

June 16, 2022

Многопоточный Python на примерах: как правильно хранить настройки приложения

Если опустить первое и самое главное предубеждение относительно питонячьей многопоточности у большинства программистов — что её не существует из-за GIL, — то остается другое, и, наверное, вполне достоверное: многопоточность — это сложно, и нам этого, пожалуйста, не надо. И знаете что? Так оно и есть. Многопоточность — это сложно, особенно когда выбираешься за пределы стандартных руководств и попадаешь со своей многопоточной поделкой в реальный мир. И, возможно, вам не нужно....

November 18, 2021

«Оптимизируем» функции на уровне AST

Python предоставляет программисту огромное пространство свободы. Увы, обычно это довольно дорогая в плане производительности свобода, зато при правильном применении иногда она позволяет творить сущую магию. Но сегодня мы поговорим не о таких вот «богоугодных» применениях свободы, а о том, что никогда не стоит использовать в прикладном программировании — о модификациях кода на уровне AST. Да кто такой этот ваш AST? Обычно принято говорить, что CPython выполняет код построчно. Это не совсем правда, и прежде, чем идти дальше, я должен сделать небольшую паузу и кратко описать схему его работы....

September 7, 2021