JuniorPerformance Marketer > Google Ads > Специфика рекламных площадок и каналов
Короткий ответ Поисковая сеть показывает текстовые объявления в ответ на явный запрос пользователя, то есть ловит существующий спрос; КМС показывает объявления на сайтах-партнёрах и в приложениях на основе интересов, контекста или ремаркетинга, то есть формирует или подогревает спрос. Как это работает подробнее в Поиске аукцион запускается при вводе запроса, релевантного ключевым словам, и объявление конкурирует напрямую с другими рекламодателями по этому запросу; в КМС показ определяется подбором аудитории/темы/контекста страницы заранее, с заметно более низкой ценой клика, но и обычно более низким качеством трафика по намерению. Что использовать на практике На практике. Поиск обычно используют для спроса с высокой готовностью купить, а КМС — для охвата, ремаркетинга и первого касания в верхней части воронки; смешивать бюджет и KPI этих сетей без разделения в отчётах искажает оценку эффективности. Пример. Кампания в Поиске по запросу «купить зимние шины» даёт CPA 500 ₽, а параллельная КМС-кампания с ремаркет
campaign-objectivesdisplay-network
MiddlePerformance Marketer > Google Ads > Трекинг и аналитика
Короткий ответ Браузерный код прост в установке, но зависит от выполнения скрипта; серверная передача может учитывать CRM или статус платёжной системы и обогащать событие. Как это работает подробнее Pixel зависит от выполнения JS-кода в браузере пользователя в реальном времени; CAPI отправляется с backend-сервера бизнеса, например после подтверждения оплаты платёжной системой, что позволяет отправлять события даже если пользователь закрыл браузер сразу после оплаты или использует блокировщик. Технически CAPI требует backend-разработки или готового коннектора, например через популярные интеграции CMS/CRM, тогда как пиксель можно установить, вставив готовый код в шаблон сайта без изменений на сервере. Что использовать на практике Если нет ресурсов на собственную разработку, рассмотрите проверенную CMS-интеграцию или серверный тег-менеджер; тестируйте фактическую оплату и передачу параметров. Подводные камни Серверное событие не становится автоматически точнее атрибуционно: сопоставление зависит от переданных ра
client-side-trackingconversions-api
JuniorDevOps Engineer > Контейнеры и доставка > Основы контейнеров
Короткий ответ Dockerfile — текстовый рецепт сборки (исходный код, который можно хранить в Git), а образ — это бинарный артефакт, полученный в результате выполнения этого рецепта командой docker build. Как это работает подробнее docker build читает Dockerfile, последовательно выполняет инструкции и производит набор слоёв с метаданными — это и есть образ, сохранённый локально и идентифицируемый по digest. Dockerfile сам по себе не запускается и ничего не хранит — это только инструкция для сборщика. Пример кода Что использовать на практике Практика. один и тот же Dockerfile, собранный в разное время (например, при изменившемся базовом образе или зависимостях без фиксации версий), может дать разные по содержимому образы — поэтому важно различать "код инфраструктуры" (Dockerfile в репозитории) и конкретный "артефакт" (собранный и протегированный образ), который реально развёртывается. Подводные камни Риск. хранят только Dockerfile без зафиксированного и опубликованного в реестре образа и пытаются "пересобрать то
container-imagescontainers
MiddlePerformance Marketer > Google Ads > Серверный трекинг
Короткий ответ Серверный GTM — это отдельный контейнер, который работает не в браузере пользователя, а на выделенном сервере (например, в облаке) и получает события от сайта один раз, после чего сам распределяет их по нужным площадкам; это уменьшает количество прямых запросов из браузера к сторонним доменам и даёт больше контроля над данными перед отправкой. Как это работает подробнее Вместо того чтобы каждый тег (Meta, TikTok, аналитика) отправлял запрос прямо из браузера пользователя на сервер своей площадки, браузер отправляет одно событие на собственный серверный endpoint, а серверный контейнер GTM уже сам пересылает (и при необходимости обрабатывает, обогащает или фильтрует) эти данные дальше нужным площадкам. Такой перенос точки отправки данных с браузера на сервер также даёт побочный эффект: сайт получает больше контроля над тем, какие данные и в каком виде передаются каждой платформе, что упрощает соблюдение требований к приватности и фильтрацию чувствительных параметров перед отправкой. Что использов
capiconversion-tracking
JuniorPython Developer > Основы Python > Доступ к базе из Python
Короткий ответ psycopg2 — синхронный драйвер, каждый вызов блокирует текущий поток/процесс до получения ответа от БД, а asyncpg — асинхронный драйвер, работающий через event loop asyncio и позволяющий не блокировать поток на время ожидания ответа от сети/БД. Как это работает подробнее psycopg2 выполняет сетевой I/O синхронно, поэтому внутри асинхронного приложения (например, FastAPI с async def) вызов psycopg2 заблокирует весь event loop, если не выполнить его в отдельном потоке. asyncpg встраивается в event loop через await, уступая управление другим задачам на время ожидания сети. Пример кода Что использовать на практике Практика. Для асинхронных фреймворков (FastAPI, aiohttp) выбирают asyncpg или async-обёртки SQLAlchemy/Django ORM; для классических WSGI-приложений (Flask, обычный Django) psycopg2 остаётся стандартным выбором. Подводные камни Ошибка. Вызывают синхронный psycopg2 напрямую внутри async def обработчика без выноса в threadpool, убирая выигрыш от асинхронности — один медленный запрос блокирует
asyncpgdatabase-access
MiddlePerformance Marketer > Google Ads > Тестирование гипотез и запуск изменений
Короткий ответ Чем больше вариантов сравнивается одновременно с контролем, тем выше вероятность случайно найти хотя бы один «значимый» результат просто за счёт количества сравнений, даже если ни один вариант реально не лучше контроля. Как это работает подробнее Каждое отдельное сравнение имеет, например, 5%-й шанс ложноположительного результата; при 10 одновременных сравнениях суммарная вероятность хотя бы одного ложного «победителя» значительно превышает 5%. Поправка Бонферрони — один из самых консервативных методов (делит порог значимости на число сравнений), есть и менее строгие альтернативы (метод Холма), сохраняющие больше статистической мощности. Пример. 8 креативов протестированы против контроля при пороге значимости 5% Ожидаемая вероятность хотя бы одного ложноположительного результата: 1 - (0.95)^8 ~ 34% Поэтому «победителя» из такого теста логично подтвердить отдельным прямым A/B-тестом против контроля. Что использовать на практике Практика. При тестировании сразу нескольких вариантов стоит либо кор
ab-testingad-creatives
MiddlePython Developer > Основы Python > Очереди и события
Короткий ответ При раздельной записи в БД и публикации в очередь без общей транзакции возможна рассинхронизация: БД обновилась, а сообщение не отправлено (или наоборот), поскольку это два независимых ресурса без атомарной гарантии между ними. Как это работает подробнее Последовательность «commit в БД, затем publish в очередь» оставляет окно между операциями, где процесс может упасть после коммита, до publish — сообщение не отправится, а данные уже изменены. Пример кода Что использовать на практике Практика. Двухфазные транзакции (XA) между БД и большинством брокеров почти не используются из-за сложности и блокировок; практическое решение — Transactional Outbox либо change data capture. Подводные камни Риск. Оборачивать публикацию в try/except и повторять при любой ошибке без идемпотентности на стороне consumer — снижает потерю, но может привести к дублям; игнорировать проблему вовсе.
event-drivenmessage-queues
JuniorSMM Manager > Общее > Площадки и основы SMM
Короткий ответ В Instagram аудитория чаще ждёт визуально выверенного контента (фото, видео, эстетика бренда), в TikTok — развлекательного и аутентичного видео, часто менее «отполированного», а в X/Twitter — оперативных текстовых высказываний, мнений и реакции на актуальные события; это общие тенденции, а не жёсткое правило для каждой ниши и каждой страны. Как это работает подробнее эти ожидания формируются форматами платформы (визуальная лента и Stories в Instagram, короткое видео на весь экран в TikTok, короткий текст в X/Twitter) и устоявшимися привычками пользователей, которые приходят на площадку за конкретным типом контента. Что использовать на практике Рекомендация. перед запуском на новой площадке стоит изучить, какой контент там органически получает отклик у похожих аккаунтов в своей нише, а не переносить ожидания с одной платформы на другую без проверки. Подводные камни Риск. считать, что «отполированный» рекламный визуал из Instagram будет работать так же в TikTok; игнорировать актуальные инфоповоды
instagramplatform-strategy
MiddlePython Developer > Основы Python > Объектно-ориентированное программирование
Короткий ответ Методы экземпляра первым аргументом получают self, методы класса — cls, а статические методы не получают ни того ни другого. Выбор зависит от того, какие данные нужны методу: экземпляра, класса или никакие. Как это работает подробнее Метод экземпляра. Первым параметром принимает self — ссылку на конкретный объект — и может читать и менять атрибуты этого экземпляра. Метод класса. Помечается @classmethod, первым параметром получает cls — сам класс — и работает с данными уровня класса. Альтернативный конструктор. Метод класса может возвращать экземпляры класса и вызывается как от самого класса, так и от экземпляра, в обоих случаях получая правильный класс. Статический метод. @staticmethod не принимает ни self, ни cls — это функция, логически связанная с предметной областью класса, для утилитарных операций. Пример кода Что использовать на практике Альтернативные конструкторы. Через @classmethod добавляй удобные способы создания экземпляров, например из строки или словаря. Утилиты. Вспомогательные ф
classmethodmethods
JuniorData Analyst > SQL и данные > Инструменты и инженерные практики
Короткий ответ git add помечает изменённые файлы для включения в следующий коммит, git commit сохраняет эти изменения локально с сообщением, а git push отправляет локальные коммиты в удалённый репозиторий; из репозитория стоит исключать пароли/токены к базам данных, большие сырые датасеты и локальные конфиги через .gitignore. Как это работает подробнее Как это работает: репозиторий Git состоит из трёх зон — рабочая директория (файлы на диске), staging area (то, что подготовлено к коммиту через add) и история коммитов (локальная до push); .gitignore — это файл с шаблонами путей, которые Git не будет отслеживать и предлагать добавить. Пример кода Что использовать на практике На практике: типичный .gitignore аналитика включает *.csv, *.xlsx (если это не маленькие справочники), .env, config.ini с кредами, __pycache__/, .ipynb_checkpoints/; реальные датасеты и секреты хранят отдельно (хранилище данных, секрет-менеджер), а в репозитории — только код и, возможно, небольшие тестовые данные. Пример и проверка. Проверк
gitgitignore