Заявки на доклады

Поиск по тегам:

BigData и машинное обучение

Борьба с мошенниками: поиск дубликатов среди сотен миллионов объявлений

Алексей Григорьев

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

В этом докладе мы расскажем как мы боремся с мошенниками и представим систему для поиска дубликатов. Наша система использует машинное обучение для анализа текста и картинок более 10 миллионов объявлений в день, что позволяет нам устранять нежелательные листинги до того, как они нанесут вред нашим пользователям.

Мы покажем, как мы спроектировали нашу систему, поделимся деталями реализации и расскажем про технологии, которые мы использовали для этого.

Технологии: AWS, kubernetes, python, elasticsearch, scikit-learn и keras.

Python
,
Поисковые системы
,
Работа с Amazon
,
Machine Learning
Программный комитет ещё не принял решения по этому докладу

Курс уроков волшебства для обычного кота и другие проблемы текстовой классификации чеков

Артем Просветов
Анастасия Семенова

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

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

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

Наше решение было разработано для условий высоких нагрузок и большого объема данных и на текущий момент активно используется CleverDATA для классификации ежедневного потока чеков от покупок в Интернет-магазинах.

Программный комитет ещё не принял решения по этому докладу

Бэкенд, теория программирования

Алгоритмы быстрой обработки HTTP строк

Александр Крижановский

HTTP/2 ввел компрессию стандартных заголовков, но тело URI, Cookie, значения User-Agent по-прежнему могут составлять десятки килобайт и требуют токенизации, поиска и сравнения подстрок и пр. Задача становится критичной, если HTTP парсер должен обрабатывать интенсивный злонамеренный трафик, как например HTTP flood. Стандартные библиотеки предоставляют обширный инструментарий обработки строк, но HTTP строки имеют свою специфику и если разрабатывать HTTP парсер с учетом этой специфики, то можно получить в несколько раз более высокую производительность по сравнению с современными open source решениями и даже превзойти быстрейшие из них.

В докладе будет рассмотрено:

* как HTTP flood может сделать ваш HTTP парсер бутылочным горлышком;
* проблемы x86-64 с branch mispredictions, кэшированием и невыровненной памятью на типичных задачах HTTP парсера;
* оптимизации C/С++ компилятора для multi-branch выражений и автовекторизации;
* сравнение switch-driven конечного автомата (FSM) с прямыми переходами (например в Ragel);
* особенность структуры HTTP строк и почему стандартные библиотеки плохо подходят для их обработки;
* strspn()- и strcasecmp()-like алгоритмы для HTTP строк с использованием SSE и AVX расширений x86-64;
* эффективная фильтрация инъекционных атак (SQL, XSS и пр.) с использованием AVX;
* цена переключения контекста FPU и как Linux ядро работает с SIMD;

Все эти топики будут иллюстрированны микробенчмарками.

C/C++
,
Оптимизация производительности
Программный комитет ещё не принял решения по этому докладу

Базы данных и системы хранения

Практический опыт переезда боевого проекта со 100 Гб базы данных из MySQL Percona в кластер на базе Vitess для горизонтального масштабирования

Кирилл Мельничук

— Горизонтальное масштабирование — проблемы MySQL.
— Партиционирование, шардинг и почему это не всегда возможно.
— Варианты горизонтального масштабирования для MySQL.
— Vitess — запуск и первичная настройка.
— Типичные проблемы и пути их решения.
— Итоговая архитектура.
— Результаты нагрузочных тестов.

Миграции данных
,
Базы данных / другое
,
Распределенные системы
,
Архитектура данных, потоки данных, версионирование
,
Управление конфигурацией
,
Администрирование баз данных
,
Big Data и Highload в Enterprise
,
MySQL (MariaDB, Percona Server)
,
Enterprise-системы
Программный комитет ещё не принял решения по этому докладу

Распределенные транзакции в YDB

Чечеринда

Цель доклада -- демонстрация применения детерминистических транзакций для обеспечения строгой консистентности распределенной системы.

Yandex Database (YDB) – горизонтально масштабируемая геораспределенная база данных, рассчитанная на OLTP запросы и соответствующая требованиям ACID к транзакционной системе.

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

На примере распространенной задачи рассмотрим реализации транзакций с применением двухфазного коммита и детерминистических транзакций. Обсудим их различия.

Отказоустойчивость
,
Распределенные системы
,
Алгоритмы и их сравнение
Программный комитет ещё не принял решения по этому докладу

Тестирование, нагрузочное тестирование

Изображая продакшн: нагрузочное тестирование виртуальных инфраструктур в рамках бюджета

Михаил Бородин

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

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

Расскажу о некоторых особенностях работы с платформой VMware vSphere: преодолении неочевидных ограничений nested гипервизоров и тонкостях Auto Deploy. В докладе будут рассмотрены проблемы использования восстановленного и бывшего в эксплуатации аппаратного обеспечения в качестве «личного» тестового стенда. Также проведена грань, за которой экономия начинает вредить обслуживаемости и масштабируемости тестовой инфраструктуры, что сказывается на качестве выпускаемого ПО.

Защита информации
,
Оптимизация производительности
,
Технологии виртуализации и контейнеризации
,
Проектирование информационных систем
,
Нагрузочное тестирование
Программный комитет ещё не принял решения по этому докладу

Архитектуры, масштабируемость

Заключая контракт: как осуществить хороший API для (микро)сервиса

Мелехова Анна
Владимир Лапатин

Процесс построения API никогда не проходит без споров. Процесс вывода API в public - это настоящий coming out, которому предшествуют масштабные переделки и даже изменения процессов компании.

В этом докладе мы поговорим про дизайн REST API для сервисов и предложим практический checklist для оценки зрелости API.

Мы обсудим:
- Контрактные выборы и их значимость: RAML vs swagger, API first vs code first. Как сделать выбор и как обеспечить его поддержку на всех уровнях компании?
- Разработка API Guideline. Как сформировать этот свод правил и можно ли форсировать его применение?
- Toolchain. Что можно и что нужно автоматизировать, можно ли проверять безопасность на уровне RAML
- Внедрение практик на все команды. Как помочь программистам добиться совершенного API и не помешать project-manager-ам выпустить продукт в срок

Взаимодействие с серверной стороной (API)
,
API
,
Микросервисы, SOA
,
Стандарты кодирования
,
Автоматизация разработки и тестирования
Программный комитет ещё не принял решения по этому докладу

Time-series DB in E-Commerce - InfluxDb

Борис Тверитнев

TBD

Бэкенд / другое
,
Базы данных / другое
,
Архитектурные паттерны
Программный комитет ещё не принял решения по этому докладу

Управление командой разработки (тимлиды)

Как отличить профессионального разработчика от непрофессионального?

Даниил Пилипенко

* Как плохой разработчик понижает общую производительность.
* Из 20-ти человек, называющих себя программистами, только один действительно им является.
* Как отличить профессионального разработчика от любителя: критерии по С.Макконнеллу, Дж. Спольски, Р. Мартину.
* Компоненты профессионализма: как оценить.
* Опасные (неэффективные) способы подбора.
* Практические советы по повышению точности подбора программистов.

Поиск и развитие команды
Программный комитет ещё не принял решения по этому докладу

Обучение. А как могло бы быть?

Сапогов Антон

Что нужно знать?
Важные моменты?
Налоги?
Запустились...

Программный комитет ещё не принял решения по этому докладу

О продвижении современных технологий/процессов в компании

Елизавета Голенок

Рано или поздно у каждой компании наступает период "стабилизации" в плане технологического стека. Далеко не все готовы к кардинальным изменениям, да и зачем? Если все итак стабильно работает. А если задуматься? Например, сколько багов (в том числе и в security) исправляется с обновлениями операционных систем? О новых багах мы тоже поговорим. Обновляться важно. Обновляться нужно. Даже если это становится очевидным - далеко не все к этому готовы. Поговорим о проблемах внедрения технологий, о мотивации команды, о взаимодействии с другими людьми, о партнерстве/конкуренции и еще немного затронем экономическую составляющую.

Корпоративная культура и мотивация
Программный комитет ещё не принял решения по этому докладу
Rambler's Top100