Летом прошлого года первыми среди российских сервисов мы запустили сервис «доставка до двери» — еще чуть больше полугода назад оставлять посылки у двери было не принято.
Читать полностью »
Рубрика «Блог компании OZON: life in tech»
До того, как это стало мейнстримом: как мы запускали бесконтактную доставку
2020-03-27 в 11:13, admin, рубрики: e-commerce, Блог компании OZON: life in tech, доставка, продуктовая разработка, Разработка под e-commerce, Управление e-commerce, Управление продуктомДевушки в tech, Ozon Tech
2020-03-07 в 10:09, admin, рубрики: ozon.ru, Блог компании OZON: life in tech, девушки в it, Карьера в IT-индустрииНакануне «дня прекрасных и весенних», в который желают «простого женского счастья» и «женственности», девушки из команды Ozon расспросили девушек из IT-команды Ozon о стереотипах. В том числе гендерных.
Читать полностью »
Мы поддерживаем культуру открытого кода и каждого человека, который ее развивает
2019-12-14 в 5:48, admin, рубрики: nginx, open source, ozon.ru, Блог компании OZON: life in techМы уверены, что открытый код — одна из основ быстрого развития технологий. Иногда такие решения становятся бизнесом, но важно, что труд энтузиастов и код, который находится в их основе, могут использовать и улучшать команды по всему миру.
Читать полностью »
Введение в робастную оптимизацию [… и маленький листочек со списком покупок, который я забыл…]
2019-02-07 в 18:51, admin, рубрики: Блог компании OZON: life in tech, выпуклая оптимизация, математика, машинное обучение, оптимизация, робастная оптимизацияКак определить, сколько людей нужно нанять на новый fulfillment, чем именно его заполнить и куда положить конкретный товар? Чем больше становится бизнес, тем выше неопределенность и тем дороже стоит ошибка. Победить хаос и выбрать оптимальное решение — одна из задач команды data science. А поскольку в основе анализа данных — математика, с нее и начнём.
В этом посте мы рассмотрим задачи оптимизации с неопределенностью в данных и их аппроксимацию детерминированными выпуклыми задачами. Это один из основных трюков в робастной оптимизации — технике, позволяющей справляться с задачами оптимизации, слишком чувствительными к изменению входных данных.
Вопрос чувствительности очень важен. Для задач, качество решения которых слабо зависит от изменения в данных, проще использовать привычную стохастическую оптимизацию. Однако в задачах с высокой чувствительностью этот подход будет давать плохой результат. Таких задач много в финансах, управлении поставками, проектировании и многих других областях.
И да, это пример поста, где сложность растет экспоненциально (сорян уж)…
Читать полностью »
Использование DiagnosticSource в .NET Core: практика
2019-01-29 в 15:37, admin, рубрики: .net, .net core, asp.net core, C#, DiagnosticSource, opentracing, prometheus, Блог компании OZON: life in techВ предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection
и SqlCommand
и измерять время их выполнения.
В настоящее время DiagnosticSource уже используется в AspNetCore, EntityFrameworkCore, HttpClient и SqlClient — каждый из них отправляет собственные события, которые могут быть перехвачены и обработаны.
В этой статье я хочу рассмотреть несколько примеров того, как можно на практике использовать DiagnosticSource в приложениях ASP.NET Core.
- CorrelationID и пробрасывание заголовков между сервисами
- Сбор метрик и трассировок
- Логирование
Кроме того, в этой статье я решил собрать список событий, которые доступны для обработки и могут быть использованы в ваших приложениях, а также рассказать о некоторых подводных камнях, с которыми вы можете столкнуться, если решите использовать механизм DiagnosticSource в своём проекте.
Использование DiagnosticSource в .NET Core: теория
2019-01-15 в 7:12, admin, рубрики: .net, .net core, C#, DiagnosticSource, Блог компании OZON: life in techDiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписываться на эти события и обрабатывать их.
Каждое такое событие содержит дополнительную информацию (payload), а поскольку обработка событий происходит в том же процессе, что и отправка, эта информация может содержать практически любые объекты без необходимости сериализации/десереализации.
DiagnosticSource уже используется в AspNetCore, EntityFrameworkCore, HttpClient и SqlClient, что фактически даёт разработчикам возможность перехватывать входящие/исходящие http запросы, запросы к базам данных, получать доступ к таким объектам, как HttpContext
, DbConnection
, DbCommand
, HttpRequestMessage
и многим другим и даже изменять эти объекты при необходимости.
Я решил разделить свой рассказ про DiagnosticSource на две статьи. В этой статье мы на простом примере разберем принцип работы механизма, а в следующей я расскажу о существующих в .NET событиях, которые можно обрабатывать с его помощью и покажу несколько примеров его использования в OZON.ru.
Кое-что нашли: доклады с Elasticsearch Moscow meetup в OZON
2019-01-07 в 11:50, admin, рубрики: e-commerce, elasticsearch, javascript, ozon.ru, Блог компании OZON: life in tech, митап, Разработка веб-сайтов
Для тех, кто досмотрел все сезоны новых и любимых сериалов, у нас есть кое-что поинтереснее — видео с Elasticsearch meetup в OZON. Читать полностью »
OZON изнутри: feels like a startup
2018-12-24 в 13:14, admin, рубрики: e-commerce, Блог компании OZON: life in tech, офис, офисная жизнь, Разработка под e-commerce, Управление e-commerce, управление разработкойOzon.ru — почти ровесник Рунета, в свои 20 лет мы старше многих наших клиентов. Из книжного интернет-магазина компания выросла в e-commerce платформу, которая объединяет инфраструктуру fulfillment-центров и логистики, веб и мобильные приложения, выдерживает и набеги десятков миллионов пользователей во время распродаж, и атаки интернет-мошенников.
В этом посте мы немного расскажем про себя: о том, как перестраиваем и развиваем платформу, одновременно обслуживая 1,2 млн пользователей ежедневно. А заодно покажем офис, где трудится IT-лаборатория OZON, ну и пару шикарных видов из его окон.
Читать полностью »
Векторные представления товаров, или еще одно применение модели Word2Vec
2018-12-12 в 8:07, admin, рубрики: e-commerce, machine learning, ozon.ru, Блог компании OZON: life in tech, векторное пространство, высоконагруженные системы, машинное обучение, Разработка под e-commerce
Каждый день полтора миллиона людей ищут на Ozon самые разные товары, и к каждому из них сервис должен подбирать похожие (если пылесос все-таки нужен помощней) или сопутствующие (если к поющему динозавру нужны батарейки). Когда видов товаров тоже много, решить задачу помогает модель Word2Vec. Разбираемся, как она работает и как создавать векторные представления для произвольных объектов.
Winter Frontend meetup в OZON
2018-12-10 в 13:07, admin, рубрики: FrontEnd Development, frontend-разработка, javascript, nuxtjs, ozon.ru, Блог компании OZON: life in tech, митап, Разработка веб-сайтов
Привет! 13 декабря встречаемся в офисе OZON, чтобы поговорить о фронтенде (с перерывами на пиццу и пиво, конечно). Разработчики из OZON, Яндекса и Альфа-Банка расскажут о том, как объединить зоопарк систем, провести рефакторинг, переехать на Typescript и внести свой вклад в развитие комьюнити.
Читать полностью »