Forwarded from Из арбитражки в поля. ex.Casinokrisa
РОЗЫГРЫШ НОУТБУКА НА ВЫХОДНЫЕ 💻
Подпишись на три канала:
• Иванов - @pacan
• Кустов - @cobaka
• Миша - @CPA_Farm
И один случайный подписчик заберёт великолепный ноутбук. Отличная рабочая лошадка для работы, учёбы и интернет-сёрфинга, остальное не потянет!
Важно: боты сразу мимо, аккаунты не из нашей сферы тоже, все участники будут проверены, в том числе на пересечение с профильными affiliate/iGaming чатами.
Итоги сразу после выходных.
Три подписки. Один ноутбук. Как сказал GPT - иногда интернет всё-таки использует случайный выбор не только для того, чтобы подсунуть очередную рекламу криптокурсов.
Участников: 80
Призовых мест: 1
Дата розыгрыша: 15:14, 09.08.2026 MSK (3 дня)
Подпишись на три канала:
• Иванов - @pacan
• Кустов - @cobaka
• Миша - @CPA_Farm
И один случайный подписчик заберёт великолепный ноутбук. Отличная рабочая лошадка для работы, учёбы и интернет-сёрфинга, остальное не потянет!
Важно: боты сразу мимо, аккаунты не из нашей сферы тоже, все участники будут проверены, в том числе на пересечение с профильными affiliate/iGaming чатами.
Итоги сразу после выходных.
Три подписки. Один ноутбук. Как сказал GPT - иногда интернет всё-таки использует случайный выбор не только для того, чтобы подсунуть очередную рекламу криптокурсов.
Участников: 80
Призовых мест: 1
Дата розыгрыша: 15:14, 09.08.2026 MSK (3 дня)
AEPD: как испанский регулятор находит проблемы там, где их «не должно было быть»
AEPD любит не шум, а следы. Если в продукте есть лишний сбор данных, туманная согласияшка или доступ к профилям «для удобства», регулятор обычно смотрит на три вещи: законность основания, минимизацию и прозрачность.
Самые частые косяки:
— форма согласия собрана так, что человек не понимает, на что подписался;
— данные тянут «про запас», а потом никто не может объяснить зачем;
— privacy notice написан для юриста, а не для пользователя;
— удаление и доступ есть на бумаге, но ломаются в процессе.
Отдельный риск — конфликт между маркетингом и privacy. Когда метрики, ретаргетинг и CRM живут своей жизнью, AEPD почти всегда находит лишний круг обработки. И да, «мы так делаем у всех» не является аргументом, даже если звучит как корпоративная мантра.
Проверка перед запуском простая: каждое поле, каждый чекбокс и каждый экспорт данных должны отвечать на вопрос «зачем это нужно именно сейчас». Если ответа нет, AEPD тоже его не увидит. Может, конечно, ни хуя не взлетит — но с compliance обычно так и бывает: красивая презентация без оборота, пока не прилетает проверка.
AEPD любит не шум, а следы. Если в продукте есть лишний сбор данных, туманная согласияшка или доступ к профилям «для удобства», регулятор обычно смотрит на три вещи: законность основания, минимизацию и прозрачность.
Самые частые косяки:
— форма согласия собрана так, что человек не понимает, на что подписался;
— данные тянут «про запас», а потом никто не может объяснить зачем;
— privacy notice написан для юриста, а не для пользователя;
— удаление и доступ есть на бумаге, но ломаются в процессе.
Отдельный риск — конфликт между маркетингом и privacy. Когда метрики, ретаргетинг и CRM живут своей жизнью, AEPD почти всегда находит лишний круг обработки. И да, «мы так делаем у всех» не является аргументом, даже если звучит как корпоративная мантра.
Проверка перед запуском простая: каждое поле, каждый чекбокс и каждый экспорт данных должны отвечать на вопрос «зачем это нужно именно сейчас». Если ответа нет, AEPD тоже его не увидит. Может, конечно, ни хуя не взлетит — но с compliance обычно так и бывает: красивая презентация без оборота, пока не прилетает проверка.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Google по ошибке удалил тысячи сайтов
Google массово банил сайты на Blogger из-за сбоя в автоматической модерации: система ошибочно нашла malware в контенте и снесла тысячи сайтов, часть — повторно после восстановления. Для вебмастеров вывод простой: даже трастовая платформа не защищает от ложных срабатываний, а автоматический антифрод может положить и вайт, и ферму.
➡️ Читайте на сайте: https://aff.top/blog/google-po-oshibke-udalil-tysiachi-saitov
🧠 Ещё больше инсайтов → в канале AFF.top
Google массово банил сайты на Blogger из-за сбоя в автоматической модерации: система ошибочно нашла malware в контенте и снесла тысячи сайтов, часть — повторно после восстановления. Для вебмастеров вывод простой: даже трастовая платформа не защищает от ложных срабатываний, а автоматический антифрод может положить и вайт, и ферму.
➡️ Читайте на сайте: https://aff.top/blog/google-po-oshibke-udalil-tysiachi-saitov
🧠 Ещё больше инсайтов → в канале AFF.top
7 мест в Django-проекте, где тихо рождаются баги и лишние запросы
Если проект на Django уже живёт, проблемы обычно прячутся не в «бизнес-логике», а в связке моделей, шаблонов и админки. За неделю в репах чаще всего всплывают одни и те же вещи: лишние обращения к БД, тяжёлые queryset’ы и скрытая работа в свойствах моделей.
— В шаблоне вызывают методы или свойства, которые лезут в БД. Один цикл превращается в пачку запросов.
— В
— Вьюха тянет всё подряд вместо точечного
Есть наблюдение которое стоит проверить: если код «красивый», но неочевидно где происходит запрос, значит он опасен. В Django лучше явно держать границу: логика в сервисе или менеджере, представление — только собирает данные, шаблон — только показывает.
— Перед релизом прогоняйте экран с логированием SQL.
— Отдельно смотрите admin, потому что там часто сидят самые дорогие поля.
— Не прячьте запросы в свойствах моделей: это почти всегда мина для поддержки 🔧
Правило простое: если место вызова не видно сразу, значит его нужно сделать заметным. Тогда Django остаётся быстрым и предсказуемым, а не превращается в коллекцию сюрпризов.
Если проект на Django уже живёт, проблемы обычно прячутся не в «бизнес-логике», а в связке моделей, шаблонов и админки. За неделю в репах чаще всего всплывают одни и те же вещи: лишние обращения к БД, тяжёлые queryset’ы и скрытая работа в свойствах моделей.
— В шаблоне вызывают методы или свойства, которые лезут в БД. Один цикл превращается в пачку запросов.
— В
__str__ и admin list_display кладут расчёты или обращение к связям. Потом тормозит даже список объектов. — Вьюха тянет всё подряд вместо точечного
only(), select_related() и prefetch_related(). На маленьких данных это не видно, на реальных — уже да. Есть наблюдение которое стоит проверить: если код «красивый», но неочевидно где происходит запрос, значит он опасен. В Django лучше явно держать границу: логика в сервисе или менеджере, представление — только собирает данные, шаблон — только показывает.
— Перед релизом прогоняйте экран с логированием SQL.
— Отдельно смотрите admin, потому что там часто сидят самые дорогие поля.
— Не прячьте запросы в свойствах моделей: это почти всегда мина для поддержки 🔧
Правило простое: если место вызова не видно сразу, значит его нужно сделать заметным. Тогда Django остаётся быстрым и предсказуемым, а не превращается в коллекцию сюрпризов.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
OpenAI сделала ChatGPT-5.6 Luna бесплатной
OpenAI делает ставку на доступность: ChatGPT-5.6 Luna стала бесплатной на сайте, а в Sol добавили ползунок глубины рассуждений для ускорения ответов. Для сложных запросов готовят кнопку Think. Пока это веб-эксклюзив, но вывод очевиден: OpenAI усиливает продукт и давит на конкурентов бесплатным доступом.
➡️ Читайте на сайте: https://aff.top/blog/openai-sdelala-chatgpt-5-6-luna-besplatnoi
🧠 Ещё больше инсайтов → в канале AFF.top
OpenAI делает ставку на доступность: ChatGPT-5.6 Luna стала бесплатной на сайте, а в Sol добавили ползунок глубины рассуждений для ускорения ответов. Для сложных запросов готовят кнопку Think. Пока это веб-эксклюзив, но вывод очевиден: OpenAI усиливает продукт и давит на конкурентов бесплатным доступом.
➡️ Читайте на сайте: https://aff.top/blog/openai-sdelala-chatgpt-5-6-luna-besplatnoi
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Metamask представил свою криптокошелёк для ИИ
MetaMask выпустил криптокошелёк для ИИ-агентов, который позволяет им самим проводить платежи, торговать фьючерсами и свопами, а также делать ставки без участия человека. Вывод простой: под «мёртвый интернет» уже строят рабочую инфраструктуру, а контроль остаётся только на опасных транзакциях и в ручном подтверждении.
➡️ Читайте на сайте: https://aff.top/blog/metamask-predstavil-svoiu-kriptokoshelek-dlia-ii
🧠 Ещё больше инсайтов → в канале AFF.top
MetaMask выпустил криптокошелёк для ИИ-агентов, который позволяет им самим проводить платежи, торговать фьючерсами и свопами, а также делать ставки без участия человека. Вывод простой: под «мёртвый интернет» уже строят рабочую инфраструктуру, а контроль остаётся только на опасных транзакциях и в ручном подтверждении.
➡️ Читайте на сайте: https://aff.top/blog/metamask-predstavil-svoiu-kriptokoshelek-dlia-ii
🧠 Ещё больше инсайтов → в канале AFF.top
Flask ломается не в роуте, а в том, как вы собираете приложение из мелочей
У Flask простая поверхность, и именно поэтому в нём легко нарастить хаос: один файл со всем, глобальные объекты, ручная регистрация всего подряд. Через пару месяцев проект начинает тормозить не по CPU, а по организации кода.
Если делать проект живучим, держите базу такой:
— app factory вместо единого app.py;
— конфиг отдельно от логики, через объект или модуль;
— blueprints для границ доменов, а не ради красоты;
— расширения и БД инициализируйте в одном месте, а не в импортах;
— фоновые задачи и интеграции выносите из request cycle.
Самая частая ошибка — смешать представление, бизнес-логику и доступ к данным в одном обработчике. Тогда тесты становятся болезненными, а любое изменение тянет цепочку побочных эффектов. В Flask это особенно заметно, потому что фреймворк не навязывает архитектуру и легко позволяет “сделать быстро” в ущерб поддерживаемости.
Если проект уже вырос, не переписывайте всё сразу: сначала вынесите конфиг, потом фабрику приложения, затем разрежьте маршруты по модулям. В таком порядке Flask перестаёт быть набором файлов и становится приложением, которое можно сопровождать без боли.
У Flask простая поверхность, и именно поэтому в нём легко нарастить хаос: один файл со всем, глобальные объекты, ручная регистрация всего подряд. Через пару месяцев проект начинает тормозить не по CPU, а по организации кода.
Если делать проект живучим, держите базу такой:
— app factory вместо единого app.py;
— конфиг отдельно от логики, через объект или модуль;
— blueprints для границ доменов, а не ради красоты;
— расширения и БД инициализируйте в одном месте, а не в импортах;
— фоновые задачи и интеграции выносите из request cycle.
Самая частая ошибка — смешать представление, бизнес-логику и доступ к данным в одном обработчике. Тогда тесты становятся болезненными, а любое изменение тянет цепочку побочных эффектов. В Flask это особенно заметно, потому что фреймворк не навязывает архитектуру и легко позволяет “сделать быстро” в ущерб поддерживаемости.
Если проект уже вырос, не переписывайте всё сразу: сначала вынесите конфиг, потом фабрику приложения, затем разрежьте маршруты по модулям. В таком порядке Flask перестаёт быть набором файлов и становится приложением, которое можно сопровождать без боли.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Media is too big
VIEW IN TELEGRAM
Коллеги, я перезжаю в этот канал - 1 000 000 подписчиков у Иванова! Все строго про арбитраж трафика!
Переезжает сюда - https://t.me/+vKOoe6K4yL0wMzEy
P.S. Популярно тот в ком люди видят своего - мне очень повезло что я такая посредственность!
____
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Дима Лето - TikTok Ads mVas (Dzmitry Leto (Сб-Вс off day ))
Я короче хз зачем мне это , но напишу!
Короче смотрим за "ноунейом" ( ЕЮ ) и тот вообще крышей поехал) взял себе крутанул канал на 1млн подписчиков и хочет сделать его своим основным?
Армия ботов в перед!
Вот его новый канал если что.. https://t.me/+vKOoe6K4yL0wMzEy
Короче смотрим за "ноунейом" ( ЕЮ ) и тот вообще крышей поехал) взял себе крутанул канал на 1млн подписчиков и хочет сделать его своим основным?
Армия ботов в перед!
Вот его новый канал если что.. https://t.me/+vKOoe6K4yL0wMzEy
Forwarded from Петя 2.0! Bundle Mafia
Жирный кукухой поплыл, купил канал почти на лллллям двести подписчиков. Амбассадоры не работают?
Или как теперь PR оценивать? Одна полуголая курдюком трясёт, второй — то трезвый, то бухой, с биполяркой.
Люди, очнитесь.
_________________
Канал | Блог | YouTube | Мультитул 2.0 | ПОЛИГON by Петя 2.0
Или как теперь PR оценивать? Одна полуголая курдюком трясёт, второй — то трезвый, то бухой, с биполяркой.
Люди, очнитесь.
_________________
Канал | Блог | YouTube | Мультитул 2.0 | ПОЛИГON by Петя 2.0
👎 @pacan с пьяну подпись под каждым постом купил, а текст дал такй:
ХОЧЕТСЯ И РЫБКУ СЪЕСТЬ, И..🎣 Залить Fishing Time на TopX!
FTD идёт по 3$, плюс ребята РАЗДАЮТ 1,000,000$ среди баеров! Инфа ТУТ!
Please open Telegram to view this post
VIEW IN TELEGRAM
Flask ломается не на роутинге, а на границе между приложением и скриптом
У Flask простая поверхность, и из-за этого его часто превращают в «файл с импортами». Потом начинается боль: конфиг читается не там, зависимости живут в глобалях, а тесты падают от случайного состояния. Если проект растёт, это почти всегда вопрос не фреймворка, а структуры.
Держите три правила:
— создавайте приложение через фабрику, а не в модуле с роутами;
— выносите настройки в отдельный объект, без прямого чтения env в бизнес-логике;
— не тяните db/session/client в глобальную область, если их можно передать явно.
Для маленького сервиса Flask удобен именно тем, что в нём легко держать границу между HTTP-слоем и кодом домена. Маршрут должен принимать данные, вызывать функцию и отдавать ответ. Всё, что похоже на вычисления, парсинг, интеграции и очереди, лучше вынести в отдельные модули — тогда код можно переиспользовать и в CLI, и в воркере.
Если нужен долгоживущий Flask-проект, проверяйте не «как быстро поднялся сервер», а насколько легко заменить хранилище, подменить клиент внешнего API и прогнать тесты без веб-стека. Если это делается без магии, проект будет жить спокойно.
У Flask простая поверхность, и из-за этого его часто превращают в «файл с импортами». Потом начинается боль: конфиг читается не там, зависимости живут в глобалях, а тесты падают от случайного состояния. Если проект растёт, это почти всегда вопрос не фреймворка, а структуры.
Держите три правила:
— создавайте приложение через фабрику, а не в модуле с роутами;
— выносите настройки в отдельный объект, без прямого чтения env в бизнес-логике;
— не тяните db/session/client в глобальную область, если их можно передать явно.
Для маленького сервиса Flask удобен именно тем, что в нём легко держать границу между HTTP-слоем и кодом домена. Маршрут должен принимать данные, вызывать функцию и отдавать ответ. Всё, что похоже на вычисления, парсинг, интеграции и очереди, лучше вынести в отдельные модули — тогда код можно переиспользовать и в CLI, и в воркере.
Если нужен долгоживущий Flask-проект, проверяйте не «как быстро поднялся сервер», а насколько легко заменить хранилище, подменить клиент внешнего API и прогнать тесты без веб-стека. Если это делается без магии, проект будет жить спокойно.
Forwarded from Иванов и арбитраж трафика
МАКСИМАЛЬНО ОБЕСКУРАЖЕН, УДРУЧЁН И, НЕ ПОБОЮСЬ ЭТОГО СЛОВА, ОТОРОПЕЛ ОТ ПРОИСХОДЯЩЕГО В «ПИАР»-МИРЕ НАШЕЙ СФЕРЫ.
Я пребываю в некотором нравственном недоумении от той удивительной метаморфозы, которую в последнее время претерпевает понятие «пиар». То, что раньше считалось дурновкусием, беспринципностью и откровенным свинством, теперь, видимо, принято именовать нестандартной маркетинговой стратегией.
Если вам в какой-то момент показалось, что нормально делать то, что было сделано и продолжает делаться, я всё-таки позволю себе озвучить свою позицию: это неприемлемо. Во-первых.
А во-вторых, вы вообще понимаете, куда мы идём?
Сначала люди хотят выйти на РУ и СНГ рынок. Понимают, что нормальный путь - это долго, дорого, кропотливо и без каких-либо гарантий результата. И вместо этого выбирают дорожку дешёвого хайпа, совершенно не сообразуясь с тем, что именно они делают с конкретным человеком.
Потом, видимо, решают, что достигнутой степени публичного резонанса недостаточно, и предпринимают следующий, ещё более одиозный шаг - просто кидают его. Чтобы обсуждали ещё больше.
И я почти уверен, что они прекрасно понимали: это увижу и я. И что как человек, который способен сопереживать подобным людям, в том числе потому, что сам являюсь инвалидом детства второй группы, я мимо этого не пройду.
В итоге для них это один кидок и море хайпа. Но какой ценой? Стоило ли это того?
Не думаю.
Рынок взрослеет. Подобную хуйню, может быть, ещё и не предают публичной анафеме, но уже отлично запоминают. А потом при любой совместной работе держат в уме простую характеристику контрагента: «А, это те ребята. Им похуй».
Репутация вообще штука крайне занятная. Создаётся годами, а профукивается иногда одним весьма опрометчивым маркетинговым решением.
И дабы на этом, пусть кому-то он покажется не очень далёким, возможно, не самым интеллектуально одарённым, но совершенно точно бравом и стремящемся к успеху молодом человеке впредь не было набито брендов, способных породить столь прискорбные ассоциации, я беру на себя полномочия и ответственность отныне быть тем самым AFFPAPA.
Если конкретнее - быть AffPapa.org.
Этот смелый и совершенно точно стремящийся к успеху молодой человек может впредь без малейшего смущения носить на себе бренд AffPapa.
Я приложу все доступные мне усилия, чтобы единственной устойчивой ассоциацией с AffPapa со временем стал именно AffPapa.org.
Полагаю, это будет наиболее изящным разрешением сложившейся нравственно-маркетинговой коллизии.
С уважением, Иванов Е.Ю!
Я пребываю в некотором нравственном недоумении от той удивительной метаморфозы, которую в последнее время претерпевает понятие «пиар». То, что раньше считалось дурновкусием, беспринципностью и откровенным свинством, теперь, видимо, принято именовать нестандартной маркетинговой стратегией.
Если вам в какой-то момент показалось, что нормально делать то, что было сделано и продолжает делаться, я всё-таки позволю себе озвучить свою позицию: это неприемлемо. Во-первых.
А во-вторых, вы вообще понимаете, куда мы идём?
Сначала люди хотят выйти на РУ и СНГ рынок. Понимают, что нормальный путь - это долго, дорого, кропотливо и без каких-либо гарантий результата. И вместо этого выбирают дорожку дешёвого хайпа, совершенно не сообразуясь с тем, что именно они делают с конкретным человеком.
Потом, видимо, решают, что достигнутой степени публичного резонанса недостаточно, и предпринимают следующий, ещё более одиозный шаг - просто кидают его. Чтобы обсуждали ещё больше.
И я почти уверен, что они прекрасно понимали: это увижу и я. И что как человек, который способен сопереживать подобным людям, в том числе потому, что сам являюсь инвалидом детства второй группы, я мимо этого не пройду.
В итоге для них это один кидок и море хайпа. Но какой ценой? Стоило ли это того?
Не думаю.
Рынок взрослеет. Подобную хуйню, может быть, ещё и не предают публичной анафеме, но уже отлично запоминают. А потом при любой совместной работе держат в уме простую характеристику контрагента: «А, это те ребята. Им похуй».
Репутация вообще штука крайне занятная. Создаётся годами, а профукивается иногда одним весьма опрометчивым маркетинговым решением.
И дабы на этом, пусть кому-то он покажется не очень далёким, возможно, не самым интеллектуально одарённым, но совершенно точно бравом и стремящемся к успеху молодом человеке впредь не было набито брендов, способных породить столь прискорбные ассоциации, я беру на себя полномочия и ответственность отныне быть тем самым AFFPAPA.
Если конкретнее - быть AffPapa.org.
Этот смелый и совершенно точно стремящийся к успеху молодой человек может впредь без малейшего смущения носить на себе бренд AffPapa.
Я приложу все доступные мне усилия, чтобы единственной устойчивой ассоциацией с AffPapa со временем стал именно AffPapa.org.
Полагаю, это будет наиболее изящным разрешением сложившейся нравственно-маркетинговой коллизии.
Обсудить все это можно в моем чате - будьте аккуратны, там не всем рады, точней никому не рады, от чего он и великолепен
С уважением, Иванов Е.Ю!
Pydantic ломают не типы, а границы входных данных
Если модель валится в рантайме, проблема обычно не в самой схеме, а в том, что в неё тащат всё подряд: raw JSON, формы, query params и внутренние dict без разделения слоёв. Для веба полезно держать три уровня: входной payload, нормализованную доменную модель и объект для ответа.
Проверьте три вещи:
— обязательные поля с дефолтами не должны маскировать пустой ввод;
— alias и naming лучше фиксировать на границе API, а не размазывать по коду;
— валидаторы нужны для нормализации, а не для бизнес-логики.
Отдельная ловушка — nested структуры. Если список объектов может быть частично грязным, ошибка в одном элементе не должна скрывать остальные. Лучше явно собирать ошибки и отдавать их в одном ответе, чем чинить данные молча.
Ещё одна полезная привычка: не использовать одну и ту же модель для create, update и response. Это почти всегда приводит к лишним optional-полям, странным default и утечке внутренних атрибутов в API.
Если держать Pydantic только на границе системы, код становится проще: меньше магии в сервисах, меньше сюрпризов в тестах, быстрее понять, где именно сломался контракт.
Если модель валится в рантайме, проблема обычно не в самой схеме, а в том, что в неё тащат всё подряд: raw JSON, формы, query params и внутренние dict без разделения слоёв. Для веба полезно держать три уровня: входной payload, нормализованную доменную модель и объект для ответа.
Проверьте три вещи:
— обязательные поля с дефолтами не должны маскировать пустой ввод;
— alias и naming лучше фиксировать на границе API, а не размазывать по коду;
— валидаторы нужны для нормализации, а не для бизнес-логики.
Отдельная ловушка — nested структуры. Если список объектов может быть частично грязным, ошибка в одном элементе не должна скрывать остальные. Лучше явно собирать ошибки и отдавать их в одном ответе, чем чинить данные молча.
Ещё одна полезная привычка: не использовать одну и ту же модель для create, update и response. Это почти всегда приводит к лишним optional-полям, странным default и утечке внутренних атрибутов в API.
Если держать Pydantic только на границе системы, код становится проще: меньше магии в сервисах, меньше сюрпризов в тестах, быстрее понять, где именно сломался контракт.
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Дорогие партнёры!
С августа и по 31 сентября в BETERA PARTNERS запускаем конкурс для всех партнёров.
Всё просто: чем больше квалифицированных FTD, тем выше ваше место в рейтинге.
🏆 Что можно забрать?
• Apple MacBook Air 15
• Apple iPad 11
• Apple Watch Series 11
• и другие призы для наших любимых партнёров❤️
Как участвовать?
⚡️ Быть или стать партнёром BETERA PARTNERS
⚡️ Подтвердить желание участвовать
⚡️ Приводить квалифицированные FTD в период с 05.08 по 31.09.2026
Пока другие думают — можно уже лить, зарабатывать и забирать свой подарок 😉
Почему партнёры выбирают BETERA PARTNERS:
⭐️ CPA / RevShare / Hybrid / Spend
⭐️ CPA от $150 — как на Tier-1 😉
⭐️ Собственный продукт с локальной лицензией
⭐️ Без KPI
⭐️ Прозрачные условия и быстрые выплаты
Следите за новостями в нашем Telegram-канале, а если нужна помощь с запуском или есть вопросы, залетайте в наш support и пишите нашим менеджерам, всё подскажем!
Betera Partners // Support🔥
@TLBetera
@KattiBetera
@DaniilTrafficBetera
С августа и по 31 сентября в BETERA PARTNERS запускаем конкурс для всех партнёров.
Всё просто: чем больше квалифицированных FTD, тем выше ваше место в рейтинге.
• Apple MacBook Air 15
• Apple iPad 11
• Apple Watch Series 11
• и другие призы для наших любимых партнёров
Как участвовать?
Пока другие думают — можно уже лить, зарабатывать и забирать свой подарок 😉
Почему партнёры выбирают BETERA PARTNERS:
Следите за новостями в нашем Telegram-канале, а если нужна помощь с запуском или есть вопросы, залетайте в наш support и пишите нашим менеджерам, всё подскажем!
Betera Partners // Support
@TLBetera
@KattiBetera
@DaniilTrafficBetera
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Я ненавижу арбитраж
Что за помойка?
Спросите вы, и будете правы.
Новое пространство успешных бизнесменов открылось пару дней назад. Канал сразу захватил арбитражный интернет. Миллион (!) активных и заряженных предпринимателей атаковали его подписками.
Создатель — самый успешный из них. Человек-розыгрыш, человек-споирт, человек-холст, человек-деньги — Евгений Иванов.
Ни одного бота не замечено. Лям. Все из сферы. Сам Дуров не обладает такой базой платежеспособной аудитории.
Немного о том, что обсуждается на канале:
— ахуенность админа (пост написан самим админом)
— ничтожность Affpapa
— техники минета в виде аффирмации
Учитывая предпочтения ЕЮ, можно спрогнозировать рубрики: сиськи (самого админа), кейсы (как правило, негативные), вайбкодинг и, конечно, новости с передовой арбитража.
🤡 —🤲 подписался
👍 — и скоко тебе заплатили, продажная ты придорожная путана?
Я ненавижу арбитраж |Чат😠
Спросите вы, и будете правы.
Новое пространство успешных бизнесменов открылось пару дней назад. Канал сразу захватил арбитражный интернет. Миллион (!) активных и заряженных предпринимателей атаковали его подписками.
Создатель — самый успешный из них. Человек-розыгрыш, человек-сп
Ни одного бота не замечено. Лям. Все из сферы. Сам Дуров не обладает такой базой платежеспособной аудитории.
Немного о том, что обсуждается на канале:
— ахуенность админа (пост написан самим админом)
— ничтожность Affpapa
— техники минета в виде аффирмации
Учитывая предпочтения ЕЮ, можно спрогнозировать рубрики: сиськи (самого админа), кейсы (как правило, негативные), вайбкодинг и, конечно, новости с передовой арбитража.
🤡 —
👍 — и скоко тебе заплатили, продажная ты придорожная путана?
Я ненавижу арбитраж |Чат
Please open Telegram to view this post
VIEW IN TELEGRAM
asyncio ломается не в await, а в границах между I/O, CPU и cancellation
Если в проекте «всё асинхронно», это ещё не значит, что оно масштабируется. В реальности чаще всего путают три вещи: параллельность, конкурентность и неблокирующий I/O. asyncio хорошо работает там, где задачи ждут сеть, диск или таймеры. Как только в корутину попадает тяжёлая CPU-работа, event loop начинает задыхаться.
Есть 4 типовые ошибки:
— забыли вынести CPU-bound кусок в thread/process pool;
— сделали много await подряд там, где нужен gather();
— не закрыли клиент/сессию/соединение и получили утечки;
— игнорируют cancellation, а потом ловят «зависшие» фоновые задачи.
Отдельно проверьте точки входа. Если внутри корутины вызывается обычный блокирующий код — sleep, requests, синхронный ORM, файловые операции без ограничений — весь выигрыш от asyncio исчезает. Для внешних API, очередей и парсинга это особенно заметно: один блокирующий вызов может остановить десятки задач.
Хорошее правило: корутина должна либо ждать I/O, либо быстро делегировать тяжёлую работу наружу. Если это не так — перепишите участок, а не «добавляйте больше async».
Если в проекте «всё асинхронно», это ещё не значит, что оно масштабируется. В реальности чаще всего путают три вещи: параллельность, конкурентность и неблокирующий I/O. asyncio хорошо работает там, где задачи ждут сеть, диск или таймеры. Как только в корутину попадает тяжёлая CPU-работа, event loop начинает задыхаться.
Есть 4 типовые ошибки:
— забыли вынести CPU-bound кусок в thread/process pool;
— сделали много await подряд там, где нужен gather();
— не закрыли клиент/сессию/соединение и получили утечки;
— игнорируют cancellation, а потом ловят «зависшие» фоновые задачи.
Отдельно проверьте точки входа. Если внутри корутины вызывается обычный блокирующий код — sleep, requests, синхронный ORM, файловые операции без ограничений — весь выигрыш от asyncio исчезает. Для внешних API, очередей и парсинга это особенно заметно: один блокирующий вызов может остановить десятки задач.
Хорошее правило: корутина должна либо ждать I/O, либо быстро делегировать тяжёлую работу наружу. Если это не так — перепишите участок, а не «добавляйте больше async».
Flask ломается не на маршрутах, а на том, как вы смешиваете слои
У Flask есть полезная ловушка: проект легко стартует как один файл, а потом тихо превращается в комок view-функций, SQL и логики авторизации. Если через месяц в код страшно заходить, проблема обычно не в фреймворке, а в отсутствии границ.
Рабочая схема для живого проекта:
— routes держат только HTTP-слой: принять запрос, провалидировать, вернуть ответ;
— service содержит бизнес-логику и не знает про request;
— repository общается с БД или внешним API;
— extensions и config инициализируются отдельно, а не прячутся внутри view.
Еще одна типовая ошибка — хранить состояние в глобальных переменных и надеяться, что «в проде не заметят». Flask сам по себе не спасает от гонок, если вы пишете в модульные переменные, кэшируете «на глаз» или создаете клиент БД в каждом обработчике.
Если нужен проект, который не развалится от второго разработчика, начните с app factory, явной конфигурации и одного правила: view не должен делать больше, чем оркестровать вызовы. Тогда Flask остается быстрым в разработке и не превращается в склад технического долга.
У Flask есть полезная ловушка: проект легко стартует как один файл, а потом тихо превращается в комок view-функций, SQL и логики авторизации. Если через месяц в код страшно заходить, проблема обычно не в фреймворке, а в отсутствии границ.
Рабочая схема для живого проекта:
— routes держат только HTTP-слой: принять запрос, провалидировать, вернуть ответ;
— service содержит бизнес-логику и не знает про request;
— repository общается с БД или внешним API;
— extensions и config инициализируются отдельно, а не прячутся внутри view.
Еще одна типовая ошибка — хранить состояние в глобальных переменных и надеяться, что «в проде не заметят». Flask сам по себе не спасает от гонок, если вы пишете в модульные переменные, кэшируете «на глаз» или создаете клиент БД в каждом обработчике.
Если нужен проект, который не развалится от второго разработчика, начните с app factory, явной конфигурации и одного правила: view не должен делать больше, чем оркестровать вызовы. Тогда Flask остается быстрым в разработке и не превращается в склад технического долга.
Scrapy ломается не на парсинге, а на мелочах вокруг него: 6 проверок
Scrapy часто считают “просто фреймворком для пауков”, но в проде он падает на одинаковых вещах. За неделю в репах обычно всплывают одни и те же ошибки: не тот selector, дубли, кривой пайплайн, таймауты и слишком жирные ответы от сайта.
— Сначала проверь, что ты выбираешь именно стабильный узел, а не случайный div внутри карточки.
— Дальше смотри на дедупликацию: canonical, query-параметры, пагинация и одинаковые ссылки с разным мусором в URL.
— Если данные “исчезают”, ищи проблему в item pipeline, а не в spider: там часто тихо режутся пустые поля и неожиданные типы.
— Для тяжёлых страниц включай ограничение concurrency и нормальный retry/backoff, иначе ты сам создаёшь себе бан.
Есть наблюдение которое стоит проверить: если Spider работает только на одной странице, почти всегда дело в предположении, что HTML одинаковый. В Scrapy это лечится не магией, а явной проверкой структуры ответа и отдельной логикой на каждый шаблон страницы.
Ещё одна типовая ловушка — смешивать сбор и очистку. Spider должен добывать сырые поля, а нормализация, приведение типов и фильтры — жить отдельно. Тогда проще тестировать, проще дебажить и проще менять источник без переписывания всего проекта.
Если Scrapy “вроде работает”, но результат плавает, начни с трёх вещей: структура ответа, дедуп, pipeline. Это экономит больше времени, чем любой красивый рефакторинг.
Scrapy часто считают “просто фреймворком для пауков”, но в проде он падает на одинаковых вещах. За неделю в репах обычно всплывают одни и те же ошибки: не тот selector, дубли, кривой пайплайн, таймауты и слишком жирные ответы от сайта.
— Сначала проверь, что ты выбираешь именно стабильный узел, а не случайный div внутри карточки.
— Дальше смотри на дедупликацию: canonical, query-параметры, пагинация и одинаковые ссылки с разным мусором в URL.
— Если данные “исчезают”, ищи проблему в item pipeline, а не в spider: там часто тихо режутся пустые поля и неожиданные типы.
— Для тяжёлых страниц включай ограничение concurrency и нормальный retry/backoff, иначе ты сам создаёшь себе бан.
Есть наблюдение которое стоит проверить: если Spider работает только на одной странице, почти всегда дело в предположении, что HTML одинаковый. В Scrapy это лечится не магией, а явной проверкой структуры ответа и отдельной логикой на каждый шаблон страницы.
Ещё одна типовая ловушка — смешивать сбор и очистку. Spider должен добывать сырые поля, а нормализация, приведение типов и фильтры — жить отдельно. Тогда проще тестировать, проще дебажить и проще менять источник без переписывания всего проекта.
Если Scrapy “вроде работает”, но результат плавает, начни с трёх вещей: структура ответа, дедуп, pipeline. Это экономит больше времени, чем любой красивый рефакторинг.
Forwarded from Иванов и арбитраж трафика
This media is not supported in your browser
VIEW IN TELEGRAM
1. Выкатить ни какую он-лайн конфу я естесвенно не выкатил, потерпите
2. После прошлого видео (тык) мой канал теперь имеет юзер @PO_YICA_BRAL
3. Держите вечернее видео, я нажрусь и спать
Чото надо ещё сказать? Ну, можно лишь добавить Настя #MelBet верни деньги, не играй с огнём, со мной лучше не ссориться. Спасибо.
P.S. Бабка-то, похоже, не своей..... см. видео!
С уважением, Иванов Е.Ю!
2. После прошлого видео (тык) мой канал теперь имеет юзер @PO_YICA_BRAL
3. Держите вечернее видео, я нажрусь и спать
Чото надо ещё сказать? Ну, можно лишь добавить Настя #MelBet верни деньги, не играй с огнём, со мной лучше не ссориться. Спасибо.
P.S. Бабка-то, похоже, не своей..... см. видео!
С уважением, Иванов Е.Ю!