Как стать автором
Обновить
349.05
Ozon Tech
Стремимся делать лучший e-commerce в России
Сначала показывать

Android. Принять себя или Cookie?

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров7.6K

Печенья, кеки, кукисы, ку-ку, кексы… нет, куки!

– Cookie — это что? 

– Почему их не нужно принимать?

– Безопасно ли это?

– CookieJar, CookieManager, CookieStore… WebView?

А также истории про то, как жить с cookie в большом приложении, и сколько эмоций вы испытаете, если в вашем приложении есть WebView.

Читать далее
Всего голосов 22: ↑22 и ↓0+22
Комментарии5

Как в Ozon следят за чувствительной информацией в логах и при чем тут Толкин?

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров8.6K

Летом 2023 года во время выступления на одной из ИБ-конференций представителю вендора задали вопрос: «А как бороться с секретами и другой чувствительной информацией в логах? Контролировать миллионы записей в сутки довольно трудно». К моему удивлению, вендор ответил, что на текущий момент в России нет таких решений. Удивился я потому, что мы уже отладили к тому времени инструмент для решения именно этой проблемы. Но давайте обо всем по порядку. 

Читать далее
Всего голосов 25: ↑25 и ↓0+25
Комментарии9

Clickhouse, Grafana и 3000 графиков. Как построить систему быстрых дашбордов

Время на прочтение17 мин
Количество просмотров28K

Меня зовут Валя Борисов, и я — аналитик в команде Ozon. Задача нашей команды — создавать инструменты для мониторинга и анализа скорости. 

Наши усилия направлены на то, чтобы в реальном времени следить за тем, как быстро работают наши сервисы и платформа. Благодаря инструментам, которые мы создаём и поддерживаем, команды разработки получают представление о том, как пользователи видят работу нашего сайта или приложения. Мы помогаем выявлять причины деградации скорости и определять узкие места в инфраструктуре.

Наши дашборды играют ключевую роль в предоставлении информации о скорости работы платформы. Вместе с командой аналитиков я занимаюсь созданием и поддержкой этой системы в Grafana. Мы стремимся делать ее не только информативной, но и быстрой, стабильной и удобной для всех пользователей. В этой статье я хочу поделиться методами и приемами, к которым мы пришли в процессе работы.

Читать далее
Всего голосов 41: ↑41 и ↓0+41
Комментарии25

Как департамент утилизации CPU превратился в департамент экономии железа, выдерживающий нагрузку в 1 млн RPS

Уровень сложностиПростой
Время на прочтение26 мин
Количество просмотров33K

Привет, меня зовут Мария, когда-то я работала на шахте, потом на заводе, а 3.5 года назад пришла в Ozon Tech. Сейчас я старший Golang-разработчик в команде product-facade. Это самый высоконагруженный сервис маркетплейса, но так было не всегда.

Хотите узнать, что скрывается под витриной маркетплейса? Что держит нагрузку в 1 миллион запросов в секунду? Толстые кэши или нечто большее? Про то, как устроено наше кэширование и как мы к этому пришли, — рассказываю в статье.

Читать далее
Всего голосов 128: ↑128 и ↓0+128
Комментарии96

Как выращивать SOC на корпоративной ферме

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров4.7K

Леди и джентльмены!

Эта история о том, как группа из пяти инженеров-универсалов в течение года преобразовалась и выросла в полномасштабный Security Operations Center из трёх специализированных линий.

Когда-то мы и правда считали, что можем в 4-5 пар глаз отслеживать состояние всех критически важных сервисов и ситуативно автоматизировать самую унылую рутину, хорошо хоть вовремя опомнились.

Как это было
Всего голосов 21: ↑21 и ↓0+21
Комментарии4

Готов ли Swift OpenAPI Generator для продуктивного кода?

Время на прочтение17 мин
Количество просмотров3.6K

Привет! Меня зовут Андрей, я iOS-разработчик приложения «Пункт Ozon». С помощью него сотрудники пунктов выдачи Ozon выдают посылки, принимают возвраты, проводят инвентаризации. 

Мы хотим упростить работу с OpenAPI-спецификациями, внедрив кодогенерацию для автоматического создания кода на Swift из YAML- или JSON-файла спецификации. Это позволяет автоматизировать создание DTO, сделать их единообразными и повысить эффективность разработки. Кодогенератор также упрощает сетевой слой, генерируя методы API, наборы параметров, заголовки и т.д.

На WWDC `23 Apple представила свой Open Source-генератор Swift OpenAPI Generator, который как раз и решает эту задачу. Давайте рассмотрим, готов ли в текущем виде Swift OpenAPI Generator для решения нашей проблемы.

Читать далее
Всего голосов 16: ↑16 и ↓0+16
Комментарии5

Как мы запустили автобиддер для управления рекламными кампаниями в Ozon?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.3K

Привет! Меня зовут Артём, я руковожу командой эффективности рекламы в Ozon. Наша задача состоит не только в том, чтобы реклама приносила деньги компании, заказы рекламодателям и была релевантной для пользователей, но и в том, чтобы сделать запуск рекламных кампаний удобным и эффективным для рекламодателей. 

В статье я расскажу о том:

как мы пришли к идее автоматического управления ставками в рекламных кампаниях на платформе;

какие алгоритмы оптимизации и машинного обучения нам помогли;

как построена архитектура автобиддера;

как выкатить новый продукт в прод и измерять эффективность.

Читать далее
Всего голосов 40: ↑38 и ↓2+36
Комментарии6

Приглашаем на Ozon Tech Community ML&DS Meetup

Время на прочтение2 мин
Количество просмотров1.1K

Всем привет, меня зовут Артём, я руководитель команды «Эффективность рекламы». Мы пока не предлагаем генеративные модели для пользователей, но мы делаем другие крутые вещи, связанные с ML&DS. И хотим о них рассказать.

Приглашаю на Ozon Tech Community ML&DS Meetup, где вас ждут сразу 4 темы от экспертов блока по продукту и технологиям «Поиск, Рекомендации и Реклама». На встрече мы рассмотрим, что такое поисковые подсказки в Ozon, как были внедрены нейросети в рекомендации, зачем нужен автобиддер в рекламе и как он влияет на эффективность, а также поговорим про ML-инфраструктуру и её отдельных компонентах.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Как сделать макеты удобнее для команды

Время на прочтение6 мин
Количество просмотров7.1K

Привет! Меня зовут Владимир Крылов, и я проектирую внутренние сервисы в Ozon.

Продуктовые дизайнеры упаковывают решения проблем в макеты, которые часто смотрят коллеги: другие дизайнеры, менеджеры, аналитики, разработчики и QA-инженеры. Важно, чтобы макеты были максимально понятными — это сэкономит время на погружение в задачу всем участникам процесса и снизит количество ошибок, которые придется потом исправлять. Поэтому понятные и удобные макеты сокращают Time to Market продуктовых решений.

В этой статье хочу поделиться тем, как контекст, сценарии, записки и прототипы помогают сделать макет в Figma понятными и удобным для команды, а в качестве бонуса — шаблон для оформления.

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии2

Кроссдоменная координация. Как двигать огромные IT-проекты в огромной компании

Время на прочтение11 мин
Количество просмотров4.3K

Все знают, что в условиях большой компании очень сложно двигать крупные проекты к успеху. В таком проекте участвует много команд, каждая со своими интересами, приоритетами и особенностями, а общий объём работы — огромный. 

Если вам интересно довольно простое решение этой задачи, проверенное опытом нескольких лет и многими десятками проектов в Ozon, — смело читайте дальше!

Читать далее
Всего голосов 14: ↑11 и ↓3+8
Комментарии3

Ozon Tech Community 1C Meetup

Время на прочтение2 мин
Количество просмотров1.2K

Как сделать жизнь 1С разработчика проще? У нас есть ответ.

Всем привет, меня зовут Евгений, я руководитель группы разработки финансовых систем 1С. Приглашаю вас на Ozon Tech Community 1C Meetup, 10 октября в Санкт-Петербурге.

На встрече обсудим целую палитру тем: от подходов проектного управления до методов оптимизации разработки. Наша команда расскажет какие приёмы EDT и Git упростят рабочий процесс, а ещё — какие задачи у нас в компании были решены с помощью CI/CD.

Присоединяйтесь!

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии7

«Барби»: какие проблемы инфобеза может показать нам Барбиленд

Уровень сложностиПростой
Время на прочтение14 мин
Количество просмотров14K

Не секрет, что нашумевший в кинотеатрах и на торрентах фильм «Барби» оставил много поводов для раздумий над слоями иронии, а также над политическими и идеологическими посылами, которые там присутствуют.

Но, помимо этого, Барбиленд — ещё и хороший пример того, как не надо выстраивать информационную безопасность. Под катом разберём, какие классические проблемы ИБ можно найти в фильме и что мы можем из этого вынести.

Читать далее
Всего голосов 77: ↑70 и ↓7+63
Комментарии15

Зеркалирование топиков Kafka по-бруклински

Уровень сложностиСложный
Время на прочтение22 мин
Количество просмотров5.1K

Буквально на секунду представьте, что у вас есть парочка здоровенных кластеров Apache Kafka, каждый из которых держит по нескольку миллионов rps. И тут вас попросили зеркалировать топик из одного кластера в другой. Максимально близко к реалтайму, да ещё и с некоторыми специфическими условиями. Если стало страшно, интересно или страшно интересно, то это статья для вас.

Под катом я расскажу, что такое зеркалирование и зачем оно нужно. Как нам перестало хватать Mirror Maker’а. Поговорим о возможных решениях и выборе между ними. И дам подробную инструкцию, как вам развернуть такое решение у себя.

Читать далее
Всего голосов 29: ↑29 и ↓0+29
Комментарии6

Создание карты зависимостей: как увидеть системный уровень в процессах

Время на прочтение14 мин
Количество просмотров8.7K

Хабр, привет! Я Саша, Product Manager в Ozon. Хочу сегодня поговорить с вами об исследовании зависимостей между подсистемами проекта, в частности, и повышении прозрачности процессов в разработке в общем.

Обычное дело: в команду приходит заказчик, приносит суперзадачу — киллер-фичу, которая по приблизительным оценкам будет приносить не меньше N денег в секунду. Очень важная и нужная штука. Потом проходит 3 месяца, а фича так и не появляется на проде. Более того, команда к ней так и не приступала. 

Почему? 

– вместо суперзадачи команда занимается какой-то ерундой — проблемы с приоритизацией;

– команда не поняла, что фича принесёт реальные деньги и насколько это важно — сложности с коммуникацией с заказчиком;

– недостаточно описаны требования, команда отфильтровала задачу как «не готовую к взятию в работу» — продакт не доработал;

– задача потерялась в недрах бэклога — продакт проглядел.

Все эти варианты говорят нам о наличии рассинхрона команд, ожиданий и реальности, рассинхрона подсистем относительно общего процесса, вследствие этого команда(ы) делает «не то» «не так» или не делает вовсе.

Давайте разбираться — расскажу вам об инструменте, который поможет выявлять приводящие к подобным ситуациям серые зоны, нестыковки, зависимости между подсистемами проекта; поможет всё это дело визуализировать и анализировать. Инструмент я назвала картой зависимостей.

Читать далее
Всего голосов 19: ↑18 и ↓1+17
Комментарии0

Приглашаем на Ozon Tech Community QA Meetup

Время на прочтение2 мин
Количество просмотров1.1K

Привет, меня зовут Дима, я руководитель группы разработки инструментов тестирования. Миссия нашей команды предоставить инструменты которые позволяют тестировщикам измерить качество своего продукта и улучшить его. Мы хотим, чтобы тестировщики релизили быстро и без багов.

У нас есть интересные задачи и классные решения для них, которыми мы хотим поделиться.Приглашаю вас на открытый Ozon Tech Community QA Meetup, в Москве, 21 сентября в 19:00

На митапе подробно обсудим, как устроено тестирование в Ozon, поговорим про тестовое покрытие и узнаем, как работает QA в блоке по продукту и технологиям товарных операций, а именно в разработке склада.

Читать далее
Всего голосов 7: ↑6 и ↓1+5
Комментарии0

Приглашаем на Ozon Tech Community Go Meetup

Время на прочтение2 мин
Количество просмотров1.4K

Всем привет! Я – Влад, руководитель группы поисковой оптимизации в Ozon. 

Go повсюду. И, конечно, ни при каких обстоятельствах мы не могли пройти мимо него в самом крупном направлении компании –  разработке маркетплейса.

Направление отвечает за разработку инструментов, которыми активно пользуются наши покупатели и продавцы. Сюда входит абсолютно всё, что нужно для того, чтобы продавец смог предложить товар или услугу, а покупатель — сделать заказ.

И нам есть чем поделиться. Приглашаем на открытый Ozon Tech Community Go Meetup, 20 сентября в Москве. На митапе подробно обсудим Go и технологии, которые мы используем в разработке маркетплейса Ozon. Узнаем, как устроена разработка доставки и пути совершения покупки. 

Читать далее
Всего голосов 11: ↑9 и ↓2+7
Комментарии2

Видеоредактор, работа с видео и зачем там Canvas

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.6K

Современные устройства и браузеры развиваются достаточно быстро, но все-равно этого бывает недостаточно для задач со сложными вычислениями. К таким задачам можно отнести обработку видео.

Одной из задач, где мы в Ozon используем Canvas, является обработка видео. Для это у нас реализован минималистичный видеоредактор. Зачем нужно было делать свой редактор для веба и почему не использовать готовый? Все ответы под катом.

Читать далее
Всего голосов 67: ↑67 и ↓0+67
Комментарии24

Ускоряем поиск по коду в Android Studio

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.5K

Рассмотрим возможности Android Studio, позволяющие быстрее ориентироваться в коде: находить нужные фрагменты и выявлять связи между ними.

Если вы опытный пользователь, то вам известно большинство нижеперечисленных лайфхаков. Но я узнавал о многих возможностях случайно, через многие месяцы работы в Android Studio, поэтому хочу рассказать всё, везде и сразу.

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии22

Osquery&SIEM. Вы правила мониторинга продаёте? Нет, просто показываем

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.5K

Пока в сети появляется всё больше разговоров о запрете использования Apple-техники в определённых кругах, мы хотим показать, как у нас организован мониторинг macOS с точки зрения безопасности корпоративной инфраструктуры.

Статья является продолжением первой части из микросерии аналитических статей, посвящённых тому, как мы мониторим macOS в Ozon.

Тут будут боль мемы и немного примеров инцидентов :)

Читать далее
Всего голосов 13: ↑13 и ↓0+13
Комментарии0

Приглашаем на Ozon Tech Community Mobile Meetup

Время на прочтение2 мин
Количество просмотров953

Всем привет!

Меня зовут Павел, я руководитель отдела разработки мобильных приложений торговой площадки.

Приглашаем на Ozon Tech Community Mobile Meetup, на котором подробно обсудим дизайн-систему — это продукт, который структурирует набор компонентов и гайдлайнов. Это позволяет дизайнерам и разработчикам создавать последовательный и согласованный визуальный язык для продуктов и услуг компании. 

Наша цель — упростить разработку интерфейсов для дизайнеров и разработчиков. Для этого мы создали и развиваем дизайн-систему BX для мобильных и веб-приложений.

Об этом поговорим на Ozon Tech Community Mobile Meetup в Москве, 29 августа в 19:00.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

Информация

Сайт
ozon.tech
Дата регистрации
Дата основания
Численность
5 001–10 000 человек
Местоположение
Россия