Если декоратор, который вы пишете, становится слишком сложным, имеет смысл преобразовать его из функции в класс с методом __call__.
class SavingOrig:
def __init__(self, anothe…
Читать далее →
В asyncio распространённая практика для планирования выполнения кода с задержкой — создать задачу, которая делает await asyncio.sleep(x):
import asyncio
async def do(n=0):
pr…
Читать далее →
🆓 Ваши SQL-запросы работают, но через месяц их уже сложно прочитать и изменить?
🆓 Ваши SQL-запросы работают, но через месяц их уже сложно прочитать и изменить?
С ростом логики запросы превращаются в набор вложенных подзапросов. Разобраться в них сложно, поддержка занимает время, а любые изменения несут риск сломать результат.
На открытом уроке разберём: как использовать обобщенные табличные выражения (CTE), чтобы писать сложные запросы по шагам.
Покажем, как упростить структуру, сделать код читаемым и работать с иерархиями через рекурсивные CTE.
🗓 Урок проходит в преддверии старта курса «PostgreSQL для администраторов баз данных и разработчиков».
Если вы хотите писать SQL, который легко читать и поддерживать — подключайтесь 27 мая в 20:00 МСК.
🔗 Регистрация открыта: https://vk.cc/cY1u9u
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Оператор break подавляет исключение, если используется в блоке finally, даже когда блок except отсутствует:
for i in range(10):
try:
1 / i
finally:
print('…
Читать далее →
Работа аналитика - уже не только про цифры!
Это про умение принимать решения быстрее других.
В 2026 году выигрывают не те, кто знает больше инструментов, а те, кто понимает, что …
Читать далее →