INSTLD: зависимости на автомате
Выступил на 87-м Moscow Python Meetup. Снова рассказал про INSTLD и ответил на кучу вопросов из зала. Все мероприятие целиком. Презентация доступна отдельно.
Выступил на 87-м Moscow Python Meetup. Снова рассказал про INSTLD и ответил на кучу вопросов из зала. Все мероприятие целиком. Презентация доступна отдельно.
На этот раз побывал на внутреннем мероприятии внутри VK - Python Times. Рассказал про паттерн токенов отмены и в деталях вживую показал, как работает моя собственная его имплементация - cantok. В настоящий момент материал на видео немного устарел, т. к. API библиотеки успел слегка измениться.
В ноябре 2023 года выступал на онлайн-митапе от Evrone. Рассказал про свой пет-проект - instld. Запись: Все мероприятие целиком. Там помимо меня есть еще один доклад + я отвечаю на ряд вопросов от зрителей. Презентация доступна отдельно.
В этой статье мы обсудим паттерн “Cancellation Token” (или по-русски - “токен отмены”), популярный в некоторых других языках, но почему-то обойденный вниманием в Python-сообществе. Он о том, как безопасно и красиво завершать работу функции, треда или корутины. Эта статья — уже третья в серии про многопоточное программирование на Python. Предыдущая была про защиту от дедлоков, но читать её для понимания этой не обязательно. Вся серия предназначена для программистов, знакомых с базовыми концепциями многопоточного программирования....
Дедлоки — распространенная проблема в многопоточном программировании. В больших приложениях вручную отслеживать порядок блокировок может быть достаточно сложно, причем эта проблема может не всплыть на этапе тестирования и случиться только в каких-то сложновоспроизводимых кейсах при реальном использовании. Существует много способов их избегания, но здесь мы рассмотрим только один — автоматическое выявление дедлоков на основе графа ожидания. Эта статья — продолжение серии про многопоточное программирование на Python. Предыдущая была про хранение настроек в многопоточном приложении, но читать её для понимания этой не обязательно....
Если опустить первое и самое главное предубеждение относительно питонячьей многопоточности у большинства программистов — что её не существует из-за GIL, — то остается другое, и, наверное, вполне достоверное: многопоточность — это сложно, и нам этого, пожалуйста, не надо. И знаете что? Так оно и есть. Многопоточность — это сложно, особенно когда выбираешься за пределы стандартных руководств и попадаешь со своей многопоточной поделкой в реальный мир. И, возможно, вам не нужно....
Python предоставляет программисту огромное пространство свободы. Увы, обычно это довольно дорогая в плане производительности свобода, зато при правильном применении иногда она позволяет творить сущую магию. Но сегодня мы поговорим не о таких вот «богоугодных» применениях свободы, а о том, что никогда не стоит использовать в прикладном программировании — о модификациях кода на уровне AST. Да кто такой этот ваш AST? Обычно принято говорить, что CPython выполняет код построчно. Это не совсем правда, и прежде, чем идти дальше, я должен сделать небольшую паузу и кратко описать схему его работы....