Библиотека задач по Python | тесты, код, задания
الذهاب إلى القناة على Telegram
Задачи и тесты по Python для тренировки и обучения. Учиться у нас: https://clc.to/DEwOVQ По рекламе: @proglib_adv Для обратной связи: @proglibrary_feeedback_bot
إظهار المزيد6 425
المشتركون
-624 ساعات
-197 أيام
-4130 أيام
أرشيف المشاركات
Сервис создаёт миллионы однотипных небольших объектов (несколько фиксированных полей). Память растёт, GC давит. Что изменить в моделях, чтобы существенно снизить footprint и ускорить доступ к атрибутам?
👾 — Отключить GC через gc.disable()
👍 — Хранить данные в dict вместо объектов
🥰 — Использовать slots или @dataclass(slots=True) для моделей
⚡️ — Увеличить sys.setrecursionlimit()
Библиотека задач по Python
Repost from Proglib.academy | IT-курсы
👅 Самое сложное — выбрать не курс, а направление
Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science.
🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз.
В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков.Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎 🔗 Узнать подробнее 🏃♀️ Proglib Academy
Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇
Какое утверждение о системе зависимостей FastAPI корректно при использовании Depends, BackgroundTasks и ContextVar в асинхронном контексте?
👾 — Все зависимости в FastAPI создаются один раз при запуске приложения и переиспользуются между запросами, если они объявлены через Depends
👍 — Использование ContextVar внутри зависимости гарантирует корректное изолированное состояние на каждый HTTP-запрос, даже при высокой степени параллелизма
🥰 — BackgroundTasks могут быть объявлены внутри зависимости, но они не будут выполнены, если не проброшены явно в APIRouter
⚡️ — Асинхронные зависимости с yield (context managers) поддерживаются FastAPI только при использовании Python 3.12 и выше
Библиотека задач по Python
Repost from Proglib.academy | IT-курсы
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами
Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️
На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка.
⚡️ Предзапись на осенний поток уже открыта
🏃♀️ Proglib Academy
Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇
Uvicorn/FastAPI-сервис использует asyncio и сторонние библиотеки, под капотом создающие потоки. Для CPU-bound задач вы подключили multiprocessing, но периодически ловите подвисания/краши при старте воркеров. Какой способ старта процессов корректнее выбрать?
👾 — fork — самый быстрый, поэтому всегда лучший выбор на Linux
👍 — spawn — запуск чистого интерпретатора, безопасен при наличии потоков/мьютексов у родителя
🥰 — forkserver — ничего не меняет относительно потоков, просто сложнее
⚡️ — Любой — способы эквивалентны на Linux
Библиотека задач по Python
Repost from Proglib.academy | IT-курсы
У вас в проекте есть файл вроде utils_v2_final_FIX.py, который все боятся трогать ❓
Что делаете с таким легаси?
❤️ Не трогаю: работает — и ладно
👍 Переписываю с нуля и надеюсь на лучшее
🔥 Сначала покрываю тестами, потом рефакторю по частям
👾 У нас такого нет — честно-честно
На курсе «ИИ для разработчиков» разберём третий подход: как с помощью агента зафиксировать текущее поведение легаси-кода тестами, а затем менять его небольшими безопасными шагами — без одного огромного PR на тысячу файлов.
До 31 июля действует скидка и бессрочный доступ к материалам.
🔗 Занять место со скидкой
🏃♀️ Proglib Academy
Когда название файла уже само по себе считается техническим долгом 😧
Есть ли в Python сборщик мусора, и, если есть, как он работает?
Стандартный интерпретатор использует несколько алгоритмов.
🧹 Подсчёт ссылок. Каждый объект в Python содержит внутренний счётчик ссылок. Когда он падает до нуля, это означает, что на объект больше нет ссылок, его можно удалить. Главный недостаток этого алгоритма — не умеет определять циклические ссылки.
🧹 Алгоритм поиска циклов. Реализован в модуле gc и активируется время от времени, а не постоянно. Если коротко, этот алгоритм периодически ищет объекты, которые ссылаются только друг на друга и не доступны извне. Объекты, признанные недостижимыми, удаляются.
Также стоит добавить, что циклический сборщик мусора делит объекты на три поколения в зависимости от того, как долго они существуют в памяти. Новые объекты помещаются в первое поколение. Если они сохраняются после очередного процесса сбора мусора, то перемещаются в следующее по старшинству поколение. Объекты в более старших поколениях проверяются реже.
Библиотека задач по Python
Вы обрабатываете большие массивы числовых данных в Python, и профилирование показывает, что большинство времени тратится на циклы for со встроенными типами. Какой подход наиболее правильный для оптимизации?
👾 — Разбить массивы на списки поменьше и обрабатывать их по частям
👍 — Использовать специализированные библиотеки (например, NumPy), которые выполняют векторные операции вне GIL
🥰 — Переписать цикл на вложенные list comprehension
⚡️ — Принудительно запускать gc.collect() после каждой итерации
Библиотека задач по Python
Repost from Proglib.academy | IT-курсы
📈 Скоро фраза «умею пользоваться AI» в резюме будет звучать так же странно, как сегодня «умею пользоваться Git»
Это просто станет частью профессии. А вот умение встроить AI в процесс разработки так, чтобы он действительно ускорял работу команды, останется конкурентным преимуществом 💡
🔜 На курсе «ИИ для разработчиков» участники работают со своими проектами и учатся делать AI частью ежедневной разработки: планировать задачи, писать код, проверять изменения, готовить PR и автоматизировать рутину.
До конца июля действует специальная цена — 59 990 ₽ вместо 79 990 ₽ 🥳 И получить бессрочный доступ ко всем материалам курса.
🔗 Посмотреть, как устроен курс
🏃♀️ Proglib Academy
Курс для тех, кто хочет перестать просто «пользоваться AI» и начать выстраивать с ним нормальный процесс разработки 🥳
Что означает RPO?
👾 — Максимально допустимая длительность простоя
👍 — Цель по времени восстановления сервиса
🥰 — Максимально допустимая потеря данных во времени
⚡️ — Среднее время до отказа
Библиотека задач по Python
Repost from Proglib.academy | IT-курсы
😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой код команда пропустит на ревью.
Для человека это естественная часть работы. У Claude Code этого контекста по умолчанию нет — только задача и инструкции, которые ему дали.
Поэтому в большой команде недостаточно просто выбрать хорошую модель. ❗️ Нужно ещё объяснить ей, как у вас устроена разработка: какие подходы приняты, что обязательно проверять и по каким правилам принимать решения.🗓 23 июля в 19:00 МСК поговорим об этом на бесплатном вебинаре с Алексеем Жиряковым — он Executive Director в Сбере, руководит GenAI Data Platform, и с этой проблемой сталкивался не раз 🔥 Покажет живое демо, разберём, как встроить AI в процесс разработки так, чтобы он реально помогал, а не добавлял ещё один повод для споров на ревью. 🔗 Занять место на вебинаре 🏃♀️ Proglib Academy
Как поддерживать «прибавить x на [l,r]» и «минимум на [l,r]» за O(log n)?
👾 — Префиксные суммы
👍 — Дерево Фенвика
🥰 — Сегментное дерево с ленивой пропагацией
⚡️ — Несортированная куча
Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.
Библиотека задач по Python
Repost from Proglib.academy | IT-курсы
🧑💻 Учиться агентной разработке — у тех, кто уже внедряет её в бигтехе
Курс «ИИ для разработчиков» ведут практики из ведущих российских IT-компаний 🔥
🔵 Они прошли путь от первых экспериментов с AI до рабочих процессов, в которых агенты помогают команде писать код, готовить PR и быстрее доводить задачи до продакшена.
В ближайшее время познакомим вас с каждым преподавателем. Программа курса — по ссылке 🎹
🏃♀️ Proglib Academy
🤷♂️ Что важнее в хорошем курсе: программа или люди, которые её создают?
У Proglib Academy вышел пост о том, на каком опыте построен новый курс по AI для разработчиков 🦴
Repost from Proglib.academy | IT-курсы
🫡 Один и тот же запрос к AI можно выполнить двумя способами — и получить совершенно разный результат.
1️⃣ способ — просто попросить написать код. Модель может сгенерировать рабочее решение, но именно на этапе проверки часто всплывают пропущенные edge case’ы, ошибки обработки или проблемы с тестами.
2️⃣ способ — дать агенту цикл Think → Act → Observe. Он не останавливается после первой попытки: планирует действия, проверяет результат и, если находит ошибку, исправляет её и пробует снова.
Самое интересное, что разница здесь не столько в модели ❕ Claude, GPT или другая LLM могут быть одинаковыми. Разницу создаёт инженерная система вокруг них.
📅 Именно это разберём 23 июля в 19:00 (МСК) на бесплатном вебинаре с Алексеем Жиряковым (Executive Director в Сбере, GenAI Data Platform, ex-CTO Stream и KION).
На живом демо покажем, как один и тот же запрос работает без агентной системы и с ней 🔥
🔗 Регистрация
🏃♀️ Proglib Academy
Первое ощущение от ИИ-помощника — восторг. Второе — что каждый второй кусок кода приходится править за ним руками
Инструмент вторичен — Cursor, Copilot, Codeium, что угодно. Проблема одна: модель не знает, какие в вашей команде соглашения, какие типы обязательны, где заканчивается общий стандарт и начинается «в этом проекте у нас так». И пока она этого не знает — она пишет усредненно, а вам приходится дорабатывать.
Дальше два пути. Либо каждый раз править за агентом руками. Либо один раз собрать вокруг него слой правил и проверок, чтобы код с первого захода ложился в стандарт проекта.
На воркшопе karpovꓸcourses «AI-first разработка на Python» Алексей Жиряков за 4 часа показывает, как это делается. Собираете рабочую агентную среду: правила, автоматические проверки, тесты через агента, ревью по чек-листу архитектуры, метрики вклада ИИ в цифрах по коммитам.
Не слайды и не демо: рабочее место, которое переносите к себе в проект.
Стек — Litestar + PostgreSQL + Alembic. Тем, кто пишет на FastAPI, тоже подходит. Модели подключаете через OpenRouter (один ключ — gpt-5, Claude, DeepSeek, Qwen), сравниваете на своей задаче.
Алексей — 15+ лет в бэкенде, ex-Stream CTO KION, сейчас исполнительный директор в Сбере (блок «Развитие генеративного ИИ»).
Соберите правила один раз, чтобы не править за агентом: https://clc.to/erid_2W5zFGs6HVb
С промокодом
aikarpov20 — скидка 20%
Реклама. ООО «КАРПОВ КУРСЫ». ИНН 7811764627. erid: 2W5zFGs6HVb