pyproglib | Unsorted

Telegram-канал pyproglib - Библиотека питониста | Python, Django, Flask

39269

Все самое полезное для питониста в одном канале. Список наших каналов: https://t.me/proglibrary/9197 Курс по ML: https://cl Для обратной связи: @proglibrary_feeedback_bot По рекламе: @proglib_adv РКН: https://gosuslugi.ru/snet/67b885cbd501cf3b2cdb5b36

Subscribe to a channel

Библиотека питониста | Python, Django, Flask

📚Напоминаем про наш полный курс «Самоучитель по 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

Читать полностью…

Библиотека питониста | Python, Django, Flask

🦾🧠🏋️ Качаем мозги к лету!

Все готовятся к пляжному сезону, а мы предлагаем прокачать хард-скилы, чтобы забрать крутой оффер, строить продукты будущего и работать из любой точки мира 😎

⚡️ Распродажа @proglib_academy: забирайте самые актуальные образовательные треки по сниженным ценам!

➡️ Разработка AI-агентов от 49 000 ₽ (вместо 69 000 ₽).

➡️ Курс AgentOps129 000 ₽ (вместо 149 000 ₽).

➡️ Математика для разработки AI-моделей23 990 ₽ (вместо 31 990 ₽).

➡️ ML для старта в Data Science 28 990 ₽ (вместо 38 990 ₽).

Почему мы?

⭐️Учим для продакшена. Наши программы заточены под реальные задачи бизнеса: как не слить бюджет на токены, как заставить LLM работать стабильно в бэкенде и как выстроить отказоустойчивую архитектуру.
⭐️Спикеры — суровые практики. Вы будете перенимать опыт у действующих AI-архитекторов, тимлидов и ML-инженеров из топовых IT-компаний.
⭐️Комплексный подход. Мы даем как мощный математический фундамент для понимания моделей «под капотом», так и передовые инструменты оркестрации агентов.
⭐️Много практики и фидбека. Вебинары, десятки практических заданий и живое общение с экспертами в чате Telegram на протяжении всего обучения.

Оставляйте заявку и бронируйте место со СКИДКОЙ 40%

Читать полностью…

Библиотека питониста | Python, Django, Flask

🧪 Перестаньте вручную писать десятки edge-case тестов

Обычный подход к тестированию выглядит так:

придумать странный input → написать тест → проверить поведение

Так можно покрыть десятки сценариев и всё равно пропустить баг.

Именно это часто происходит с edge cases.

Например, для URL-нормализатора можно написать десятки тестов с «необычными» URL, но упустить случай, когда вход состоит только из пробелов. Функция внезапно вернёт пустую строку — а тестов на это не окажется.

Здесь и помогает Hypothesis — библиотека для property-based testing.

Вместо того чтобы перечислять конкретные примеры, описывается свойство, которое должно быть истинным для любого входа.

Обычный тест:

def test_round_trip_specific():
assert decode(encode("hello world")) == "hello world"


Property-based тест:

from hypothesis import given
from hypothesis import strategies as st

@given(st.text())
def test_round_trip_any_string(s):
assert decode(encode(s)) == s


Теперь библиотека сама генерирует сотни и тысячи вариантов:
- пустые строки
- unicode-символы
- пробелы
- null bytes
- очень длинные значения
- нестандартные boundary cases

И цель у неё одна — сломать функцию.

Если найден баг, Hypothesis автоматически уменьшает вход до минимального воспроизводимого примера.

Получается что-то вроде:

Falsifying example:
url=''

Три свойства, которые полезны почти в любом проекте

1. Round-trip


@given(st.text())
def test_encode_decode(s):
assert decode(encode(s)) == s


2. Idempotency

Повторное применение функции не должно менять результат.

@given(st.text())
def test_normalize_idempotent(url):
assert normalize(url) == normalize(normalize(url))


3. Не должно падать

Очень недооценённый сценарий:

@given(st.text())
def test_parser_does_not_crash(s):
try:
parse(s)
except ValueError:
pass


Такие тесты часто находят баги там, где никто их не ожидал.

📍 Навигация: ВакансииЗадачиСобесы
📍 Канал в Max

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🚨 Переводим Jupyter-ноутбуки в интерактивные дашборды

Mercury — это Python-библиотека, которая позволяет создавать интерактивные веб-дашборды прямо из Jupyter notebooks.

Особенно полезно для аналитиков, data scientists и ML-специалистов: можно делиться результатами анализа в удобном интерфейсе, не погружаясь в JavaScript, React или backend-разработку.

Можно быстро превратить исследовательский ноутбук в понятный продукт для пользователей, которые не работают с кодом.

На сайте Mercury есть много примеров и туториалов, чтобы быстро понять возможности инструмента и проверить, подходит ли он под ваши задачи.

📍 Навигация: ВакансииЗадачиСобесы
📍 Канал в Max

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

📌 Подборка готовых проектов на Python: практика для дома и работы

🌸 Что внутри:

Парсеры и веб-инструменты: Сбор данных с сайтов и автоматизация сетевых запросов.

Скрипты автоматизации: Быстрое переименование файлов по маске, чистка диска и сбор логов.

Работа с системой и OS: Утилиты для глубокого анализа железа и мониторинга процессов.

Медиа и Соцсети: Умные загрузчики контента и скрипты для обработки файлов.

Интерфейсы: Простые GUI-приложения, на которых удобно разбираться в верстке десктопного софта.


👉 Ссылка на репозиторий


🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#магиякода

Читать полностью…

Библиотека питониста | Python, Django, Flask

⚡️ Знакомьтесь с экспертом Proglib Academy: AI-архитектор Антон Будняк

Антон — мастер превращения сырых AI-идей в отказоустойчивые системы. Он знает, как запустить MVP за неделю и масштабировать его так, чтобы архитектура не рассыпалась под нагрузкой в сотни тысяч юзеров.

За что его ценит IT-комьюнити:

🟣 Опыт в финтехе и крупном бизнесе

Руководил разработкой ML-моделей в финтехе с экономическим эффектом более 100 млн ₽


🟣 Запуск продуктов на 6.000+ пользователей
Антон строит сервисы, которыми пользуются тысячи людей в реальном проде.


🟣 Ускоряет разработку
Оптимизировал ML-пайплайны и кратно сократил время от начала разработки до релиза


📚 Где Антон черпает знания (рекомендации эксперта):

- X (Twitter) — главный источник новостей. Рекомендую блог Бориса Черни (создателя Claude Code) — там база про использование ИИ в разработке.
- Нетворкинг в ТГ: чаты LLM под капотом и AI-чат — здесь можно найти ответ почти на любой технический вопрос.
- Новости AI: каналы Сиолошная и Denis Sexy IT.

На курсе Agentops Антон учит строить «неубиваемый» бэкенд: работать с очередями, таймаутами и балансировкой нагрузки, чтобы ваши агенты работали стабильно 24/7.

🎁 Майские СКИДКИ в Proglib Academy!

До конца мая на все курсы академии (включая AgentOps и разработку ИИ-агентов) действует скидка -40%. Это лучший момент, чтобы войти в AI-разработку под присмотром практиков.

Узнать больше о программе и обучении у Антона:
👉 Курс о том, как внедрять AI-логику в бэкенд и сохранять стабильность сервиса

Продолжаем знакомить вас с командой?
👍 — Да, ждем новых лиц
🔥 — Пойду подпишусь на каналы из списка Антона

🏃‍♀️ Proglib Academy

Читать полностью…

Библиотека питониста | Python, Django, Flask

🚨 Ловить все исключения подряд — почти всегда плохая идея

Многие пишут так:


try:
...
except (ValueError, TypeError, KeyError, NameError):
print("Что-то пошло не так")


Выглядит «надёжно». Но на практике такой код часто прячет реальные баги и усложняет отладку.

Допустим, вы читаете CSV с датами и хотите обработать ошибки:

try:
start = parse_date(row["start"])
end = parse_date(row["end"])
except (ValueError, TypeError, KeyError, NameError):
print("Некорректная дата")


На первый взгляд — всё ок. Но проблема в деталях.

1. NameError здесь вообще лишний

NameError обычно означает баг в коде.

Например, вы случайно написали:

star_date


вместо

start_date


Если ловить NameError, программа просто проглотит ошибку — и вы даже не заметите, что сломали код.
Иногда traceback — это полезно.

2. ValueError — логичная ошибка

Если в CSV дата битая:

2026-00-01


то datetime честно скажет:

ValueError


Это уже ошибка данных пользователя — её как раз нормально обрабатывать.

3. TypeError — тоже может быть валидным кейсом

Например, если дата отсутствует:

name,start,end
Q1,2025-01-01,


Тут программа получает None вместо даты. Это проблема входных данных, а не вашего кода — обработать её можно.

4. KeyError — не всегда стоит ловить

Если пользователь ошибся в заголовке:

name,Start,end


(большая S вместо маленькой)

код выдаст:

KeyError: 'start'


И это… полезная ошибка.

Если вы её поймаете и покажете:
> Invalid date on line 1

пользователь вообще не поймёт, что проблема в заголовке.

Лучше проверить headers заранее:

required = ["name", "start", "end"]

for col in required:
if col not in reader.fieldnames:
print(f"Missing column: {col}")
sys.exit(1)


Когда except Exception всё-таки нормален

Есть исключение из правила: mission-critical код. Например, вы обрабатываете 1000 файлов и не хотите, чтобы один битый файл остановил весь процесс.

Тогда такой код оправдан:

for path in files:
try:
process(path)
except Exception as e:
log_error(path, e)


Один файл упал → идём дальше. Главное — логировать ошибку, а не silently ignore.

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🧠 Один из лучших способов понять алгоритмы — не читать про них, а смотреть как они работают шаг за шагом.

Наткнулись на классный Algorithm Visualizer — интерактивный проект, где можно буквально увидеть алгоритмы в действии.

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

Библиотека питониста

#развлекалово

Читать полностью…

Библиотека питониста | Python, Django, Flask

Библиотека питониста

#развлекалово

Читать полностью…

Библиотека питониста | Python, Django, Flask

🐸 Библиотека задач по Data Science

Читать полностью…

Библиотека питониста | Python, Django, Flask

🔥 Расширения VS Code, которые должен попробовать каждый разработчик

📍 Наш курс по Питону

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

📌 Зачем дата-сайентисту матанализ?

Основная компетенция специалиста по Data Science – способность анализировать и интерпретировать данные, а математика является фундаментом для начала работы.

В карточках мы разбираем основные разделы математики, с которых стоит начать изучение специалисту по анализу данных.

Хотите подготовиться к офферу или подтянуть знания? Оставляйте заявку на наш курс по математике для Data Science 💙

P.S. Только до 31 мая на курс (и вообще на все программы Академии) действует СКИДКА 40%

А как у вас дела с высшей математикой?
❤️ — Помню всё
🔥 — Знаю основы
🌚 — Ничего не знаю

🏃‍♀️ Proglib Academy

Читать полностью…

Библиотека питониста | Python, Django, Flask

🐍 Первый GUI-проект на Python

Нашли отличный туториал, где шаг за шагом показывают, как собрать калькулятор на Tkinter — стандартной библиотеке Python для создания графических интерфейсов.

Что внутри:
• создание GUI-окна с Tkinter
• работа с кнопками и обработкой событий
• создание экрана вывода (`Entry`)
• базовая логика калькулятора (`+`, -, *, /, `=`)
• кнопка очистки AC
• улучшение интерфейса и UX

📌 Отличный способ прокачать Python через практику, а не только теорию.

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🔥 База по экономике токенов и кэшированию от AI Platform Lead из Bitrix24

Знакомьтесь, Сергей Нотевский. AI Platform Lead в Bitrix24.

Он один из ключевых экспертов нашего курса AgentOps. На своих лекциях он детально разбирает экономику AI-агентов, кэширование токенов, LLM-инфраструктуру и вывод генеративных систем в стабильный прод.

Мы попросили Сергея поделиться материалами для тех, кто хочет оптимизировать косты на LLM в проде. Сохраняйте методичку по prefix cache метрике, которая напрямую влияет на ваши деньги.

Как говорят создатели Manus:

“KV-cache hit rate is the single most important metric for a production-stage AI agent.”


🛠 Что внутри методички (комбо из 3 статей + код):
Экономика кэширования — особенности провайдеров и как правильно считать затраты.

Частые анти-паттерны — почему ваш кэш постоянно сбрасывается и вы платите больше.

Кэш в AI-агентах — специфика работы с памятью в автономных системах.


🍒 Вишенка на торте: готовый SKILL для агента, который делает ревью вашего проекта, находит анти-паттерны и предотвращает низкое попадание в кэш.

Забрать комбо-материалы на GitHub

P.S. Если хотите послушать Сергея вживую — ловите его на конференциях Kode Waves (май), Conversations AI и Highload Spb (июнь).

🎁 Акция в честь старта продаж!

Прямо сейчас при покупке Инженерного трека вы получаете полный доступ к материалам курса «Разработка ИИ-агентов» в подарок.

👉 Забрать 2 курса по цене 1 и начать обучение

Читать полностью…

Библиотека питониста | Python, Django, Flask

😱 Как правильно валидировать BST на Python (и не завалить интервью)

Задача Validate Binary Search Tree — одна из тех, что регулярно всплывают на coding interviews. И большинство кандидатов сначала решают её неправильно.

Типичная ошибка — проверять только родителя:


if node.left and node.left.val >= node.val:
return False


Проблема в том, что в BST ограничения наследуются от всех предков, а не только от текущего узла.

Например, вот это дерево невалидно:

10
/ \
5 15
/ \
6 20


Потому что 6 находится справа от 10, а значит должно быть больше 10, даже если 6 < 15.

Самый сильный и interview-friendly подход — min/max bounds pattern.

Идея простая:
- root начинается с диапазона (-∞, +∞)
- при движении влево текущий node становится верхней границей
- при движении вправо — нижней границей
- каждый узел должен удовлетворять:

min < node.val < max

Python-решение:

def is_valid_bst(root):
def validate(node, min_val, max_val):
if not node:
return True

if node.val <= min_val or node.val >= max_val:
return False

return (
validate(node.left, min_val, node.val)
and validate(node.right, node.val, max_val)
)

return validate(root, float("-inf"), float("inf"))


Почему этот подход любят на интервью:
- показывает понимание BST invariant
- O(n) по времени
- O(h) по памяти (stack depth)
- легко объяснить вслух интервьюеру

Частые edge cases, про которые забывают:
• пустое дерево → True
• один node → True
• duplicate values → обычно invalid BST
• extreme integer values → в Java/C# лучше использовать Long, а не Integer

Какую binary tree задачу вам чаще всего давали на интервью?

📍 Навигация: ВакансииЗадачиСобесы
📍 Канал в Max

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🙂 Что такое Flask?

В мире Python-разработки все делятся на два лагеря: те, кто берет тяжелую Django, и те, кто выбирает Flask.

Flask - это микрофреймворк. «Микро» значит в нем нет ничего лишнего из коробки.

Вот как это работает:


• Свобода
Django дает тебе сразу всё: админку, базу, авторизацию. Flask дает только базу (роутинг и шаблоны). Итог: ты сам выбираешь, какую базу данных подключить и как строить архитектуру.

• Легкий старт
Простейшее приложение на Flask пишется в 5 строк кода. Итог: это идеальный выбор для маленьких сервисов, API или микросервисов. Не нужно разворачивать огромную структуру ради одной функции.

• Гибкость через расширения
Нужна админка? Ставишь Flask-Admin. Нужна база? Flask-SQLAlchemy. Итог: твой проект весит ровно столько, сколько ему нужно, без лишнего «жира» в коде.

• Масштабируемость
Кажется, что Flask только для маленьких сайтов. Но на нем работают части систем в Netflix, Reddit и Airbnb. Итог: при прямых руках на нем можно поднять проект любой сложности.

Проблема в том, что свобода Flask ловушка для новичков. Без понимания архитектуры твой проект быстро превратится в спагетти.

На чем планируете писать свой первый (или следующий) бэкенд?
❤️ — Flask, люблю минимализм
🔥 — Django, пусть всё будет из коробки

🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Азбука айтишника

#ликбез

Читать полностью…

Библиотека питониста | Python, Django, Flask

👇 Альтернативы `break` в Python, которые делают код чище

break — полезная штука, когда нужно досрочно выйти из цикла. Но во многих случаях код можно сделать более читаемым и “питоничным”, используя встроенные инструменты Python.

Вот несколько частых сценариев.

1. Проверить, есть ли значение в коллекции

Вместо цикла с break:


is_purple = False
for color in colors:
if color == "purple":
is_purple = True
break


Используйте in:

is_purple = "purple" in colors


Проще, короче и зачастую быстрее.

2. Проверить, подходит ли хотя бы один элемент

Было:

has_big_score = False
for score in scores:
if score > 100:
has_big_score = True
break


Стало:

has_big_score = any(
score > 100
for score in scores
)

А если нужно проверить, что все элементы подходят — используйте all().

3. Найти первый подходящий элемент

Вместо:

first_long_word = None

for word in words:
if len(word) > 4:
first_long_word = word
break


Можно:

first_long_word = next(
(word for word in words if len(word) > 4),
None
)


next() + generator expression позволяют сразу взять первое совпадение.

4. Собирать элементы, пока условие истинно

Было:

result = []

for item in items:
if not item:
break
result.append(item)


Стало:

from itertools import takewhile

result = list(takewhile(bool, items))


takewhile() собирает элементы, пока условие возвращает True.

Мини-шпаргалка:
✅ Проверить наличие → in
✅ Хоть один подходит → any()
✅ Все подходят → all()
✅ Найти первое совпадение → next()
✅ Собирать до условия → itertools.takewhile()

📍 Навигация: ВакансииЗадачиСобесы
📍 Канал в Max

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

👀 Практический курс «Разработка AI-агентов для автоматизации задач, работы и собственных проектов» со скидкой 40% до конца мая!

Мы поговорили с десятками разработчиков, учли главные боли индустрии и запускаем полностью обновленный курс «ИИ-агенты 5.0». 🎉

Что вы узнаете?

- Как радикально оптимизировать траты на токены.
- Как на практике оценивать качество и точность работы агента.
- Как «докручивать» RAG-системы без потери качества.
- Как обеспечить устойчивость агента к сбоям внешних сервисов без падения всей системы, и про многое-многое другое.

Спикеры — практики с опытом в AI и Data Science в крупных IT-компаниях, таких как Яндекс, Сбер, Raft и Газпромбанк др.

Длительность: 6–12 недель в зависимости от тарифа.

👉 Занимайте место на главном агентском интенсиве по лучшей цене

Читать полностью…

Библиотека питониста | Python, Django, Flask

uv — отличный инструмент с ужасным UX для обновления пакетов

uv — лучшее, что случалось с Python-инструментарием за годы. Быстрый, всё в одном бинарнике, управляет версиями Python из коробки.

Но есть одна вещь, которая стабильно раздражает — UX для обновления пакетов.

Например:


# pnpm — просто и понятно
pnpm update pydantic httpx

# uv — добро пожаловать в ад
uv lock --upgrade-package pydantic --upgrade-package httpx


Почему нельзя было сделать просто uv update pydantic httpx?

Ещё один неприятный момент: по умолчанию uv add пишет зависимость без верхней границы — pydantic>=2.13.4. А значит uv lock --upgrade может в любой момент затащить мажорную версию с ломающими изменениями.

Выход есть — добавить в pyproject.toml:

[tool.uv]
add-bounds = "major"


Тогда пакеты будут фиксироваться нормально. Но это preview-фича и не включена по умолчанию — странное решение для инструмента, который позиционируется как замена всему.


📍 Навигация: ВакансииЗадачиСобесы
⌨️ Канал в Max

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

👀 Краткая выжимка нашей имбовой рассылки по ИИ

Ниже — небольшая подборка, а если хотите фулл, то подписывайтесь на рассылку

💬 Новости

▫️ Энтузиасты получили доступ к Anthropic Mythos
Группа из Discord-канала, искавшая доступ к ещё не вышедшим моделям, угадала URL Mythos по шаблонам URL других моделей Anthropic и через аккаунт стороннего подрядчика получила доступ к инструменту 

▫️ Anthropic тайно устанавливает шпионское ПО при установке Claude Desktop
Claude Desktop без спроса прописывает в семь браузеров (Chrome, Brave, Edge, Chromium, Arc, Vivaldi и Opera) Native Messaging bridge, который дает расширению Claude доступ к авторизованным сессиям, DOM и формам за пределами песочницы. Удалить это нельзя — приложение восстанавливает файл с настройками при каждом запуске.

▫️ Три бага, которые сломали Claude Code
Сначала снизили режим мышления с high до medium ради скорости, потом словили баг с кешированием, из-за которого модель теряла контекст каждый ход вместо одного раза, а под конец добавили системный промпт с жесткими лимитами на длину ответов — все это вместе выглядело как общая деградация модели, хотя API б

🤖 Инструменты для ИИ

Google DESIGN.md — открытый стандарт описания дизайн-систем для UI-агентов
designdotmd.directory — каталог DESIGN.md файлов
beads — система памяти для агентов
swarm-forge — оркестратор агентов, работающих в разных git worktree одного проекта
browser-harness — дает агентам полный контроль над браузером
agentmako — превращает код в локальную базу знаний и скармливает AI-агентам готовый контекст
thonops — cобирает сайт на Next.js, обновляя страницу на лету при любой правке кода и заливая проект на Vercel в пару кликов
vibechord — инструмент для запуска нескольких AI-агентов и управления ими из одного места
monitorability-evals — открытый датасет от OpenAI для оценки того, насколько хорошо можно отслеживать и контролировать поведение языковых моделей в различных сценариях

🖥 Разбор пяти AI-проектов, набравших тысячи звезд на GitHub:

Hermes Agent — самообучающийся ассистент с долгой памятью
DeerFlow — мультиагентный фреймворк с изолированными песочницами
Multica — аналог Jira для AI-команд
Claude Code Game Studios — 48 агентов-коллег для инди-геймдева
MarkItDown — конвертер любых документов в Markdown

⚡️ Скиллы

ui-skills.com — 12 кураторских скилов для UI
Nothing Design Skill — скил для Claude Code по созданию пользовательского интерфейса в дизайн-языке Nothing: монохромный, типографический, индустриальный
codex-marketplace.com — каталог плагинов, скилов и хуков для Codex с установкой в одну команду и рейтингом от коммьюнити
TBM Recommender — прикручивает к AI-агентам базу рассылки TBM про продукты и менеджмент, вытаскивая релевантные посты через хитрую трехуровневую выборку ради экономии токенов

🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🏃‍♀️ Proglib Academy

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🐍 TIL: в Python можно вручную разбудить lazy import

Недавно в Python появились lazy imports — модуль не импортируется сразу, а загружается только тогда, когда он реально нужен.

То есть:


lazy import json


не загружает json сразу в память.

Вместо модуля вы получаете специальный объект-заглушку:

globals()["json"]
# <lazy_import 'json'>


👇 И тут есть неожиданный трюк. Оказывается, lazy import можно зарезолвить вручную:

lazy import json

resolved_json = globals()["json"].resolve()


После этого:

resolved_json.dumps({"x": 1})


будет работать как обычный модуль json.

Что интересно — lazy import сам не исчезает:

globals()["json"]
# <lazy_import 'json'>


То есть Python, вероятно, делает примерно следующее под капотом:

globals()["json"] = globals()["json"].resolve()


когда понимает, что модуль уже реально понадобился.

Самый интересный вопрос здесь: что именно триггерит пробуждение lazy import?

Скорее всего, это происходит через __getattribute__ / __getattr__, но сам механизм внутри выглядит довольно элегантно.

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

До 31 мая можно забрать любой курс Proglib Academy со скидкой 40%

Если давно хотели прокачаться в Python, ML, алгоритмах или AI-агентах, сейчас самое время выбрать программу и начать обучение по сниженной цене.

🎁 Разработка AI-агентов от 49.000 ₽ (вместо 69.000 ₽)

Практический курс по разработке AI-агентов для автоматизации задач, работы и собственных проектов

🎁 Курс AgentOps129.000 ₽ (вместо 149.000 ₽)

Для разработчиков и LLM-инженеров, которые хотят внедрять AI-логику в бэкенд и сохранять стабильность сервиса.

🎁 Математика для разработки AI-моделей 23.990 ₽ (вместо 31.990 ₽)

Практическая база по математике для анализа данных, ML и дальнейшего развития в AI.

🎁 Математика для Data Scienceот 29.990 ₽ (вместо 39.990 ₽)

Курс для тех, кто хочет решать задачи, которые дают на собеседованиях на позицию дата-сайентиста в бигтехе.

🎁 ML для старта в Data Science28.990 ₽ (вместо 38.990 ₽)

Разберётесь в машинном обучении: от базовых понятий и линейных моделей до ансамблей, бустинга и рекомендательных систем.

🎁 Основы IT для непрограммистов16.990 ₽ (вместо 28.990 ₽)

Курс для IT-рекрутеров, маркетологов, проджектов, продактов и всех, кто работает с IT, но не пишет код.

🎁 Архитектуры и шаблоны проектирования27.990 ₽ (вместо 37.900 ₽)

Освоите основные паттерны проектирования и прокачаете навыки архитектора программного обеспечения.

🎁 Специалист по ИИ89.000 ₽ (вместо 113.900 ₽)

Курс для тех, кто хочет получить профессию в сфере ИИ, собрать портфолио из 5 проектов и научиться разрабатывать сложных AI-агентов.

🎁 Алгоритмы и структуры данных 33.990 ₽ (вместо 57.990 ₽)

Подготовитесь к алгоритмическим собеседованиям, разберёте структуры данных и научитесь писать более эффективный код.

🎁 Программирование на языке Python27.990 ₽ (вместо 47.390 ₽)

Освоите Python на практике: без сухой теории, с пошаговой прокачкой навыков и итоговым проектом в портфолио.

🙌 Выбирайте курс по ссылке, оставляйте заявку, и менеджер поможет подобрать программу под ваши цели — https://clc.to/0z0fnQ

Читать полностью…

Библиотека питониста | Python, Django, Flask

🤖 AI меняет работу разработчиков — вопрос только в масштабе

С 8 апреля по 8 мая 2026 года прошло исследование State of Web Dev AI 2026, в котором приняли участие 7 258 разработчиков.

И независимо от отношения к AI — за или против — кажется, почти все согласны в одном:
ИИ уже серьёзно влияет на то, как мы пишем код, учимся и строим продукты.

Исследование собрало много интересных данных о том, как именно меняется работа разработчиков — от ежедневного использования AI-инструментов до отношения к будущему профессии.

👇 Что изменилось у вас за последний год?

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🚀 List comprehensions знают все. Но используют их максимум на 20% возможностей

Вот приёмы, которые реально стоит добавить в свой арсенал 👇

1️⃣ Условие не только в конце

Обычно comprehension используют как фильтр, но if может стоять и в начале — тогда это уже замена значения:


# фильтр — оставляем только чётные
[x for x in nums if x % 2 == 0]

# замена — нечётные превращаем в 0
[x if x % 2 == 0 else 0 for x in nums]


📌 Разница только в позиции if, но смысл полностью меняется.

2️⃣ Flatten — развернуть список списков


matrix = [[1,2,3],[4,5,6],[7,8,9]]

flat = [x for row in matrix for x in row]


👉 читается как обычный цикл: «для каждой строки → для каждого элемента»

3️⃣ Dict и set comprehensions


# инверсия словаря
d = {'a': 1, 'b': 2}
inv = {v: k for k, v in d.items()}

# уникальные домены
emails = ['a@gmail.com', 'b@yandex.ru', 'c@gmail.com']
domains = {e.split('@')[1] for e in emails}


4️⃣ Генератор вместо списка (когда данных много)


# список — всё в памяти
total = sum([x**2 for x in range(10_000_000)])

# генератор — ленивые вычисления
total = sum(x**2 for x in range(10_000_000))


⚡ Вторая версия экономит память в разы — критично для больших данных.

5️⃣ Walrus-оператор := внутри comprehension


results = [
y for x in data
if (y := heavy_function(x)) > 0
]


👉 значение считается один раз и сразу используется в условии.

💬 Какой приём был для вас новым?

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

⚡️ Главные ИИ-новости недели: от громкого трансфера Карпати до бесплатного ChatGPT для целой страны

1.
Андрей Карпати перешел в Anthropic.

2. Anthropic впервые обогнала OpenAI по бизнес-адопции: 34.4% и 32.3% соответственно. (см. 2)

3. Codex теперь доступен в мобильном приложении ChatGPT

4. xAI запустила Grok Build — CLI-агент для кодинга с субагентами, plan-режимом, headless и ACP. Пока бета, только для SuperGrok Heavy. (см. 4)

5. Cursor выпустил модель Composer 2.5 (на основе Kimi K2.5): стоит в 10 раз дешевле и работает на уровне Opus 4.7. (см. 5)

6. Google релизнула модель Gemini 3.5 Flash

Модель Gemini 3.5 Flash, которая обходит Gemini 3.1 Pro на агентских и кодинговых бенчмарках при 4-кратной скорости вывода. Вместе с ней появился персональный агент Gemini Spark, работающий круглосуточно, а 3.5 Pro ожидается в следующем месяце. (см. 6)

7. Alibaba выпустила Qwen 3.7 Max Preview (заняла 13 место в Text Arena) и Plus Preview (16 место в Vision Arena). (см. 7)

8. Moonshot AI выпустила Kimi WebBridge

Расширение для браузера, которое дает агенту доступ к вашим учетным записям, файлам cookie и авторизованным сессиям, чтобы он мог сам кликать, скроллить и заполнять формы от вашего имени на любых сайтах.

9. Мальта договорилась с OpenAI и раздает всем своим гражданам годовую подписку ChatGPT Plus

📬 Понравился дайджест? Это лишь 20% от того, что мы отправляем нашим подписчикам каждую субботу.

👉 Подписаться на еженедельную ИИ-рассылку

Читать полностью…

Библиотека питониста | Python, Django, Flask

🔥 Python typing становится намного умнее

Вот несколько идей, которые сейчас двигают экосистему Python вперёд:

1️⃣ AI + Type Checking = меньше багов

Оказалось, что AI пишет код заметно лучше, если после каждого изменения получает ошибки типизации.

Например:


def add(a: int, b: int) -> int:
return a + b

add("1", 2)


Type checker сразу покажет проблему ещё до запуска.

2️⃣ Проверка размеров тензоров прямо в типах

Одна из самых сильных идей для ML.

Вместо комментариев:

x # (B, T, C)


можно будет писать:

x: Tensor[B, T, C]


И Python сможет предупреждать:
❌ несовместимые размеры матриц
❌ ошибки reshape
❌ неправильные tensor operations

3️⃣ Intersection Types — комбинация типов без лишнего кода

Сегодня часто приходится создавать отдельные Protocol.

В будущем возможно так:

Closeable & Iterable


То есть объект должен быть и закрываемым, и итерируемым одновременно. Без создания новых классов ради одной аннотации.

4️⃣ Типы станут программируемыми

Появляется идея динамически менять типы.

Например:

Partial[User]


может автоматически превратить:

class User:
name: str
age: int


в:

{
"name": str | None,
"age": int | None
}


Очень похоже на utility types в TypeScript.

5️⃣ Главное изменение мышления

Раньше типизация в Python была “nice to have”.

Сейчас она постепенно превращается в инструмент проектирования системы:
- ловит ошибки раньше
- помогает AI писать код
- делает большие проекты безопаснее
- улучшает DX для библиотек и ML

🖥 Подробнее

📍 Наш курс по Питону

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

🐍 Полезный курс: Advanced Python Mastery

В нем меньше про «как написать TODO-приложение» и больше про то, как Python работает изнутри: итераторы, генераторы, декораторы, дескрипторы, внутренние механизмы языка и паттерны, которые используются в популярных библиотеках и фреймворках.

Хотя он в основном ориентирован на возможности Python 3.6, почти всё актуально и сегодня.

Курс

📍 Наш курс по Питону

Библиотека питониста

#буст

Читать полностью…

Библиотека питониста | Python, Django, Flask

Библиотека питониста

#развлекалово

Читать полностью…

Библиотека питониста | Python, Django, Flask

Идеи проектов для разработчиков

В списке собраны проекты, которые помогают:
→ прокачать навыки
→ попробовать новые технологии
→ собрать портфолио
→ сделать что-то, что не стыдно показать

📌 Суть простая: берёте идею → делаете MVP → постепенно улучшаете.

Иногда этого достаточно, чтобы выйти из режима «учу, но не строю».

👇 Какой проект вы давно хотели сделать, но всё откладывали?

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст

Читать полностью…
Subscribe to a channel