fa
Feedback
Zen of Python

Zen of Python

رفتن به کانال در Telegram

Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

نمایش بیشتر

📈 تحلیل کانال تلگرام Zen of Python

کانال Zen of Python (@zen_of_python) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 18 953 مشترک است و جایگاه 6 786 را در دسته فناوری و برنامه‌ها و رتبه 34 781 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 18 953 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 27 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -157 و در ۲۴ ساعت گذشته برابر 7 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 12.56% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 6.30% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 2 381 بازدید دریافت می‌کند. در اولین روز معمولاً 1 195 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 5 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند github, rust, pip, api, install تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 28 اوت, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

18 953
مشترکین
+724 ساعت
-317 روز
-15730 روز
آرشیو پست ها
Некогда объяснять, пора вершить судьбы 😱 Три разраба прямо сейчас ищут работу — выбери того, кто получит шанс на достойный оффер. Голосуй прямо сейчас! Все подробности в «Коде найма».

​​pytest-benchmark | Если тесты, то грамотно Питонический плагин, позволяющий замерять производительность под всевозможными углами. Запускает тесты многократно, сглаживая статистический шум и выявляя реальные изменения скорости выполнения. Плагин выводит в отчете системные параметры (CPU, версия ЯП и др.), чтобы бенчмарки были воспроизводимыми и сопоставимыми. Поддерживается сравнение результатов между запусками, что удобно для отслеживания деградации. Инструмент встраивается в CI/CD-пайплайны. Цена: бесплатно Репозиторий проекта @prog_tools

Ngrok: безопасный туннель к локальному серверу за пару секунд Когда нужно показать локальный проект клиенту или протестировать вебхук от стороннего сервиса, поднимать полноценный сервер в интернете — избыточно. Ngrok решает эту задачу: за секунды пробрасывает туннель из интернета к вашему локальному серверу, выдавая публичный URL. Поддерживает HTTPS, защищённые токены, инспекцию трафика и работает на всех популярных ОС. Так, вы можете безо всякого труда прямо в VS Code расшарить свой localhost, чтобы похвастаться другу или обсудить детали с клиентом. #бэкенд #инструменты

Почему вам стоит попробовать uv До недавнего времени написание «однострочных» Python‑утилит оборачивалось головной болью: нужно настраивать виртуальное окружение, докачивать зависимости, проверять соответствие версии Python… uv решила это, предложив Rust‑реализацию лёгкого, быстрого менеджера пакетов, способного: — автоматически создавать «утилизируемые окружения»; — скачивать нужные зависимости; — исполнять вышеописанное и запускать сам скрипт в одну команду. uv действительно быстр и «бросает настройку окружения в мусорную корзину» . PEP 723: метаданные прямо в скрипте PEP 723 — это спецификация, позволяющая внедрить информацию о зависимостях внутри самого файла скрипта. В начале файла прописывается пример:

# /// script
# requires‑python = ">=3.11"
# dependencies = [
#   "requests<3",
#   "rich",
# ]
# ///
Это позволяет некоторым инструментам автоматически понять, какие библиотеки и версия Python нужны, без отдельного requirements.txt. Комбо: uv + PEP 723 Есть файл pep.py с вышеописанным PEP‑блоком — и вот что происходит:

$ uv run pep.py
Installed 9 packages in 24ms
[('1', 'PEP Purpose…'), … ]
uv прочитывает метаданные, ставит окружение, запускает скрипт — и всё это без лишних слов. Пример: скрипт для выкачки транскрипта YouTube Взгляните на пример скрипта для выкачки субтитров с YouTube-видео:

#!/usr/bin/env -S uv run --script
# /// script
# requires‑python = ">=3.8"
# dependencies = ["youtube-transcript-api"]
# ///
import sys, re
…
transcript = YouTubeTranscriptApi().fetch(video_id)
print(formatter.format_transcript(transcript))
После chmod +x ytt он запускается так:

$ ./ytt https://youtu.be/[video_id]
Installed 7 packages in 10ms
…текст транскрипта…
#основы

Repost from IT Юмор
Old but gold @ithumor
Old but gold @ithumor

«С — это причина, по которой придумали Python» #кек @zen_of_python
«С — это причина, по которой придумали Python» #кек @zen_of_python

Честный ресёрч найма в IT прямо с рынка Вместе с Proglib мы разобрали, почему айтишники реально уходят с работы, по каким при
Честный ресёрч найма в IT прямо с рынка Вместе с Proglib мы разобрали, почему айтишники реально уходят с работы, по каким признакам вычислить токсичный коллектив и какие HR-трюки бесят разработчиков больше всего. Если ещё не читали — советуем это исправить❤️ Бонусом мы подготовили ещё два полезных лонгрида из этого исследования:Где искать работу в IT: лайфхаки и топ-площадкиКаких разработчиков переизбыток и кому сейчас сложнее найти вакансию Сохраняйте и кидайте коллегам!

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

throttled-py | Ограничение частоты запросов Если вам нужно защищиться от DDoS-атак, контролировать затраты и в целом оптимизи
throttled-py | Ограничение частоты запросов Если вам нужно защищиться от DDoS-атак, контролировать затраты и в целом оптимизировать производительность, эта библиотека поддерживает популярные алгоритмы: Fixed / Sliding Window, Token Bucket и проч. Она подходит для как синхронных, так и асинхронных приложений. Для хранения состояния лимитов можно использовать как быстрый In-Memory режим, так и масштабируемый Redis-бэкенд. «Питонический дроссель» интегрируется с MCP Python SDK, позволяя эффективно контролировать частоту вызовов в диалоговых процессах моделей. Репозиторий проекта #инструмент @zen_of_python

Таро врёт! В отличие от нашей IT-колоды Цифровые арканы говорят с вами и проливают свет на ранее неведомые потоки информации.
Таро врёт! В отличие от нашей IT-колоды Цифровые арканы говорят с вами и проливают свет на ранее неведомые потоки информации. Вытяните «Карту дня» и получите мудрый совет судьбы: https://tprg.ru/ldLR Реклама

​​curlify | Из requests в cURL Инструмент для преобразования запросов из requests в эквивалентные «курлы». Он автоматически добавляет все необходимые флаги, включая -X, -H, -d, --compressed и другие, чтобы команда точно отражала параметры исходного запроса. Благодаря опции pretty=True можно получить красиво отформатированную, многострочную cURL-команду, удобную для чтения и вставки в консоль. Библиотека заботится о безопасности и корректности, надежно экранируя кавычки и специальные символы для совместимости с командной строкой. Репозиторий проекта #инструмент @zen_of_python

dripdrop | Стриминг JSON Экспериментальный инструмент, который позволяет стримить данные в ваших API. Он возвращает клиенту JSON-скелет с плейсхолдерами вместо данных и постепенно заполняет его по мере готовности асинхронных результатов. DripDrop реализует концепцию прогрессивного JSON, вдохновленную React Server Components, чтобы ваши интерфейсы могли отображать данные без ожидания самых медленных запросов (Skeleton Loader). Быстрые части ответа отправляются сразу, а медленные догружаются потоками через JSON Lines. Репозиторий проекта #инструмент @zen_of_python 💘 — Если нравится Skeleton Loader

​​lxml обновился Небезызвестный тул для парсинга XML / HTML в Python-коде получил мажорное обновление, и в нем: — обновили зависимости; — отказались от Python 2; — повысили стабильность и безопасность; Release Note #инструмент @zen_of_python

logging | Эволюционируем от дебага с print() Вместо хаотичного использования print() стоит освоить встроенный модуль logging. Почему print() — не лучший выбор На начальном этапе разработки многие прибегают к такому для отладки. Однако в продакшене такой подход не подходит: — print() не имеет уровней важности (debug, info, error…); — нельзя гибко управлять выводом (в файл, консоль, внешнюю систему) — невозможно централизованно отключить или настроить поведение. logging решает все эти задачи и стал стандартом в профессиональной разработке. База Минимальный пример:

import logging

logging.basicConfig(level=logging.INFO)
logging.info("Программа запущена")
Этот код выведет в консоль строку «информирующего» уровня. Метод basicConfig задает базовые настройки — например, какой минимальный уровень логов выводить. Уровней несколько: — DEBUG: подробная отладочная информация; — INFO: стандартный рабочий поток; — WARNING: потенциальные проблемы; — ERROR: ошибки, но программа продолжает работать; — CRITICAL: фатальные ошибки, возможно аварийное завершение. Они позволяют фильтровать отладочные данные в зависимости от задачи. Форматирование вывода Полезно выводить время, уровень и контекст:

logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s [%(levelname)s] %(message)s"
)
Выведется нечто подобное:
2025-07-07 14:00:00,123 [INFO] Программа запущена
Запись логов в файл Конечно, командная строка не бесконечная, как и ваше рабочее время, так что разумно записывать логи в файл, чтобы почитать их в нужное время:

logging.basicConfig(
    level=logging.INFO,
    filename='app.log',
    filemode='a',
    format="%(asctime)s [%(levelname)s] %(message)s"
)
Обособленные логгеры Функция getLogger(name) позволяет создавать независимые логгеры с именем:

logger = logging.getLogger("myapp")
logger.setLevel(logging.DEBUG)
logger.debug("Отладочная информация")
Такие логгеры можно конфигурировать по отдельности, что удобно в модульных проектах. Обработчики (Handlers) В примере ниже все сообщения уровня DEBUG и выше пишутся в файл, а WARNING+ отображаются в консоли:

handler = logging.FileHandler("debug.log")
handler.setLevel(logging.DEBUG)

console = logging.StreamHandler()
console.setLevel(logging.WARNING)

formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s")
handler.setFormatter(formatter)
console.setFormatter(formatter)

logger = logging.getLogger("myapp")
logger.addHandler(handler)
logger.addHandler(console)
logger.setLevel(logging.DEBUG)
И напоследок: пишите логи в файл или систему мониторинга вроде Sentry или Grafana. #основы

Присоединяйся к хакатону года в сфере travel-tech - О!Хакатону от Островка ❤️ Островок приглашает Go и Python разработчиков,
Присоединяйся к хакатону года в сфере travel-tech - О!Хакатону от Островка ❤️ Островок приглашает Go и Python разработчиков, а также аналитиков и продакт-менеджеров попробовать свои силы в реальных бизнес-задачах и побороться за денежный приз. Мероприятие пройдет полностью в онлайн-формате, участвовать можно из любой точки мира, самостоятельно или в команде. Призовой фонд: 1 000 000 ₽ Регистрация открыта до 18 сентября. Старт 26 сентября! ❤️ Подробности и регистрация Реклама. ООО "БРОНИРОВАНИЕ ГОСТИНИЦ", ИНН 7703389880, erid: 2W5zFJuGSKr

​​Vitess | Шардирование для вашей PostgreSQL Это слой между приложением и базой данных, созданный выходцами из YouTube для защиты от неэффективных запросов и масштабируемости под экстремальными нагрузками. Он также анализирует SQL-запросы на лету, отсекая потенциально опасные. Vitess — система шардирования, основа для Multigrass — проекта по адаптации для PostgreSQL внутри Supabase. Vitess стал частью их инфраструктуры, чтобы приложения могли расти до миллиардов запросов, оставаясь при этом "просто PostgreSQL". Сайт проекта #инструмент @zen_of_python

shebang: что это и как запускать скрипты в CLI без слова python? При работе с Unix-подобными системами (Linux, macOS), часто используется специальная строка, которая называется 'shebang' (шибэнг). Это первая строка в скрипте, которая начинается с символов #!, за которыми идёт путь к интерпретатору, который должен выполнить этот скрипт:

#!/usr/bin/env python3

print("Hello world")
Это равносильно: «Для запуска этого файла используй интерпретатор python3, который находится в вашем PATH». Перед запуском сделаем файл исполняемым (или сразу всю директорию):

chmod +x myscript.py
chmod +x misc/*.py 
Теперь скрипт можно запустить так:

./myscript.py
Как правильно писать shebang для Python? Существует несколько распространённых вариантов записи shebang для Python: 1. Абсолютный путь

#!/usr/bin/python3
Однако, путь может отличаться на разных машинах, поэтому второй способ универсальнее. 2. Использование `/usr/bin/env`:

#!/usr/bin/env python3
Команда env ищет в текущем окружении пользователя нужный интерпретатор по имени python3 и запускает его. Это значит, что не важно, где установлен Python, скрипт всё равно будет работать, если python3 доступен в PATH. Что произойдет без shebang? Если запустить скрипт без shebang напрямую (./myscript.py), система не поймет, каким интерпретатором его запускать, и выдаст ошибку. p.s. На Windows shebang не используется системой напрямую, но некоторые инструменты (например, Git Bash, WSL, или IDE) могут её «наследовать». #основы @zen_of_python

Repost from IT Юмор
За ты понятный и работящий @ithumor
За ты понятный и работящий @ithumor

​​PySnooper | Дебаггинг по-человечески Опять кто-то пытается отучить нас использовать print() во время дебага... Автор тула предлагает использовать: — декораторы @pysnooper.snoop(); — блоки with pysnooper.snoop(); Чтобы в итоге получить такую отладочную информацию, как на приложенном скриншоте. Вот что происходит на нем слева: — вызывается функция number_to_bits с аргументом number = 6; — в строках кода функции (справа) видно, что она предназначена для перевода числа в двоичный формат, сохраняя биты в списке bits; — PySnooper пошагово логирует каждую выполненную строку (слева), время выполнения, а также все изменяющиеся переменные; — переменная number последовательно изменяется от 6 до 3, потом до 1, затем до 0 — каждый раз происходит деление с остатком (divmod(number, 2)), а остаток (remainder) вставляется в начало списка bits; — В итоге возвращается список битов [1, 1, 0], что соответствует двоичному представлению числа 6. Репозиторий проекта #инструмент @zen_of_python

​​Если обыгрывать фильм про Джанго и одноименный фреймворк, то только так #кек @zen_of_python