This media is not supported in your browser
VIEW IN TELEGRAM
20 вопросов, каждый раз случайная выборка из базы WTFPython.
В конце показывает объяснение каждой ловушки и даёт карточку с результатом — можно делиться.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤2👍1💯1
⏰ Уже сегодня в 19:00 (МСК) стартует наш открытый урок!
Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее.
Тема:
Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины.
🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei).
👉 Узнать, как ускорить разработку с AI
Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее.
Тема:
«AI-инструменты в разработке: пишем код быстрее»
Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины.
🎙 Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei).
👉 Узнать, как ускорить разработку с AI
👾1
Классическая ловушка с моками в Python: тест зелёный, но реальный API всё равно вызывается. Вот как это происходит и как проверить что мок реально перехватил вызов.
Симптом
Тест на исключение при невалидной валюте проходит. Но в моке настроен ответ
"result": "success" — который никогда не выбросит исключение. Как тест зелёный?Реальный API вернул ошибку для несуществующей валюты «CTM». Мок вообще не сработал.
Как доказать что мок перехватил вызов
with pytest.raises(CurrencyConversionError):
convert_currency(
amount=Decimal("1.00"),
from_currency="CAD",
to_currency="CTM",
)
mock_get.assert_called_once() # если упал — мок не перехватил, бил реальный API
assert_called_once() — не опциональная проверка, а обязательная часть теста когда вы мокаете внешние вызовы.Главное правило: патчить там где имя используется, не где определено
# модуль делает: import requests
# правильно:
mocker.patch("myapp.utils.currency.requests.get")
# если модуль делает: from requests import get
# то только так:
mocker.patch("myapp.utils.currency.get")
# requests.get здесь не перехватит ничего
Это самая частая причина почему мок «не работает».
Итоговый тест с pytest-mock
def test_bad_currency_raises(self, mocker):
mock_get = mocker.patch("myapp.utils.currency.requests.get")
mock_get.return_value.json.return_value = {
"result": "error",
"error-type": "unknown-code",
}
with pytest.raises(CurrencyConversionError):
convert_currency(Decimal("1.00"), "CAD", "CTM")
mock_get.assert_called_once()
Когда мок — не лучший инструмент
Если каждый тест завязан на конкретный import path — это тест реализации, не поведения. Альтернатива: адаптер-класс для внешнего вызова + fake-реализация + dependency injection. Тогда не нужно патчить вообще.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4👍2
👀 Умеете строить предсказуемую архитектуру с ИИ? Станьте спикером Proglib academy
Мы в Proglib.academy запускаем курс по Spec-Driven Development (SDD) — учим разработчиков управлять ИИ-агентами (Cursor, Copilot, Claude) через спецификации, контекст и тесты, чтобы не перепроверять за нейросетью каждую строку.
➡️ Что требуется от вас?
● BigTech бэкграунд: опыт работы разработчиком, тимлидом или архитектором в крупных технологических компаниях.
● Опыт управляемой разработки с ИИ: вы на практике знаете, как встроить AI-инструменты в личный или командный workflow (от постановки задачи до ревью AI-кода).
● Системный подход: умение превращать хаотичную генерацию кода в предсказуемый инженерный процесс (работа с архитектурой, чек-листами, легаси и покрытием тестами).
➡️ Что мы предлагаем?
● Достойную оплату за подготовку материалов и проведение занятий.
● Мощное продвижение личного бренда через медиаресурсы Proglib (наша аудитория — 1 млн+ айтишников).
● Возможность публиковать свои экспертные материалы и статьи на наших площадках.
● Доступ к сильному и закрытому профессиональному сообществу.
Также мы ищем консультанта программы.
Если вы практикующий эксперт и готовы помочь нам отвалидировать программу курса, дать рекомендации по актуальности тем и финальным результатам обучения — мы вас очень ждем.
➡️ Как с нами связаться:
Telegram: @alinaa_kh
E-mail: alina@proglib.io
Мы в Proglib.academy запускаем курс по Spec-Driven Development (SDD) — учим разработчиков управлять ИИ-агентами (Cursor, Copilot, Claude) через спецификации, контекст и тесты, чтобы не перепроверять за нейросетью каждую строку.
Для этого курса мы ищем классных спикеров-практиков.
● BigTech бэкграунд: опыт работы разработчиком, тимлидом или архитектором в крупных технологических компаниях.
● Опыт управляемой разработки с ИИ: вы на практике знаете, как встроить AI-инструменты в личный или командный workflow (от постановки задачи до ревью AI-кода).
● Системный подход: умение превращать хаотичную генерацию кода в предсказуемый инженерный процесс (работа с архитектурой, чек-листами, легаси и покрытием тестами).
● Достойную оплату за подготовку материалов и проведение занятий.
● Мощное продвижение личного бренда через медиаресурсы Proglib (наша аудитория — 1 млн+ айтишников).
● Возможность публиковать свои экспертные материалы и статьи на наших площадках.
● Доступ к сильному и закрытому профессиональному сообществу.
Также мы ищем консультанта программы.
Если вы практикующий эксперт и готовы помочь нам отвалидировать программу курса, дать рекомендации по актуальности тем и финальным результатам обучения — мы вас очень ждем.
Telegram: @alinaa_kh
E-mail: alina@proglib.io
Please open Telegram to view this post
VIEW IN TELEGRAM
Скажи мне 5 главных слов: на GitVerse появилось зеркало PyPI! 😎
Все нужные Python‑пакеты живут на российской платформе для разработчиков GitVerse — вы не потеряете доступ к ним, даже если основной PyPI решит «повиснуть».
А ещё такое зеркало — плюс к скорости: меньше сетевых прыжков — быстрее загрузка.
Ставьте его как основной источник или держите как резерв. Тут рассказали, как подключить зеркало!
Все нужные Python‑пакеты живут на российской платформе для разработчиков GitVerse — вы не потеряете доступ к ним, даже если основной PyPI решит «повиснуть».
А ещё такое зеркало — плюс к скорости: меньше сетевых прыжков — быстрее загрузка.
Ставьте его как основной источник или держите как резерв. Тут рассказали, как подключить зеркало!
😁3👍2🔥2
🤖 Тут Ozon Tech запустил инженерный хакатон Робозон с призовым фондом 15 000 000 ₽
Участникам предлагают три задачи на основе реальных данных сортировочных центров:
🔸 имитационное моделирование,
🔸 конструкция автосортировщика товаров,
🔸 интеллектуальная роботизированная система сортировки.
Что выглядит интересным:
🔹 опыт работы с реальными процессами большого е-кома;
🔹 практика инженерных решений, где важны не только алгоритмы, но и ограничения реальной инфраструктуры;
🔹 возможность проверить свои идеи на задачах, связанных с автоматизацией, моделированием и робототехникой.
Участвовать можно самостоятельно или командой до 7 человек.
📅 Регистрация — до 11 июля.
🚀 Онлайн-этап — до 6 сентября.
🏆 Финал — 12–13 сентября онлайн или в Москве на E-CODE. Дорогу и проживание оплачивает Ozon Tech.
👉 Предлагают прокачаться на реальных инженерных задачах
Участникам предлагают три задачи на основе реальных данных сортировочных центров:
🔸 имитационное моделирование,
🔸 конструкция автосортировщика товаров,
🔸 интеллектуальная роботизированная система сортировки.
Что выглядит интересным:
🔹 опыт работы с реальными процессами большого е-кома;
🔹 практика инженерных решений, где важны не только алгоритмы, но и ограничения реальной инфраструктуры;
🔹 возможность проверить свои идеи на задачах, связанных с автоматизацией, моделированием и робототехникой.
Участвовать можно самостоятельно или командой до 7 человек.
📅 Регистрация — до 11 июля.
🚀 Онлайн-этап — до 6 сентября.
🏆 Финал — 12–13 сентября онлайн или в Москве на E-CODE. Дорогу и проживание оплачивает Ozon Tech.
👉 Предлагают прокачаться на реальных инженерных задачах
❤2👍1
Hydra: конфигурация ML-экспериментов без боли
Типичная проблема: у вас ML-проект, конфиги размножились, и вы передаёте гиперпараметры через argparse или хардкодите в скриптах. Hydra решает это элегантно.
Главная идея: конфиги — это YAML-файлы которые можно составлять, наследовать и переопределять прямо из командной строки.
Запуск с разными параметрами без изменения кода:
Multirun — запуск сетки экспериментов одной командой:
Конфиги можно композировать из отдельных файлов:
Популярные связки с Hydra:
— lightning-hydra-template — готовый шаблон PyTorch Lightning + Hydra для быстрого старта
— hydra-zen — Pythonic API для динамической генерации конфигов
— hydra-torch — type-safe конфиги для PyTorch компонентов
Если вы ещё управляете экспериментами через argparse или захардкоженные словари — Hydra стоит попробовать.
➡️ Git-hub
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Типичная проблема: у вас ML-проект, конфиги размножились, и вы передаёте гиперпараметры через argparse или хардкодите в скриптах. Hydra решает это элегантно.
Главная идея: конфиги — это YAML-файлы которые можно составлять, наследовать и переопределять прямо из командной строки.
Запуск с разными параметрами без изменения кода:
python train.py model=resnet dataset=imagenet lr=0.001
python train.py model=vit dataset=cifar10 lr=0.0001
Multirun — запуск сетки экспериментов одной командой:
python train.py -m lr=0.001,0.0001 model=resnet,vit
# запустит 4 эксперимента автоматически
Конфиги можно композировать из отдельных файлов:
configs/
model/
resnet.yaml
vit.yaml
dataset/
imagenet.yaml
cifar10.yaml
train.yaml ← собирает всё вместе
Популярные связки с Hydra:
— lightning-hydra-template — готовый шаблон PyTorch Lightning + Hydra для быстрого старта
— hydra-zen — Pythonic API для динамической генерации конфигов
— hydra-torch — type-safe конфиги для PyTorch компонентов
pip install hydra-core --upgrade
Если вы ещё управляете экспериментами через argparse или захардкоженные словари — Hydra стоит попробовать.
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
🤖 Запускаем новый курс: «Spec-Driven Development»!
Всем надоело, что ИИ-агенты (Cursor, Claude) генерируют сотни строк хаотичного кода, который приходится переписывать. Дело не в нейросети, а в том, что вы заставляете её угадывать условия задачи.
На курсе вы освоите методологию SDD (Spec-Driven Development) — управление ИИ через спецификации (спеки) и тесты вместо «вайб-кодинга».
Как это работает?
До генерации кода вы фиксируете в спеке контракты, инварианты и граничные случаи. Документ четко определяет ЧТО делать, сводя лотерею в PR к нулю.
За 8 недель с экспертами из BigTech вы:
🔹 Встроите ИИ в личный или командный workflow.
🔹 Превратите генерацию кода в предсказуемый инженерный процесс.
🔹 Перестанете перепроверять за моделями каждую строчку.
📖 Полный разбор методологии с примерами и готовый промпт для генерации спеки — в нашей статье
👉 Освоить SDD и ускорить разработку
Всем надоело, что ИИ-агенты (Cursor, Claude) генерируют сотни строк хаотичного кода, который приходится переписывать. Дело не в нейросети, а в том, что вы заставляете её угадывать условия задачи.
На курсе вы освоите методологию SDD (Spec-Driven Development) — управление ИИ через спецификации (спеки) и тесты вместо «вайб-кодинга».
Как это работает?
До генерации кода вы фиксируете в спеке контракты, инварианты и граничные случаи. Документ четко определяет ЧТО делать, сводя лотерею в PR к нулю.
За 8 недель с экспертами из BigTech вы:
🔹 Встроите ИИ в личный или командный workflow.
🔹 Превратите генерацию кода в предсказуемый инженерный процесс.
🔹 Перестанете перепроверять за моделями каждую строчку.
📖 Полный разбор методологии с примерами и готовый промпт для генерации спеки — в нашей статье
👉 Освоить SDD и ускорить разработку
❤1
🎬 Где ломаются архитектуры ИИ-агентов и как этого избежать: запись урока от Proglib.Academy и cloud․ru
Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.
👉 Посмотреть запись можно тут:
● VK
● YouTube
Proglib.аcademy вместе с cloud․ru провели вебинар, где разобрали реальные боли проектирования автономных систем. Вы просили запись встречи — она уже в открытом доступе!
Что внутри:
— критерии выбора между одним агентом и мультиагентной системой;
— разбор популярных архитектурных ошибок;
— реальные ограничения современных ИИ-агентов;
— практические рекомендации по проектированию агентных систем.
👉 Посмотреть запись можно тут:
● VK
● YouTube
❤1
📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих»
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
Мы написали и собрали для вас в одну подборку все 25 глав и 230 практических заданий!
🐍 Часть 1: Особенности, сферы применения, установка, онлайн IDE
🐍 Часть 2: Все, что нужно для изучения Python с нуля – книги, сайты, каналы и курсы
🐍 Часть 3: Типы данных: преобразование и базовые операции
🐍 Часть 4: Методы работы со строками
🐍 Часть 5: Методы работы со списками и списковыми включениями
🐍 Часть 6: Методы работы со словарями и генераторами словарей
🐍 Часть 7: Методы работы с кортежами
🐍 Часть 8: Методы работы со множествами
🐍 Часть 9: Особенности цикла for
🐍 Часть 10: Условный цикл while
🐍 Часть 11: Функции с позиционными и именованными аргументами
🐍 Часть 12: Анонимные функции
🐍 Часть 13: Рекурсивные функции
🐍 Часть 14: Функции высшего порядка, замыкания и декораторы
🐍 Часть 15: Методы работы с файлами и файловой системой
🐍 Часть 16: Регулярные выражения
🐍 Часть 17: Основы скрапинга и парсинга
🐍 Часть 18: Основы ООП – инкапсуляция и наследование
🐍 Часть 19: Основы ООП – абстракция и полиморфизм
🐍 Часть 20: Графический интерфейс на Tkinter
🐍 Часть 21: Основы разработки игр на Pygame
🐍 Часть 22: Основы работы с SQLite
🐍 Часть 23: Основы веб-разработки на Flask
🐍 Часть 24: Основы работы с NumPy
🐍 Часть 25: Основы анализа данных с Pandas
😍1
Python 3.15.0 beta 3: что нас ждёт в октябре
Вышла третья бета Python 3.15. Финальный релиз запланирован на октябрь 2026. Самое интересное что добавят:
— Ленивые импорты (PEP 810) — модули загружаются только когда реально нужны. Стартап тяжёлых пакетов типа pandas/numpy станет заметно быстрее
— frozendict как встроенный тип (PEP 814) — неизменяемый словарь наконец в стандартной библиотеке
— Unpacking в comprehensions (PEP 798):
— UTF-8 по умолчанию (PEP 686) — больше никаких сюрпризов при чтении файлов на разных ОС
Производительность
JIT-компилятор значительно улучшен: +8-9% на x86-64 Linux и +12-13% на AArch64 macOS по сравнению с интерпретатором без JIT.
Инструменты
— Встроенный профайлер Tachyon (PEP 799) — высокочастотный статистический сэмплер прямо в стандартной библиотеке
— Frame pointers включены по умолчанию (PEP 831) — лучше работают внешние профайлеры типа py-spy и perf
Типизация
— TypedDict с типизированными дополнительными ключами (PEP 728)
— sentinel как встроенный тип (PEP 661)
— TypeForm для аннотации самих типов (PEP 747)
Следующая бета — 18 июля, первый RC — 4 августа.
🔗 Ссылка на новость
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
Вышла третья бета Python 3.15. Финальный релиз запланирован на октябрь 2026. Самое интересное что добавят:
— Ленивые импорты (PEP 810) — модули загружаются только когда реально нужны. Стартап тяжёлых пакетов типа pandas/numpy станет заметно быстрее
— frozendict как встроенный тип (PEP 814) — неизменяемый словарь наконец в стандартной библиотеке
— Unpacking в comprehensions (PEP 798):
# теперь можно так
flat = [x for xs in nested for *x, _ in [xs]]
— UTF-8 по умолчанию (PEP 686) — больше никаких сюрпризов при чтении файлов на разных ОС
Производительность
JIT-компилятор значительно улучшен: +8-9% на x86-64 Linux и +12-13% на AArch64 macOS по сравнению с интерпретатором без JIT.
Инструменты
— Встроенный профайлер Tachyon (PEP 799) — высокочастотный статистический сэмплер прямо в стандартной библиотеке
— Frame pointers включены по умолчанию (PEP 831) — лучше работают внешние профайлеры типа py-spy и perf
Типизация
— TypedDict с типизированными дополнительными ключами (PEP 728)
— sentinel как встроенный тип (PEP 661)
— TypeForm для аннотации самих типов (PEP 747)
Следующая бета — 18 июля, первый RC — 4 августа.
🔗 Ссылка на новость
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст
❤3🤩2👍1