Более простой способ создания контекстных менеджеров 
Почти год назад на канале было объяснение про то, что такое контекстные менеджеры и зачем они нужны. Также был пост, показывающий, как создавать классы с использованием протокола менеджера контекста.
Но не всегда хочется реализовывать магические методы __enter__ и __exit__. В качестве альтернативы есть один классный прием в пакете
Первая часть функции
#contextlib
  Почти год назад на канале было объяснение про то, что такое контекстные менеджеры и зачем они нужны. Также был пост, показывающий, как создавать классы с использованием протокола менеджера контекста.
Но не всегда хочется реализовывать магические методы __enter__ и __exit__. В качестве альтернативы есть один классный прием в пакете
contextlib. Там протокол управления контекстом реализован с использованием декоратора contextmanager. Первая часть функции
tag,  которая идёт до yield, выполняется при входе в блок with. Затем исполняется сам этот блок, а после этого завершается оставшаяся часть функции tag. #contextlib
⚡️ drawDB — удобный инструмент для проектирования баз данных
Редактор диаграмм, работающий прямо в браузере — даже без регистрации. С помощью drawDB можно всего за несколько кликов создавать схемы, экспортировать SQL-сценарии и настраивать интерфейс под свои задачи.
Инструмент поддерживает: MySQL, PostgreSQL, SQLite, MariaDB и SQL Server. Его также легко развернуть локально через npm или запустить с помощью Docker.
И всё это бесплатно! 😎
⚙️ GitHub/Инструкция
🌍 drawdb.app
#soft #github
  Редактор диаграмм, работающий прямо в браузере — даже без регистрации. С помощью drawDB можно всего за несколько кликов создавать схемы, экспортировать SQL-сценарии и настраивать интерфейс под свои задачи.
Инструмент поддерживает: MySQL, PostgreSQL, SQLite, MariaDB и SQL Server. Его также легко развернуть локально через npm или запустить с помощью Docker.
И всё это бесплатно! 😎
⚙️ GitHub/Инструкция
🌍 drawdb.app
#soft #github