Forwarded from ZM apps | Channel
Новый instant-хит с простой и затягивающей механикой.
Игрок запускает колесо➡️ ловит множители и выигрыши➡️ ничего лишнего, только быстрый и динамичный геймплей.
Игра уже успела набрать популярность на рынках Индии и Пакистана благодаря высокой вовлеченности игроков, коротким игровым сессиям и яркой визуальной подаче.
INOUT GAMES выпускает хиты, а ZM apps первыми выдают под них прилы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
PoshFriends × Pixmove запускают жаркий турнир специально для УБТ-комьюнити.
Что нужно сделать?
Без сложных механик. Без лишних условий.
Только трафик → FD → лидерборд → призы.
Пиши менеджеру - @aleksandr1_poshfriends
Не оставляй призовой фонд конкурентам. Забирай его себе.
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
В Facebook Ads появился раздел «Conversations»
Facebook Ads добавил Conversations с автоответом на комментарии: по ключевым словам можно сразу отправлять сообщение в личку. Для арбитража это новый способ прогрева и передачи ссылки без клоаки: в креативе можно просить оставить комментарий, а заинтересованных уводить с вайта на блэк уже в ДМ. Идея спорная, но её стоит тестировать.
➡️ Читайте на сайте: https://aff.top/blog/v-facebook-ads-poiavilsia-razdel-conversations
🧠 Ещё больше инсайтов → в канале AFF.top
Facebook Ads добавил Conversations с автоответом на комментарии: по ключевым словам можно сразу отправлять сообщение в личку. Для арбитража это новый способ прогрева и передачи ссылки без клоаки: в креативе можно просить оставить комментарий, а заинтересованных уводить с вайта на блэк уже в ДМ. Идея спорная, но её стоит тестировать.
➡️ Читайте на сайте: https://aff.top/blog/v-facebook-ads-poiavilsia-razdel-conversations
🧠 Ещё больше инсайтов → в канале AFF.top
Миграция данных без простоя: где чаще всего ломают прод и как этого не допустить
Коллеги, давайте разберем план выполнения. Главная ошибка — считать миграцию “просто копированием”. В реальности у вас есть источник, целевая схема, поток изменений и окно, в которое бизнес продолжает писать. Если это не описано заранее, дальше начинаются сюрпризы: рассинхрон, блокировки, долгий откат и звонки в пятницу вечером.
Рабочая схема обычно такая: — сначала полная загрузка в новую структуру; — затем догоняющий поток изменений; — потом валидация контрольных сумм, счетчиков и выборочных выборок; — и только после этого переключение трафика. Посмотрим, что тут с I/O в реальности: если на этапе синхронизации растет лаг, значит вы недооценили объем изменений или не держите темп индексов, триггеров и репликации.
Что проверять до переключения: наличие обратимого плана, время отката, блокировки на DDL/DML, зависимые сервисы и потребителей данных. Отдельно проверьте “тихие” места — очереди, кэши, фоновые джобы, отчеты. Именно они часто держат старую схему дольше, чем сама база.
Золотое правило: сначала мониторинг, потом индексы. Если нет метрик по лагу, ошибкам записи и времени ответов, вы не мигрируете, а надеетесь. А надежда в продакшене — это очень дорогой инструмент.
Коллеги, давайте разберем план выполнения. Главная ошибка — считать миграцию “просто копированием”. В реальности у вас есть источник, целевая схема, поток изменений и окно, в которое бизнес продолжает писать. Если это не описано заранее, дальше начинаются сюрпризы: рассинхрон, блокировки, долгий откат и звонки в пятницу вечером.
Рабочая схема обычно такая: — сначала полная загрузка в новую структуру; — затем догоняющий поток изменений; — потом валидация контрольных сумм, счетчиков и выборочных выборок; — и только после этого переключение трафика. Посмотрим, что тут с I/O в реальности: если на этапе синхронизации растет лаг, значит вы недооценили объем изменений или не держите темп индексов, триггеров и репликации.
Что проверять до переключения: наличие обратимого плана, время отката, блокировки на DDL/DML, зависимые сервисы и потребителей данных. Отдельно проверьте “тихие” места — очереди, кэши, фоновые джобы, отчеты. Именно они часто держат старую схему дольше, чем сама база.
Золотое правило: сначала мониторинг, потом индексы. Если нет метрик по лагу, ошибкам записи и времени ответов, вы не мигрируете, а надеетесь. А надежда в продакшене — это очень дорогой инструмент.
Сложный SQL не лечится «магией» — сначала разбираем план, потом уже переписываем запрос
Коллеги, давайте разберем план выполнения. У тяжелых запросов почти всегда одни и те же причины: лишний full scan, неверная селективность, неудачный join order, сортировка на диске.
Схема простая, но дьявол кроется в статистике. Сначала смотрим:
• где самый дорогой оператор;
• сколько строк ожидали и сколько получили;
• не тащит ли запрос лишние столбцы и строки до фильтра.
Дальше режем запрос по слоям: убираем подзапросы, которые можно заменить join’ом или CTE только для читаемости; выносим фильтры как можно раньше; проверяем, не ломает ли функция в WHERE использование индекса. Если условие выглядит «удобно», но превращает поиск в скан — это плохое удобство.
Особое внимание — повторяющимся агрегациям, OR по разным полям и неявным преобразованиям типов. Именно они часто делают план нестабильным: на маленьком объеме все летает, на боевом — внезапно начинается I/O-ад. Посмотрим, что тут с I/O в реальности.
Золотое правило: сначала мониторинг, потом индексы. Если после переписывания запрос все еще тяжёлый, только тогда добавляем индекс под конкретный предикат и проверяем, не выросла ли цена записи и блокировок.
Коллеги, давайте разберем план выполнения. У тяжелых запросов почти всегда одни и те же причины: лишний full scan, неверная селективность, неудачный join order, сортировка на диске.
Схема простая, но дьявол кроется в статистике. Сначала смотрим:
• где самый дорогой оператор;
• сколько строк ожидали и сколько получили;
• не тащит ли запрос лишние столбцы и строки до фильтра.
Дальше режем запрос по слоям: убираем подзапросы, которые можно заменить join’ом или CTE только для читаемости; выносим фильтры как можно раньше; проверяем, не ломает ли функция в WHERE использование индекса. Если условие выглядит «удобно», но превращает поиск в скан — это плохое удобство.
Особое внимание — повторяющимся агрегациям, OR по разным полям и неявным преобразованиям типов. Именно они часто делают план нестабильным: на маленьком объеме все летает, на боевом — внезапно начинается I/O-ад. Посмотрим, что тут с I/O в реальности.
Золотое правило: сначала мониторинг, потом индексы. Если после переписывания запрос все еще тяжёлый, только тогда добавляем индекс под конкретный предикат и проверяем, не выросла ли цена записи и блокировок.
Оптимизация сложного SQL: 5 мест, где план обычно теряет время и память
Коллеги, давайте разберем план выполнения. Сложный запрос редко «тормозит вообще» — обычно у него есть 1–2 узких места: лишний проход по большим данным, плохая селективность фильтра или неудачный join. Сначала смотрим не на текст, а на фактический план: где растут rows, где идет sort/hash spill, где появляется nested loop на миллионы строк.
— Упростите фильтры до sargable-формы: без функций по колонке, без неявных преобразований типов.
— Проверьте join-порядок и кардинальность: ошибка в оценке строк часто ломает весь план.
— Уберите лишние CTE/подзапросы, если они заставляют оптимизатор материализовать промежуточный результат.
— Отдельно смотрите на DISTINCT, GROUP BY, ORDER BY: часто именно они съедают память и I/O.
— Индекс полезен только если он совпадает с предикатом и не превращает запись в медленный аттракцион.
Схема простая, но дьявол кроется в статистике. Если статистика устарела или данные сильно перекошены, оптимизатор выбирает красивый на бумаге, но дорогой в реальности путь. Посмотрим, что тут с I/O в реальности: если чтение идет массово, а фильтр отбрасывает почти все строки, индекс или переписанный predicate дадут больше, чем «еще один hint».
В продакшене так лучше не делать, и вот почему: сначала лечим запрос, потом уже спорим с индексами и настройками памяти. Золотое правило: сначала мониторинг, потом индексы.
Коллеги, давайте разберем план выполнения. Сложный запрос редко «тормозит вообще» — обычно у него есть 1–2 узких места: лишний проход по большим данным, плохая селективность фильтра или неудачный join. Сначала смотрим не на текст, а на фактический план: где растут rows, где идет sort/hash spill, где появляется nested loop на миллионы строк.
— Упростите фильтры до sargable-формы: без функций по колонке, без неявных преобразований типов.
— Проверьте join-порядок и кардинальность: ошибка в оценке строк часто ломает весь план.
— Уберите лишние CTE/подзапросы, если они заставляют оптимизатор материализовать промежуточный результат.
— Отдельно смотрите на DISTINCT, GROUP BY, ORDER BY: часто именно они съедают память и I/O.
— Индекс полезен только если он совпадает с предикатом и не превращает запись в медленный аттракцион.
Схема простая, но дьявол кроется в статистике. Если статистика устарела или данные сильно перекошены, оптимизатор выбирает красивый на бумаге, но дорогой в реальности путь. Посмотрим, что тут с I/O в реальности: если чтение идет массово, а фильтр отбрасывает почти все строки, индекс или переписанный predicate дадут больше, чем «еще один hint».
В продакшене так лучше не делать, и вот почему: сначала лечим запрос, потом уже спорим с индексами и настройками памяти. Золотое правило: сначала мониторинг, потом индексы.
EXPLAIN ANALYZE не лечит запрос. Он показывает, где больно, если читать его правильно
Коллеги, давайте разберем план выполнения. Главная ошибка — смотреть только на итоговое время и радоваться цифре. Важнее другое: где плану пришлось пройти лишние строки, где сортировка ушла в память, а где — на диск, и какой узел съел основное время.
Сначала ищем разрыв между estimated rows и actual rows. Если оценка ошиблась в разы, оптимизатор строил план на неверной статистике. Дальше смотрим на nested loop, hash join, seq scan, index scan: не «плохой» ли оператор, а оправдан ли он при текущем объеме данных и селективности фильтра.
Посмотрим, что тут с I/O в реальности. Если в плане есть temp read/write, spilled hash, external sort — запрос уперся не в CPU, а в память и параметры работы с буферами. Если один узел показывает 90% времени, а ниже по дереву строки идут быстро, именно он и есть кандидат на переписывание, а не весь запрос целиком.
Золотое правило: сначала мониторинг, потом индексы. Снимите план с анализом, проверьте статистику, сравните с реальной выборкой и только потом трогайте индексы или переписывайте SQL. Иначе легко поставить «идеальный» индекс, который ускорит один запрос и замедлит три других.
Коллеги, давайте разберем план выполнения. Главная ошибка — смотреть только на итоговое время и радоваться цифре. Важнее другое: где плану пришлось пройти лишние строки, где сортировка ушла в память, а где — на диск, и какой узел съел основное время.
Сначала ищем разрыв между estimated rows и actual rows. Если оценка ошиблась в разы, оптимизатор строил план на неверной статистике. Дальше смотрим на nested loop, hash join, seq scan, index scan: не «плохой» ли оператор, а оправдан ли он при текущем объеме данных и селективности фильтра.
Посмотрим, что тут с I/O в реальности. Если в плане есть temp read/write, spilled hash, external sort — запрос уперся не в CPU, а в память и параметры работы с буферами. Если один узел показывает 90% времени, а ниже по дереву строки идут быстро, именно он и есть кандидат на переписывание, а не весь запрос целиком.
Золотое правило: сначала мониторинг, потом индексы. Снимите план с анализом, проверьте статистику, сравните с реальной выборкой и только потом трогайте индексы или переписывайте SQL. Иначе легко поставить «идеальный» индекс, который ускорит один запрос и замедлит три других.
EXPLAIN ANALYZE: как не перепутать медленный SQL с дорогим планом
Коллеги, давайте разберем план выполнения. EXPLAIN без факта показывает, что оптимизатор задумал. EXPLAIN ANALYZE добавляет реальность: сколько строк прошло, сколько времени заняла каждая операция, где план «поехал».
Смотрите в первую очередь на три вещи:
— расхождение estimated rows и actual rows; если промах в разы, статистика или селективность врут
— узкие места по времени: Seq Scan, Sort, Hash Join, Nested Loop с большим числом повторов
— I/O и буферы: если все упирается в чтение с диска, индексы могут не спасти
Типовая ошибка — лечить верхний узел плана, когда проблема ниже. Если Nested Loop выглядит страшно, проверьте, что внутри: иногда один лишний Seq Scan на маленькой таблице дешевле, чем «красивый» индексный доступ с тысячами случайных чтений. Золотое правило: сначала мониторинг, потом индексы.
Схема простая, но дьявол кроется в статистике: хороший план на малых данных может развалиться на реальном объеме. Поэтому сравнивайте план с фактом после изменений в данных, а не только после правок SQL.
Итог: EXPLAIN ANALYZE полезен только вместе с пониманием данных, статистики и I/O; иначе это просто красивый отчет о том, как база ошиблась.
Коллеги, давайте разберем план выполнения. EXPLAIN без факта показывает, что оптимизатор задумал. EXPLAIN ANALYZE добавляет реальность: сколько строк прошло, сколько времени заняла каждая операция, где план «поехал».
Смотрите в первую очередь на три вещи:
— расхождение estimated rows и actual rows; если промах в разы, статистика или селективность врут
— узкие места по времени: Seq Scan, Sort, Hash Join, Nested Loop с большим числом повторов
— I/O и буферы: если все упирается в чтение с диска, индексы могут не спасти
Типовая ошибка — лечить верхний узел плана, когда проблема ниже. Если Nested Loop выглядит страшно, проверьте, что внутри: иногда один лишний Seq Scan на маленькой таблице дешевле, чем «красивый» индексный доступ с тысячами случайных чтений. Золотое правило: сначала мониторинг, потом индексы.
Схема простая, но дьявол кроется в статистике: хороший план на малых данных может развалиться на реальном объеме. Поэтому сравнивайте план с фактом после изменений в данных, а не только после правок SQL.
Итог: EXPLAIN ANALYZE полезен только вместе с пониманием данных, статистики и I/O; иначе это просто красивый отчет о том, как база ошиблась.
Горизонтальное и вертикальное масштабирование: когда добавлять железо, а когда разносить нагрузку
Коллеги, давайте разберем план выполнения. Вертикальное масштабирование — это быстрее усилить одну БД: CPU, RAM, IOPS. Горизонтальное — добавить узлы и распределить запросы, партиции или реплики. Оба пути рабочие, но у каждого своя цена: вертикаль упирается в потолок железа, горизонталь — в сложность схемы, консистентность и сеть.
Вертикаль хороша, когда упор в узкие места внутри одного сервера: не хватает памяти под рабочий набор, много сортировок, высокий latch/lock contention, тяжелые индексы. Плюс простой: меньше движущихся частей, проще бэкапы, failover и отладка. Минус очевиден: в продакшене так лучше не делать бесконечно — одна точка отказа остается, а апгрейд часто требует окна и риска.
Горизонталь нужна, когда один узел уже не вытягивает I/O и конкуренцию, а приложение умеет жить с распределением данных. Но тут сразу появляются шардирование, балансировка, кросс-узловые запросы, фантомы в аналитике и дорогая синхронизация. Схема простая, но дьявол кроется в статистике: если ключ распределен криво, один шард становится новым монолитом.
Золотое правило: сначала мониторинг, потом индексы. Смотрите CPU wait, I/O latency, объем активных данных, частоту блокировок и профиль запросов. Если бутылочное горлышко в одном ресурсе — вертикаль обычно дешевле и безопаснее. Если нагрузка уже требует изоляции по доменам, регионам или тенантам — тогда горизонталь оправдана.
Выбор не “или-или”, а “что ломается первым и сколько это чинить”. Начинайте с вертикали, пока есть запас, и переходите к горизонтали только когда архитектура приложения действительно готова к распределению.
Коллеги, давайте разберем план выполнения. Вертикальное масштабирование — это быстрее усилить одну БД: CPU, RAM, IOPS. Горизонтальное — добавить узлы и распределить запросы, партиции или реплики. Оба пути рабочие, но у каждого своя цена: вертикаль упирается в потолок железа, горизонталь — в сложность схемы, консистентность и сеть.
Вертикаль хороша, когда упор в узкие места внутри одного сервера: не хватает памяти под рабочий набор, много сортировок, высокий latch/lock contention, тяжелые индексы. Плюс простой: меньше движущихся частей, проще бэкапы, failover и отладка. Минус очевиден: в продакшене так лучше не делать бесконечно — одна точка отказа остается, а апгрейд часто требует окна и риска.
Горизонталь нужна, когда один узел уже не вытягивает I/O и конкуренцию, а приложение умеет жить с распределением данных. Но тут сразу появляются шардирование, балансировка, кросс-узловые запросы, фантомы в аналитике и дорогая синхронизация. Схема простая, но дьявол кроется в статистике: если ключ распределен криво, один шард становится новым монолитом.
Золотое правило: сначала мониторинг, потом индексы. Смотрите CPU wait, I/O latency, объем активных данных, частоту блокировок и профиль запросов. Если бутылочное горлышко в одном ресурсе — вертикаль обычно дешевле и безопаснее. Если нагрузка уже требует изоляции по доменам, регионам или тенантам — тогда горизонталь оправдана.
Выбор не “или-или”, а “что ломается первым и сколько это чинить”. Начинайте с вертикали, пока есть запас, и переходите к горизонтали только когда архитектура приложения действительно готова к распределению.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Open AI анонсировала новую модель ChatGPT - Astra
OpenAI показала правительству США новую модель Astra — следующую крупную нейросеть после Sol. Её фокус — долгосрочные задачи и управление саб-агентами, которые делят работу на мелкие шаги. Пока неясно, станет ли Astra GPT-6 или новой версией в линейке Sol, но релиз уже близко, и её стоит ждать на тестах.
➡️ Читайте на сайте: https://aff.top/blog/open-ai-anonsirovala-novuiu-model-chatgpt-astra
🧠 Ещё больше инсайтов → в канале AFF.top
OpenAI показала правительству США новую модель Astra — следующую крупную нейросеть после Sol. Её фокус — долгосрочные задачи и управление саб-агентами, которые делят работу на мелкие шаги. Пока неясно, станет ли Astra GPT-6 или новой версией в линейке Sol, но релиз уже близко, и её стоит ждать на тестах.
➡️ Читайте на сайте: https://aff.top/blog/open-ai-anonsirovala-novuiu-model-chatgpt-astra
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
Там у Макса Довольного вышел очередной выпуск "Таких новостей", новости как новости, но вот эта новость меня прям разъебала!
Я капнул дальше, и там вообще пиздец, Лев из Пепер.Партнёрс пишет мол - вы согласовали выплату, взяли на оплату, потом хуй пойми что изменилось и вы обвиняете нас во фроде, ну и мол - ребят, давайте как то решим!
На что приходит Настя Щербина #MelBet и просто говорит "Со мной лучше не сорится" - не знаю, воспринял ли это Лев как угрозу, но это совершено точно угроза и была и не понятно чего теперь Льву боятся, чисто Насти? Или Всего #MelBet? Или чего-то большего?
Смех смехом, но речь там идёт про 2к баксов, деньги не большие, но знаете что ещё смешней? Настя потом ещё раз пришла и сказала мол "Уволила ту менеджершу которая работа со Львом" и это вдвойне разъеб, во первых за что? А во вторых не чего что она беременная? Лол на хуй какой-то
Ладно, шучу, не знаю была ли та менеджерша берменная, вполне могла быть кстати, но смех тут в том что ни кто на хуй уволен не был, девушка как работала так и работает, её акк, её фотка, она же за телеграмом, она же прям, а не новый менеджер
Сколько раз можно соврать отвечая на простое сообщение в чате?
Макс в своих новостях примерно это и рассказал, но на своём, корректном официальном языке!
Если что новости Макс хуярит каждую неделю у себя на канале https://www.youtube.com/@traffink
P.S. Если что, я не сорюсь, просто удивительно! Но в целом мне все понятно, продолжим дальше глотать такое, ну, естесвенно пока это нас прям не коснётся... А потом... А потом всем будет уже похуй ибо это станет нормой, просто согласовывать, брать кошель на выплату, а потом говорить - хуй а не выплата, а на вопрос - что случилось? Все же было согласовано, получать ответ "Не лучшее решение ссорится со мной"
P.S.2. не могу удержатся - а когда вообще сорра было лучшим решением? Реально? Было такое? К чему тогда эти слова про не лучшее решение если это априори худшее, я уже даже не говорю что ни кто ёпрст и не сорился вообще то, а просто спросили - ну чо там с деньгами? #НастяЩербина #MelbetОтзыв #MelbetВыплаты
____
🤔 Консоли Google Play и Apple Developer надо? Phoenix — 100% свой фарм с 2021-го. Забрать акки → @phoenix_seller_bot 🤔
Я капнул дальше, и там вообще пиздец, Лев из Пепер.Партнёрс пишет мол - вы согласовали выплату, взяли на оплату, потом хуй пойми что изменилось и вы обвиняете нас во фроде, ну и мол - ребят, давайте как то решим!
На что приходит Настя Щербина #MelBet и просто говорит "Со мной лучше не сорится" - не знаю, воспринял ли это Лев как угрозу, но это совершено точно угроза и была и не понятно чего теперь Льву боятся, чисто Насти? Или Всего #MelBet? Или чего-то большего?
Смех смехом, но речь там идёт про 2к баксов, деньги не большие, но знаете что ещё смешней? Настя потом ещё раз пришла и сказала мол "Уволила ту менеджершу которая работа со Львом" и это вдвойне разъеб, во первых за что? А во вторых не чего что она беременная? Лол на хуй какой-то
Ладно, шучу, не знаю была ли та менеджерша берменная, вполне могла быть кстати, но смех тут в том что ни кто на хуй уволен не был, девушка как работала так и работает, её акк, её фотка, она же за телеграмом, она же прям, а не новый менеджер
Сколько раз можно соврать отвечая на простое сообщение в чате?
Макс в своих новостях примерно это и рассказал, но на своём, корректном официальном языке!
Если что новости Макс хуярит каждую неделю у себя на канале https://www.youtube.com/@traffink
P.S. Если что, я не сорюсь, просто удивительно! Но в целом мне все понятно, продолжим дальше глотать такое, ну, естесвенно пока это нас прям не коснётся... А потом... А потом всем будет уже похуй ибо это станет нормой, просто согласовывать, брать кошель на выплату, а потом говорить - хуй а не выплата, а на вопрос - что случилось? Все же было согласовано, получать ответ "Не лучшее решение ссорится со мной"
P.S.2. не могу удержатся - а когда вообще сорра было лучшим решением? Реально? Было такое? К чему тогда эти слова про не лучшее решение если это априори худшее, я уже даже не говорю что ни кто ёпрст и не сорился вообще то, а просто спросили - ну чо там с деньгами? #НастяЩербина #MelbetОтзыв #MelbetВыплаты
____
Please open Telegram to view this post
VIEW IN TELEGRAM
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
SeeDance 2.5 вышла в публичный доступ
ByteDance выпустила SeeDance 2.5 — нейронку для генерации 30-секундных видео в 4K с до 50 референсами, включая локации и персонажей. Для CPA и iGaming-креативов это уже уровень почти кино, но технология пока дорогая и не слишком практичная: тестировать можно через Jimeng AI и Doubao Pro, а API обещают позже.
➡️ Читайте на сайте: https://aff.top/blog/seedance-2-5-vyshla-v-publichnyi-dostup
🧠 Ещё больше инсайтов → в канале AFF.top
ByteDance выпустила SeeDance 2.5 — нейронку для генерации 30-секундных видео в 4K с до 50 референсами, включая локации и персонажей. Для CPA и iGaming-креативов это уже уровень почти кино, но технология пока дорогая и не слишком практичная: тестировать можно через Jimeng AI и Doubao Pro, а API обещают позже.
➡️ Читайте на сайте: https://aff.top/blog/seedance-2-5-vyshla-v-publichnyi-dostup
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from Довольный арбитражник трафика
Свежий выпуск новостей 🗞
Австралия судится с Telegram, конфликт Pepper Partners и Melbet Partners, Google научил AI управлять браузеров Chrome, квартальный отчет Meta — и другие новости последней недели.
📹 Смотреть на YouTube
Австралия судится с Telegram, конфликт Pepper Partners и Melbet Partners, Google научил AI управлять браузеров Chrome, квартальный отчет Meta — и другие новости последней недели.
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
Госдума собирается запретить скрытую рекламу казино
Госдума уточнила законопроект против скрытой рекламы нелегального гемблинга: под запрет попадут любые реферальные ссылки, ролики и стримы с показом игры в казино. Площадки обяжут сами искать и блокировать такой контент и аккаунты. Для УБТ, дорвеев и SEO это значит ещё более жёсткую зачистку трафика и риски для любых промо-материалов с рефералкой.
➡️ Читайте на сайте: https://aff.top/blog/gosduma-sobiraetsia-zapretit-skrytuiu-reklamu-kazino
🧠 Ещё больше инсайтов → в канале AFF.top
Госдума уточнила законопроект против скрытой рекламы нелегального гемблинга: под запрет попадут любые реферальные ссылки, ролики и стримы с показом игры в казино. Площадки обяжут сами искать и блокировать такой контент и аккаунты. Для УБТ, дорвеев и SEO это значит ещё более жёсткую зачистку трафика и риски для любых промо-материалов с рефералкой.
➡️ Читайте на сайте: https://aff.top/blog/gosduma-sobiraetsia-zapretit-skrytuiu-reklamu-kazino
🧠 Ещё больше инсайтов → в канале AFF.top
Мониторинг без узких мест — это миф. Ищем bottleneck по слоям, а не по ощущениям
Коллеги, давайте разберем план выполнения. Если приложение «тормозит», не начинайте с индексов и не лечите всё подряд. Сначала фиксируем, где именно упираемся: CPU, память, диск, сеть или блокировки. Иначе легко оптимизировать не то — и получить красивый, но бесполезный план.
Рабочая схема простая:
— сравниваем latency запросов и время ожидания I/O;
— смотрим очередь диска и процент кэша, а не только загрузку CPU;
— проверяем lock wait и deadlock’и отдельно от медленных запросов;
— сопоставляем рост трафика с ростом времени ответа, а не с «кажется, база виновата».
Если CPU высокий, это не всегда «мало ядер». Часто причина в плохом плане, сканах вместо seek, неудачной сортировке или горячем ключе. Если диск забит, ищите не только тяжелые SELECT, но и мусорные UPDATE/DELETE, массовые чекпойнты, бэкапы и autovacuum-подобные фоновые процессы. Посмотрим, что тут с I/O в реальности.
Золотое правило: сначала мониторинг, потом индексы. Без метрик по waits, IOPS, latency и lock contention вы просто стреляете в темноте. А когда bottleneck найден, исправляйте один слой за раз и снова замеряйте. Иначе «ускорение» быстро превращается в новый инцидент.
Коллеги, давайте разберем план выполнения. Если приложение «тормозит», не начинайте с индексов и не лечите всё подряд. Сначала фиксируем, где именно упираемся: CPU, память, диск, сеть или блокировки. Иначе легко оптимизировать не то — и получить красивый, но бесполезный план.
Рабочая схема простая:
— сравниваем latency запросов и время ожидания I/O;
— смотрим очередь диска и процент кэша, а не только загрузку CPU;
— проверяем lock wait и deadlock’и отдельно от медленных запросов;
— сопоставляем рост трафика с ростом времени ответа, а не с «кажется, база виновата».
Если CPU высокий, это не всегда «мало ядер». Часто причина в плохом плане, сканах вместо seek, неудачной сортировке или горячем ключе. Если диск забит, ищите не только тяжелые SELECT, но и мусорные UPDATE/DELETE, массовые чекпойнты, бэкапы и autovacuum-подобные фоновые процессы. Посмотрим, что тут с I/O в реальности.
Золотое правило: сначала мониторинг, потом индексы. Без метрик по waits, IOPS, latency и lock contention вы просто стреляете в темноте. А когда bottleneck найден, исправляйте один слой за раз и снова замеряйте. Иначе «ускорение» быстро превращается в новый инцидент.
Сложный SQL не лечится «магией» — сначала разбираем план, потом уже переписываем запрос
Коллеги, давайте разберем план выполнения. У тяжелых запросов почти всегда одни и те же причины: лишний full scan, неверная селективность, неудачный join order, сортировка на диске.
Схема простая, но дьявол кроется в статистике. Сначала смотрим:
• где самый дорогой оператор;
• сколько строк ожидали и сколько получили;
• не тащит ли запрос лишние столбцы и строки до фильтра.
Дальше режем запрос по слоям: убираем подзапросы, которые можно заменить join’ом или CTE только для читаемости; выносим фильтры как можно раньше; проверяем, не ломает ли функция в WHERE использование индекса. Если условие выглядит «удобно», но превращает поиск в скан — это плохое удобство.
Особое внимание — повторяющимся агрегациям, OR по разным полям и неявным преобразованиям типов. Именно они часто делают план нестабильным: на маленьком объеме все летает, на боевом — внезапно начинается I/O-ад. Посмотрим, что тут с I/O в реальности.
Золотое правило: сначала мониторинг, потом индексы. Если после переписывания запрос все еще тяжёлый, только тогда добавляем индекс под конкретный предикат и проверяем, не выросла ли цена записи и блокировок.
Коллеги, давайте разберем план выполнения. У тяжелых запросов почти всегда одни и те же причины: лишний full scan, неверная селективность, неудачный join order, сортировка на диске.
Схема простая, но дьявол кроется в статистике. Сначала смотрим:
• где самый дорогой оператор;
• сколько строк ожидали и сколько получили;
• не тащит ли запрос лишние столбцы и строки до фильтра.
Дальше режем запрос по слоям: убираем подзапросы, которые можно заменить join’ом или CTE только для читаемости; выносим фильтры как можно раньше; проверяем, не ломает ли функция в WHERE использование индекса. Если условие выглядит «удобно», но превращает поиск в скан — это плохое удобство.
Особое внимание — повторяющимся агрегациям, OR по разным полям и неявным преобразованиям типов. Именно они часто делают план нестабильным: на маленьком объеме все летает, на боевом — внезапно начинается I/O-ад. Посмотрим, что тут с I/O в реальности.
Золотое правило: сначала мониторинг, потом индексы. Если после переписывания запрос все еще тяжёлый, только тогда добавляем индекс под конкретный предикат и проверяем, не выросла ли цена записи и блокировок.
Forwarded from AFF.TOP
This media is not supported in your browser
VIEW IN TELEGRAM
Facebook вводит бесплатную верификацию Facebook Verified
Meta тестирует бесплатную верификацию Facebook Verified через видеоселфи: аккаунт получает галочку в профиле и в Marketplace, Dating и Groups. Фича нужна, чтобы снизить число ИИ-акков и усилить антифрод, но реальная польза для арбитража пока неясна — нужно проверять, даст ли она меньше селф-локов и банов.
➡️ Читайте на сайте: https://aff.top/blog/facebook-vvodit-besplatnuiu-verifikaciiu-facebook-verified
🧠 Ещё больше инсайтов → в канале AFF.top
Meta тестирует бесплатную верификацию Facebook Verified через видеоселфи: аккаунт получает галочку в профиле и в Marketplace, Dating и Groups. Фича нужна, чтобы снизить число ИИ-акков и усилить антифрод, но реальная польза для арбитража пока неясна — нужно проверять, даст ли она меньше селф-локов и банов.
➡️ Читайте на сайте: https://aff.top/blog/facebook-vvodit-besplatnuiu-verifikaciiu-facebook-verified
🧠 Ещё больше инсайтов → в канале AFF.top
Forwarded from AffPapa! Клуб спящих бизнесменов! Потрачено!
ROIдину продал — канал без унылого говна, без «экспертов», которые десятый раз пересказывают одно и то же, и без “давайте разберёмся” на 40 абзацев.
У меня формат простой:
если где-то пахнет бабками — я показываю где именно.
если где-то пахнет крысиной вознёй — я называю как есть.
если кто-то делает вид, что “всё под контролем” — я смотрю на цифры и спрашиваю: а точно?
Пишу прямо, иногда грубо, всегда по делу.
Чтобы ты не “вдохновлялся”, а понимал расклад и принимал решения без самообмана.
Короче: если любишь, когда тебе говорят честно, быстро и без церемоний — залетай кабанчиком на канальчик
У меня формат простой:
если где-то пахнет бабками — я показываю где именно.
если где-то пахнет крысиной вознёй — я называю как есть.
если кто-то делает вид, что “всё под контролем” — я смотрю на цифры и спрашиваю: а точно?
Пишу прямо, иногда грубо, всегда по делу.
Чтобы ты не “вдохновлялся”, а понимал расклад и принимал решения без самообмана.
Короче: если любишь, когда тебе говорят честно, быстро и без церемоний — залетай кабанчиком на канальчик