Python Web & Scripts — Django, FastAPI, скрипты
441 subscribers
11 photos
2 videos
11 links
Python для веба и автоматизации: Django, FastAPI, Flask, Starlette. Скрипты для парсинга, ETL, обработки данных, integrations. Async, pydantic, deployment patterns.
Канал сети public.tg.
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Claude скоро станет по паспорту

С 8 июля 2026 года все модели Claude потребуют верификации личности через паспорт и селфи. Это произошло после закрытия доступа к Fable 5, выпущенной в открытый доступ буквально на неделю. Ограничение касается веб-версии на сайте Anthropic, но остаётся неясным, будут ли верификацию требовать API и AI-агенты вроде Codex. Решение выглядит излишне строгим в свете качества моделей, однако компания явно ужесточает контроль над доступом к своим продук…

➡️ Читайте на сайте: https://aff.top/blog/claude-skoro-stanet-po-pasportu

🧠 Ещё больше инсайтов → в канале AFF.top
7 ошибок на русской CMS, из-за которых сайт «тормозит» даже на хорошем хостинге

На Bitrix и MODX чаще всего упираются не в сервер, а в сборку проекта. Если сайт медленный, сначала смотрят не на тариф, а на типовые косяки в коде и шаблонах.

— Условная логика в каждом запросе. Когда в шаблоне на каждый рендер идут проверки прав, выборки и вычисления, страдает весь фронт.
— Лишние запросы к БД. Классика: циклы с N+1, повторные выборки одних и тех же данных, отсутствие кеширования там, где оно очевидно.
— Тяжёлые компоненты на главной. Часто туда тащат всё подряд: новости, каталоги, формы, баннеры, рекомендации. В итоге одна страница собирает полсайта.
— Картинки без подготовки. Огромные исходники, отсутствие адаптивных размеров и lazy load убивают скорость сильнее, чем кажется.
— Скрипты и стили без дисциплины. Когда подключено всё сразу, даже простой интерфейс начинает грузиться как портал.

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

Самый рабочий порядок такой: сначала убрать лишние запросы и тяжёлые блоки, потом оптимизировать медиа, и только после этого трогать сервер.
Elementor тормозит не из-за плагина, а из-за того, как его собирают

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

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

Есть наблюдение которое стоит проверить: тяжёлый Elementor-проект чаще всего выигрывает не от «ускорителей», а от вычищенной структуры. Когда убирают дублирующие блоки, сокращают CSS/JS от лишних модулей и переводят повторяющиеся элементы в шаблоны, у страницы резко падает шум.

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

Сначала собирайте лендинг как рабочий интерфейс, потом как витрину. На Elementor это экономит и скорость, и нервы, и место для реальной конверсии.
ESM ломает не код, а допущения: проверь их до первого импорта

В CommonJS многие ошибки прячутся за require и module.exports. В ESM они выходят наружу сразу: строгие пути, явные расширения, отдельные правила для default и named export.

Три места, где чаще всего спотыкаются:
— импорт без расширения в Node-окружении;
— смешивание default export и named export «на глаз»;
— циклические зависимости, которые в ESM проявляются жёстче, чем в CJS.

Если проект уже живёт на TypeScript, проверь связку tsconfig и рантайма. Для сборки важно, чтобы moduleResolution, target и формат выхода не спорили между собой. Иначе код проходит typecheck, но падает при запуске или в тестах.

Отдельно смотри на библиотеки и утилиты: не всё, что красиво импортируется в Vite, так же работает в Node, Bun или при прямом запуске через tsx. ESM любит явность. Чем меньше магии в путях и экспортах, тем меньше сюрпризов в деплое.

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

Vue обычно про скорость разработки, но типовые промахи потом бьют по поддержке. Первый — хранить слишком много состояния в компоненте, когда часть логики уже просится в composable или store. Второй — смешивать UI, запросы и форматирование в одном файле: компонент растёт, а тестировать его всё больнее.

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

Отдельно стоит смотреть на шаблоны: если там много условий, инлайн-функций и тяжёлых вычислений, это почти всегда сигнал вынести логику выше. Иначе код выглядит простым только до первого рефакторинга.

Хорошая проверка для любого Vue-модуля: если компонент нельзя объяснить за 30 секунд, значит он уже делает лишнее. Разрежьте его на визуальный слой, состояние и побочные эффекты — и сопровождать проект станет заметно легче.
FastAPI ломают не роуты, а неправильные зависимости и валидация

За неделю в репах чаще всего всплывает одна и та же проблема: проект стартует быстро, а потом начинает тормозить на интеграциях. Причина обычно не в самом FastAPI, а в том, как собраны зависимости, схемы и фоновые задачи.

• Не тащите тяжёлую работу в endpoint. Всё, что ходит во внешние API, пишет файлы или собирает отчёты, уносите в очередь или background task.
• Не делайте pydantic-модели «на всё». Отдельно держите request, response и internal schema — иначе валидация превращается в кашу.
• Не смешивайте бизнес-логику с роутом. Endpoint должен принять данные, вызвать сервис и вернуть ответ, а не решать половину доменной задачи.

Есть наблюдение которое стоит проверить: большинство багов в FastAPI появляется не на async, а на границе слоёв. Там, где один и тот же объект живёт в SQLAlchemy, в ответе API и в тестах, начинаются сюрпризы с мутацией, сериализацией и лишними запросами.

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

Если FastAPI кажется «простым», это обычно до первого роста проекта. Держите роуты тонкими, схемы раздельными, а IO — вне синхронного пути, и приложение останется читаемым без героизма.
7 ошибок в Python-скриптах, из-за которых автоматизация ломается на ровном месте

В Python чаще всего падает не «логика», а обвязка: ввод, сеть, файлы, окружение. Если скрипт живёт дольше одного запуска, проверь базу:
— не ловишь ли ты исключения через голый except;
— не смешиваешь ли print и нормальный logging;
— не рассчитываешь ли на порядок в dict там, где нужен явный сорт;
— не читаешь ли файл целиком, когда хватит итерации по строкам.

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

Если есть асинхронщина, отдельно смотри на блокировки: один случайный requests, тяжёлый парсинг или синхронный драйвер внутри event loop убивают смысл asyncio. Для фоновых задач полезно сразу разделять: I/O отдельно, CPU отдельно, ошибки отдельно.

Хороший скрипт — это не тот, который «один раз отработал», а тот, который переживает пустые данные, сетевые сбои и чужую среду. Перед запуском в проде прогоняй чек: вход, таймауты, логи, конфиг, исключения, и только потом логику.
Скрипт должен падать предсказуемо: 6 проверок до запуска в прод

Если python-скрипт живёт дольше одного запуска, его надо проверять не “на глаз”, а по схеме. Иначе он ломается там, где не ждёшь: на пустом файле, на кривой кодировке, на повторной записи, на таймауте API.

— Сначала проверяй вход: файл существует, формат тот, кодировка читается, обязательные поля не пустые.
— Потом ограничивай объём: лимит на размер файла, число строк, глубину рекурсии, размер ответа от внешнего сервиса.
— Любой внешний вызов оборачивай в retry + timeout, но retry делай только для идемпотентных операций.
— Логи пиши так, чтобы по одному сообщению было ясно: что обрабатывали, на каком шаге упали, какой был payload.
— Ошибки дели на ожидаемые и аварийные: первые обрабатывай, вторые пусть валят задачу с понятным trace.

Отдельная ловушка — временные файлы и частичные записи. Сначала пишешь в tmp, потом атомарно переименовываешь; иначе после падения у тебя остаётся “почти готовый” результат, который кто-то примет за валидный.

И ещё: любой скрипт без теста на один плохой кейс — это не автоматизация, а надежда. Лучше один раз зашить проверки, чем потом вручную искать, где именно всё съехало.
React Server Actions ломают границы между UI и мутирующей логикой — и это надо проектировать заранее

Server Actions удобно вешать на форму и забывать про отдельный API-слой. Но если рядом уже живут TanStack Query, optimistic UI и сложная авторизация, начинаются дубли: одно и то же действие вызывают из формы, модалки и фонового процесса.

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

Главная ошибка — тащить в Action всю бизнес-логику. Тогда её сложно переиспользовать, мокать и переносить между Next.js, Remix и обычным backend-for-frontend. Лучше держать Action тонким адаптером: валидация, вызов доменного сервиса, возврат результата.

И ещё одно: Action не отменяет необходимость явных контрактов. Если на выходе у вас меняются поля, сообщения об ошибке и побочные эффекты, фронт быстро превращается в набор хрупких допущений. Разделяйте: Action для транспорта, сервис для правил, схема для данных.
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустил Android 17

Android получил встроенную Gemini с функциями автоматизации задач, конспектирования браузера и редактирования медиа. Обновление принесло новый интерфейс Bubble, двухкамерную запись и игровой режим для складных телефонов. Критический момент: Gemini Intelligence требует Gemini Nano v3 и минимум 12 ГБ RAM, что ограничивает аудиторию премиум-девайсов. Это создаёт потенциал для таргетинга криптооффера на узкий сегмент владельцев флагманов, готовых пл…

➡️ Читайте на сайте: https://aff.top/blog/google-vypustil-android-17

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