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

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

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

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

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

Почему? 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Всем привет!

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

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

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

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

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

Clean Git History, или Тёмная сторона VCS

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

Всем привет! Меня зовут Маша, и я Golang Backend Developer в компании Ozon. В этой статье я хотела бы поговорить о теме, так или иначе объединяющую все сферы нашего любимого мира IT. А именно — VCS Git.

Без системы контроля версий сейчас невозможно представить ни один проект. Это оплот любой кодовой базы, это мощнейший инструмент, с помощью которого эту базу можно изменять и отслеживать. Однако нередко чистотой истории изменений пренебрегают, полагаясь на старое доброе «И так сойдёт!», абсолютно игнорируя при этом сложность понимания и поддержки такой истории в будущем.

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

К тёмной стороне Git...
Всего голосов 55: ↑50 и ↓5 +45
Комментарии 62

Дорогая, что-то пошло не так. Гид по пустым состояниям и ошибкам + шаблоны на все случаи

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

Всем привет! Меня зовут Кира Калимулина, я руководитель группы UX-редактуры в Ozon. Я занимаюсь всеми интерфейсными текстами в приложении и на сайте. 

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

Этот гайд будет полезен дизайнерам, фронтендерам, бэкендерам и мобильным разработчикам — словом, всем, кто в своей работе сталкивается с UX-текстами и иногда вынужден их писать. Если вы не являетесь пишущим специалистом, просто берите готовые шаблоны и адаптируйте для своего проекта. Пользуйтесь

Что же случилось?
Всего голосов 65: ↑64 и ↓1 +63
Комментарии 48

Отранжированные и смешные: создаем систему выстраивания пользовательской ленты

Уровень сложности Средний
Время на прочтение 17 мин
Количество просмотров 1.8K
Туториал

Всех приветствую! Меня зовут Кирилл, я Go-разработчик в компании Ozon. Сейчас моим полем деятельности является разработка микросервисов в департаменте Fresh, однако я также успел принять участие в некоторых других интересных проектах.

Сегодня мне бы хотелось поговорить с вами о ранжировании информации для её последующей выдачи в пользовательскую ленту. Предлагаю поговорить о самом термине «ранжирование», а ещё об использовании этого процесса в современных информационных системах. Во время обсуждения я набросаю простую схему ранжирования внутри продукта, выбранного в качестве примера, а также поделюсь некоторыми примерами из опыта построения подобной системы.

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

Osquery&Fleet. Применение в корпоративной сети на примере яблочных девайсов

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

Я расскажу о том, что мы с командой сделали для поднятия сервиса по сбору событий и низкоуровневой телеметрии на примере MacOS: как готовили архитектуру, с какими проблемами столкнулись и как их решали.  Подробнее остановлюсь на возможностях osquery&Fleet и на том, какие must-have-события рекомендую собирать.

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

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

Приглашаем на Ozon Tech Intro meetup: как работают системы поиска, рекомендаций и рекламы

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

UPD: Добавили записи докладов и слайды

Всем привет!
Меня зовут Алексей, я руководитель отдела по продукту и технологиям «Рекомендации и персонализация».

Мы уделяем много времени проектированию архитектуры, улучшению скорости и оптимизации алгоритмов:

Ищем пути продукта и UX.

Ускоряем рантайм поиска.

Используем ML для рекламной платформы.

Обучаем модели для наилучшего результата рекомендаций.

И со всем этим ещё и закапываемся в аналитику и проводим множество A/B-экспериментов.

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

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

Приглашаем на Ozon Tech Intro meetup: строим складские системы на .NET

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

UPD: Добавили записи докладов и слайды

Всем привет!
Меня зовут Мария, и я занимаюсь разработкой автоматизированных систем измерения ОВХ (объемно-весовые характеристики товаров). А если брать шире, то я представляю огромный блок по продукту и технологиям товарных операций.
Что это такое? Об этом наша команда поговорит на Ozon Tech Intro meetup: строим складские системы на .NET, 24 июля в Астане. И онлайн тоже будет!

На митапе ребята подробно обсудят систему управления складом WMS (Warehouse Management System), которая принимает, хранит, собирает и отправляет покупателям миллионы заказов каждый день. WMS построена на микросервисной архитектуре и работает на распределённом между дата-центрами кластере K8s. Система состоит из 100+ сервисов на .NET Core, которые хранят данные в базах PostgreSQL, взаимодействуют через gRPC и обмениваются сообщениями через Kafka.

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

Как построить систему, способную выдерживать нагрузку в 5 млн rps

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

Всем привет! 

Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о том, как мы строили линейно масштабируемую gRPC-прокси перед Kafka, способную обслуживать миллионы запросов в секунду, используя Go.

Читать далее
Всего голосов 114: ↑111 и ↓3 +108
Комментарии 58

Хозяйке на заметку: автоматизируем рутинные процессы и экономим время

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

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

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

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

Скажи что-нибудь на разрабском, Figma

Время на прочтение 5 мин
Количество просмотров 16K
Обзор

Привет! С вами Виктор 👺, тэнгу‑хранитель одной из дизайн‑систем Ozon.

В июне 2023 года Figma выкатила мощное обновление, во многом ориентированное на разработчиков. Точнее на поиск общего языка между проектировщиком и программистом. Я давно занимаюсь дизайн‑системами и знаю как тесно связан дизайн и код. Насколько взаимопонимание между дизайнером и разработчиком ускоряет доставку продукта до пользователя.

Однако, кое‑где у нас порой, отношения дизайнера и разраба токсичны и контрпродуктивны. Связано это, как всегда, с непониманием. Разный взгляд, незнакомый язык, непохожие ценности. Кроме вариантов решения продуктовой задачи, дизайнер видит ритм отступов, гармонию сочетания цветов, всякие золотые сечения и правила внутреннего и внешнего. Ну, должен видеть. А разработчик смотрит на сложность реализации, на переиспользуемость компонентов, отображение на разных размерах экрана, поведение при переполнении или отсутствии данных.

Помогут ли новые фишки Figma наладить общение?

Потрогаем Dev Mode →
Всего голосов 41: ↑41 и ↓0 +41
Комментарии 17

Бизнес-партнёр по информационной безопасности: взгляд изнутри

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 3.7K
Обзор

 

В этой статье описана роль бизнес-партнёра по информационной безопасности (БП ИБ) и мой опыт работы в этой роли. Сегодня она относительно непопулярна на рынке, но её значимость начинает расти, причём как в России, так и за границей (там это называется Business Information Security Officer (BISO)). Сразу подчеркну, что всё сказанное здесь основывается на моём видении и опыте, и может отличаться от практик, принятых в других компаниях.

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

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

Изнутри: Swift макрос — #Preview

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

Макрос #Preview в языке Swift предоставляет удобный способ создания и предварительного просмотра компонентов пользовательского интерфейса. Он позволяет разработчикам быстро и легко создавать превью для своих View, чтобы визуально оценить, как они выглядят и взаимодействуют.

Сейчас доступно много информации о том, как писать макросы, много примеров и на удивление хорошая документация. Сегодня мы будем не создавать свой макрос, а подробно рассмотрим приватные макросы, предоставляемые Apple, а именно #Preview.

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

Осознанная оптимизация Compose

Уровень сложности Средний
Время на прочтение 29 мин
Количество просмотров 14K
Туториал

Compose — относительно молодая технология написания декларативного UI. Множество разработчиков даже не предполагают, что пишут неоптимальный код в такой критически важной части, и впоследствии это приводит к неожиданной низкой производительности и проседании метрик.

Наша команда Ozon Seller также столкнулась с этой проблемой. Мы решили собрать воедино все советы и наработки по написанию оптимизированного Compose-кода. Активное применение этих советов при оптимизации существующих экранов и написании новых существенно улучшило наши метрики: длительность лага по отношению к длительности скролла (hitch rate; чем меньше, тем лучше) экранов со списками упала в среднем с 15-19 % до 5-7 % (на 90-м перцентиле). Все эти советы и наработки мы описали в этой статье. Она будет полезна и начинающим, и опытным разработчикам, в ней подробно описаны оптимизации и механизмы Compose, а также рассказано про слабо задокументированных особенности и исправления ошибок, которые есть в других статьях. Давайте же начнём.

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

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

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

UPD: Добавили записи докладов и слайды

Разводим не мосты, а кипучую деятельность.

Привет, меня зовут Ильяс и я старший разработчик в Ozon Tech.

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

А потом я расскажу про наше собственное Service Mesh Warden, реализующее все виды дискаверинга и балансировки. 

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

Информация

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