🎬 Все декораторы в Python — за 9 минут
Краткий, но ёмкий видео-гид, в котором вы узнаете, как работают декораторы, зачем они нужны и как применять их для написания более чистого и эффективного кода.
💡 Что вы узнаете:
— Что такое декораторы в Python
— Как использовать
— Как создавать собственные декораторы, чтобы упростить архитектуру кода
📌 Основные моменты:
0:00 — Введение и понятие декораторов
3:11 — Все встроенные декораторы Python
🔗 Ссылка на видео: https://clc.to/dBNl5Q
Библиотека питониста #буст
Краткий, но ёмкий видео-гид, в котором вы узнаете, как работают декораторы, зачем они нужны и как применять их для написания более чистого и эффективного кода.
💡 Что вы узнаете:
— Что такое декораторы в Python
— Как использовать
@staticmethod
, @classmethod
и @property
— Как создавать собственные декораторы, чтобы упростить архитектуру кода
📌 Основные моменты:
0:00 — Введение и понятие декораторов
3:11 — Все встроенные декораторы Python
🔗 Ссылка на видео: https://clc.to/dBNl5Q
Библиотека питониста #буст
👍8❤4🎉3🔥1
Forwarded from Библиотека джависта | Java, Spring, Maven, Hibernate
📈 Как «ленивая разработка» захватывает IT-рынок
Пока мы выстраиваем архитектуру, пишем тесты и спорим о лучших практиках, рынок всё активнее обживают те, кто вообще не пишет код. Low-code и no-code решения не просто живы — они становятся нормой для бизнеса.
Порог входа минимальный, скорость разработки — бешеная, а заказчику всё равно, написано ли это на Java или накликано в визуальном редакторе. Вопрос: как долго останется актуальной классическая разработка?
🔗 Подробнее в статье
🐸 Библиотека джависта
Пока мы выстраиваем архитектуру, пишем тесты и спорим о лучших практиках, рынок всё активнее обживают те, кто вообще не пишет код. Low-code и no-code решения не просто живы — они становятся нормой для бизнеса.
Порог входа минимальный, скорость разработки — бешеная, а заказчику всё равно, написано ли это на Java или накликано в визуальном редакторе. Вопрос: как долго останется актуальной классическая разработка?
🔗 Подробнее в статье
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4😁4❤2
Собрали топовые материалы, которые наши подписчики сохраняют чаще всего.
Эту подборку мы будем регулярно пополнять, поэтому сохраняйте тонну пользы, чтобы не потерять!
1. uv — новый стандарт в управлении Python-проектами и пакетами
2. Бесплатный курс по фулстек-разработке — реальность
3. Интерактивная карта Python‑пакетов PyPI
4. Устали от хаоса в JSON?
5. Автоматизация с Python: от рутинных задач до DevOps
6. Poetry vs UV: какой менеджер пакетов лучше для Python?
7. Чистый код на Python
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8👍4
Мы не могли пройти мимо нашумевшего тренда и попросили ИИ перенести Python во вселенную Миядзаки.
Как вам образ? Расскажите в комментариях ↓
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4🔥1🌚1
🎯 Команда дня: `@overload` в Python
Пример:
—
—
— Типизация подскажет ошибку, если вы вызовете
Другой кейс — когда нужен только один аргумент из двух:
Так можно добиться:
✅
✅
🙅♂️
Бонус:
▶️ Попытка передать yellow вызовет ошибку ещё до выполнения кода.
▶️ @overload и Literal — мощные инструменты статической проверки, особенно в больших проектах, где важна точная типизация.
Библиотека питониста #буст
@overload
из модуля typing
позволяет указать несколько сигнатур для одной функции. Это особенно полезно, когда возвращаемый тип зависит от аргументов — и вы хотите, чтобы типизация отражала это поведение.Пример:
from typing import Literal, overload
@overload
def transform(data: str, mode: Literal["split"]) -> list[str]: ...
@overload
def transform(data: str, mode: Literal["upper"]) -> str: ...
def transform(data: str, mode: Literal["split", "upper"]) -> list[str] | str:
return data.split() if mode == "split" else data.upper()
—
transform(..., "split")
→ list[str]
—
transform(..., "upper")
→ str
— Типизация подскажет ошибку, если вы вызовете
append()
у строки или .lower()
у спискаДругой кейс — когда нужен только один аргумент из двух:
@overload
def get_user(id: int = ..., username: None = None) -> User: ...
@overload
def get_user(id: None = None, username: str = ...) -> User: ...
def get_user(id: int | None = None, username: str | None = None) -> User: ...
Так можно добиться:
get_user(id=1)
get_user(username="John")
get_user(id=1, username="John")
— не соответствует ни одной сигнатуреБонус:
Literal
позволяет ограничить значения аргументов строками:def set_color(color: Literal["red", "blue", "green"]) -> None: ...
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤5❤🔥2🔥2
Сегодняшний интернет — это не только мемы и котики, но и автозапуск видео, всплывающие окна, перегруженный JavaScript, странные архитектурные решения прошлого.
В статье разбираем:
Мечты о «перезапуске» веба с чистого листа — это не фантастика, а повод задуматься: а не пора ли нам пересмотреть старые решения?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🥰2
💭 Холивар: нужен ли ООП Python-разработчику?
Что думаете? Пишете ли вы на Python с ООП или предпочитаете обходиться без него?
Го в комменты, разожжём холивар! 👇
❤️ Команда «ООП — необходимость»: «ООП — это основа качественного кода! Классы, наследование, инкапсуляция — без них проект превращается в хаос. ООП — это про командную работу и долгосрочные проекты.»
👍 Команда «Простота превыше»: «Python создан для ясности! Функции, списки, модули — этого хватает для большинства задач. ООП часто усложняет код без нужды.»
P.S. Инструкция, как оставить коммент
Библиотека питониста #междусобойчик
Джун в команде написал Python-скрипт для обработки данных — лаконичный, читаемый, работает безупречно.
На код-ревью сеньор разнёс его в пух и прах: «Где ООП? Без классов и объектов это не код, а любительщина, переделывай».
Джун ответил: «Мой скрипт решает задачу, он понятный и быстрый. Зачем ООП для 150 строк?»
Сеньор был непреклонен, и дедлайн сорвался.
Что думаете? Пишете ли вы на Python с ООП или предпочитаете обходиться без него?
Го в комменты, разожжём холивар! 👇
❤️ Команда «ООП — необходимость»: «ООП — это основа качественного кода! Классы, наследование, инкапсуляция — без них проект превращается в хаос. ООП — это про командную работу и долгосрочные проекты.»
👍 Команда «Простота превыше»: «Python создан для ясности! Функции, списки, модули — этого хватает для большинства задач. ООП часто усложняет код без нужды.»
P.S. Инструкция, как оставить коммент
Библиотека питониста #междусобойчик
👍69❤15❤🔥1
Forwarded from Библиотека программиста | программирование, кодинг, разработка
🧠⚡️👟 Странные, но эффективные лайфхаки для продуктивности
Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.
ТОП-советы от пользователей Reddit — в нашей статье.
🐸 Библиотека программиста
Иногда самые действенные способы повысить продуктивность звучат как полный бред. Но это работает! Пользователи Reddit делятся своими «тупо-звучащими-но-реально-помогающими» секретами, которые помогут тебе наконец-то перестать прокрастинировать и начать делать дела.
ТОП-советы от пользователей Reddit — в нашей статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5👍2🔥1
🚀 Релизы и инструменты:
— T-строки официально в Python 3.14 — новый стандарт форматирования строк
— ViperView — визуализатор pip-пакетов — смотрим зависимости проекта наглядно
— PyUiBuilder — drag-and-drop конструктор GUI на Python (tkinter и customtk)
— Bootstrapping Python-проектов с Copier — автоматизация шаблонов, uv и GitHub Actions
👍 Советы:
— Год с uv — плюсы, минусы и стоит ли переходить — опыт использования альтернативы pip+venv
— Python на скорости Rust — как добиться скорости C-подобного уровня
— Введение в MLflow: настройка и запуск — быстрый старт для трекинга экспериментов
🧪 Разработка и производительность:
— Все декораторы в Python — за 9 минут видео — компактное и наглядное объяснение
— Асинхронная обработка запросов в Python: мода или необходимость — разбор реальных кейсов
— Разработка своей системы планирования задач на Python — проект от идеи до реализации
— Мини текстовая RPG-игра на Python — отличный проект для практики
🌐 Django и веб:
— Django внедряет новую систему трекинга фич на GitHub — прозрачность и участие в разработке
— Maps with Django: GeoDjango, Pillow и GPS — создание веб-карт с данными из фотографий
— Введение в тестирование Flask-приложений — маршруты, БД и мокирование с pytest
🛠 Тестирование и автоматизация:
— UI автотесты на Python с PageObject и CI/CD — практика с Allure-отчётами
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1🔥1
Forwarded from Библиотека задач по Python | тесты, код, задания
Есть ли в Python сборщик мусора, и, если есть, как он работает?
Стандартный интерпретатор использует несколько алгоритмов.
🧹 Подсчёт ссылок. Каждый объект в Python содержит внутренний счётчик ссылок. Когда он падает до нуля, это означает, что на объект больше нет ссылок, его можно удалить. Главный недостаток этого алгоритма — не умеет определять циклические ссылки.
🧹 Алгоритм поиска циклов. Реализован в модуле gc и активируется время от времени, а не постоянно. Если коротко, этот алгоритм периодически ищет объекты, которые ссылаются только друг на друга и не доступны извне. Объекты, признанные недостижимыми, удаляются.
Также стоит добавить, что циклический сборщик мусора делит объекты на три поколения в зависимости от того, как долго они существуют в памяти. Новые объекты помещаются в первое поколение. Если они сохраняются после очередного процесса сбора мусора, то перемещаются в следующее по старшинству поколение. Объекты в более старших поколениях проверяются реже.
👍11❤3
Релиз pip 25.1: установка групп зависимостей и вывод lock-файлов
На выходных вышел pip 25.1.
Главные новшества:
➡️ Теперь можно устанавливать группы зависимостей, например:
➡️ Добавлена экспериментальная поддержка вывода lock-файлов по стандарту PEP 751:
Полный список изменений получился внушительным. Один из мейнтейнеров подготовил краткий обзор:
👉 Что нового в pip 25.1
Полный changelog можно посмотреть здесь:
👉 Changelog pip 25.1
Библиотека питониста #свежак
На выходных вышел pip 25.1.
Главные новшества:
pip install --group test
pip lock requests -o -
Полный список изменений получился внушительным. Один из мейнтейнеров подготовил краткий обзор:
👉 Что нового в pip 25.1
Полный changelog можно посмотреть здесь:
👉 Changelog pip 25.1
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡9❤2❤🔥1👍1
Python-разработчик — от 300 000 ₽, удалёнка
Senior Python Developer (KernelCare), удалёнка
Python-разработчик, удалёнка
Python Developer — от 220 000 ₽, удалёнка
Junior Python developer — от 100 000 до 130 000 ₽, офис (Москва)
Библиотека питониста
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤2
📅 Важные релизы:
• Python 3.14 Beta 1
Ожидаемая дата: 6 мая 2025 года
Это важный этап разработки: после выхода беты новые функции замораживаются, а основное внимание переключается на тестирование и исправление ошибок.
• Python 3.13.4
Ожидаемая дата: вероятно, середина месяца
Релиз будет включать исправления багов и обновления безопасности в рамках регулярного двухмесячного цикла.
🌟 Ключевые мероприятия:
• PyCon US 2025 (PyCon US)
Даты проведения: 15–23 мая 2025 года
Место: Питтсбург, США
Крупнейшая конференция Python в США, объединяющая доклады, мастер-классы, хакатоны, ярмарку вакансий (Job Fair), аукцион PyLadies и другие мероприятия для разработчиков всех уровней.
• PyCon Italia 2025 (PyCon Italia)
Даты проведения: 28–31 мая 2025 года
Место: Болонья, Италия
Конференция Python в Италии с насыщенной программой: доклады, мастер-классы и социальные мероприятия — PyDrinks, PyDinner и PyFest.
Библиотека питониста #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥5👏2
Инструмент недели: планирование задач с Rocketry
Rocketry — это фреймворк для планирования задач в Python, который позволяет легко управлять задачами и их выполнением с помощью простых выражений.
👇 В этом посте мы покажем, как быстро настроить планировщик задач, используя Rocketry.
1⃣ Установите Rocketry
Для начала установите Rocketry с помощью pip:
2⃣ Напишите первый планировщик задач
Создайте файл, например,
Этот код создаёт задачу, которая выполняется каждый день. Планировщик будет работать в фоновом режиме, выполняя задачу каждый день.
3⃣ Запуск задач
После написания кода запустите его с помощью Python:
Теперь ваша задача будет выполняться каждый день.
4⃣ Настройка различных условий
Rocketry позволяет настраивать задачи с использованием различных условий.
▶️ Задача, выполняющаяся каждые 10 секунд:
▶️ Задача, выполняющаяся каждый день после 7:00:
▶️ Задача, выполняющаяся каждый час между 22:00 и 06:00:
▶️ Задача, выполняющаяся по cron-выражению:
5⃣ Пайплайнинг задач
Rocketry поддерживает пайплайнинг задач — передача данных между задачами:
6⃣ Параллельное выполнение задач
Rocketry поддерживает выполнение задач в разных режимах: синхронно, асинхронно, в отдельных потоках и процессах:
▶️ С помощью Rocketry вы можете автоматизировать задачи с минимальными усилиями, будь то для небольших проектов или для масштабных приложений.
Библиотека питониста #буст
Rocketry — это фреймворк для планирования задач в Python, который позволяет легко управлять задачами и их выполнением с помощью простых выражений.
Для начала установите Rocketry с помощью pip:
pip install rocketry
Создайте файл, например,
scheduler.py
, и добавьте в него следующий код:from rocketry import Rocketry
from rocketry.conds import daily
app = Rocketry()
@app.task(daily)
def do_daily():
print("Эта задача выполняется каждый день!")
if __name__ == '__main__':
app.run()
Этот код создаёт задачу, которая выполняется каждый день. Планировщик будет работать в фоновом режиме, выполняя задачу каждый день.
После написания кода запустите его с помощью Python:
python scheduler.py
Теперь ваша задача будет выполняться каждый день.
Rocketry позволяет настраивать задачи с использованием различных условий.
@app.task(every("10 seconds"))
def do_continuously():
print("Эта задача выполняется каждую секунду!")
@app.task(daily.after("07:00"))
def do_daily_after_seven():
print("Эта задача выполняется каждый день после 7:00!")
@app.task(hourly & time_of_day.between("22:00", "06:00"))
def do_hourly_at_night():
print("Эта задача выполняется каждый час ночью!")
@app.task(cron("* 2 * * *"))
def do_based_on_cron():
print("Эта задача выполняется по cron-выражению!")
Rocketry поддерживает пайплайнинг задач — передача данных между задачами:
from rocketry.conds import daily, after_success
from rocketry.args import Return
@app.task(daily.after("07:00"))
def do_first():
return 'Hello World'
@app.task(after_success(do_first))
def do_second(arg=Return('do_first')):
print(f"Задача 'do_first' вернула: {arg}")
return 'Hello Python'
Rocketry поддерживает выполнение задач в разных режимах: синхронно, асинхронно, в отдельных потоках и процессах:
@app.task(daily, execution="main")
def do_unparallel():
print("Эта задача выполняется синхронно.")
@app.task(daily, execution="async")
async def do_async():
print("Эта задача выполняется асинхронно.")
@app.task(daily, execution="thread")
def do_on_separate_thread():
print("Эта задача выполняется в отдельном потоке.")
@app.task(daily, execution="process")
def do_on_separate_process():
print("Эта задача выполняется в отдельном процессе.")
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥3👏3❤🔥2👾2😁1
🔥 IT Breaking Memes — 30 000 ₽ за самую смешную IT-новость
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
Библиотека программиста запускает конкурс, который взорвет вашу ленту: создайте самую смешную альтернативную версию реальной IT-новости!
👾 Правила просты:
1. Берете настоящую новость из мира технологий.
2. Переписываете ее так, чтобы смеялись все.
3. Получаете деньги и славу.
🏆 Призы:
- 1 место: 30 000 ₽ + статус ведущего нового юмористического IT-канала
- 2 и 3 место: по 5 000 ₽ + вечный почет в IT-сообществе
Пример:
Реальная новость: «Гугл создала модель для общения с дельфинами».
Смешная альтернатива: «Нейросеть от Гугл обрабатывает видеопоток с камеры в свинарнике. ИИ следит, сколько свинья находится возле кормушки, не отталкивают ли ее собратья. Недокормленных докармливают, а переевшие пропускают следующую кормешку».
📅 Сроки: с 29 апреля по 11 мая включительно
Для участия отправьте свою смешную новость в гугл-форму: https://forms.gle/6YShjgfiycfJ53LX8
Ждем ваших новостей!
👍6
Forwarded from Proglib.academy | IT-курсы
🐍✨ Пиши как профи: 10 Python-лайфхаков для новичков
Лайфхаки от разработчиков, обжёгшихся до вас
➡️ Что вас ждет внутри:
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
📎 Статья
🔵 Начинайте свой путь в программировании и прокачивайте свои навыки с нашим курсом «Основы программирования на Python»
Proglib Academy #буст
Лайфхаки от разработчиков, обжёгшихся до вас
— почему if x == True: — это преступление
— как списковые включения экономят часы
— зачем линтер важнее кофе
— и почему def func(start_list=[]) может испортить тебе вечер
— как не сойти с ума от зависимостей (и что делать с виртуальными окружениями)
— секретный power move: dir(), help() и другие встроенные суперсилы
И всё это без занудства и «книг для чайников». Просто, по делу, с примерами и личным опытом от бывалых питонистов
Proglib Academy #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤2
Промпт, который превратит ChatGPT в полноценного помощника при решении инженерных задач, отладки и проектирования архитектуры.
✍️ Промпт:
Act as a senior Python developer.
I will describe a project or task I'm working on. You will ask clarifying questions if needed, then help me:
— design clean architecture,
— identify edge cases,
— suggest libraries, tools, and testing strategies,
— write well-structured, production-ready code.
Please explain your reasoning and best practices throughout. Wait for my input before continuing to the next step.
— Вы получаете не просто код, а рассуждения и советы от «синьора»
— Промпт подстраивается под вашу задачу — от pet-проектов до боевых сервисов
— Подходит и для обучения, и для повышения качества решений в работе
— Решаете нетривиальную задачу и хотите second opinion
— Не уверены в архитектуре или выборе инструментов
— Хотите прокачать подход к разработке на уровне профессионала
Библиотека питониста #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3😁2🔥1