Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
В РФ приняли закон о крипте: что он означает
Закон признал крипту имуществом, но запретил использовать её как платёж внутри России. Хранить можно, оплачивать товары и услуги нельзя, а обмен и обращение допустимы только через лицензированных операторов и в рамках внешнеторговых сделок. Для арбитража вывод простой: серые P2P-схемы под ударом, а легализация дохода возможна лишь через правила ЦБ и ФНС.
➡️ Читайте на сайте: https://aff.top/blog/v-rf-priniali-zakon-o-kripte-chto-on-oznachaet
🧠 Ещё больше инсайтов → в канале AFF.top
Закон признал крипту имуществом, но запретил использовать её как платёж внутри России. Хранить можно, оплачивать товары и услуги нельзя, а обмен и обращение допустимы только через лицензированных операторов и в рамках внешнеторговых сделок. Для арбитража вывод простой: серые P2P-схемы под ударом, а легализация дохода возможна лишь через правила ЦБ и ФНС.
➡️ Читайте на сайте: https://aff.top/blog/v-rf-priniali-zakon-o-kripte-chto-on-oznachaet
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Claude code теперь умеет запускать Ios-прилы
Anthropic превратила Claude Code Desktop в инструмент для сборки и отладки iOS-приложений прямо в симуляторе Apple. Claude видит интерфейс, читает экран и сразу вносит правки без computer use и разрешений на запись экрана. Для работы нужен Mac, Xcode и подписка Pro/Max/Team. Вывод: это удобный способ быстрее тестировать iOS-оферы и фичи.
➡️ Читайте на сайте: https://aff.top/blog/claude-code-teper-umeet-zapuskat-ios-prily
🧠 Ещё больше инсайтов → в канале AFF.top
Anthropic превратила Claude Code Desktop в инструмент для сборки и отладки iOS-приложений прямо в симуляторе Apple. Claude видит интерфейс, читает экран и сразу вносит правки без computer use и разрешений на запись экрана. Для работы нужен Mac, Xcode и подписка Pro/Max/Team. Вывод: это удобный способ быстрее тестировать iOS-оферы и фичи.
➡️ Читайте на сайте: https://aff.top/blog/claude-code-teper-umeet-zapuskat-ios-prily
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Open AI запустила рекламный сервис в ChatGPT
OpenAI запустила рекламу в ChatGPT: спонсорские блоки показываются в бесплатной версии и тарифе Go, а закупка идёт по CPM и CPC с бюджетом на уровне адсетов. Для арбитражников это пока дорогой тест: рекомендованный CPC $3–5, ограниченные гео, есть UTM и базовая статистика, но окупаемость под вопросом.
➡️ Читайте на сайте: https://aff.top/blog/open-ai-zapustila-reklamnyi-servis-v-chatgpt
🧠 Ещё больше инсайтов → в канале AFF.top
OpenAI запустила рекламу в ChatGPT: спонсорские блоки показываются в бесплатной версии и тарифе Go, а закупка идёт по CPM и CPC с бюджетом на уровне адсетов. Для арбитражников это пока дорогой тест: рекомендованный CPC $3–5, ограниченные гео, есть UTM и базовая статистика, но окупаемость под вопросом.
➡️ Читайте на сайте: https://aff.top/blog/open-ai-zapustila-reklamnyi-servis-v-chatgpt
🧠 Ещё больше инсайтов → в канале AFF.top
FastAPI ломается не на роутинге, а на границах между входом, схемой и ответом
За неделю в репах чаще всего всплывает один и тот же паттерн: эндпоинт работает, пока данные «идеальные». Как только приходит пустое поле, лишний ключ или неверный тип — начинают лететь 422, ручные if-ы и костыли в handler’ах.
Держите базовый чек-лист для живого проекта:
— вход валидируйте на уровне Pydantic-модели, а не внутри функции;
— бизнес-логику не смешивайте с зависимостями и запросом;
— response_model используйте всегда, иначе наружу легко утекут лишние поля;
— для async-операций не прячьте sync-код в endpoint без явного контроля.
Отдельная ловушка — зависимость, которая «просто достаёт объект из БД». Если она делает слишком много, тесты становятся хрупкими, а ошибки размазываются по стеку. Лучше, когда dependency отвечает только за получение контекста, а не за половину сценария.
Ещё один полезный фильтр: если endpoint нельзя объяснить одной фразой, его пора резать на сервисы. FastAPI хорошо переносит тонкие ручки и плохо переносит толстые контроллеры с логикой на 200 строк.
Если проект растёт, сначала наводите порядок на контрактах: вход, выход, зависимости. Потом уже оптимизируйте скорость разработки — иначе вы просто ускорите выпуск ошибок.
За неделю в репах чаще всего всплывает один и тот же паттерн: эндпоинт работает, пока данные «идеальные». Как только приходит пустое поле, лишний ключ или неверный тип — начинают лететь 422, ручные if-ы и костыли в handler’ах.
Держите базовый чек-лист для живого проекта:
— вход валидируйте на уровне Pydantic-модели, а не внутри функции;
— бизнес-логику не смешивайте с зависимостями и запросом;
— response_model используйте всегда, иначе наружу легко утекут лишние поля;
— для async-операций не прячьте sync-код в endpoint без явного контроля.
Отдельная ловушка — зависимость, которая «просто достаёт объект из БД». Если она делает слишком много, тесты становятся хрупкими, а ошибки размазываются по стеку. Лучше, когда dependency отвечает только за получение контекста, а не за половину сценария.
Ещё один полезный фильтр: если endpoint нельзя объяснить одной фразой, его пора резать на сервисы. FastAPI хорошо переносит тонкие ручки и плохо переносит толстые контроллеры с логикой на 200 строк.
Если проект растёт, сначала наводите порядок на контрактах: вход, выход, зависимости. Потом уже оптимизируйте скорость разработки — иначе вы просто ускорите выпуск ошибок.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Google выпустила новую Gemini 3.6 flash
Google выкатил новую линейку Gemini: 3.6 Flash стала основной моделью и выгоднее прошлой, при этом лучше в кодинге. 3.5 Flash-Lite — самая быстрая, подходит для рисёрча и анализа доков. Flash Cyber ориентирована на поиск уязвимостей, но доступна только в пилоте.
➡️ Читайте на сайте: https://aff.top/blog/google-vypustila-novuiu-gemini-3-6-flash
🧠 Ещё больше инсайтов → в канале AFF.top
Google выкатил новую линейку Gemini: 3.6 Flash стала основной моделью и выгоднее прошлой, при этом лучше в кодинге. 3.5 Flash-Lite — самая быстрая, подходит для рисёрча и анализа доков. Flash Cyber ориентирована на поиск уязвимостей, но доступна только в пилоте.
➡️ Читайте на сайте: https://aff.top/blog/google-vypustila-novuiu-gemini-3-6-flash
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
IOS 27 будут блокировать за долги
Apple готовит в iOS 27 механизм блокировки iPhone при просрочке по лизингу: часть функций останется доступной, чтобы можно было оплатить долг. Для CPA и партнёрского маркетинга это сигнал, что финтех и рассрочка всё глубже вшиваются в экосистему бренда, а доступ к устройству может зависеть от статуса договора.
➡️ Читайте на сайте: https://aff.top/blog/ios-27-budut-blokirovat-za-dolgi
🧠 Ещё больше инсайтов → в канале AFF.top
Apple готовит в iOS 27 механизм блокировки iPhone при просрочке по лизингу: часть функций останется доступной, чтобы можно было оплатить долг. Для CPA и партнёрского маркетинга это сигнал, что финтех и рассрочка всё глубже вшиваются в экосистему бренда, а доступ к устройству может зависеть от статуса договора.
➡️ Читайте на сайте: https://aff.top/blog/ios-27-budut-blokirovat-za-dolgi
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Meta разрабатывает приложение для сочинения сказок
Meta тестирует AI-приложение для создания детских сказок: пользователь задаёт героя, мир и мораль, а нейросеть сама пишет текст, рисует иллюстрации и добавляет музыку. Это шаг к массовой генерации контента, где качество, персонализация и скорость важнее ручной работы — а для арбитража и CPA это ещё один инструмент, ускоряющий упаковку креативов и кейсов.
➡️ Читайте на сайте: https://aff.top/blog/meta-razrabatyvaet-prilozhenie-dlia-sochineniia-skazok
🧠 Ещё больше инсайтов → в канале AFF.top
Meta тестирует AI-приложение для создания детских сказок: пользователь задаёт героя, мир и мораль, а нейросеть сама пишет текст, рисует иллюстрации и добавляет музыку. Это шаг к массовой генерации контента, где качество, персонализация и скорость важнее ручной работы — а для арбитража и CPA это ещё один инструмент, ускоряющий упаковку креативов и кейсов.
➡️ Читайте на сайте: https://aff.top/blog/meta-razrabatyvaet-prilozhenie-dlia-sochineniia-skazok
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Google добавил вход по видеоселфи
Google тестирует вход по видеоселфи вместо пароля и 2FA: пользователь записывает короткое видео, а потом система сверяет лицо при авторизации. Это упрощает доступ, но вызывает вопросы к антифроду и защите от дипфейков. Функция доступна не всем и не работает для Workspace, детских аккаунтов и Advanced Protection.
➡️ Читайте на сайте: https://aff.top/blog/google-dobavil-vkhod-po-videoselfi
🧠 Ещё больше инсайтов → в канале AFF.top
Google тестирует вход по видеоселфи вместо пароля и 2FA: пользователь записывает короткое видео, а потом система сверяет лицо при авторизации. Это упрощает доступ, но вызывает вопросы к антифроду и защите от дипфейков. Функция доступна не всем и не работает для Workspace, детских аккаунтов и Advanced Protection.
➡️ Читайте на сайте: https://aff.top/blog/google-dobavil-vkhod-po-videoselfi
🧠 Ещё больше инсайтов → в канале AFF.top
Автоматизация ломается не в коде, а в предположениях о данных
Чаще всего скрипт пишут под «идеальный» вход: один формат даты, один тип файла, один ответ API. Потом прилетает пустое поле, лишний пробел или другой порядок колонок — и весь пайплайн молча едет в мусор.
За неделю в репах я бы проверял 4 вещи:
— явная схема входа: pydantic, проверки типов, обязательные поля;
— идемпотентность: повторный запуск не должен дублировать записи;
— раздельные ошибки: парсинг, сеть, запись в БД, внешние лимиты;
— логирование с контекстом: что пришло, на каком шаге упало, какой ключ сломан.
Отдельная ловушка — «тихие» падения. Скрипт завершился успешно, но половина строк не обработалась, потому что фильтр слишком узкий или исключение проглотили в helper-функции. Для automation это хуже явного traceback: потом нечего расследовать.
Если скрипт нужен не «на раз», а в работе, начинайте не с ускорения, а с контракта на данные, повторного запуска и понятных ошибок. Тогда автоматизация не превращается в набор магии, который чинят вручную по ночам.
Чаще всего скрипт пишут под «идеальный» вход: один формат даты, один тип файла, один ответ API. Потом прилетает пустое поле, лишний пробел или другой порядок колонок — и весь пайплайн молча едет в мусор.
За неделю в репах я бы проверял 4 вещи:
— явная схема входа: pydantic, проверки типов, обязательные поля;
— идемпотентность: повторный запуск не должен дублировать записи;
— раздельные ошибки: парсинг, сеть, запись в БД, внешние лимиты;
— логирование с контекстом: что пришло, на каком шаге упало, какой ключ сломан.
Отдельная ловушка — «тихие» падения. Скрипт завершился успешно, но половина строк не обработалась, потому что фильтр слишком узкий или исключение проглотили в helper-функции. Для automation это хуже явного traceback: потом нечего расследовать.
Если скрипт нужен не «на раз», а в работе, начинайте не с ускорения, а с контракта на данные, повторного запуска и понятных ошибок. Тогда автоматизация не превращается в набор магии, который чинят вручную по ночам.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Как 🇪🇬 🇪🇨 🇩🇴 🇩🇲 первыми собрали собственную армию AI-креаторов и вышли на monthly spend свыше 💵 500 000
Дорогие коллеги и партнёры,
⚡️ За последние годы creator economy стала одним из самых обсуждаемых направлений на рынке. Для нас она стала полноценным продуктом.
🏆 JoyCasino первыми запустили партнёрскую программу по монетизации AI-контента с прямой оплатой за результат. За несколько лет эксперимент превратился в собственное комьюнити креаторов с Monthly spend свыше $500 000, а общие инвестиции в Joy Content Academy превысили $2 млн.
📌 Сегодня это не только контент, но и полноценная внутренняя экосистема: турниры, персонажи и идеи из роликов стали частью самого продукта.💪 Получился редкий для iGaming кейс, когда новый формат удалось превратить в масштабируемый канал привлечения и вовлечения аудитории.
Подробнее о проекте👉 joycontent.academy
Задаём тренды на рынке с 2014 года. Дальше — больше.
Дорогие коллеги и партнёры,
📌 Сегодня это не только контент, но и полноценная внутренняя экосистема: турниры, персонажи и идеи из роликов стали частью самого продукта.
Подробнее о проекте
Задаём тренды на рынке с 2014 года. Дальше — больше.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Alibaba выпустили в паблик Qwen-image-3.0
Qwen-image-3.0 делает упор не на «красивую картинку», а на прикладные задачи: длинные промпты, сложные макеты, текст, формулы и 12 языков. Это удобный инструмент для массовой генерации простых визуалов, но пока без open-source весов и бенчей он не выглядит заменой GPT Image 2 или Nano Banana 2.
➡️ Читайте на сайте: https://aff.top/blog/alibaba-vypustili-v-pablik-qwen-image-3-0
🧠 Ещё больше инсайтов → в канале AFF.top
Qwen-image-3.0 делает упор не на «красивую картинку», а на прикладные задачи: длинные промпты, сложные макеты, текст, формулы и 12 языков. Это удобный инструмент для массовой генерации простых визуалов, но пока без open-source весов и бенчей он не выглядит заменой GPT Image 2 или Nano Banana 2.
➡️ Читайте на сайте: https://aff.top/blog/alibaba-vypustili-v-pablik-qwen-image-3-0
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Как баинговой команде снизить косты на запуск и найти новые точки роста?
adskill - рекламная инфраструктура для стабильной работы performance-команд. Специально на этот квартал мы подготовили пакет кастомных условий для медиабайеров, инхаус-команд брендов и digital-агентств:
🔥 TikTok под 0% комиссии - запуск и ведение кампаний без сервисных сборов до конца квартала.
🔥 YanGo под 0% комиссии - выдача аккаунтов менее чем за 1 день и быстрое пополнение баланса.
🔥 Оптимизация НДС на Facebook - помогаем настроить кампании с учетом нового налогового законодательства на некоторых ГЕО.
⚡️ Доступ к Bing и Bidease - редкие альтернативные источники трафика для масштабирования
💳 Агентское вознаграждение - возвращаем часть затрат от рекламного спенда.
Почему крупные команды выбирают adskill:
🔹 Полная свобода: Отсутствуют лимиты на спенд и количество создаваемых аккаунтов.
🔹 Удобные расчеты: Гибкие мультивалютные решения и кастомные платежные шлюзы под каждый проект.
🔹 Единый баланс: Быстрый перенос оборотного бюджета между 20+ площадками.
🔹 Безопасность капитала: Whitelisted-аккаунты, приоритетная модерация и оперативный возврат средств на баланс в случае блокировок.
Масштабируйте performance-кампании, используя готовую инфраструктуру и прямые партнерские условия adskill.
Написать менеджеру и уточнить доступные способы расчетов:👉 @adskill_sales_o_bot
adskill - рекламная инфраструктура для стабильной работы performance-команд. Специально на этот квартал мы подготовили пакет кастомных условий для медиабайеров, инхаус-команд брендов и digital-агентств:
🔥 TikTok под 0% комиссии - запуск и ведение кампаний без сервисных сборов до конца квартала.
🔥 YanGo под 0% комиссии - выдача аккаунтов менее чем за 1 день и быстрое пополнение баланса.
🔥 Оптимизация НДС на Facebook - помогаем настроить кампании с учетом нового налогового законодательства на некоторых ГЕО.
⚡️ Доступ к Bing и Bidease - редкие альтернативные источники трафика для масштабирования
💳 Агентское вознаграждение - возвращаем часть затрат от рекламного спенда.
Почему крупные команды выбирают adskill:
🔹 Полная свобода: Отсутствуют лимиты на спенд и количество создаваемых аккаунтов.
🔹 Удобные расчеты: Гибкие мультивалютные решения и кастомные платежные шлюзы под каждый проект.
🔹 Единый баланс: Быстрый перенос оборотного бюджета между 20+ площадками.
🔹 Безопасность капитала: Whitelisted-аккаунты, приоритетная модерация и оперативный возврат средств на баланс в случае блокировок.
Масштабируйте performance-кампании, используя готовую инфраструктуру и прямые партнерские условия adskill.
Написать менеджеру и уточнить доступные способы расчетов:👉 @adskill_sales_o_bot
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Яндекс тестирует объединение цифровой и наружной рекламы
Яндекс тестирует «Панораму» — единый формат для digital и наружной рекламы с «умным» охватом, который учитывает пересечение аудиторий и снижает частоту показов. Для рекламодателей это шанс расширить reach до 120 млн пользователей и протестировать новые placements, но в паблик-фазе важно смотреть на цену охвата и качество трафика.
➡️ Читайте на сайте: https://aff.top/blog/iandeks-testiruet-obedinenie-cifrovoi-i-naruzhnoi-reklamy
🧠 Ещё больше инсайтов → в канале AFF.top
Яндекс тестирует «Панораму» — единый формат для digital и наружной рекламы с «умным» охватом, который учитывает пересечение аудиторий и снижает частоту показов. Для рекламодателей это шанс расширить reach до 120 млн пользователей и протестировать новые placements, но в паблик-фазе важно смотреть на цену охвата и качество трафика.
➡️ Читайте на сайте: https://aff.top/blog/iandeks-testiruet-obedinenie-cifrovoi-i-naruzhnoi-reklamy
🧠 Ещё больше инсайтов → в канале AFF.top
Flask ломают не роуты, а скрытые зависимости между модулями
В маленьком проекте Flask удобно, пока всё лежит в одном файле. Проблемы начинаются, когда view импортирует сервис, сервис тянет конфиг, а конфиг внезапно знает про БД и очередь. Дальше любой рефакторинг превращается в ручную сборку пазла.
Держите каркас, который спасает:
— app factory вместо глобального app
— extensions инициализируйте отдельно
— конфиг передавайте через объект, а не через import side effects
— бизнес-логику выносите из view в сервисы
— Blueprints используйте как границы, а не как помойку для всего подряд
Ещё одна типовая ошибка — класть в маршрут и валидацию, и SQL, и формат ответа. В итоге тестировать нечего: чтобы проверить один endpoint, надо поднять половину приложения. Если обработчик тонкий, его проще мокать, логировать и переиспользовать в CLI-скриптах.
Идея простая: Flask хорош там, где вы сами держите архитектурную дисциплину. Чем раньше разложите зависимости по слоям, тем дольше проект останется быстрым в разработке и спокойным в сопровождении.
В маленьком проекте Flask удобно, пока всё лежит в одном файле. Проблемы начинаются, когда view импортирует сервис, сервис тянет конфиг, а конфиг внезапно знает про БД и очередь. Дальше любой рефакторинг превращается в ручную сборку пазла.
Держите каркас, который спасает:
— app factory вместо глобального app
— extensions инициализируйте отдельно
— конфиг передавайте через объект, а не через import side effects
— бизнес-логику выносите из view в сервисы
— Blueprints используйте как границы, а не как помойку для всего подряд
Ещё одна типовая ошибка — класть в маршрут и валидацию, и SQL, и формат ответа. В итоге тестировать нечего: чтобы проверить один endpoint, надо поднять половину приложения. Если обработчик тонкий, его проще мокать, логировать и переиспользовать в CLI-скриптах.
Идея простая: Flask хорош там, где вы сами держите архитектурную дисциплину. Чем раньше разложите зависимости по слоям, тем дольше проект останется быстрым в разработке и спокойным в сопровождении.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Самое время начать игру с преимуществом:
Не откладывай удачу на потом — активируй бонус и сделай первый шаг к большим победам.
Самое время начать игру с преимуществом:
Не откладывай удачу на потом — активируй бонус и сделай первый шаг к большим победам!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Vision Browser Новости
This media is not supported in your browser
VIEW IN TELEGRAM
Мигрируй с Indigo Browser с максимальной выгодой!
⏳ 31 августа 2026 года Indigo Browser официально прекращает работу. Всех пользователей безальтернативно переведут в Multilogin — хотите вы этого или нет.
В красивых словах про «общее будущее» и «единую технологию» легко не заметить главное: продукт, который выбирали пользователи, больше не будет развиваться самостоятельно и полностью исчезнет.
Наша команда уверена, что хорошие проекты не закрываются и не продаются — они сохраняют независимость, растут и становятся лучше.
Если не хочешь быть частью этой вынужденной меры и мигрировать в откровенно слабое и устаревшее решение — команда✌️ Vision рада предложить альтернативу.
✅ Мы полностью компенсируем стоимость текущего тарифа Indigo.
✅ Поможем с переносом всех данных и профилей.
✅ Дадим поддержку и быстрый старт в Vision.
Не трать деньги на браузер, который уже списали в архив. Переезжай туда, где продукт делают для пользователей, а не ради выгодных сделок.
📩 Напиши кодовое слово «RIPINDIGO» в наш саппорт на сайте или в официальном боте поддержки — и мы оформим компенсацию тарифа и поможем быстро перенести все данные.
Срок действия предложения - до 19:00 31.08.2026 (GMT+3)
Условия акции
⏳ 31 августа 2026 года Indigo Browser официально прекращает работу. Всех пользователей безальтернативно переведут в Multilogin — хотите вы этого или нет.
В красивых словах про «общее будущее» и «единую технологию» легко не заметить главное: продукт, который выбирали пользователи, больше не будет развиваться самостоятельно и полностью исчезнет.
Наша команда уверена, что хорошие проекты не закрываются и не продаются — они сохраняют независимость, растут и становятся лучше.
Если не хочешь быть частью этой вынужденной меры и мигрировать в откровенно слабое и устаревшее решение — команда
✅ Мы полностью компенсируем стоимость текущего тарифа Indigo.
✅ Поможем с переносом всех данных и профилей.
✅ Дадим поддержку и быстрый старт в Vision.
Не трать деньги на браузер, который уже списали в архив. Переезжай туда, где продукт делают для пользователей, а не ради выгодных сделок.
📩 Напиши кодовое слово «RIPINDIGO» в наш саппорт на сайте или в официальном боте поддержки — и мы оформим компенсацию тарифа и поможем быстро перенести все данные.
Срок действия предложения - до 19:00 31.08.2026 (GMT+3)
Условия акции
Please open Telegram to view this post
VIEW IN TELEGRAM
7 ошибок в Python-скриптах, из-за которых ломается автоматизация
В репозиториях это всплывает снова и снова: скрипт «вроде работает», пока не попадает на нестандартные данные, пустой ответ или медленный API.
— Нет явной обработки исключений: один падеж сети, и задача падает без ретрая.
— Переменные окружения читаются без проверки: секретов нет, а код молча уходит в None.
— Путь к файлам захардкожен: на локалке ок, в контейнере уже нет.
— Входные данные не валидируются: лишний пробел, пустая строка или неожиданный тип ломают весь пайплайн.
Отдельно смотрите на логирование. Если в логах только «error happened», то разбирать инцидент придется руками. Нужны контекст, входные параметры, идентификатор задачи и нормальный traceback. Для фоновых скриптов это важнее, чем кажется: без этого непонятно, где именно потерялись данные и кто это вообще запустил.
Еще одна частая проблема — отсутствие идемпотентности. Скрипт должен переживать повторный запуск: не дублировать записи, не создавать одни и те же файлы, не отправлять одно и то же уведомление дважды.
Перед релизом прогоняйте один вопрос: если процесс упадет на середине и его запустят заново, он продолжит работу или начнет все заново с мусором?
В репозиториях это всплывает снова и снова: скрипт «вроде работает», пока не попадает на нестандартные данные, пустой ответ или медленный API.
— Нет явной обработки исключений: один падеж сети, и задача падает без ретрая.
— Переменные окружения читаются без проверки: секретов нет, а код молча уходит в None.
— Путь к файлам захардкожен: на локалке ок, в контейнере уже нет.
— Входные данные не валидируются: лишний пробел, пустая строка или неожиданный тип ломают весь пайплайн.
Отдельно смотрите на логирование. Если в логах только «error happened», то разбирать инцидент придется руками. Нужны контекст, входные параметры, идентификатор задачи и нормальный traceback. Для фоновых скриптов это важнее, чем кажется: без этого непонятно, где именно потерялись данные и кто это вообще запустил.
Еще одна частая проблема — отсутствие идемпотентности. Скрипт должен переживать повторный запуск: не дублировать записи, не создавать одни и те же файлы, не отправлять одно и то же уведомление дважды.
Перед релизом прогоняйте один вопрос: если процесс упадет на середине и его запустят заново, он продолжит работу или начнет все заново с мусором?
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Я ДЕЛАЮ СОБСТВЕННЫЙ СЕРВИС КАРТ ДЛЯ АРБИТРАЖА - NeCards
Только без обычной хуйни: «эксклюзивные трастовые BIN’ы»;
«надёжный европейский эмитент»;
«наш банковский партнёр»;
«подробности уточняйте у менеджера».
У меня всегда был один вопрос: какой, блять, банк? Кому принадлежат BIN’ы? Почему вчера они были трастовые, а сегодня половина рынка ловит risk payment?
Хуй пойми.
Поэтому в NeCards всё будет открыто:
• какой банк выпустил BIN;
• где он показывает себя лучше;
• что разрешено и запрещено;
• комиссии, лимиты;
• юридическое лицо;
• закрывающие документы.
Если сервис скрывает название банка, возможно, проблема не в банковской тайне. Возможно, банка там просто нет.
Сейчас я уже работаю напрямую с банками. Идут договора, комплаенс и прочая взрослая скучная хуйня, которая почему-то занимает больше двух вечеров.
Но платформу мы уже доделали:
• выпуск и управление картами;
• команды и массовые операции;
• аналитика и API;
• нормальный интерфейс без ощущения, что ты открыл админку интернет-магазина из 2011 года.
ЧТО БУДЕТ СЕЙЧАС?
На старте в NeCards будут карты сторонних проверенных поставщиков.
Только я не собираюсь называть чужие BIN’ы «нашей уникальной банковской инфраструктурой».
Я честно покажу, откуда карты, какие у них условия и ограничения.
Комиссии поставщиков на время тестирования возьму на себя.
Сможете бесплатно получить карты, проверить платформу и помочь довести её до состояния, когда она просто, блять, работает, хотя уже - работает, но... На всякий!
Без «революции рынка».
ЧТО БУДЕТ ДАЛЬШЕ?
В сентябре рассчитываю закончить прямые договоры с банками.
После этого постепенно перейдём на собственные банковские программы.
Нормальные банки.
Прямые договоры.
Открытые BIN’ы.
Понятные ограничения.
Закрывающие документы.
Нужно официально учитывать расходы и платить налоги? Пожалуйста. Не нужно? Ну и поебать.
Главное, что вы всегда будете понимать, чьими картами пользуетесь, сколько реально платите и кто отвечает за инфраструктуру.
Скоро открою бесплатное тестирование NeCards
____
🤔 Консоли Google Play и Apple Developer надо? Phoenix — 100% свой фарм с 2021-го. Забрать акки → @phoenix_seller_bot 🤔
Только без обычной хуйни: «эксклюзивные трастовые BIN’ы»;
«надёжный европейский эмитент»;
«наш банковский партнёр»;
«подробности уточняйте у менеджера».
У меня всегда был один вопрос: какой, блять, банк? Кому принадлежат BIN’ы? Почему вчера они были трастовые, а сегодня половина рынка ловит risk payment?
Хуй пойми.
Поэтому в NeCards всё будет открыто:
• какой банк выпустил BIN;
• где он показывает себя лучше;
• что разрешено и запрещено;
• комиссии, лимиты;
• юридическое лицо;
• закрывающие документы.
Если сервис скрывает название банка, возможно, проблема не в банковской тайне. Возможно, банка там просто нет.
Сейчас я уже работаю напрямую с банками. Идут договора, комплаенс и прочая взрослая скучная хуйня, которая почему-то занимает больше двух вечеров.
Но платформу мы уже доделали:
• выпуск и управление картами;
• команды и массовые операции;
• аналитика и API;
• нормальный интерфейс без ощущения, что ты открыл админку интернет-магазина из 2011 года.
ЧТО БУДЕТ СЕЙЧАС?
На старте в NeCards будут карты сторонних проверенных поставщиков.
Только я не собираюсь называть чужие BIN’ы «нашей уникальной банковской инфраструктурой».
Я честно покажу, откуда карты, какие у них условия и ограничения.
Комиссии поставщиков на время тестирования возьму на себя.
Сможете бесплатно получить карты, проверить платформу и помочь довести её до состояния, когда она просто, блять, работает, хотя уже - работает, но... На всякий!
Без «революции рынка».
ЧТО БУДЕТ ДАЛЬШЕ?
В сентябре рассчитываю закончить прямые договоры с банками.
После этого постепенно перейдём на собственные банковские программы.
Нормальные банки.
Прямые договоры.
Открытые BIN’ы.
Понятные ограничения.
Закрывающие документы.
Нужно официально учитывать расходы и платить налоги? Пожалуйста. Не нужно? Ну и поебать.
Главное, что вы всегда будете понимать, чьими картами пользуетесь, сколько реально платите и кто отвечает за инфраструктуру.
Скоро открою бесплатное тестирование NeCards
____
Please open Telegram to view this post
VIEW IN TELEGRAM
pydantic ломают не модели, а границы ввода: где именно валидировать
Если pydantic используется везде подряд, проект быстро превращается в склад дублей и лишних преобразований. Нормальная схема простая: на входе — сырой payload, в домене — уже чистые типы, в БД — только то, что прошло проверку.
Три места, где pydantic реально помогает:
— запросы API: парсинг, coercion, обязательные поля, алиасы
— внутренние DTO между сервисами и слоями
— конфиги и env-переменные, где ошибка должна падать сразу
Типовая ошибка — тащить
Если pydantic нужен для границы, он экономит время; если как универсальный объект, он начинает мешать.
Если pydantic используется везде подряд, проект быстро превращается в склад дублей и лишних преобразований. Нормальная схема простая: на входе — сырой payload, в домене — уже чистые типы, в БД — только то, что прошло проверку.
Три места, где pydantic реально помогает:
— запросы API: парсинг, coercion, обязательные поля, алиасы
— внутренние DTO между сервисами и слоями
— конфиги и env-переменные, где ошибка должна падать сразу
Типовая ошибка — тащить
BaseModel глубоко в бизнес-логику и потом ловить сюрпризы из-за dict(), exclude_none и неявных преобразований. Лучше один раз отделить schema-модели от доменных объектов, чем потом чинить «магические» поля по всему коду.Если pydantic нужен для границы, он экономит время; если как универсальный объект, он начинает мешать.