18.7KПодписчиков
июл 2025Добавлен
РусскийЯзык
Описание
Полный Дзен Пайтона в одном канале Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/xZOL
Статистика
Рост подписчиков
18 714▼ 2.0%
| Дата | Подписчиков |
|---|---|
| 1 авг | 19 097 |
| 2 авг | 19 091 |
| 3 авг | 19 084 |
| 4 авг | 19 085 |
| 5 авг | 19 081 |
| 6 авг | 19 072 |
| 7 авг | 19 071 |
| 8 авг | 19 060 |
| 9 авг | 19 058 |
| 10 авг | 19 057 |
| 11 авг | 19 057 |
| 12 авг | 19 050 |
| 13 авг | 19 043 |
| 14 авг | 19 045 |
| 15 авг | 19 034 |
| 16 авг | 19 025 |
| 17 авг | 19 020 |
| 18 авг | 19 015 |
| 19 авг | 19 005 |
| 20 авг | 18 993 |
| 21 авг | 18 987 |
| 22 авг | 18 981 |
| 23 авг | 18 969 |
| 24 авг | 18 973 |
| 25 авг | 18 967 |
| 26 авг | 18 959 |
| 27 авг | 18 951 |
| 28 авг | 18 956 |
| 29 авг | 18 953 |
| 30 авг | 18 951 |
| 31 авг | 18 952 |
| 2 сен | 18 938 |
| 3 сен | 18 929 |
| 4 сен | 18 921 |
| 5 сен | 18 917 |
| 6 сен | 18 915 |
| 7 сен | 18 911 |
| 8 сен | 18 904 |
| 9 сен | 18 903 |
| 10 сен | 18 898 |
| 11 сен | 18 893 |
| 12 сен | 18 893 |
| 13 сен | 18 879 |
| 14 сен | 18 876 |
| 15 сен | 18 882 |
| 16 сен | 18 875 |
| 17 сен | 18 869 |
| 18 сен | 18 862 |
| 19 сен | 18 859 |
| 20 сен | 18 853 |
| 21 сен | 18 852 |
| 22 сен | 18 845 |
| 23 сен | 18 835 |
| 24 сен | 18 831 |
| 25 сен | 18 834 |
| 26 сен | 18 822 |
| 27 сен | 18 818 |
| 28 сен | 18 819 |
| 29 сен | 18 818 |
| 30 сен | 18 813 |
| 1 окт | 18 806 |
| 2 окт | 18 806 |
| 3 окт | 18 804 |
| 4 окт | 18 803 |
| 5 окт | 18 799 |
| 6 окт | 18 800 |
| 7 окт | 18 795 |
| 8 окт | 18 792 |
| 9 окт | 18 797 |
| 10 окт | 18 802 |
| 11 окт | 18 798 |
| 12 окт | 18 798 |
| 13 окт | 18 790 |
| 14 окт | 18 784 |
| 15 окт | 18 781 |
| 16 окт | 18 775 |
| 17 окт | 18 771 |
| 18 окт | 18 771 |
| 19 окт | 18 770 |
| 20 окт | 18 768 |
| 21 окт | 18 766 |
| 22 окт | 18 762 |
| 23 окт | 18 758 |
| 24 окт | 18 756 |
| 25 окт | 18 746 |
| 26 окт | 18 740 |
| 27 окт | 18 729 |
| 28 окт | 18 724 |
| 30 окт | 18 714 |
Количество постов
5 105▲ 4.8%
| Дата | Постов |
|---|---|
| 1 авг | 4 871 |
| 2 авг | 4 872 |
| 3 авг | 4 874 |
| 4 авг | 4 875 |
| 5 авг | 4 876 |
| 6 авг | 4 877 |
| 7 авг | 4 878 |
| 8 авг | 4 878 |
| 9 авг | 4 878 |
| 10 авг | 4 880 |
| 11 авг | 4 880 |
| 12 авг | 4 882 |
| 13 авг | 4 883 |
| 14 авг | 4 884 |
| 15 авг | 4 885 |
| 16 авг | 4 885 |
| 17 авг | 4 887 |
| 18 авг | 4 888 |
| 19 авг | 4 891 |
| 20 авг | 4 896 |
| 21 авг | 4 899 |
| 22 авг | 4 903 |
| 23 авг | 4 907 |
| 24 авг | 4 909 |
| 25 авг | 4 910 |
| 26 авг | 4 913 |
| 27 авг | 4 918 |
| 28 авг | 4 921 |
| 29 авг | 4 922 |
| 30 авг | 4 925 |
| 31 авг | 4 927 |
| 2 сен | 4 930 |
| 3 сен | 4 932 |
| 4 сен | 4 936 |
| 5 сен | 4 943 |
| 6 сен | 4 947 |
| 7 сен | 4 951 |
| 8 сен | 4 952 |
| 9 сен | 4 955 |
| 10 сен | 4 959 |
| 11 сен | 4 961 |
| 12 сен | 4 965 |
| 13 сен | 4 970 |
| 14 сен | 4 974 |
| 15 сен | 4 978 |
| 16 сен | 4 983 |
| 17 сен | 4 987 |
| 18 сен | 4 990 |
| 19 сен | 4 993 |
| 20 сен | 4 996 |
| 21 сен | 4 999 |
| 22 сен | 5 002 |
| 23 сен | 5 005 |
| 24 сен | 5 008 |
| 25 сен | 5 011 |
| 26 сен | 5 014 |
| 27 сен | 5 017 |
| 28 сен | 5 020 |
| 29 сен | 5 023 |
| 30 сен | 5 026 |
| 1 окт | 5 029 |
| 2 окт | 5 031 |
| 3 окт | 5 032 |
| 4 окт | 5 033 |
| 5 окт | 5 033 |
| 6 окт | 5 033 |
| 7 окт | 5 036 |
| 8 окт | 5 037 |
| 9 окт | 5 040 |
| 10 окт | 5 043 |
| 11 окт | 5 048 |
| 12 окт | 5 051 |
| 13 окт | 5 055 |
| 14 окт | 5 061 |
| 15 окт | 5 065 |
| 16 окт | 5 068 |
| 17 окт | 5 073 |
| 18 окт | 5 076 |
| 19 окт | 5 079 |
| 20 окт | 5 082 |
| 21 окт | 5 085 |
| 22 окт | 5 089 |
| 23 окт | 5 091 |
| 24 окт | 5 092 |
| 25 окт | 5 095 |
| 26 окт | 5 096 |
| 27 окт | 5 100 |
| 28 окт | 5 101 |
| 29 окт | 5 102 |
| 30 окт | 5 105 |
Средние просмотры на пост
1 069▼ 39.9%
| Дата | Просмотров |
|---|---|
| 1 авг | 1 778 |
| 2 авг | 1 801 |
| 3 авг | 1 660 |
| 4 авг | 1 759 |
| 5 авг | 1 764 |
| 6 авг | 1 709 |
| 7 авг | 1 702 |
| 8 авг | 1 739 |
| 9 авг | 1 769 |
| 10 авг | 1 711 |
| 11 авг | 1 828 |
| 12 авг | 1 701 |
| 13 авг | 1 638 |
| 14 авг | 1 667 |
| 15 авг | 1 706 |
| 16 авг | 1 760 |
| 17 авг | 1 642 |
| 18 авг | 1 621 |
| 19 авг | 1 468 |
| 20 авг | 1 684 |
| 21 авг | 1 624 |
| 22 авг | 1 640 |
| 23 авг | 984 |
| 24 авг | 1 024 |
| 25 авг | 1 114 |
| 26 авг | 1 127 |
| 27 авг | 1 045 |
| 28 авг | 1 058 |
| 29 авг | 1 143 |
| 30 авг | 1 109 |
| 31 авг | 1 195 |
| 2 сен | 1 250 |
| 3 сен | 1 258 |
| 4 сен | 1 173 |
| 5 сен | 950 |
| 6 сен | 955 |
| 7 сен | 1 078 |
| 8 сен | 1 191 |
| 9 сен | 1 236 |
| 10 сен | 1 271 |
| 11 сен | 1 217 |
| 12 сен | 1 154 |
| 13 сен | 963 |
| 14 сен | 1 196 |
| 15 сен | 1 434 |
| 16 сен | 926 |
| 17 сен | 933 |
| 18 сен | 956 |
| 19 сен | 911 |
| 20 сен | 901 |
| 21 сен | 880 |
| 22 сен | 907 |
| 23 сен | 924 |
| 24 сен | 937 |
| 25 сен | 946 |
| 26 сен | 936 |
| 27 сен | 880 |
| 28 сен | 851 |
| 29 сен | 878 |
| 30 сен | 891 |
| 1 окт | 904 |
| 2 окт | 933 |
| 3 окт | 956 |
| 4 окт | 981 |
| 5 окт | 1 018 |
| 6 окт | 1 055 |
| 7 окт | 1 066 |
| 8 окт | 1 141 |
| 9 окт | 1 129 |
| 10 окт | 1 054 |
| 11 окт | 831 |
| 12 окт | 802 |
| 13 окт | 788 |
| 14 окт | 805 |
| 15 окт | 815 |
| 16 окт | 808 |
| 17 окт | 820 |
| 18 окт | 830 |
| 19 окт | 817 |
| 20 окт | 848 |
| 21 окт | 877 |
| 22 окт | 961 |
| 23 окт | 986 |
| 24 окт | 1 036 |
| 25 окт | 1 029 |
| 26 окт | 1 067 |
| 27 окт | 1 100 |
| 28 окт | 1 072 |
| 29 окт | 1 122 |
| 30 окт | 1 069 |
Аналитика
Подписчики
−99−0,53%изменение за период
−3в среднем за день
+5лучший день · 9 окт 2026
−11худший день · 27 окт 2026
Публикации и охват
2,3постов в день · 34 за период
1 121средний охват поста
6%читаемость · доля подписчиков, видящих пост
0,7реакций на пост
62%постов с фото и видео
Место в каталоге
Самые просматриваемые посты
Посты, которые прочитали больше всего людей
- 1.4KDecimal начинается до первого float Две почти одинаковые записи дают разное округление. На Python 3.14.4 этот пример выводит сначала 2.68, затем 2.67: from de22 окт 2026Открыть пост
- 1.4KПочему обновления Django важны даже без SQL-инъекций Запрос может вредить серверу, просто заставляя его тратить слишком много памяти или процессорного времени20 окт 2026Открыть пост
- 1.4KВ строке ABA у groupby три группы Две буквы A не объединятся, потому что между ними стоит B. itertools.groupby начинает новую группу каждый раз, когда меняется23 окт 2026Открыть пост
- 1.4KЗадача в очереди, а строки в базе ещё нет Внутри transaction.atomic() вы создаёте заказ и сразу отправляете его ID фоновому воркеру. Воркер может успеть обрати22 окт 2026Открыть пост
- 1.3KЗелёный CI с устаревшим lock-файлом Вы добавили зависимость в pyproject.toml, а обновлённый uv.lock забыли закоммитить. Флаг --frozen может показаться строгой21 окт 2026Открыть пост
Больше всего реакций
Посты, на которые читатели реагировали чаще всего
- 5ChainMap читает все слои, а пишет только в первый Для конфигурации удобно читать переопределения поверх значений по умолчанию. ChainMap делает это без предвари26 окт 2026Открыть пост
- 4На PyPI снова нашли заражённый LiteLLM, популярный шлюз к API разных LLM: версия 1.107.0 провисела около двух часов и ставила стилер. Он срабатывает при старте21 окт 2026Открыть пост
- 2match в pytest ищет регулярное выражение Тест с pytest.raises(ValueError, match="bad.file") может пройти на сообщении badXfile. Точка здесь означает любой симв28 окт 2026Открыть пост
- 2Кто закроет async-генератор после break Вы читаете поток до первого подходящего элемента и выходите через break. Цикл закончился, но сам по себе этот выход не27 окт 2026Открыть пост
- 2urljoin спокойно заменит ваш домен Базовый адрес в первом аргументе не удерживает результат внутри вашего сайта. Второй аргумент может содержать собственный до25 окт 2026Открыть пост
Посты из канала
30 окт 04:06
shield защищает задачу, но не ожидание
Корутина ждёт важную операцию, и в этот момент её отменяют. Если ожидание обёрнуто в asyncio.shield(task), внутренняя задача не отменяется вместе с вызывающей корутиной. Но у вызывающей корутины await всё равно поднимет CancelledError.
Получаются два разных с...
72
📷 1
29 окт 09:41
compare_digest не выходит на первом различии
Когда ожидаемая и полученная подписи уже вычислены, остаётся проверить равенство. Обычное сравнение может закончиться на первом различии. Для криптографических значений в стандартной библиотеке есть hmac.compare_digest(expected, received).
Функция избег...
662
📷 1
29 окт 03:41
Хеши pip должны покрывать и зависимости
Добавить хеш только главному пакету недостаточно для строгой установки. Команда python -m pip install --require-hashes -r requirements.txt требует закрепить все требования, включая транзитивные зависимости, и указать для них локальные хеши разрешённых артефак...
793
📷 1
28 окт 10:01
iterator не ограничивает память драйвера
Для одноразового обхода большой выборки у QuerySet есть iterator(). Он не наполняет обычный кеш результатов самого QuerySet. Если выборка уже была вычислена, вызов iterator выполнит запрос ещё раз.
В Django 5.2 его можно сочетать с prefetch_related(), явно ...
884
📷 1
28 окт 04:12
match в pytest ищет регулярное выражение
Тест с pytest.raises(ValueError, match="bad.file") может пройти на сообщении badXfile. Точка здесь означает любой символ, а не буквальную точку в имени файла. И совпадать со всем сообщением шаблон тоже не обязан.
Параметр match использует re.search. Для бук...
913
❤️ 2
📷 1
27 окт 09:54
NewType различает ID без новых объектов
Идентификаторы пользователя и заказа могут быть обычными int, но случайно поменять их местами всё равно ошибка. UserId = NewType("UserId", int) позволяет описать это различие для статического анализатора.
Функция с параметром UserId принимает UserId(42), а н...
955
📷 1
27 окт 04:20
Кто закроет async-генератор после break
Вы читаете поток до первого подходящего элемента и выходите через break. Цикл закончился, но сам по себе этот выход не гарантирует немедленное выполнение finally у async-генератора. Если там освобождается ресурс, его срок жизни лучше задать явно.
В Python 3....
977
❤️ 2
📷 1
26 окт 10:01
ChainMap читает все слои, а пишет только в первый
Для конфигурации удобно читать переопределения поверх значений по умолчанию. ChainMap делает это без предварительного слияния словарей:
from collections import ChainMap
defaults = {"timeout": 30}
overrides = {}
config = ChainMap(overrides, default...
1.1K
❤️ 5
26 окт 03:47
Цикл в графе: независимые задачи ещё можно выполнить
Задача a ждёт b, а b ждёт a. Полностью упорядочить такой граф нельзя. Но если рядом есть независимая задача free, ошибка цикла не обязана останавливать и её.
У graphlib.TopologicalSorter вызов prepare() поднимет CycleError. После обработки этого...
1.1K
25 окт 10:04
urljoin спокойно заменит ваш домен
Базовый адрес в первом аргументе не удерживает результат внутри вашего сайта. Второй аргумент может содержать собственный домен даже без схемы:
from urllib.parse import urljoin
print(urljoin(
"https://safe.example/users/",
"//other.example/admin",
))
По...
1.1K
❤️ 2
25 окт 03:53
bisect ждёт ключ, insort ждёт запись
У двух функций из одного модуля разные требования к искомому значению. Если записи отсортированы по числовому полю, в bisect_left передайте число, а в insort саму запись:
from bisect import bisect_left, insort
rows = [("Ada", 10), ("Lin", 30)]
print(bisect_lef...
1.1K
24 окт 08:59
Подмена в pytest может закончиться раньше теста
Тест сначала проверяет код с подменённой зависимостью, а затем хочет вызвать настоящий объект. Если все изменения сделаны через обычную фикстуру monkeypatch, автоматический откат произойдёт лишь после завершения теста или использующей её фикстуры.
Су...
1.1K