This media is not supported in your browser
VIEW IN TELEGRAM
В DeepSeek добавили распознавание изображений
DeepSeek запустил бета-версию распознавания изображений — функция доступна бесплатно прямо в чате. Работает нестабильно, но для базовых задач подходит: например, проверить, есть ли на креативе узнаваемая знаменитость в нужном гео. Платная подписка не нужна.
➡️ Читайте на сайте: https://aff.top/blog/v-deepseek-dobavili-raspoznavanie-izobrazhenii
🧠 Ещё больше инсайтов → в канале AFF.top
DeepSeek запустил бета-версию распознавания изображений — функция доступна бесплатно прямо в чате. Работает нестабильно, но для базовых задач подходит: например, проверить, есть ли на креативе узнаваемая знаменитость в нужном гео. Платная подписка не нужна.
➡️ Читайте на сайте: https://aff.top/blog/v-deepseek-dobavili-raspoznavanie-izobrazhenii
🧠 Ещё больше инсайтов → в канале AFF.top
This media is not supported in your browser
VIEW IN TELEGRAM
📡 Запустили AFF.TOP — медиа про арбитраж, ИИ и вайб-кодинг
Разбираем новости из мира ИИ, тренды вайб-кодинга, инсайды индустрии арбитража — без воды и продаж курсов.
👉 Подписаться на канал AFF.TOP
Разбираем новости из мира ИИ, тренды вайб-кодинга, инсайды индустрии арбитража — без воды и продаж курсов.
👉 Подписаться на канал AFF.TOP
Developer marketing проваливается, когда пишут про продукт, а не про задачу девелопера
Если разработчик ищет инструмент, он не хочет «историю бренда». Он хочет понять: как авторизоваться, что сломается, как выглядит первый запрос, где брать примеры, как откатить ошибку. Поэтому сильный dev marketing начинается не с лендинга, а с карты первых вопросов из поиска, саппорта и sales-call.
Что обычно работает:
— quickstart с рабочим кодом, а не скриншоты;
— примеры для 2–3 популярных языков;
— понятные ошибки и способы их исправить;
— SDK, который не прячет API, а упрощает рутину;
— docs, где можно скопировать запрос и сразу проверить.
Что обычно ломает конверсию:
— «универсальный» onboarding без сценариев;
— документация, где auth, limits и webhooks разбросаны по разным страницам;
— пустые гайды без endpoint'ов и payload'ов;
— формы, которые требуют демо до того, как человек увидел первую ценность.
Хороший DevRel для tooling — это не шум вокруг продукта, а сокращение времени до первого успешного действия. Если девелопер за 5–10 минут не дошёл до working call, маркетинг уже проиграл техподдержке.
Смотрите на свой продукт глазами человека с открытым терминалом: чем меньше вопросов остаётся до первого результата, тем меньше вам нужен «прогрев».
Если разработчик ищет инструмент, он не хочет «историю бренда». Он хочет понять: как авторизоваться, что сломается, как выглядит первый запрос, где брать примеры, как откатить ошибку. Поэтому сильный dev marketing начинается не с лендинга, а с карты первых вопросов из поиска, саппорта и sales-call.
Что обычно работает:
— quickstart с рабочим кодом, а не скриншоты;
— примеры для 2–3 популярных языков;
— понятные ошибки и способы их исправить;
— SDK, который не прячет API, а упрощает рутину;
— docs, где можно скопировать запрос и сразу проверить.
Что обычно ломает конверсию:
— «универсальный» onboarding без сценариев;
— документация, где auth, limits и webhooks разбросаны по разным страницам;
— пустые гайды без endpoint'ов и payload'ов;
— формы, которые требуют демо до того, как человек увидел первую ценность.
Хороший DevRel для tooling — это не шум вокруг продукта, а сокращение времени до первого успешного действия. Если девелопер за 5–10 минут не дошёл до working call, маркетинг уже проиграл техподдержке.
Смотрите на свой продукт глазами человека с открытым терминалом: чем меньше вопросов остаётся до первого результата, тем меньше вам нужен «прогрев».
This media is not supported in your browser
VIEW IN TELEGRAM
Google заставляет махать руками перед камерой
Google запустила новую капчу на основе распознавания движений — требует включённую камеру и помах руки перед экраном для подтверждения. Система отслеживает 21 точку-координату положения руки в реальном времени, а данные удаляются сразу после проверки. Для арбитражников это усложнит автоматизацию — обход вероятно будет работать через перехват хэша с положительным ответом. Капча пока на тестировании, но предвещает новый уровень защиты от ботов в и…
➡️ Читайте на сайте: https://aff.top/blog/google-zastavliaet-makhat-rukami-pered-kameroi
🧠 Ещё больше инсайтов → в канале AFF.top
Google запустила новую капчу на основе распознавания движений — требует включённую камеру и помах руки перед экраном для подтверждения. Система отслеживает 21 точку-координату положения руки в реальном времени, а данные удаляются сразу после проверки. Для арбитражников это усложнит автоматизацию — обход вероятно будет работать через перехват хэша с положительным ответом. Капча пока на тестировании, но предвещает новый уровень защиты от ботов в и…
➡️ Читайте на сайте: https://aff.top/blog/google-zastavliaet-makhat-rukami-pered-kameroi
🧠 Ещё больше инсайтов → в канале AFF.top
DX ломается не в SDK, а в первых 10 минутах после открытия docs
Если у девелопера не получается быстро запустить продукт, он не “разберётся потом” — он просто уйдёт.
Проверь onboarding по простому сценарию:
— ссылка на docs ведёт туда, где можно начать, а не в общий маркетинговый раздел;
— есть один понятный quickstart, а не три пути на выбор без объяснения;
— первый пример можно скопировать и запустить без ручной сборки из пяти файлов;
— ошибки показаны как человекочитаемые сообщения, а не как внутренние коды системы.
Отдельно смотри на auth и окружение:
— ключи и токены создаются без лишних экранов;
— в примере есть реальные имена переменных;
— понятно, где тестовый режим, а где рабочий;
— не нужно читать весь API reference, чтобы сделать первый запрос.
Хорошая DX — это когда человек не угадывает, а повторяет шаги. Плохая — когда ему нужно “додумать по контексту”.
Если у тебя есть продукт, начни не с расширения docs, а с замера: сколько шагов до первого успешного запроса. Именно там чаще всего и теряется внедрение.
Если у девелопера не получается быстро запустить продукт, он не “разберётся потом” — он просто уйдёт.
Проверь onboarding по простому сценарию:
— ссылка на docs ведёт туда, где можно начать, а не в общий маркетинговый раздел;
— есть один понятный quickstart, а не три пути на выбор без объяснения;
— первый пример можно скопировать и запустить без ручной сборки из пяти файлов;
— ошибки показаны как человекочитаемые сообщения, а не как внутренние коды системы.
Отдельно смотри на auth и окружение:
— ключи и токены создаются без лишних экранов;
— в примере есть реальные имена переменных;
— понятно, где тестовый режим, а где рабочий;
— не нужно читать весь API reference, чтобы сделать первый запрос.
Хорошая DX — это когда человек не угадывает, а повторяет шаги. Плохая — когда ему нужно “додумать по контексту”.
Если у тебя есть продукт, начни не с расширения docs, а с замера: сколько шагов до первого успешного запроса. Именно там чаще всего и теряется внедрение.
Contentful: когда headless нужен не «для моды», а чтобы не ломать фронт на каждом редизайне
Contentful часто берут как «CMS для API», а потом удивляются, что сложность уезжает из админки в схему контента и интеграции.
За неделю в репах: обычно всплывают 3 класса ошибок:
— слишком много content type’ов без единой модели отношений;
— поля под верстку вместо полей под смысл;
— локализация и media-assets не продуманы заранее.
Если проект — контент-сайт, лендинг-сетка или продукт с несколькими фронтами, Contentful удобен там, где нужен стабильный API и отделение контента от UI. Но если редактору каждый день приходится собирать «сложные страницы» из конструктора, без дисциплины по моделям вы получите зоопарк из блоков.
Есть правило, которое стоит проверить: схема должна описывать бизнес-сущность, а не секцию макета. Не «hero-left-image», а «lead block» с понятными атрибутами. Иначе любой редизайн превращается в миграцию данных, а не в смену темы.
Отдельно смотрите на:
— preview-поток для редакторов;
— webhooks и очереди публикации;
— права доступа по ролям;
— стратегию мультиязычности и fallback.
Contentful хорошо заходит, когда команда умеет проектировать контент-модель как API-контракт. Если нет — сначала делайте схему, потом дизайн.
Contentful часто берут как «CMS для API», а потом удивляются, что сложность уезжает из админки в схему контента и интеграции.
За неделю в репах: обычно всплывают 3 класса ошибок:
— слишком много content type’ов без единой модели отношений;
— поля под верстку вместо полей под смысл;
— локализация и media-assets не продуманы заранее.
Если проект — контент-сайт, лендинг-сетка или продукт с несколькими фронтами, Contentful удобен там, где нужен стабильный API и отделение контента от UI. Но если редактору каждый день приходится собирать «сложные страницы» из конструктора, без дисциплины по моделям вы получите зоопарк из блоков.
Есть правило, которое стоит проверить: схема должна описывать бизнес-сущность, а не секцию макета. Не «hero-left-image», а «lead block» с понятными атрибутами. Иначе любой редизайн превращается в миграцию данных, а не в смену темы.
Отдельно смотрите на:
— preview-поток для редакторов;
— webhooks и очереди публикации;
— права доступа по ролям;
— стратегию мультиязычности и fallback.
Contentful хорошо заходит, когда команда умеет проектировать контент-модель как API-контракт. Если нет — сначала делайте схему, потом дизайн.
This media is not supported in your browser
VIEW IN TELEGRAM
Как заработать 2500$ с УБТ трафика из Twitter’а не привлекая внимания санитаров
Арбитражник проkил органическbq трафик с X (Twitter) через связку с dating-офферами, используя маскировку ссылок под видеопревью. После полугода залива с марта по октябрь 2025-го он заработал скромный, но стабильный доход, внедрив динамическую генерацию страниц, обфускацию ссылок и cookie-разделение трафика для увеличения конверсии на треть. Основной вызов — постоянные баны доменом из-за обновлений Google и требований антифрода, из…
➡️ Читайте на сайте: https://aff.top/blog/kak-zarabotat-2500-s-ubt-trafika-iz-twitter-a-ne-privlekaia-vnimaniia-sanitarov
🧠 Ещё больше инсайтов → в канале AFF.top
Арбитражник проkил органическbq трафик с X (Twitter) через связку с dating-офферами, используя маскировку ссылок под видеопревью. После полугода залива с марта по октябрь 2025-го он заработал скромный, но стабильный доход, внедрив динамическую генерацию страниц, обфускацию ссылок и cookie-разделение трафика для увеличения конверсии на треть. Основной вызов — постоянные баны доменом из-за обновлений Google и требований антифрода, из…
➡️ Читайте на сайте: https://aff.top/blog/kak-zarabotat-2500-s-ubt-trafika-iz-twitter-a-ne-privlekaia-vnimaniia-sanitarov
🧠 Ещё больше инсайтов → в канале AFF.top
Dev community не строится на «давайте соберёмся» — ей нужен повод вернуться
Комьюнити для tooling живёт не на постах, а на повторяемых действиях. Если у человека есть вопрос, баг, шаблон кода или готовый кусок интеграции — он возвращается. Если у вас только анонсы и общие разговоры, это не community, а лента объявлений.
Что работает лучше всего:
— один понятный маршрут входа: docs → quickstart → пример → support;
— публичный канал для вопросов, где отвечают не «мы передадим в продукт»;
— артефакты, которые можно унести: snippet, checklist, config, postman collection;
— маленькие ритуалы: разбор кейсов, office hours, issue triage, show-and-tell.
Главная ошибка — строить комьюнити вокруг бренда, а не вокруг работы пользователя. Дев не приходит «пообщаться с вендором», он приходит сократить время до первого результата. Поэтому ценность измеряется не охватом, а тем, сколько вопросов решается без ручной переписки.
Если хотите живую dev community, начните не с чата, а с одного полезного сценария, который человек сможет повторить сам. Дальше комьюнити достраивается вокруг этого сценария, а не вокруг красивого слова «community».
Комьюнити для tooling живёт не на постах, а на повторяемых действиях. Если у человека есть вопрос, баг, шаблон кода или готовый кусок интеграции — он возвращается. Если у вас только анонсы и общие разговоры, это не community, а лента объявлений.
Что работает лучше всего:
— один понятный маршрут входа: docs → quickstart → пример → support;
— публичный канал для вопросов, где отвечают не «мы передадим в продукт»;
— артефакты, которые можно унести: snippet, checklist, config, postman collection;
— маленькие ритуалы: разбор кейсов, office hours, issue triage, show-and-tell.
Главная ошибка — строить комьюнити вокруг бренда, а не вокруг работы пользователя. Дев не приходит «пообщаться с вендором», он приходит сократить время до первого результата. Поэтому ценность измеряется не охватом, а тем, сколько вопросов решается без ручной переписки.
Если хотите живую dev community, начните не с чата, а с одного полезного сценария, который человек сможет повторить сам. Дальше комьюнити достраивается вокруг этого сценария, а не вокруг красивого слова «community».
Dev community не строится на “давайте общаться” — её держат процессы и польза
Если у вас есть чат, но нет повторяемой ценности, это не комьюнити, а шум. Девы приходят не за брендом, а за ответом на свой конкретный вопрос: как авторизоваться, как обойти edge case, как ускорить интеграцию.
Что работает почти всегда:
— один канал для вопросов по продукту, без смешивания с новостями и промо;
— короткие, воспроизводимые ответы с кодом, а не “напишите в саппорт”;
— публичная база решений: FAQ, cookbook, примеры запросов, типовые ошибки;
— место, где видно, что вопросы не игнорируют, а закрывают до конца.
Что ломает комьюнити:
— модерация только ради тишины;
— много “анонсов”, мало разборов;
— ответы от продаж вместо инженерных;
— отсутствие владельца, который следит за качеством диалога.
Для арб-tooling особенно важно не путать комьюнити с лидогеном. Если человек пришёл за API, ему нужен путь от первого запроса до рабочего сценария, а не конкурс на активность.
Хороший тест простой: может ли новый участник решить свою задачу, не спрашивая одно и то же три раза? Если нет — комьюнити ещё не собрано.
Если у вас есть чат, но нет повторяемой ценности, это не комьюнити, а шум. Девы приходят не за брендом, а за ответом на свой конкретный вопрос: как авторизоваться, как обойти edge case, как ускорить интеграцию.
Что работает почти всегда:
— один канал для вопросов по продукту, без смешивания с новостями и промо;
— короткие, воспроизводимые ответы с кодом, а не “напишите в саппорт”;
— публичная база решений: FAQ, cookbook, примеры запросов, типовые ошибки;
— место, где видно, что вопросы не игнорируют, а закрывают до конца.
Что ломает комьюнити:
— модерация только ради тишины;
— много “анонсов”, мало разборов;
— ответы от продаж вместо инженерных;
— отсутствие владельца, который следит за качеством диалога.
Для арб-tooling особенно важно не путать комьюнити с лидогеном. Если человек пришёл за API, ему нужен путь от первого запроса до рабочего сценария, а не конкурс на активность.
Хороший тест простой: может ли новый участник решить свою задачу, не спрашивая одно и то же три раза? Если нет — комьюнити ещё не собрано.
7 ошибок при выборе RU-CMS, из-за которых потом переписывают сайт с нуля
Если проект живёт на российской CMS, ошибка на старте обычно дороже любого релиза. Чаще всего ломается не код, а ожидания: берут систему «по привычке», а потом пытаются натянуть на неё чужую архитектуру.
— Смотрят только на админку и забывают про модель данных. Если у проекта сложные каталоги, роли, фильтры, мультисайты — проверьте, как это собирается без костылей.
— Не считают интеграции. CRM, 1С, платежи, доставки, личный кабинет, API — у каждой CMS свой уровень боли и свой способ обхода.
— Путают «быстро запустить» и «легко поддерживать». На старте шаблон может выглядеть нормально, а через полгода правки превращаются в ручной труд.
— Берут систему без понятной схемы обновлений и миграций. Если ядро и модули нельзя обновлять без страха, проект почти всегда тормозит.
— Не проверяют, кто будет сопровождать сайт после запуска. У агентства и фрилансера может быть разная экспертиза по одной и той же платформе.
Для Bitrix и MODX логика одна: сначала список требований, потом сравнение платформ, и только потом дизайн и верстка. Иначе CMS выбирают по привычке, а расплачиваются архитектурой.
Если проект живёт на российской CMS, ошибка на старте обычно дороже любого релиза. Чаще всего ломается не код, а ожидания: берут систему «по привычке», а потом пытаются натянуть на неё чужую архитектуру.
— Смотрят только на админку и забывают про модель данных. Если у проекта сложные каталоги, роли, фильтры, мультисайты — проверьте, как это собирается без костылей.
— Не считают интеграции. CRM, 1С, платежи, доставки, личный кабинет, API — у каждой CMS свой уровень боли и свой способ обхода.
— Путают «быстро запустить» и «легко поддерживать». На старте шаблон может выглядеть нормально, а через полгода правки превращаются в ручной труд.
— Берут систему без понятной схемы обновлений и миграций. Если ядро и модули нельзя обновлять без страха, проект почти всегда тормозит.
— Не проверяют, кто будет сопровождать сайт после запуска. У агентства и фрилансера может быть разная экспертиза по одной и той же платформе.
Для Bitrix и MODX логика одна: сначала список требований, потом сравнение платформ, и только потом дизайн и верстка. Иначе CMS выбирают по привычке, а расплачиваются архитектурой.
Плагин в WordPress — это не “поставил и забыл”, а точка риска для скорости и безопасности
За неделю в репах видно один и тот же паттерн: ставят 12–20 плагинов, а потом ищут виноватый LCP. Проверять нужно не количество, а роль каждого модуля: он реально нужен, дублирует ядро или просто добавлен “на всякий случай”.
Перед установкой смотри на три вещи:
— есть ли у плагина узкая задача или он комбайн с лишними зависимостями;
— как он ведёт себя без фронтовых скриптов и стилей на всех страницах;
— умеет ли отключаться точечно, а не грузиться везде.
Если плагин тянет jQuery, тяжелые админ-виджеты и пачку CSS на лендинг — это уже не инструмент, а налог на конверсию.
После установки делай короткий аудит: сравни количество запросов, проверь автозагрузку опций, посмотри, не плодит ли плагин свои таблицы и cron-задачи. Отдельно тестируй конфликт с кэшем, формами, билдером и мультиязычностью — именно там чаще всего всплывают поломки.
Хорошее правило простое: один плагин должен решать одну задачу и исчезать из пути пользователя, если задача не нужна. Если модуль нельзя объяснить одной фразой — скорее всего, его стоит удалить.
За неделю в репах видно один и тот же паттерн: ставят 12–20 плагинов, а потом ищут виноватый LCP. Проверять нужно не количество, а роль каждого модуля: он реально нужен, дублирует ядро или просто добавлен “на всякий случай”.
Перед установкой смотри на три вещи:
— есть ли у плагина узкая задача или он комбайн с лишними зависимостями;
— как он ведёт себя без фронтовых скриптов и стилей на всех страницах;
— умеет ли отключаться точечно, а не грузиться везде.
Если плагин тянет jQuery, тяжелые админ-виджеты и пачку CSS на лендинг — это уже не инструмент, а налог на конверсию.
После установки делай короткий аудит: сравни количество запросов, проверь автозагрузку опций, посмотри, не плодит ли плагин свои таблицы и cron-задачи. Отдельно тестируй конфликт с кэшем, формами, билдером и мультиязычностью — именно там чаще всего всплывают поломки.
Хорошее правило простое: один плагин должен решать одну задачу и исчезать из пути пользователя, если задача не нужна. Если модуль нельзя объяснить одной фразой — скорее всего, его стоит удалить.
DevRel для tooling ломается не на продукте, а на первом непонятном шаге
Если developer marketing строится вокруг “расскажем о ценности”, дев-аудитория просто уходит. Ей нужен ответ на три вопроса: как запустить, что сломается и где взять пример без лишнего текста.
Хороший входной путь для API и SDK выглядит так:
— один короткий quickstart до первого рабочего запроса;
— один понятный auth-flow без «догадайся сам»;
— один пример на языке, который реально ищут;
— одна страница про ошибки с кодами и причинами.
Плохой DX обычно прячется в мелочах: ключи выдаются в одном месте, тестовый запрос в другом, а webhooks описаны отдельно от схемы данных. В итоге дев тратит время не на интеграцию, а на сбор пазла из docs. Для affiliate-tooling это особенно больно: если трекер, антидетект или API для автоматизации не дают быстрый first call, их сравнивают не по фичам, а по усталости.
Что забрать в свой DevRel-процесс: режьте docs по сценариям, а не по отделам; делайте copy-paste примеры; показывайте ошибки так, чтобы их можно было воспроизвести; держите один источник правды для auth, limits и webhooks. Если после чтения нельзя за 10 минут собрать рабочий запрос — это не onboarding, а брошюра.
Сильный developer marketing начинается там, где документация экономит время, а не просит терпения.
Если developer marketing строится вокруг “расскажем о ценности”, дев-аудитория просто уходит. Ей нужен ответ на три вопроса: как запустить, что сломается и где взять пример без лишнего текста.
Хороший входной путь для API и SDK выглядит так:
— один короткий quickstart до первого рабочего запроса;
— один понятный auth-flow без «догадайся сам»;
— один пример на языке, который реально ищут;
— одна страница про ошибки с кодами и причинами.
Плохой DX обычно прячется в мелочах: ключи выдаются в одном месте, тестовый запрос в другом, а webhooks описаны отдельно от схемы данных. В итоге дев тратит время не на интеграцию, а на сбор пазла из docs. Для affiliate-tooling это особенно больно: если трекер, антидетект или API для автоматизации не дают быстрый first call, их сравнивают не по фичам, а по усталости.
Что забрать в свой DevRel-процесс: режьте docs по сценариям, а не по отделам; делайте copy-paste примеры; показывайте ошибки так, чтобы их можно было воспроизвести; держите один источник правды для auth, limits и webhooks. Если после чтения нельзя за 10 минут собрать рабочий запрос — это не onboarding, а брошюра.
Сильный developer marketing начинается там, где документация экономит время, а не просит терпения.
DevRel для tooling: не «вести канал», а сокращать путь до первого рабочего запроса
DevRel в арбитражном tooling — это не про охваты и не про красивые посты. Дев-аудитория приходит за ответом на один вопрос:
Что реально работает:
— короткий quickstart без воды: авторизация, 1 запрос, 1 ответ, 1 ошибка;
— примеры не в абстракции, а в живых сценариях: Python, cURL, webhook;
— явные границы: где rate limit, где нужен refresh token, где данные приходят не сразу;
— поиск по docs должен вести к решению, а не к маркетинговой странице.
Слабое место почти у всех одно: docs пишутся как «описание продукта», а нужны как маршрут до первого успеха. Если dev за 5 минут не нашёл пример токена, не увидел формат ответа и не понял, как обрабатывать ошибку, он уходит в саппорт или к конкуренту.
Хороший DevRel в tooling — это когда разработчик может скопировать кусок кода, получить рабочий ответ и только потом читать всё остальное. Сначала запуск, потом объяснения.
Если хотите улучшить DX без лишнего шума — начните с первого запроса, а не с раздела «О нас».
DevRel в арбитражном tooling — это не про охваты и не про красивые посты. Дев-аудитория приходит за ответом на один вопрос:
как быстро запустить интеграцию без боли.Что реально работает:
— короткий quickstart без воды: авторизация, 1 запрос, 1 ответ, 1 ошибка;
— примеры не в абстракции, а в живых сценариях: Python, cURL, webhook;
— явные границы: где rate limit, где нужен refresh token, где данные приходят не сразу;
— поиск по docs должен вести к решению, а не к маркетинговой странице.
Слабое место почти у всех одно: docs пишутся как «описание продукта», а нужны как маршрут до первого успеха. Если dev за 5 минут не нашёл пример токена, не увидел формат ответа и не понял, как обрабатывать ошибку, он уходит в саппорт или к конкуренту.
Хороший DevRel в tooling — это когда разработчик может скопировать кусок кода, получить рабочий ответ и только потом читать всё остальное. Сначала запуск, потом объяснения.
Если хотите улучшить DX без лишнего шума — начните с первого запроса, а не с раздела «О нас».
Biome не ускорит проект сам по себе: вот где его надо включать в процесс
Biome часто ставят как «замену ESLint и Prettier», а потом ждут магии. На деле он полезен только там, где правила встроены в рутину: format on save, pre-commit, CI.
Сначала определите границы:
— форматирование кода и импортов
— базовые lint-правила
— автофиксы на уровне IDE и коммита
— запрет ручных споров о стиле в ревью
Если в репе уже есть тяжёлый ESLint с кастомными плагинами, не надо ломать всё сразу. Переносите по слоям: сначала формат, потом простые правила, потом проверка в CI. Так меньше шума и меньше ложных конфликтов.
Отдельно проверьте конфиги для монорепы. Частая ошибка — один общий файл без учёта разных package.json, tsconfig и путей к исходникам. В итоге Biome либо пропускает нужное, либо начинает ругаться на чужие директории.
Хорошая схема простая: Biome делает механическую работу, человек смотрит на архитектуру, типы и границы модулей. Если инструмент начинает спорить с командой о стиле, значит правила слишком широкие.
Не настраивайте Biome «для галочки»: включайте только те проверки, которые реально экономят время на ревью и коммитах.
Biome часто ставят как «замену ESLint и Prettier», а потом ждут магии. На деле он полезен только там, где правила встроены в рутину: format on save, pre-commit, CI.
Сначала определите границы:
— форматирование кода и импортов
— базовые lint-правила
— автофиксы на уровне IDE и коммита
— запрет ручных споров о стиле в ревью
Если в репе уже есть тяжёлый ESLint с кастомными плагинами, не надо ломать всё сразу. Переносите по слоям: сначала формат, потом простые правила, потом проверка в CI. Так меньше шума и меньше ложных конфликтов.
Отдельно проверьте конфиги для монорепы. Частая ошибка — один общий файл без учёта разных package.json, tsconfig и путей к исходникам. В итоге Biome либо пропускает нужное, либо начинает ругаться на чужие директории.
Хорошая схема простая: Biome делает механическую работу, человек смотрит на архитектуру, типы и границы модулей. Если инструмент начинает спорить с командой о стиле, значит правила слишком широкие.
Не настраивайте Biome «для галочки»: включайте только те проверки, которые реально экономят время на ревью и коммитах.
Nuxt ломают не роуты, а тройка ошибок: сервер, данные и кэш
Если проект на Nuxt начинает вести себя «почти как работает», сначала проверьте базовые вещи:
— данные тянутся и на сервере, и в браузере;
— один и тот же fetch не живёт в двух местах;
— страница не зависит от того, успел ли клиент дорендерить DOM.
Самая частая ошибка — путать SSR и клиентскую логику. Любой код с window, document, localStorage и размером экрана надо держать за пределами серверного рендера. Иначе получите расхождение HTML, лишние перерисовки или тихие баги, которые проявляются только у части пользователей.
Вторая зона риска — data fetching. В Nuxt удобно раздать данные через сервер, но легко случайно задублировать запросы в компоненте и composable. Для сложных страниц лучше заранее решить: что должно прийти в HTML, что можно догрузить после, и где нужен
Третья проблема — кэш и навигация. Если маршрут меняется, а состояние живёт слишком долго, пользователь видит старые фильтры, старые списки и старый SEO-текст. Лечится дисциплиной: сбрасывать состояние на входе в страницу, явно управлять ключами данных и не хранить UI-состояние там, где оно переживает переходы без причины.
Хороший Nuxt — это не магия фреймворка, а строгая граница между сервером, клиентом и кэшем.
Если проект на Nuxt начинает вести себя «почти как работает», сначала проверьте базовые вещи:
— данные тянутся и на сервере, и в браузере;
— один и тот же fetch не живёт в двух местах;
— страница не зависит от того, успел ли клиент дорендерить DOM.
Самая частая ошибка — путать SSR и клиентскую логику. Любой код с window, document, localStorage и размером экрана надо держать за пределами серверного рендера. Иначе получите расхождение HTML, лишние перерисовки или тихие баги, которые проявляются только у части пользователей.
Вторая зона риска — data fetching. В Nuxt удобно раздать данные через сервер, но легко случайно задублировать запросы в компоненте и composable. Для сложных страниц лучше заранее решить: что должно прийти в HTML, что можно догрузить после, и где нужен
useAsyncData, а где — обычный клиентский запрос.Третья проблема — кэш и навигация. Если маршрут меняется, а состояние живёт слишком долго, пользователь видит старые фильтры, старые списки и старый SEO-текст. Лечится дисциплиной: сбрасывать состояние на входе в страницу, явно управлять ключами данных и не хранить UI-состояние там, где оно переживает переходы без причины.
Хороший Nuxt — это не магия фреймворка, а строгая граница между сервером, клиентом и кэшем.
TanStack — это не «ещё одна библиотека», а набор решений, которые надо собирать как конструктор
Если в проекте нужен только table — не тащите весь стек «на всякий случай». У TanStack каждый пакет решает свою задачу: router, query, table, virtual. Это удобно, но только если заранее понятно, где у вас источник истины: сервер, URL или локальное состояние.
Главная ошибка — смешивать ответственность. Query должен отвечать за кэш и синхронизацию данных, Router — за навигацию и параметры, Table — за отображение и трансформацию строк. Если фильтры живут в одном месте, а сортировка в другом, вы быстро получаете дублирование состояния и странные баги при back/forward.
Для SaaS-панели и админок проверяйте три вещи:
— можно ли восстановить экран из URL;
— не ломается ли кеш при смене фильтра;
— не тянет ли таблица лишние ререндеры на больших списках.
Именно здесь TanStack раскрывается лучше всего: он не навязывает архитектуру, но жестко наказывает за хаос в данных.
Если коротко: сначала проектируйте потоки данных, потом подключайте пакеты. TanStack хорошо работает там, где интерфейс сложный, а состояние нужно держать под контролем, а не размазывать по компонентам.
Если в проекте нужен только table — не тащите весь стек «на всякий случай». У TanStack каждый пакет решает свою задачу: router, query, table, virtual. Это удобно, но только если заранее понятно, где у вас источник истины: сервер, URL или локальное состояние.
Главная ошибка — смешивать ответственность. Query должен отвечать за кэш и синхронизацию данных, Router — за навигацию и параметры, Table — за отображение и трансформацию строк. Если фильтры живут в одном месте, а сортировка в другом, вы быстро получаете дублирование состояния и странные баги при back/forward.
Для SaaS-панели и админок проверяйте три вещи:
— можно ли восстановить экран из URL;
— не ломается ли кеш при смене фильтра;
— не тянет ли таблица лишние ререндеры на больших списках.
Именно здесь TanStack раскрывается лучше всего: он не навязывает архитектуру, но жестко наказывает за хаос в данных.
Если коротко: сначала проектируйте потоки данных, потом подключайте пакеты. TanStack хорошо работает там, где интерфейс сложный, а состояние нужно держать под контролем, а не размазывать по компонентам.
Dev community не растёт от постов — она растёт от повторяемых сценариев
Если у вас есть SDK, docs или API, комьюнити появляется не вокруг «бренда», а вокруг трёх вещей: как быстро поднять первый запрос, куда задать вопрос и как получить ответ без танцев. Без этого люди не «вовлекаются» — они просто уходят в поддержку.
Рабочая база выглядит скучно:
— один короткий quickstart с копипастой;
— один канал для багов и один для вопросов;
— примеры не на абстрактном JS, а на тех языках, где реально сидит ваша аудитория;
— ответы в одном стиле, без сюрпризов и перекидывания между чатами.
Дальше важен ритм. Комьюнити умирает, когда все обсуждения сводятся к релизам и анонсам. Живёт оно там, где есть разборы интеграций, антипримеров, edge cases и готовые паттерны: как логировать ошибки, как ретраить запросы, как не ломать webhook-цепочку. Это уже не «поддержка», а библиотека рабочих решений.
Если хотите, чтобы dev-аудитория возвращалась, уберите трение: меньше форм, меньше обязательной регистрации, меньше ссылок на “подробности”. Дайте путь от вопроса до ответа в два клика — и комьюнити начнёт работать как продукт, а не как чат для жалоб.
Если у вас есть SDK, docs или API, комьюнити появляется не вокруг «бренда», а вокруг трёх вещей: как быстро поднять первый запрос, куда задать вопрос и как получить ответ без танцев. Без этого люди не «вовлекаются» — они просто уходят в поддержку.
Рабочая база выглядит скучно:
— один короткий quickstart с копипастой;
— один канал для багов и один для вопросов;
— примеры не на абстрактном JS, а на тех языках, где реально сидит ваша аудитория;
— ответы в одном стиле, без сюрпризов и перекидывания между чатами.
Дальше важен ритм. Комьюнити умирает, когда все обсуждения сводятся к релизам и анонсам. Живёт оно там, где есть разборы интеграций, антипримеров, edge cases и готовые паттерны: как логировать ошибки, как ретраить запросы, как не ломать webhook-цепочку. Это уже не «поддержка», а библиотека рабочих решений.
Если хотите, чтобы dev-аудитория возвращалась, уберите трение: меньше форм, меньше обязательной регистрации, меньше ссылок на “подробности”. Дайте путь от вопроса до ответа в два клика — и комьюнити начнёт работать как продукт, а не как чат для жалоб.
Как не убить dev-community: 5 правил, которые работают без бюджета и шума
Dev-community не строится на «давайте соберём людей в чат». Люди приходят туда за ответами, примерами кода и нормальной обратной связью. Если этого нет — чат превращается в склад ссылок и молчания.
— Начинайте не с комьюнити, а с конкретной боли: авторизация, webhooks, rate limits, интеграции, ошибки SDK.
— Снижайте порог входа: один понятный quickstart, один рабочий пример, один путь до первого запроса.
— Не заставляйте людей угадывать, куда писать. Вопросы по API, баги, идеи для фич — в разных каналах или хотя бы с тэгами.
— Отвечайте как инженеры, а не как саппорт из шаблонов: с контекстом, примером и ссылкой на кусок доки.
— Публикуйте не только анонсы, но и разборы ошибок, типовые паттерны, анти-паттерны интеграций.
Самая частая ошибка — пытаться «активировать» комьюнити конкурсами и опросами, когда у продукта ещё не закрыт базовый DX. Люди не возвращаются ради шума; они возвращаются, когда понимают, что здесь быстрее решают их задачу.
Если у вас есть docs, SDK и support — комьюнити можно строить вокруг них. Если нет — начните с документации и первого сценария, который не стыдно показать.
Dev-community не строится на «давайте соберём людей в чат». Люди приходят туда за ответами, примерами кода и нормальной обратной связью. Если этого нет — чат превращается в склад ссылок и молчания.
— Начинайте не с комьюнити, а с конкретной боли: авторизация, webhooks, rate limits, интеграции, ошибки SDK.
— Снижайте порог входа: один понятный quickstart, один рабочий пример, один путь до первого запроса.
— Не заставляйте людей угадывать, куда писать. Вопросы по API, баги, идеи для фич — в разных каналах или хотя бы с тэгами.
— Отвечайте как инженеры, а не как саппорт из шаблонов: с контекстом, примером и ссылкой на кусок доки.
— Публикуйте не только анонсы, но и разборы ошибок, типовые паттерны, анти-паттерны интеграций.
Самая частая ошибка — пытаться «активировать» комьюнити конкурсами и опросами, когда у продукта ещё не закрыт базовый DX. Люди не возвращаются ради шума; они возвращаются, когда понимают, что здесь быстрее решают их задачу.
Если у вас есть docs, SDK и support — комьюнити можно строить вокруг них. Если нет — начните с документации и первого сценария, который не стыдно показать.
This media is not supported in your browser
VIEW IN TELEGRAM
Как уходят из арбитража трафика: интервью с бывшим медиабайером
Интервью с арбитражником, который отработал в сфере с 2019 года и ушёл в другую профессию. Герой рассказывает о работе в Adcombo с тизерками, переходе в криптовертикаль и прямом выкупе трафика, а затем о причинах ухода: выгорание, сложности с поиском новой позиции и переоценка приоритетов. Статья развенчивает миф о лёгких деньгах в арбитраже — это обычная работа с высокими рисками, дефицитом информации и эмоциональным истощением. Выво…
➡️ Читайте на сайте: https://aff.top/blog/kak-ukhodiat-iz-arbitrazha-trafika-interviu-s-byvshim-mediabaierom
🧠 Ещё больше инсайтов → в канале AFF.top
Интервью с арбитражником, который отработал в сфере с 2019 года и ушёл в другую профессию. Герой рассказывает о работе в Adcombo с тизерками, переходе в криптовертикаль и прямом выкупе трафика, а затем о причинах ухода: выгорание, сложности с поиском новой позиции и переоценка приоритетов. Статья развенчивает миф о лёгких деньгах в арбитраже — это обычная работа с высокими рисками, дефицитом информации и эмоциональным истощением. Выво…
➡️ Читайте на сайте: https://aff.top/blog/kak-ukhodiat-iz-arbitrazha-trafika-interviu-s-byvshim-mediabaierom
🧠 Ещё больше инсайтов → в канале AFF.top
Dev community не строится на “контенте для всех” — ей нужен рабочий путь в продукт
Если разработчик впервые попал в ваш комьюнити, у него должен быть ответ на 3 вопроса за 5 минут:
— где взять пример кода;
— как запустить без ручной магии;
— куда писать, если сломалось.
Комьюнити умирает не от низкой активности, а от лишнего трения. Частые ошибки:
— чат есть, а docs размазаны по постам;
— SDK есть, а нет минимального quickstart;
— вопросы копятся в личках, а ответы не превращаются в базу знаний.
Полезная схема простая: docs → example → sandbox → support. Если человек может повторить чужой сценарий, потом изменить его под свой кейс и быстро получить ответ на ошибку, комьюнити начинает жить само. Не надо сразу строить “пространство экспертов”; сначала дайте маршрут новичку.
Если ваш дев не дошёл до первого рабочего запроса, это не комьюнити, а ожидание чата.
Если разработчик впервые попал в ваш комьюнити, у него должен быть ответ на 3 вопроса за 5 минут:
— где взять пример кода;
— как запустить без ручной магии;
— куда писать, если сломалось.
Комьюнити умирает не от низкой активности, а от лишнего трения. Частые ошибки:
— чат есть, а docs размазаны по постам;
— SDK есть, а нет минимального quickstart;
— вопросы копятся в личках, а ответы не превращаются в базу знаний.
Полезная схема простая: docs → example → sandbox → support. Если человек может повторить чужой сценарий, потом изменить его под свой кейс и быстро получить ответ на ошибку, комьюнити начинает жить само. Не надо сразу строить “пространство экспертов”; сначала дайте маршрут новичку.
Если ваш дев не дошёл до первого рабочего запроса, это не комьюнити, а ожидание чата.
DX ломается не в SDK: 5 мест, где дев теряет первый успех
Time-to-first-call у продукта часто портит не API, а обвязка вокруг него. Если до первого рабочего запроса нужно читать 20 страниц или собирать окружение вручную — дев закрывает вкладку, даже если сам сервис нормальный.
Проверьте onboarding по этому чек-листу:
— один минимальный сценарий без выбора из 10 флоу;
— рабочий пример в curl и в одном языке;
— токен/ключ создаётся без лишних экранов;
— ошибки возвращают понятный текст, а не “invalid request”;
— в примере есть реальные поля, а не псевдоданные из воздуха.
Частая проблема — docs пишут как справочник, а не как маршрут. Деву нужен путь:
Ещё один тихий убийца DX — несостыковка между docs и SDK. Если в SDK один нейминг, а в API-доках другой, поддержка будет ловить вопросы про “почему не работает ваш пример”. Лучше один источник правды и генерация примеров из него.
Если хотите улучшить DX без переписывания продукта, начните с первого запроса: сократите шаги, уберите лишние решения и дайте один гарантированный путь до успеха.
Time-to-first-call у продукта часто портит не API, а обвязка вокруг него. Если до первого рабочего запроса нужно читать 20 страниц или собирать окружение вручную — дев закрывает вкладку, даже если сам сервис нормальный.
Проверьте onboarding по этому чек-листу:
— один минимальный сценарий без выбора из 10 флоу;
— рабочий пример в curl и в одном языке;
— токен/ключ создаётся без лишних экранов;
— ошибки возвращают понятный текст, а не “invalid request”;
— в примере есть реальные поля, а не псевдоданные из воздуха.
Частая проблема — docs пишут как справочник, а не как маршрут. Деву нужен путь:
создал ключ → вставил пример → получил ответ. Всё, что не помогает пройти этот путь, надо убирать в разделы второго уровня.Ещё один тихий убийца DX — несостыковка между docs и SDK. Если в SDK один нейминг, а в API-доках другой, поддержка будет ловить вопросы про “почему не работает ваш пример”. Лучше один источник правды и генерация примеров из него.
Если хотите улучшить DX без переписывания продукта, начните с первого запроса: сократите шаги, уберите лишние решения и дайте один гарантированный путь до успеха.