Почему в многопоточном Python-приложении прироста скорости для CPU-bound задач почти не видно?
👾 — Потому что интерпретатор Python не умеет распараллеливать задачи
👍 — Потому что работает Global Interpreter Lock (GIL), который позволяет исполнять байткод только одному потоку
🥰 — Потому что потокам всегда не хватает памяти для стека
⚡️ — Потому что asyncio нужно использовать вместо потоков
Библиотека задач по Python
👾 — Потому что интерпретатор Python не умеет распараллеливать задачи
👍 — Потому что работает Global Interpreter Lock (GIL), который позволяет исполнять байткод только одному потоку
🥰 — Потому что потокам всегда не хватает памяти для стека
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12
This media is not supported in your browser
VIEW IN TELEGRAM
Включайте кружок там личное приглашение от спикера. 👆
Уже завтра в прямом эфире, разбираем архитектуру контекста в мультиагентных системах.
🤫 Секретный лут:
👉 Регистрируйтесь на трансляцию
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код?
👾 — 25 29
👍 — 29 35
🥰 — Error
⚡️ — None
🤖 Осталось 4 места на курс по ИИ-агентам. Набор закрывается 30 апреля.
🔗 Успеть на обучение
Библиотека задач по Python
👾 — 25 29
👍 — 29 35
🥰 — Error
🔗
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾26
Осталось всего 4 места на курс по ИИ-агентам. 30 апреля закрываем набор окончательно.
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
🏃♀️ Записаться, пока есть места
В ГС честно рассказали:
— Кому курс не подойдет;
— Какой хардкор в программе (LangGraph, AutoGen, CrewAI);
— Как мы даем токены, чтобы вы не тратили свои деньги.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Какое утверждение о системе зависимостей FastAPI корректно при использовании Depends, BackgroundTasks и ContextVar в асинхронном контексте?
👾 — Все зависимости в FastAPI создаются один раз при запуске приложения и переиспользуются между запросами, если они объявлены через Depends
👍 — Использование ContextVar внутри зависимости гарантирует корректное изолированное состояние на каждый HTTP-запрос, даже при высокой степени параллелизма
🥰 — BackgroundTasks могут быть объявлены внутри зависимости, но они не будут выполнены, если не проброшены явно в APIRouter
⚡️ — Асинхронные зависимости с yield (context managers) поддерживаются FastAPI только при использовании Python 3.12 и выше
Библиотека задач по Python
👾 — Все зависимости в FastAPI создаются один раз при запуске приложения и переиспользуются между запросами, если они объявлены через Depends
👍 — Использование ContextVar внутри зависимости гарантирует корректное изолированное состояние на каждый HTTP-запрос, даже при высокой степени параллелизма
🥰 — BackgroundTasks могут быть объявлены внутри зависимости, но они не будут выполнены, если не проброшены явно в APIRouter
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾2👍1👏1
Что выведет код сверху?
👾 — 16
👍 — 6010.0
🥰 — 6 0 10.0
⚡️ — Error
🤖 Осталось 4 места на курс по ИИ-агентам. Набор закрывается 30 апреля.
🔗 Успеть на обучение
Библиотека задач по Python
👾 — 16
👍 — 6010.0
🥰 — 6 0 10.0
⚡️ — Error
🔗
Библиотека задач по Python
⚡19👾8
Сервис создаёт миллионы однотипных небольших объектов (несколько фиксированных полей). Память растёт, GC давит. Что изменить в моделях, чтобы существенно снизить footprint и ускорить доступ к атрибутам?
👾 — Отключить GC через gc.disable()
👍 — Хранить данные в dict вместо объектов
🥰 — Использовать slots или
⚡️ — Увеличить sys.setrecursionlimit()
Библиотека задач по Python
👾 — Отключить GC через gc.disable()
👍 — Хранить данные в dict вместо объектов
🥰 — Использовать slots или
@dataclass(slots=True) для моделей⚡️ — Увеличить sys.setrecursionlimit()
Библиотека задач по Python
🥰10
Что такое dict comprehension?
Dict comprehension — это способ конструирования словарей в одну строку, аналогичный list comprehension.
Синтаксис dict comprehension: {ключ: значение for элемент in итерируемый_объект if условие}
Основные преимущества dict comprehension:
— Краткость и читабельность по сравнению с обычным циклом.
— Более высокая производительность за счет оптимизации.
— Удобство создания словарей «на лету» по данным.
Dict comprehension используется для:
— Преобразования данных из одного вида в другой.
— Создания словарей на основе списков или других итерируемых объектов.
— Фильтрации и обработки данных в процессе создания словаря.
Библиотека задач по Python
Синтаксис dict comprehension: {ключ: значение for элемент in итерируемый_объект if условие}
Основные преимущества dict comprehension:
— Краткость и читабельность по сравнению с обычным циклом.
— Более высокая производительность за счет оптимизации.
— Удобство создания словарей «на лету» по данным.
Dict comprehension используется для:
— Преобразования данных из одного вида в другой.
— Создания словарей на основе списков или других итерируемых объектов.
— Фильтрации и обработки данных в процессе создания словаря.
Библиотека задач по Python
Нужно задать таймаут для блока асинхронных операций так, чтобы по истечении времени корректно произошло отмена вложенных await’ов и наверху ловился TimeoutError без «проглатывания» отмен. Что выбрать?
👾 — await asyncio.wait_for(coro, timeout=5)
👍 — async with asyncio.timeout(5): ...
🥰 — signal.alarm(5) в том же потоке
⚡️ — Оборачивать всё в собственный try/except CancelledError
Библиотека задач по Python
👾 — await asyncio.wait_for(coro, timeout=5)
👍 — async with asyncio.timeout(5): ...
🥰 — signal.alarm(5) в том же потоке
⚡️ — Оборачивать всё в собственный try/except CancelledError
Библиотека задач по Python
👾6
Какой будет вывод следующего фрагмента кода?
👾 — {1, 2, 3, 3, 2, 4, 5, 5}
👍 — {1, 2, 3, 4, 5}
🥰 — None
⚡️ — {1, 5}
Библиотека задач по Python
s = {1, 2, 3, 3, 2, 4, 5, 5}
print(s)👾 — {1, 2, 3, 3, 2, 4, 5, 5}
👍 — {1, 2, 3, 4, 5}
🥰 — None
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
👾 Объясните, как в Python осуществляется управление памятью
В Python объекты и структуры данных data structures находятся в закрытой динамически выделяемой области private heap, которая управляется менеджером памяти Python. Он делегирует часть работы программам распределения ресурсов allocators, закрепленным за конкретными объектами, и одновременно с этим следит, чтобы они не выходили за пределы динамически выделяемой области.
По факту данной областью управляет интерпретатор interpreter. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динамической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.
Библиотека задач по Python
По факту данной областью управляет интерпретатор interpreter. Пользователь никак не контролирует данный процесс, даже когда манипулирует ссылками объектов на блоки памяти внутри динамической области. Менеджер памяти Python распределяет пространство динамической области среди объектов и другие внутренние буферы по требованию.
Библиотека задач по Python
🦾 Почему ваши AI-продукты на базе LLM ломаются (и как это чинить)?
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓 Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало».
🗓 Когда: 14 мая в 19:00 МСК
⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы
🧑🏻💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы.
🎁 Главный бонус для онлайна:
Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps.
👉 Занять место на вебинаре
Какова главная причина использования полиморфизма?
👾 — Это позволяет программисту мыслить на более абстрактном уровне
👍 — Придется писать меньше программного кода
🥰 — Программа будет иметь более элегантный дизайн и ее будет легче поддерживать и обновлять
⚡️ — Программный код занимает меньше места
Библиотека задач по Python
👾 — Это позволяет программисту мыслить на более абстрактном уровне
👍 — Придется писать меньше программного кода
🥰 — Программа будет иметь более элегантный дизайн и ее будет легче поддерживать и обновлять
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾7🥰1
Зачем нужен from __future__ import annotations?
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👍7
Какой из следующих подходов наиболее корректен для реализации thread-safe и масштабируемого кэширования в приложении Flask, развернутом в нескольких экземплярах (например, в Docker-контейнерах с Gunicorn)?
👾 — Использовать flask.g для хранения кэшированных значений
👍 — Использовать functools.lru_cache в качестве декоратора для кэшируемых функций
🥰 — Использовать Redis в связке с Flask-Caching и настроить его как backend
⚡️ — Хранить кэш в глобальной переменной Python (global_cache = {}) и использовать mutex
Библиотека задач по Python
👾 — Использовать flask.g для хранения кэшированных значений
👍 — Использовать functools.lru_cache в качестве декоратора для кэшируемых функций
🥰 — Использовать Redis в связке с Flask-Caching и настроить его как backend
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰7⚡1
This media is not supported in your browser
VIEW IN TELEGRAM
Тема: Почему AI-продукты на базе LLM ломаются и как сделать, чтобы работало.
В кружке выше Эмиль Сатаев рассказал, какие именно проблемы с LLM в проде будем разбирать.
Что в программе:
- Разберем реальные кейсы стартапов и ограничения LLM.
- Обсудим рабочие архитектуры: RAG, human-in-the-loop, контроль качества.
- Ответим на ваши вопросы и разберем кейсы участников.
🎁 Бонусы: в конце вебинара подарим промокод на скидку 10.000 ₽ на курсы и разыграем подписки на полезные AI-сервисы.
👉 Зарегистрироваться на вебинар
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие из этих баз данных по умолчанию не поддерживаются Django?
👾 — Postgres
👍 — Mysql
🥰 — Sqlite
⚡️ — Mongodb
Библиотека задач по Python
👾 — Postgres
👍 — Mysql
🥰 — Sqlite
Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡10🥰1