Zen of Python
20.1K subscribers
1.21K photos
161 videos
32 files
3.15K links
Полный Дзен Пайтона в одном канале

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/xZOL
Download Telegram
😁23🤯2👎1🤣1
Редакция Tproger попросила Claude Sonnet написать частушку про джуна-питониста. За содержимое еще можно поспорить, но рифмовать модель научилась весьма годно!

#кек

@zen_of_python
6👍3
Витгенштейн и && ||

Продолжаем рубрику «Логики, которые помогли создать программирование». Если в прошлый раз речь шла о теории множеств, то теперь австрийский философ Витгенштейн подготовил почву для операторов И / ИЛИ.

Освежить свои познания о логических операторах в Python можно с помощью статьи.

Если вам нравится такое и вы хотите дальше почитывать о докомпьютерной логике, дайте знать с помощью реакций.

#факт

@zen_of_python
👍72❤‍🔥1
Кого фолловить, если вы дата-инженер

Выдающийся сабреддит про инфлюэнсеров в мире Data Engineering. Если вам знакомы понятия ETL, DWH и DBMS, несколько подписок только ускорят ваш профессиональный рост. Полезно для новичков в сфере DE, которые еще формируют свою позицию относительно аспектов профессии.

* На фото Максим Бушемин — один из создателей Airflow

#факт

@zen_of_python
Квиз про __main__

Небольшая англоязычная викторина на 6 вопросов с realpython.com про главную функцию вашего Python-проекта. Для подготовки можно пользоваться статьей.

#квиз

@zen_of_python
👍1
Лаконичная шпаргалка по регулярным выражениям

Регулярные выражения — это инструмент для поиска и обработки текста по заданным шаблонам. Они позволяют находить, заменять и извлекать нужные фрагменты строк с помощью специальных символов и правил. Проверка формата email, мобильного телефона, ФИО — это всё регулярки.

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

🍌 Регулярки пишу только по шпаргалкам
😈 Я всё помню и без них

#шпаргалка #regexp #general
🍌9😈3🫡2
Forwarded from SMLTECH
Измеряем «пульс» Kafka-консьюмера для автоматического перезапуска с помощью livenessProbe ❤️

Во многих наших инструментах мы используем Kafka для обработки потоков данных. В связке с Kubernetes это очень удобно и эффективно. За исключением моментов, когда Kafka-консьюмер зависает без ошибок или падений, но перестав обрабатывать сообщения. Отследить такое сложно, но можно.

Например, проблему можно решить с помощью livenessProbe, но в случае Kafka-консьюмеров единого способа для этого нет, что усложняет задачу. Сергей Коник нашел наиболее оптимальное решение этой задачи с помощью паттерна HeartBeat и Python. Благодаря периодической проверке «пульса» консьюмера мы можем быстро обнаружить зависание и автоматически перезагрузить контейнер с консьюмером.

О том, как пошагово реализовать такой механизм Сергей рассказал в новой статье. Заходите почитать!

#шерим
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Вопрос подписчика

Задает @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
)


Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.

#обсуждение

@zen_of_python
👍2
Какие параметры pandas.Series существуют?
Anonymous Quiz
10%
len
13%
dtype
9%
index
68%
2-й и 3-й варианты
Квиз про Django + GraphQL + Vue

Хардкорная англоязычная викторина про сайт на вышеупомянутой троице технологий на 8 вопросов. Подготовиться можно с помощью статьи.

#квиз

@zen_of_python
1
Школа Айти Авторов

Этот текст видят только те, кто хотел писать про IT, но всегда откладывал.

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

Подпишитесь, чтобы не потерять
👍1
Апрувнули удаление return, break и continue

Теперь, когда вы замедлили скроллинг наконец, давайте вчитаемся. В PEP-785 решили убрать эти операторы из блока finally в try-except.

В таких условиях троица из зага нередко приводит к неожиданному поведению (подавлению исключений), что  ̶п̶р̶о̶в̶о̶ц̶и̶р̶у̶е̶т̶ ̶н̶а̶п̶и̶с̶а̶н̶и̶е̶ ̶г̶о̶в̶н̶о̶к̶о̶д̶а̶ усложняет отладку.

Комьюнити активно просило такое обновление на официальном форуме Python. Кстати, рекомендуем заглянуть в треды на Latest Ideas на python.org — очень терапевтичная штука, ведь многих из нас раздражают одни и те же вещи в языке.

#факт

@zen_of_python
👍5👎3
Вопросы подписчиков

Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:

— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;

#вопросы_новичков

@zen_of_python
На что он смотрит?

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

Трудно было выбрать победителя прошлого такого интерактива, однако это @zheldashev.

#кек #обсуждение

@zen_of_python
👍2👎1
Логики, которые помогли создать программирование @2dn8r58

Возможно, аксиомы на картинке покажутся очевидными, однако именно они составляют метод Лейбница и являются основой для логических типов в Python (да и других языках тоже).

x = 10
y = x # y теперь ссылается на тот же объект, что и x
print(y == 10) # True, y можно заменить на x

#факт

@zen_of_python
👍2
Ну или warnings.filterwarnings('ignore')

#кек

@zen_of_python
❤‍🔥6😁1
psqlpy | Асинхронный PostgreSQL на Rust

Blazingly fast, memory safe, fearless concurrency и другие бонусы Rust играют питонистам на руку, если последние используют драйвер psqlpy.

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

Спасибо @DXYpT за рекомендацию. Шлите еще в комментариях :)

Цена: бесплатно
Репозиторий проекта

#инструмент

@zen_of_python
smuggler | HTTP-запросы безопаснее

Если вам посчастливилось создавать собственное API, есть способ сделать скоуп задач по безопасности чуть легче. Эта Python-утилита позволяет искать дыры в ваших методах во время разработки и после деплоя. Обещают тонко настраиваемое логирование.

Цена: бесплатно
Репозиторий проекта
👍4
@classmethod vs. @staticmethod

Если вы только повстречались с этой парочкой и с трудом понимаете документацию, вот 7-минутное видео на русском, поясняющее их суть и разницу на наглядном примере.

Смотреть на замедленотьюбе

#основы

@zen_of_python