• 2 октября 2013, среда
  • Санкт-Петербург, 10 Красноармейская улица, 22

Тренировочный день #2 докладов конференции Joker. «В поисках Tommy Hilfiger» и «Мутационное тестирование, или О чём молчит Code Coverage»

Регистрация на событие закрыта

Извините, регистрация закрыта. Возможно, на событие уже зарегистрировалось слишком много человек, либо истек срок регистрации. Подробности Вы можете узнать у организаторов события.

Другие события организатора

3859 дней назад
2 октября 2013 c 19:00 до 22:00
Санкт-Петербург
10 Красноармейская улица, 22

В среду, 2 октября в офисе компании «Oracle» мы проведем тренировку докладов конференции Joker (jokerconf.com). Будут доклады: «В поисках Tommy Hilfiger», Михаил Хлуднев (Grid Dynamics) и «Мутационное тестирование, или О чём молчит Code Coverage», Глеб Смирнов, разработчик, ex-Yandex.

Часть 1. «В поисках Tommy Hilfiger»

22fd3d37-245e-4e18-bea5-342c679d50bdМихаил Хлуднев, Principal Engineer at eCommerce Search Platform, Grid Dynamics

Разрабатывает специализированную платформу поиска для больших магазинов на базе Apache Lucene/Solr. Хорошо знает, какими запросами покупатели ищут одежду, и насколько, например, неоднозначен запрос «red dress».

Помимо этого активно участвует в сообществе разработчиков Lucene — был замечен в обсуждении более полусотни тикетов Lucene/Solr. Привнёс немного хорошего в релизы 4.3 и 4.5. Регулярно выступает на отраслевой конфереции LuceneRevolution.

Невероятно, но факт — невозможно взять Apache Lucene / Solr «из коробки» и подключить для поиска по каталогу товаров на сайте! Как минимум, необходимо решить две проблемы. Во-первых, разработать специфические модели документов и языка запросов. Во-вторых,  реализовать эти модели с помощью базовых алгоритмов поиска Lucene с производительностью, достаточной для нескольких миллионов посетителей в Чёрную Пятницу. Этот доклад поможет справиться со второй проблемой — познакомит с деталями реализации алгоритмов поиска в Lucene. Доклад будет полезен тем, кто занимается поиском и хочет узнать «что внутри», а рассматриваемые алгоритмические задачи настолько увлекательны, что заинтересуют даже если вы никогда не работали с этим инструментом!

Для начала мы ответим на следующие вопросы: зачем нужен Lucene? В чём и в каких случаях он превосходит реляционные базы данных? Затем будут рассмотрены основные структуры данных Lucene, сложность алгоритмов поиска и затраты памяти. В докладе не будет «воды» типа синтаксиса запросов и прочих «Hello World», только алгоритмы boolean retrieval и их оценка. В то же время доклад не требует каких-либо знаний о Lucene; инженерной подготовки будет достаточно. В докладе будет своя драма: как поиск пары документов мог отнимать несколько секунд, и как всё решилось в релизе 4.3.

 

Часть 2. «Мутационное тестирование, или О чём молчит Code Coverage»

cf285700-731c-4cfd-83bf-dee6a260bf68Глеб Смирнов, разработчик, ex-Yandex. 

Has experience in developing high-performance fault-tolerant backend applications, including a platform for high-frequency algorithmic trading. The last two years working at Yandex, developing internal services. Participated in multiple projects, such as upgrading infrastructure for MapReduce-based statistics and creating an archive storage. At the moment, Gleb is developing and supporting internal monitoring service.

 

Что делать, если код покрыт тестами, но всё равно валится в production? Что делать, если показания Code Coverage явно не совпадают с действительностью? Ответ прост: протестировать сами тесты. Отличный способ для этого придумали ещё в далёком 1971 году, однако только недавно он начал продвигаться в индустрию. Mutation testing предлагает случайным образом изменить тестируемый код, а затем снова запустить тесты. И если эти тесты действительно хороши, то они должны упасть. Доклад включает в себя более детальный обзор парадигмы мутационного тестирования, описывает имеющие инструменты и рассказывает о том, как с помощью этих инструментов люди приходят к успеху в реальных проектах.

 

Партнеры

Регистрация