JuniorPython Developer > Основы Python > Проектирование API
Короткий ответ REST — архитектурный стиль для сетевых API, основанный на ресурсах, адресуемых по URL, и операциях над ними через стандартные HTTP-методы; ключевые принципы — клиент-серверность, отсутствие состояния сессии на сервере (statelessness), кэшируемость, единообразный интерфейс и слоистость. Как это работает подробнее каждый ресурс (пользователь, заказ) имеет уникальный URL; состояние приложения передаётся клиентом в каждом запросе (например, через токен), а не хранится сервером между запросами — это упрощает масштабирование и отказоустойчивость. Пример кода Что использовать на практике Рекомендация. "RESTful API" на практике часто означает "HTTP API с ресурсами и JSON", без строгого соблюдения всех академических принципов (например, HATEOAS редко реализуют полностью). Важно согласовать с командой, какие принципы обязательны для конкретного API, и зафиксировать это в контракте. Подводные камни Риски. хранить состояние сессии в памяти процесса сервера (нарушает statelessness и мешает горизонтальному м
httpresources
JuniorJava Developer > Java Core > REST API
Короткий ответ REST (REpresentational State Transfer) — архитектурный стиль, основанный на веб-стандартах: он использует протокол HTTP для обмена данными. Всё содержимое рассматривается как ресурсы: каждый ресурс идентифицируется URI и доступен через единый интерфейс HTTP-методов, а клиент получает его представление — обычно JSON или XML. Веб-сервисы, построенные по этому стилю, называют RESTful; ключевой принцип — отсутствие состояния на сервере (statelessness). Как это работает подробнее Идемпотентность означает, что повторное выполнение одной и той же операции даёт тот же результат: состояние ресурса не меняется от количества вызовов. Статус-коды HTTP сообщают клиенту об исходе запроса. Методы: GET — получение ресурса (безопасный); POST — создание или добавление данных; PUT — полная замена или обновление; DELETE — удаление; PATCH — частичное обновление; также есть OPTIONS и HEAD. Идемпотентны: GET, PUT и DELETE. POST не идемпотентен: повторный POST может создать несколько ресурсов. Статус-коды: 200 OK; 201
apihttp
JuniorPerformance Marketer > Google Ads > Метрики рекламных кампаний
Короткий ответ ROAS обычно выражают в коэффициенте или процентах: значение 4 означает четыре единицы выручки на единицу медиазатрат. Платформенные и CRM-расчёты могут различаться из-за атрибуции. Как это работает подробнее ROAS = Выручка от рекламы / Расход на рекламу; его часто выражают в разах или в процентах, например ROAS 400% означает 4 единицы выручки на единицу расхода. Некоторые платформы в своих отчётах по умолчанию считают ROAS по собственной атрибуции внутри кабинета, которая может отличаться от ROAS, посчитанного на основе данных CRM или сквозной аналитики. Пример кода Что использовать на практике Сверяйте выручку, период и модель атрибуции; для товаров с разной маржой анализируйте ROAS по категориям и сопоставляйте его с маржинальностью. Подводные камни Высокий ROAS не гарантирует прибыльность. Разовый крупный заказ или неверно приписанная выручка может исказить короткий период.
ad-spendattribution
JuniorPerformance Marketer > Google Ads > Тестирование гипотез и запуск изменений
Короткий ответ Rollback — это возврат к предыдущей (рабочей) версии кампании, креатива, лендинга или настройки после того, как изменение показало негативный результат или вызвало проблему, чтобы быстро остановить потери. Как это работает подробнее Перед откатом важно иметь сохранённую копию предыдущих настроек (резервную версию лендинга, скриншот структуры кампании, экспортированные настройки), чтобы вернуться к ней быстро и без ошибок. В некоторых случаях откат может быть частичным — например, вернуть только форму заявки на лендинге, сохранив остальной обновлённый дизайн, если проблема локализована именно в этом блоке. Пример. После обновления лендинга конверсия упала с 4% до 1% за два дня; маркетолог возвращает архивную версию лендинга (сохранённую перед изменением) и останавливает показы на новую версию до выяснения причины падения. Что использовать на практике Практика. Решение об откате принимают не только по «плохим цифрам», но и при явных технических сбоях (ошибка на лендинге, неверный трекинг, отклоне
ab-testingad-creatives
JuniorDevOps Engineer > Контейнеры и доставка > Надёжность и инцидент-менеджмент
Короткий ответ RPO (Recovery Point Objective) — максимально допустимый объём потерянных данных, измеряемый временем с последней консистентной точки восстановления; RTO (Recovery Time Objective) — максимально допустимое время простоя до восстановления сервиса. Как это работает подробнее RPO определяет, как часто нужно делать бэкапы или реплицировать данные (если RPO = 1 час, бэкапы раз в сутки не подходят), а RTO определяет, какие механизмы восстановления нужны (холодный бэкап восстанавливается медленно, горячая реплика — быстро). Пример / кейс Для интернет-магазина бизнес требует RPO ≤ 15 минут и RTO ≤ 1 час для базы заказов. Ожидаемое поведение: нужна репликация базы с лагом менее 15 минут (например, логическая репликация или WAL-шиппинг) и готовый, многократно протестированный runbook восстановления, который укладывается в 1 час — простое "бэкап раз в сутки" этим требованиям не соответствует. Что использовать на практике Практический подход. Эти метрики задают бизнес-владельцы продукта исходя из допустимых
backupincident-response
MiddleDevOps Engineer > Контейнеры и доставка > Безопасность и DevSecOps
Короткий ответ SBOM — это машиночитаемый «список состава» артефакта (всех включённых библиотек и их версий); при обнаружении новой уязвимости в конкретной библиотеке SBOM позволяет быстро найти все артефакты и сервисы, где она используется, без повторного ручного анализа каждого проекта. Как это работает подробнее при сборке образа или пакета SBOM-генератор (Syft, cdxgen) анализирует все установленные зависимости и их точные версии и сохраняет результат в стандартном формате (SPDX, CycloneDX) рядом с артефактом или в отдельном реестре. Это снимок состава на момент сборки, независимый от последующего сканирования уязвимостей. Пример кода Что использовать на практике Практика. SBOM хранят централизованно для всех выпущенных артефактов и прогоняют через него поиск при появлении новой громкой уязвимости (как в случае с Log4Shell) — вместо того, чтобы вручную проверять каждый сервис, делают запрос по всем SBOM на наличие конкретной библиотеки и версии. SBOM также требуют некоторые заказчики/регуляторы как часть до
ci-cdcve
JuniorData Analyst > SQL и данные > Python для анализа данных
Короткий ответ Series — одномерный массив значений с индексом (по сути один столбец), а DataFrame — двумерная таблица из нескольких Series, выровненных по общему индексу строк. Как это работает подробнее Series хранит однородные (или object) значения плюс метки индекса для доступа по ключу; DataFrame — это набор именованных столбцов-Series, каждый со своим dtype, но с общим индексом строк. Пример кода Что использовать на практике На практике: df['col'] возвращает Series, а df[['col']] — DataFrame из одного столбца; это различие важно при построении цепочек методов, где следующий метод ожидает конкретный тип. Проверка: вывод type() подтверждает, что одинарные и двойные скобки дают разные типы объекта. Подводные камни Частые ошибки: путают df['col'] и df[['col']], из-за чего код падает на методах, специфичных для DataFrame; забывают, что арифметика между двумя Series выравнивается по индексу, а не по позиции, и при несовпадающих индексах получаются NaN вместо ожидаемого результата.
dataframeindex
JuniorPython Developer > Основы Python > Безопасность приложения
Короткий ответ SQL-инъекция — это внедрение произвольного SQL-кода через непроверенный пользовательский ввод, который подставляется в запрос как часть текста; код уязвим, потому что формирует SQL-строку через f-string вместо параметризованного запроса. Как это работает подробнее Если ввод пользователя напрямую вставляется в текст SQL-запроса, атакующий может передать фрагмент, который изменит логику запроса (например, добавит OR 1=1 или завершит запрос и начнёт новый). Пример кода Что использовать на практике Практика. Защита — параметризованные запросы (placeholders), где драйвер БД сам экранирует значения и никогда не интерпретирует их как часть SQL-синтаксиса; ORM вроде SQLAlchemy/Django ORM по умолчанию параметризует запросы, но raw SQL и text() всё ещё можно использовать небезопасно. Подводные камни Риск. Считают, что экранирование кавычек вручную достаточно безопасно; доверяют «внутренним» данным без параметризации; используют f-строки/%-форматирование для построения SQL с пользовательским вводом.
parameterized-queriessecurity
JuniorSMM Manager > Общее > Брендбук и Tone of Voice
Короткий ответ Tone of Voice — это описанный стиль и манера речи бренда (лексика, обращение к аудитории, допустимые шутки и эмоции), который помогает писать тексты так, чтобы они узнавались как «голос» именно этого бренда, а не случайного автора. Как это работает подробнее ToV фиксируется в документе как набор правил: на «ты» или «вы», уровень формальности, допустимость юмора и эмоций, слова-табу, примеры «так — не так». Что использовать на практике Подход. перед написанием текста SMM-менеджер сверяется с документом ToV, а не придумывает стиль на ходу; при отсутствии документа — собирает примеры удачных текстов бренда и уточняет у маркетолога/клиента ключевые ограничения. Пример. Фрагмент ToV бренда доставки еды: «Обращение на "ты", тон — дружелюбный и слегка ироничный, эмодзи — умеренно (1–2 на пост), табу — слова "халява", "дешёвка"». Пост «Забронируй дешёвку прямо сейчас » нарушает оба правила (табу-слово и избыток эмодзи) и должен быть переписан до публикации; проверка — соответствие чек-листу ToV перед п
brand-guidelinesbrand-management
JuniorSMM Manager > Общее > Контент-стратегия
Короткий ответ Tone of voice — это описание того, как бренд «говорит» с аудиторией (формально или дружелюбно, с юмором или строго), его фиксируют заранее, чтобы разные авторы и исполнители писали в едином стиле, а не каждый по-своему. Как это работает подробнее tone of voice описывают через примеры допустимых и недопустимых формулировок, список слов, которые бренд использует или избегает, и общий характер коммуникации. Что использовать на практике На практике. документ с tone of voice прикладывают к брифам для копирайтеров, чтобы контент оставался узнаваемым даже при смене исполнителя. Пример. Документ tone of voice: «Обращаемся на "ты", используем смайлы умеренно, не используем канцеляризмы типа "осуществляем доставку"». Проверка: выборочная проверка 5 последних постов на соответствие этим правилам перед публикацией. Подводные камни Частые ошибки. описывать tone of voice абстрактно («дружелюбный, современный») без конкретных примеров, из-за чего разные авторы интерпретируют его по-разному; менять стиль речи
content-planningcontent-strategy