Python Web & Scripts — Django, FastAPI, скрипты
1K subscribers
21 photos
2 videos
41 links
Python для веба и автоматизации: Django, FastAPI, Flask, Starlette. Скрипты для парсинга, ETL, обработки данных, integrations. Async, pydantic, deployment patterns.
Канал сети public.tg.
Download Telegram
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Вышел ZCode - аналог Claude code

Вышел ZCode — десктопный аналог Claude Code от разработчиков GLM-5.2. Работает с API от Anthropic, поддерживает SSH-деплой на сервер, в том числе Linux.

Вместо пошаговых скриптов — система целеполагания Goal: закидываешь сложный промт, агент сам разбивает задачу и выполняет. Плюс управление через Telegram-бота.

Но главная фича — мультиагентность…

➡️ Читайте на сайте: https://aff.top/blog/vyshel-zcode-analog-claude-code

🧠 Ещё больше инсайтов → в канале AFF.top
FastAPI ломается не на роутинге, а на границе входных данных и зависимостей

В проектах на FastAPI почти всегда всплывают одни и те же места:
— слишком тонкие Pydantic-схемы, где обязательные поля проверяются уже в бизнес-логике;
— зависимости, которые тянут БД, кэш и внешний API в один слой;
— асинхронные обработчики, внутри которых внезапно живёт блокирующий код.

Есть наблюдение которое стоит проверить: чем раньше запрос превращается в валидированную структуру, тем меньше ветвится код дальше. Для этого полезно держать отдельные схемы для входа, ответа и внутреннего контракта, а не переиспользовать один модельный класс везде. Так меньше магии при рефакторинге и проще ловить несовместимость между ручкой и сервисом.

Ещё одна частая ошибка — делать dependency injection “по привычке”, а не по границам ответственности. Если зависимость только достаёт пользователя, она не должна знать про скидки, очереди и бизнес-правила. Как только dependency начинает разрастаться, тесты становятся дорогими, а ручка — неочевидной.

И отдельно про async: если внутри endpoint’а есть тяжёлый sync-код, его лучше вынести в пул или в отдельный воркер. Иначе FastAPI выглядит асинхронным только на бумаге, а под нагрузкой упирается в блокировки.

Если держать схемы, зависимости и async-границы раздельно, FastAPI остаётся быстрым не только на бенчмарке, но и в сопровождении.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Cloudeflare грозит Google блокировкой трафика

Cloudflare объявил: с 15 сентября 2026 года ИИ-краулеры будут заблокированы по умолчанию на всех сайтах с рекламой — включая Googlebot, Applebot и Bingbot.

Главная претензия — к Google: один и тот же бот индексирует страницы и собирает данные для обучения нейросетей, что даёт поисковику нечестное преимущество.

Но есть нюанс, который меняет всю к…

➡️ Читайте на сайте: https://aff.top/blog/cloudeflare-grozit-google-blokirovkoi-trafika

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Гайд: как заработать первые деньги на Pornhub

Pornhub — самый посещаемый адалт-сайт в мире, и на нём действительно можно зарабатывать. Но схема устроена иначе, чем кажется.

Автор залил ролики, набрал 16 000 просмотров — и получил 47 центов встроенной монетизации. Реальные деньги были в другом.

Есть нюансы с верификацией, голосом в роликах и законодательством РФ, которые ломают большинство с…

➡️ Читайте на сайте: https://aff.top/blog/gaid-kak-zarabotat-pervye-dengi-na-pornhub

🧠 Ещё больше инсайтов → в канале AFF.top
Автоматизация ломается не на коде, а на неучтённых входных данных и побочных эффектах

Если скрипт «работает у меня», это не признак готовности. В автоматизации обычно падают не алгоритмы, а края: пустые поля, дубликаты, таймауты, смена порядка колонок, неожиданный HTML, битые UTF-8 строки.

Перед запуском в проде проверь базу:
— есть ли идемпотентность, чтобы повторный запуск не плодил дубликаты;
— что делать при частичном успехе: откат, повтор, ручная очередь;
— где хранится состояние, чтобы процесс можно было продолжить после падения;
— какие ошибки считаются нормальными, а какие сразу стопят пайплайн.

Отдельно смотрите на логирование. Если в логах нет входных данных, идентификатора задачи и причины отказа, отладка превращается в угадайку. Для фоновых задач полезно писать не только traceback, но и короткий контекст: источник, шаг, размер пачки, время ответа.

Ещё один частый провал — скрытые зависимости: локальный путь на диске, переменная окружения без значения, внешний сервис с неявным лимитом, cron без блокировки параллельного запуска. Скрипт должен либо явно проверять такие вещи на старте, либо падать сразу и понятно.

Автоматизация живёт долго только там, где каждый шаг можно повторить, остановить и безопасно запустить снова.
7 привычек Python-кода, которые экономят часы на поддержке проекта

Если Python-проект начал «стареть», чаще всего проблема не в архитектурной магии, а в мелочах: непонятных именах, скрытых сайд-эффектах и разъехавшихся слоях. За неделю в репах обычно всплывают одни и те же вещи.

— Имена функций и переменных должны объяснять намерение, а не хранить исторический след. `process_data` хуже, чем `build_invoice_rows`.
— Не смешивайте I/O, бизнес-логику и форматирование ответа в одном модуле. Когда всё в одном файле, тесты превращаются в боль.
— Любой код с сетью, БД или файловой системой держите на границе системы, а не внутри вычислений.
— Если функция длиннее экрана, сначала ищите лишнюю ответственность, а не «нехватку комментариев». Комментарий не спасает от хаоса.

Есть наблюдение которое стоит проверить: чем меньше скрытого состояния, тем дешевле отладка. Передавать данные явно почти всегда лучше, чем тащить их через глобалы, singleton’ы и неочевидные импорты. Это особенно заметно в скриптах, которые внезапно стали «мини-сервисами».

Ещё один маркер зрелого кода — предсказуемые ошибки. Вместо голого `except:` ловите конкретные исключения и возвращайте понятный контекст: какой файл, какой пользовательский ввод, какой шаг упал. Тогда лог перестаёт быть детективом.

Если хочется быстрый аудит, начните с трёх вопросов: можно ли это протестировать без БД, можно ли это прочитать за минуту, и можно ли назвать это точнее. Обычно после этого половина «техдолга» становится видна без линтера.
Pydantic ломает проекты не валидацией, а неявными допущениями в моделях

Частая ошибка — считать модель «контейнером для полей». На деле Pydantic задаёт контракт между JSON, сервисом и БД. Если контракт размыт, потом всплывают сюрпризы: пустая строка вместо None, лишний ключ в payload, тихо склеившийся тип int/str.

Проверь базовые места:
— включай строгую валидацию там, где ошибка дороже автоприведения;
— разделяй входные и выходные схемы, не переиспользуй одну модель везде;
— явно помечай optional-поля, не надейся на «и так понятно»;
— для вложенных структур держи отдельные модели, а не dict на всё подряд.

Ещё один источник боли — дефолты и алиасы. Дефолт должен быть безопасным, а alias — стабильным контрактом, а не косметикой. Если поле приходит из внешнего API, лучше сразу описать его имя, формат и ограничения, чем потом ловить баги на сериализации.

Хорошее правило: модель должна объяснять, какие данные разрешены, а не маскировать чужие ошибки. Тогда Pydantic начинает экономить часы на отладке, а не добавлять их.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Сбер запустит свой криптокошелёк

Сбер готов запустить криптокошелёк — инфраструктура уже есть. Ждут только закона о регулировании крипты, который планируют принять к 1 сентября 2026 года.

Хранить и, судя по всему, обменивать крипту можно будет прямо в приложении — без сторонних обменников.

Но есть один нюанс, из-за которого обменники никуда не денутся. 🔍

➡️ Читайте на сайте: https://aff.top/blog/sber-zapustit-svoi-kriptokoshelek

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Индия потребовала от Telegram удалять пиратский контент

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

Дуров ответил, что Telegram годами работает в Индии без какой-либо коммерческой выгоды для себя.

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

➡️ Читайте на сайте: https://aff.top/blog/indiia-potrebovala-ot-telegram-udaliat-piratskii-kontent

🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Google ads меняет стратегию по конверсиям

Google меняет логику автоматических стратегий ставок: с 17 августа 2026 года кампании будут строже придерживаться указанного целевого CPA, а не давать лиды по минимально возможной цене.

Если сейчас твоя кампания даёт лиды по $5, а цель стоит $10 — после обновления алгоритм «поднимет» фактическую стоимость лида к целевой, зато отдаст больше трафик…

➡️ Читайте на сайте: https://aff.top/blog/google-ads-meniaet-strategiiu-po-konversiiam

🧠 Ещё больше инсайтов → в канале AFF.top
Pydantic ломают не типы, а привычка валидировать «на глаз»

Если модель в Pydantic ведёт себя странно, обычно проблема не в библиотеке, а в схеме. Частые ошибки:
— поле объявили как str, а в payload прилетает int и где-то дальше это молча приводится;
— вложенные модели не описали явно, поэтому структура расползается по dict;
— optional-поля смешали с дефолтами и потом ловят неожиданные None.

Для API это особенно больно: один кривой вход превращается в баг, который сложно поймать в коде. Pydantic хорош тем, что делает контракт явным: входной payload либо проходит, либо падает сразу. Это экономит время и в Django-проектах, и в FastAPI-сервисах, и в скриптах, где данные приходят из CSV, очереди или внешнего API.

Есть три правила, которые почти всегда окупаются:
• описывать вложенность через отдельные модели;
• не прятать обязательность полей за слишком мягкими типами;
• отдельно валидировать бизнес-условия, а не пытаться запихнуть всё в одну строку аннотации.

Если нужно преобразование, делайте его явно: до модели или через валидаторы. Иначе схема начнёт «прощать» лишнее, а потом это вылезет в проде в самом неудобном месте.

Лучший Pydantic-код — это не самый умный, а самый предсказуемый.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
В Codex внедрят GPT-5.6 Ultra

OpenAI добавит в Codex эксклюзивную версию GPT-5.6 Sol Ultra — не ту, что выйдет в паблик, а отдельную, усиленную модель.

Два ключевых режима: расширенные рассуждения (модель думает дольше) и мульти-агентная работа с параллельными субагентами. Релиз ожидается 7–9 июля 2026.

Но есть один нюанс, который OpenAI пока не раскрывает 👀 Подробности — в …

➡️ Читайте на сайте: https://aff.top/blog/v-codex-vnedriat-gpt-5-6-ultra

🧠 Ещё больше инсайтов → в канале AFF.top