Как научиться Data Science и Business Intelligence бесплатно? Расскажем на дне открытых дверей в Ozon Masters
Как сэкономить время и силы на внедрении стандартов безопасной разработки с помощью OWASP SAMM
Продолжая серию экспресс-докладов про проекты OWASP, сегодня мы поговорим о OWASP SAMM — одном из важнейших проектов сообщества. В начале года вышла его вторая версия — и это хороший повод рассказать о фреймворке подробнее.
Павел Клеменков, NVIDIA: Мы стараемся уменьшить разрыв между тем, что data scientist умеет, и тем, что он должен уметь

— Много ли вообще компаний, которые используют алгоритмы data science?
— На самом деле немало. Довольно много крупных компаний, у которых есть реально большие данные, либо начинают с ними эффективно работать, либо уже давно работают. Понятно, что половина рынка использует данные, которые поместятся в Excel-табличку или могут быть посчитаны на большом сервере, но говорить о том, что бизнесов, умеющих работать с данными, единицы — нельзя.
До того, как это стало мейнстримом: как мы запускали бесконтактную доставку
Девушки в tech, Ozon Tech
Мы поддерживаем культуру открытого кода и каждого человека, который ее развивает
Смотрим Flutter Interact Worldwide в офисе Ozon
Flutter Interact — это конференция Google, на которой команда Flutter будет подводить итоги и рассказывать, что они сделали за этот год и о своих дальнейших планах. После трансляции keynotes будет пара докладов (TBD) и, конечно, пицца.
Встречаемся в 17:30, на 30 этаже в Башне на Набережной (Пресненская набережная, 10). Но для начала зарегистрируйтесь здесь.
Хакни пайплайн: хакатон по разметке данных от Ozon, Яндекс.Толоки и Нетологии
Ментальные модели продакт менеджмента для всех
Ментальные модели — это простые выражения сложных процессов или отношений. Эти модели можно собирать и использовать для принятия более быстрых и качественных решений.
Вот пример: принцип Парето гласит, что около 80% всех результатов приходится на 20% усилий.
В контексте управления продуктами модель предполагает, что вместо того, чтобы потратить 100% усилий и покрыть 100% желаний клиентов, можно потратить 20% — и удовлетворить 80% желаний. Команды разработчиков постоянно прибегают к этому принципу, и результаты часто выглядят неплохо, когда 20% клиентов с более сложными кейсами не поддерживаются.
Ментальные модели могут стать мощным инструментом, но их полезность ограничена контекстами, из которых они экстраполированы. Чтобы преодолеть это ограничение, не полагайтесь на одну или даже несколько моделей — вместо этого нужно постоянно строить сеть ментальных моделей, на которую можно опираться для принятия оптимальных решений.
Elasticsearch Moscow meetup в Ozon

Давно не виделись! Пора собраться в офисе Ozon, чтобы обсудить «поисковые» делишки и задать вопросики. От вечных: как решить проблему, ничего не сломав, как повысить качество поиска и проверить, что оно действительно стало выше? До нетривиальных: как погода влияет на цвет машины и как можно эту информацию использовать?
Первый в Москве WIAD: как прошел, и о чем говорили
MOBILE FIRST: Hackathon в OZON

Когда релиз раз в две недели, новые фичи приходят от бизнеса, и технический долг требует свое — приходит время хакатона. Меня зовут Дмитрий Антышев, я iOS-разработчик в OZON, расскажу о том, как 27 февраля мы провели первый хакатон для мобильной команды.
«Информационная архитектура»: митап в OZON

Отмечаем Всемирный день информационной архитектуры первым митапом о том, как выстроить информацию и документацию внутри цифрового продукта, чтобы команде и пользователям не было мучительно и непонятно. Встречаемся 26 февраля у нас.
Введение в робастную оптимизацию [… и маленький листочек со списком покупок, который я забыл...]
В этом посте мы рассмотрим задачи оптимизации с неопределенностью в данных и их аппроксимацию детерминированными выпуклыми задачами. Это один из основных трюков в робастной оптимизации — технике, позволяющей справляться с задачами оптимизации, слишком чувствительными к изменению входных данных.
Вопрос чувствительности очень важен. Для задач, качество решения которых слабо зависит от изменения в данных, проще использовать привычную стохастическую оптимизацию. Однако в задачах с высокой чувствительностью этот подход будет давать плохой результат. Таких задач много в финансах, управлении поставками, проектировании и многих других областях.
И да, это пример поста, где сложность растет экспоненциально (сорян уж)…
Использование DiagnosticSource в .NET Core: практика
В предыдущей статье я рассказал про механизм DiagnosticSource и на простом примере показал, как с его помощью можно перехватывать запросы в базу данных через классы SqlConnection
и SqlCommand
и измерять время их выполнения.
В настоящее время DiagnosticSource уже используется в AspNetCore, EntityFrameworkCore, HttpClient и SqlClient — каждый из них отправляет собственные события, которые могут быть перехвачены и обработаны.
В этой статье я хочу рассмотреть несколько примеров того, как можно на практике использовать DiagnosticSource в приложениях ASP.NET Core.
- CorrelationID и пробрасывание заголовков между сервисами
- Сбор метрик и трассировок
- Логирование
Кроме того, в этой статье я решил собрать список событий, которые доступны для обработки и могут быть использованы в ваших приложениях, а также рассказать о некоторых подводных камнях, с которыми вы можете столкнуться, если решите использовать механизм DiagnosticSource в своём проекте.
Использование DiagnosticSource в .NET Core: теория
DiagnosticSource — это простой, но весьма полезный набор API (доступен в NuGet пакете System.Diagnostics.DiagnosticSource), который, с одной стороны, позволяет различным библиотекам отправлять именованные события о своей работе, а с другой — позволяет приложениям подписываться на эти события и обрабатывать их.
Каждое такое событие содержит дополнительную информацию (payload), а поскольку обработка событий происходит в том же процессе, что и отправка, эта информация может содержать практически любые объекты без необходимости сериализации/десереализации.
DiagnosticSource уже используется в AspNetCore, EntityFrameworkCore, HttpClient и SqlClient, что фактически даёт разработчикам возможность перехватывать входящие/исходящие http запросы, запросы к базам данных, получать доступ к таким объектам, как HttpContext
, DbConnection
, DbCommand
, HttpRequestMessage
и многим другим и даже изменять эти объекты при необходимости.
Я решил разделить свой рассказ про DiagnosticSource на две статьи. В этой статье мы на простом примере разберем принцип работы механизма, а в следующей я расскажу о существующих в .NET событиях, которые можно обрабатывать с его помощью и покажу несколько примеров его использования в OZON.ru.
Кое-что нашли: доклады с Elasticsearch Moscow meetup в OZON

Для тех, кто досмотрел все сезоны новых и любимых сериалов, у нас есть кое-что поинтереснее — видео с Elasticsearch meetup в OZON.
OZON изнутри: feels like a startup

В этом посте мы немного расскажем про себя: о том, как перестраиваем и развиваем платформу, одновременно обслуживая 1,2 млн пользователей ежедневно. А заодно покажем офис, где трудится IT-лаборатория OZON, ну и пару шикарных видов из его окон.
Векторные представления товаров, или еще одно применение модели Word2Vec

Каждый день полтора миллиона людей ищут на Ozon самые разные товары, и к каждому из них сервис должен подбирать похожие (если пылесос все-таки нужен помощней) или сопутствующие (если к поющему динозавру нужны батарейки). Когда видов товаров тоже много, решить задачу помогает модель Word2Vec. Разбираемся, как она работает и как создавать векторные представления для произвольных объектов.