Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
smuggler | HTTP-запросы безопаснее
Если вам посчастливилось создавать собственное API, есть способ сделать скоуп задач по безопасности чуть легче. Эта Python-утилита позволяет искать дыры в ваших методах во время разработки и после деплоя. Обещают тонко настраиваемое логирование.
Цена: бесплатно
Репозиторий проекта
psqlpy | Асинхронный PostgreSQL на Rust
Blazingly fast, memory safe, fearless concurrency и другие бонусы Rust играют питонистам на руку, если последние используют драйвер psqlpy.
Где еще искать бенчмарки, выгодно освещающие этот инструмент, как не на сайте этой тулзы? На графике выше сравнили скорость исполнения массовых одновременных запросов и для двух конкурирующих решений.
Спасибо @DXYpT за рекомендацию. Шлите еще в комментариях :)
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
Логики, которые помогли создать программирование @2dn8r58
Возможно, аксиомы на картинке покажутся очевидными, однако именно они составляют метод Лейбница и являются основой для логических типов в Python (да и других языках тоже).x = 10
y = x # y теперь ссылается на тот же объект, что и x
print(y == 10) # True, y можно заменить на x
#факт
@zen_of_python
На что он смотрит?
Придумайте подпись к фото, но так, чтобы это относилось к языку программирования.
Трудно было выбрать победителя прошлого такого интерактива, однако это @zheldashev.
#кек #обсуждение
@zen_of_python
Апрувнули удаление return
, break
и continue
Теперь, когда вы замедлили скроллинг наконец, давайте вчитаемся. В PEP-785 решили убрать эти операторы из блока finally в try-except.
В таких условиях троица из зага нередко приводит к неожиданному поведению (подавлению исключений), что ̶п̶р̶о̶в̶о̶ц̶и̶р̶у̶е̶т̶ ̶н̶а̶п̶и̶с̶а̶н̶и̶е̶ ̶г̶о̶в̶н̶о̶к̶о̶д̶а̶ усложняет отладку.
Комьюнити активно просило такое обновление на официальном форуме Python. Кстати, рекомендуем заглянуть в треды на Latest Ideas на python.org — очень терапевтичная штука, ведь многих из нас раздражают одни и те же вещи в языке.
#факт
@zen_of_python
Квиз про Django + GraphQL + Vue
Хардкорная англоязычная викторина про сайт на вышеупомянутой троице технологий на 8 вопросов. Подготовиться можно с помощью статьи.
#квиз
@zen_of_python
Вопрос подписчика
Задает @AlekseiKiselev:
«А вопрос то и назрел, как по правильному делать асинхронный скоуп в алхимии.... На ум пришел синглтон, но не понятно будет-ли течь память, так как закрытие сессии явно приводит к открытию новой, а это дико медленно, поэтому сессию закрывать крайне не охота. Может есть какие-то бест практис?
Пример, что может пойти не так?
class Db:
session: async_scoped_session
def __new__(cls, config: RelationDatabaseConfig):
if not hasattr(cls, 'instance'):
cls.instance = super(Db, cls).__new__(cls)
return cls.instance
def __init__(self, config: RelationDatabaseConfig):
# Создаем коннект к БД
self._async_engine = create_async_engine(
config.connection_string,
echo=False,
pool_pre_ping=True,
poolclass=NullPool
)
# Создаем фабрику для создания сессии
self._async_session_factory = async_sessionmaker(
self._async_engine,
expire_on_commit=False,
)
# Создаем сессию на основе фабрики
self.session = async_scoped_session(
self._async_session_factory,
scopefunc=asyncio.current_task
)
Лаконичная шпаргалка по регулярным выражениям
Регулярные выражения — это инструмент для поиска и обработки текста по заданным шаблонам. Они позволяют находить, заменять и извлекать нужные фрагменты строк с помощью специальных символов и правил. Проверка формата email, мобильного телефона, ФИО — это всё регулярки.
Хоть этот инструмент используется повсеместно, он обладает не самым очевидным синтаксисом, поэтому всё необходимое расписано на шпаргалке выше.
🍌 Регулярки пишу только по шпаргалкам
😈 Я всё помню и без них
#шпаргалка #regexp #general
Ваш код работает. Но точно ли?
Вы выкатываете новый релиз и надеетесь, что ничего не сломалось? Вручную прогоняете сценарии, вместо того чтобы раз и навсегда автоматизировать тестирование? Pytest может спасти ваш проект.
На открытом вебинаре «Искусство тестирования с pytest» 18 марта в 20:00 (мск) будут:
— Основы pytest: пишем тесты, запускаем, отлавливаем ошибки
— Фикстуры и параметризация — меньше дублирования, больше гибкости
— Оптимизация тестирования: ускоряем процесс и выстраиваем структуру проекта
Всем участникам — скидка на большое обучение «Python Developer. Professional».
Пишите код, который не ломается. Регистрируйтесь прямо сейчас: https://otus.pw/kcV7/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2W5zFJoBiKS
Витгенштейн и && ||
Продолжаем рубрику «Логики, которые помогли создать программирование». Если в прошлый раз речь шла о теории множеств, то теперь австрийский философ Витгенштейн подготовил почву для операторов И / ИЛИ.
Освежить свои познания о логических операторах в Python можно с помощью статьи.
Если вам нравится такое и вы хотите дальше почитывать о докомпьютерной логике, дайте знать с помощью реакций.
#факт
@zen_of_python
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросыновичков
@zen_of_python
Вопрос подписчика
Задает @StSav012:
«Что они делают с multiprocessing.queues.Queue
по пути в multiprocessing.Queue
, что ломает её __class_getitem__
?
https://github.com/python/cpython/issues/99509»
Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
asyncpg | Асинхронный PostgreSQL
Python-библиотека — дружба asyncio и PSQL, позволяет значительно ускорить все операции к вашей базе данных. При определенных условиях не имеет зависимостей, что делает ее устойчивой к ошибкам компонентов при долгосрочном использовании.
Цена: бесплатно
Проект на pypi.org
Вопрос подписчика
Задает @data_3301:
«Где можно посмотреть примеры качественного кода из прода ? Не библиотеки , а типа сайта на fastAPI + postgresql , как то сложно найти».
Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
REST — это классика, но далеко не всегда лучший вариант. GraphQL, gRPC и HATEOAS открывают новые возможности в API, позволяя сделать взаимодействие с сервисами быстрее, гибче и удобнее.
Как выбрать подходящий инструмент? Где gRPC — спасение, а где GraphQL — ловушка? Почему REST уже не везде актуален? Про все нюансы архитектур API вы узнаете на открытом уроке.
Вы научитесь правильно подбирать API для проекта, поймёте, какие задачи решает каждый подход, и сможете оптимизировать работу сервисов. Это ключевые навыки для разработчиков, архитекторов и тимлидов.
Спикер Валентин Шилин — старший программист с опытом более 15 лет на С++, С#, JavaScript, Python, Scala, Java; аналитик данных; эксперт в обработке больших данных с помощью Scala/Spark и Hadoop Cloudera.
Встречаемся 26 марта в 20:00 мск — открывайте API по-новому! Участников ждёт скидка на большое обучение «Python Developer. Professional»: https://otus.pw/mTCF/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, erid: 2W5zFH7JrTr
Ну или warnings.filterwarnings('ignore')
#кек
@zen_of_python
Вопросы подписчиков
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
Школа Айти Авторов
Этот текст видят только те, кто хотел писать про IT, но всегда откладывал.
Редакция Tproger создала закрытый канал, где они учат авторов писать лучше и зарабатывать больше на статьях про технологии.
Подпишитесь, чтобы не потерять
Хотите разобраться, как устроены веб-фреймворки и глубже понять Django?
Велком на открытый урок разбираться с WSGI, HTTP-запросами, маршрутизацией и создавать свой мини-фреймворк.
Вместо сухой теории — код, практика и разбор ключевых механизмов, на которых строятся Django и Flask. Эксперт поможет разобраться, как работают серверы, роутинг и обработка запросов.
Если вы хотите прокачаться в Python-разработке и научиться создавать продвинутые веб-приложения, этот вебинар — идеальный старт.
Спикер Леонид Орлов — опытный преподаватель и разработчик на Python и Django.
Записывайтесь и получите скидку на большое обучение «Django-разработчик».
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Измеряем «пульс» Kafka-консьюмера для автоматического перезапуска с помощью livenessProbe ❤️
Во многих наших инструментах мы используем Kafka для обработки потоков данных. В связке с Kubernetes это очень удобно и эффективно. За исключением моментов, когда Kafka-консьюмер зависает без ошибок или падений, но перестав обрабатывать сообщения. Отследить такое сложно, но можно.
Например, проблему можно решить с помощью livenessProbe, но в случае Kafka-консьюмеров единого способа для этого нет, что усложняет задачу. Сергей Коник нашел наиболее оптимальное решение этой задачи с помощью паттерна HeartBeat и Python. Благодаря периодической проверке «пульса» консьюмера мы можем быстро обнаружить зависание и автоматически перезагрузить контейнер с консьюмером.
О том, как пошагово реализовать такой механизм Сергей рассказал в новой статье. Заходите почитать!
#шерим
Квиз про __main__
Небольшая англоязычная викторина на 6 вопросов с realpython.com про главную функцию вашего Python-проекта. Для подготовки можно пользоваться статьей.
#квиз
@zen_of_python
Кого фолловить, если вы дата-инженер
Выдающийся сабреддит про инфлюэнсеров в мире Data Engineering. Если вам знакомы понятия ETL, DWH и DBMS, несколько подписок только ускорят ваш профессиональный рост. Полезно для новичков в сфере DE, которые еще формируют свою позицию относительно аспектов профессии.
* На фото Максим Бушемин — один из создателей Airflow
#факт
@zen_of_python
Редакция Tproger попросила Claude Sonnet написать частушку про джуна-питониста. За содержимое еще можно поспорить, но рифмовать модель научилась весьма годно!
#кек
@zen_of_python
Придумайте подпись к видео, но так, чтобы это относилось к языку программирования.
В прошлом подобном интерактиве было непросто выбрать самый смешной вариант, залетайте покекать в комментарии. По мнению подписчиков, смешнее всего получилось у @artsiom_ph.
p.s. Когда смотришь подобные видео (на этом питон съел целого аллигатора), понимаешь, почему ван Россум выбрал именно этого зверя символом языка.
#кек #обсуждение
@zen_of_python
Python vs C++: какой язык быстрее найдет все простые числа до миллиарда
Громкой новостью в мире Python в 2025 году стало ускорение за счет сишных tail calls.
Теперь появился смысл сравнивать Python и низкоуровневый C++ в скорости. Об этом в Tproger и написали статью. Также она является неожиданным способом познакомиться с методами поиска простых чисел.
#факт
@zen_of_python
Доступная жилплощадь карьера по клику
Нет, это не скам, это мы вас зовем прогуляться по нашему Дому IT-карьеры, в котором притаились вакансии от работодателей. Заглядывайте в окошки, изучайте интерьер квартир и откликайтесь на вакансии — никакой ипотеки, первых взносов и рефинансирования. Эта новостройка досталась вам бесплатно, как квартира той самой любимой бабушки, за которой вы ухаживали.
Тук-тук, можно?
Реклама
Командная строка Linux. Полное руководство [2022]
Обновлённое издание рассказывает про свежие возможности Bash 4.x — новые операторы перенаправления, подстановки и прочие полезные мелочи. В разделе про скрипты — разбор нормальных практик, как писать код без лишних проблем, избегать типичных ошибок и не загонять себя в тупик.
Это не просто справочник по командам, а скорее способ разобраться, как всё устроено под капотом. Как эффективно работать с терминалом, не тратить время на лишние действия и использовать мощные инструменты Unix осознанно, а не по наитию.
#книга #linux #ru
preswald | Yey Another убийца Streamlit
Интерактивные data-приложения из года в год становятся доступнее. Теперь в опенсорс вышел еще один такой фреймворк, и он уже насобирал 1,5К+ звезд на GitHub. Создатели обещают бесшовный коннект с .csv / .parquet и другими форматами, а также базами данных SQL, стильный дизайн и минималистичный синтаксис.
Цена: бесплатно
Репозиторий проекта
@zen_of_python