Forwarded from Сохранёнки программиста
Лаконичная шпаргалка по регулярным выражениям
Регулярные выражения — это инструмент для поиска и обработки текста по заданным шаблонам. Они позволяют находить, заменять и извлекать нужные фрагменты строк с помощью специальных символов и правил. Проверка формата email, мобильного телефона, ФИО — это всё регулярки.
Хоть этот инструмент используется повсеместно, он обладает не самым очевидным синтаксисом, поэтому всё необходимое расписано на шпаргалке выше.
🍌 Регулярки пишу только по шпаргалкам
😈 Я всё помню и без них
#шпаргалка #regexp #general
Регулярные выражения — это инструмент для поиска и обработки текста по заданным шаблонам. Они позволяют находить, заменять и извлекать нужные фрагменты строк с помощью специальных символов и правил. Проверка формата email, мобильного телефона, ФИО — это всё регулярки.
Хоть этот инструмент используется повсеместно, он обладает не самым очевидным синтаксисом, поэтому всё необходимое расписано на шпаргалке выше.
🍌 Регулярки пишу только по шпаргалкам
😈 Я всё помню и без них
#шпаргалка #regexp #general
🍌9😈3🫡2
Forwarded from SMLTECH
Измеряем «пульс» Kafka-консьюмера для автоматического перезапуска с помощью livenessProbe ❤️
Во многих наших инструментах мы используем Kafka для обработки потоков данных. В связке с Kubernetes это очень удобно и эффективно. За исключением моментов, когда Kafka-консьюмер зависает без ошибок или падений, но перестав обрабатывать сообщения. Отследить такое сложно, но можно.
Например, проблему можно решить с помощью livenessProbe, но в случае Kafka-консьюмеров единого способа для этого нет, что усложняет задачу. Сергей Коник нашел наиболее оптимальное решение этой задачи с помощью паттерна HeartBeat и Python. Благодаря периодической проверке «пульса» консьюмера мы можем быстро обнаружить зависание и автоматически перезагрузить контейнер с консьюмером.
О том, как пошагово реализовать такой механизм Сергей рассказал в новой статье. Заходите почитать!
#шерим
Во многих наших инструментах мы используем Kafka для обработки потоков данных. В связке с Kubernetes это очень удобно и эффективно. За исключением моментов, когда Kafka-консьюмер зависает без ошибок или падений, но перестав обрабатывать сообщения. Отследить такое сложно, но можно.
Например, проблему можно решить с помощью livenessProbe, но в случае Kafka-консьюмеров единого способа для этого нет, что усложняет задачу. Сергей Коник нашел наиболее оптимальное решение этой задачи с помощью паттерна HeartBeat и Python. Благодаря периодической проверке «пульса» консьюмера мы можем быстро обнаружить зависание и автоматически перезагрузить контейнер с консьюмером.
О том, как пошагово реализовать такой механизм Сергей рассказал в новой статье. Заходите почитать!
#шерим
Please open Telegram to view this post
VIEW IN TELEGRAM
☃1
Вопрос подписчика
Задает @AlekseiKiselev:
«А вопрос то и назрел, как по правильному делать асинхронный скоуп в алхимии.... На ум пришел синглтон, но не понятно будет-ли течь память, так как закрытие сессии явно приводит к открытию новой, а это дико медленно, поэтому сессию закрывать крайне не охота. Может есть какие-то бест практис?
Пример, что может пойти не так?
Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@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
)
Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
#обсуждение
@zen_of_python
👍2
Forwarded from Python: задачки и вопросы
Какие параметры pandas.Series существуют?
Anonymous Quiz
10%
len
14%
dtype
9%
index
68%
2-й и 3-й варианты
Квиз про Django + GraphQL + Vue
Хардкорная англоязычная викторина про сайт на вышеупомянутой троице технологий на 8 вопросов. Подготовиться можно с помощью статьи.
#квиз
@zen_of_python
Хардкорная англоязычная викторина про сайт на вышеупомянутой троице технологий на 8 вопросов. Подготовиться можно с помощью статьи.
#квиз
@zen_of_python
❤1
Школа Айти Авторов
Этот текст видят только те, кто хотел писать про IT, но всегда откладывал.
Редакция Tproger создала закрытый канал, где они учат авторов писать лучше и зарабатывать больше на статьях про технологии.
Подпишитесь, чтобы не потерять
Этот текст видят только те, кто хотел писать про IT, но всегда откладывал.
Редакция Tproger создала закрытый канал, где они учат авторов писать лучше и зарабатывать больше на статьях про технологии.
Подпишитесь, чтобы не потерять
👍1
Апрувнули удаление
Теперь, когда вы замедлили скроллинг наконец, давайте вчитаемся. В PEP-785 решили убрать эти операторы из блока finally в try-except.
В таких условиях троица из зага нередко приводит к неожиданному поведению (подавлению исключений), что ̶п̶р̶о̶в̶о̶ц̶и̶р̶у̶е̶т̶ ̶н̶а̶п̶и̶с̶а̶н̶и̶е̶ ̶г̶о̶в̶н̶о̶к̶о̶д̶а̶ усложняет отладку.
Комьюнити активно просило такое обновление на официальном форуме Python. Кстати, рекомендуем заглянуть в треды на Latest Ideas на python.org — очень терапевтичная штука, ведь многих из нас раздражают одни и те же вещи в языке.
#факт
@zen_of_python
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
Zen of Python поддерживает новоприбывших (и не только) в особой рубрике. Как это работает:
— Спрашивайте что угодно (в комментариях под этим постом), связанное с Python. Здесь нет плохих вопросов!
— Сообщество вас поддержит. Самые интересные вопросы мы разберём в отдельном посте;
#вопросы_новичков
@zen_of_python
На что он смотрит?
Придумайте подпись к фото, но так, чтобы это относилось к языку программирования.
Трудно было выбрать победителя прошлого такого интерактива, однако это @zheldashev.
#кек #обсуждение
@zen_of_python
Придумайте подпись к фото, но так, чтобы это относилось к языку программирования.
Трудно было выбрать победителя прошлого такого интерактива, однако это @zheldashev.
#кек #обсуждение
@zen_of_python
👍2👎1
Логики, которые помогли создать программирование @2dn8r58
Возможно, аксиомы на картинке покажутся очевидными, однако именно они составляют метод Лейбница и являются основой для логических типов в Python (да и других языках тоже).
#факт
@zen_of_python
Возможно, аксиомы на картинке покажутся очевидными, однако именно они составляют метод Лейбница и являются основой для логических типов в Python (да и других языках тоже).
x = 10
y = x # y теперь ссылается на тот же объект, что и x
print(y == 10) # True, y можно заменить на x
#факт
@zen_of_python
👍2
psqlpy | Асинхронный PostgreSQL на Rust
Blazingly fast, memory safe, fearless concurrency и другие бонусы Rust играют питонистам на руку, если последние используют драйвер psqlpy.
Где еще искать бенчмарки, выгодно освещающие этот инструмент, как не на сайте этой тулзы? На графике выше сравнили скорость исполнения массовых одновременных запросов и для двух конкурирующих решений.
Спасибо @DXYpT за рекомендацию. Шлите еще в комментариях :)
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
Blazingly fast, memory safe, fearless concurrency и другие бонусы Rust играют питонистам на руку, если последние используют драйвер psqlpy.
Где еще искать бенчмарки, выгодно освещающие этот инструмент, как не на сайте этой тулзы? На графике выше сравнили скорость исполнения массовых одновременных запросов и для двух конкурирующих решений.
Спасибо @DXYpT за рекомендацию. Шлите еще в комментариях :)
Цена: бесплатно
Репозиторий проекта
#инструмент
@zen_of_python
smuggler | HTTP-запросы безопаснее
Если вам посчастливилось создавать собственное API, есть способ сделать скоуп задач по безопасности чуть легче. Эта Python-утилита позволяет искать дыры в ваших методах во время разработки и после деплоя. Обещают тонко настраиваемое логирование.
Цена: бесплатно
Репозиторий проекта
Если вам посчастливилось создавать собственное API, есть способ сделать скоуп задач по безопасности чуть легче. Эта Python-утилита позволяет искать дыры в ваших методах во время разработки и после деплоя. Обещают тонко настраиваемое логирование.
Цена: бесплатно
Репозиторий проекта
👍4
@classmethod vs. @staticmethod
Если вы только повстречались с этой парочкой и с трудом понимаете документацию, вот 7-минутное видео на русском, поясняющее их суть и разницу на наглядном примере.
Смотреть на замедленотьюбе
#основы
@zen_of_python
Если вы только повстречались с этой парочкой и с трудом понимаете документацию, вот 7-минутное видео на русском, поясняющее их суть и разницу на наглядном примере.
Смотреть на замедленотьюбе
#основы
@zen_of_python
Вопрос подписчика
Задает @StSav012:
«Есть ли эквивалент
в виде параметра командной строки интерпретатора или env var? Конечно, патчить не грешно, но если проще не патчить…»
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
@zen_of_python
Задает @StSav012:
«Есть ли эквивалент
from __future__ import annotations
в виде параметра командной строки интерпретатора или env var? Конечно, патчить не грешно, но если проще не патчить…»
NB! Пожалуйста, будьте взаимовежливы. Однажды и вам помогут в этой рубрике.
@zen_of_python
Forwarded from Сохранёнки программиста
Использование Docker [2017]
Docker упрощает разработку, развертывание и запуск приложений, особенно когда речь идет о распределенных системах. Контейнеры позволяют изолировать процессы, быстро масштабировать сервисы и избегать проблем с совместимостью окружений.
В этом руководстве разобраны ключевые моменты работы с Docker: от базовых принципов запуска контейнеров до управления сложными инфраструктурами с множеством хостов. Много практики, полезных деталей и понятных объяснений — все, что нужно, чтобы начать уверенно использовать Docker в работе.
#docker #книга #ru
Docker упрощает разработку, развертывание и запуск приложений, особенно когда речь идет о распределенных системах. Контейнеры позволяют изолировать процессы, быстро масштабировать сервисы и избегать проблем с совместимостью окружений.
В этом руководстве разобраны ключевые моменты работы с Docker: от базовых принципов запуска контейнеров до управления сложными инфраструктурами с множеством хостов. Много практики, полезных деталей и понятных объяснений — все, что нужно, чтобы начать уверенно использовать Docker в работе.
#docker #книга #ru
👍2
This media is not supported in your browser
VIEW IN TELEGRAM
PyFlyde | Визуальное программирование для дата-инженеров
В отличие от многих других low / no-code-конструкторов, flyde интегрируется в VSCode и может впоследствии собраться в полноценный проект на Python.
Цена: бесплатно
Репозиторий проекта
@zen_of_python
В отличие от многих других low / no-code-конструкторов, flyde интегрируется в VSCode и может впоследствии собраться в полноценный проект на Python.
Цена: бесплатно
Репозиторий проекта
@zen_of_python
👍3
Flet | Питонический React для вашего кроссплатформенного приложения
Англоязычный, но ультрапонятный туториал на 25 минут про молодой фреймворк Flet, который базируется на Flutter (!) и предлагает удобный способ билдить ваше приложение сразу для веба, мобильных устройств и десктопа.
Смотреть на замедленотьюбе
#инструмент
@zen_of_python
Англоязычный, но ультрапонятный туториал на 25 минут про молодой фреймворк Flet, который базируется на Flutter (!) и предлагает удобный способ билдить ваше приложение сразу для веба, мобильных устройств и десктопа.
Смотреть на замедленотьюбе
#инструмент
@zen_of_python
This media is not supported in your browser
VIEW IN TELEGRAM
Карта Python
Нетривиальный способ понять, как различные пакеты зависят друг от друга в виде пузырьковой диаграммы.
Пожалуй, лучший способ для новичков увидеть топ самых популярных инструментов в языке. Фанатам библиотек с минимальным количеством зависимостей тоже очень сгодится при подборе архитектуры проекта.
Смотреть (лучше на десктопе)
#факт
@zen_of_python
Нетривиальный способ понять, как различные пакеты зависят друг от друга в виде пузырьковой диаграммы.
Пожалуй, лучший способ для новичков увидеть топ самых популярных инструментов в языке. Фанатам библиотек с минимальным количеством зависимостей тоже очень сгодится при подборе архитектуры проекта.
Смотреть (лучше на десктопе)
#факт
@zen_of_python
👍5🔥2