Pull to refresh
6
0
Евгений Дементьев @Daemos

Engineering Manager at Lokalise

Send message

Вы «продоете теплых кросовок»: ищем идеальную пару обуви с помощью Elasticsearch

Reading time9 min
Views6.8K

Привет, эту статью мы пишем вместе — Дмитрий Генинг, руководитель направления разработки R&D, и Александр Желубенков, руководитель направления ранжирования и навигации в компании Lamoda. 

Одна из самых важных систем, с которой мы работаем — это поиск. Ежедневно на Lamoda пользователи вводят тысячи самых разных запросов: белые ботинки, сумочка с леопардовым рисунком, очки-авиаторы и другие вещи для обновления гардероба. Наша задача — сделать поиск таким, чтобы он буквально угадывал желания пользователей и находил сразу то, что нужно. 

В этой статье мы расскажем:

• что находится «под капотом» поиска в Lamoda;

• как мы понимаем пользователей и разбираем поисковые запросы;

• как обогащаются атрибуты товаров и по какой логике формируется запрос к Elasticsearch;

• над чем работаем сейчас и какие есть планы на будущее.

Читать далее
Total votes 22: ↑21 and ↓1+20
Comments5

Выгорание — норма? Часть 2. Подробно про фазы и «Что делать?»

Reading time18 min
Views41K

Стресс — это норма жизни. Без стресса нет роста и обучения новому.

Передоз стресса, как передоз чего угодно — вызывает защитную реакцию. Сначала — сопротивление и попытки адаптации, затем, если эти попытки провалились — схлопывание энергетических систем, чтобы не умереть. 

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

Читать далее
Total votes 47: ↑45 and ↓2+43
Comments20

Построение модульной архитектуры приложения на Forwarding-декораторах (авторский перевод)

Reading time7 min
Views13K
Когда разработчик планирует архитектуру своего будущего веб-приложения, полезно подумать о его расширяемости заранее. Модульная архитектура приложения может обеспечить хорошую степень расширяемости. Существует довольно много способов, как такую архитектуру реализовать, но все они сходны в своих фундаментальных принципах: разделение понятий, самодостаточность, взаимная сочетаемость всех компонентов.

Однако есть один подход, который именно в PHP можно встретить довольно редко. Он включает использование нативного наследования и позволяет патчить код «более лучше»(с). Мы называем этот способ “Forwarding Decorator”. Нам он представляется достаточно эффективным, и, кстати, эффектным тоже, хотя последнее не так важно в продакшене.

Как автор оригинальной англоязычной статьи "Achieving Modular Architecture with Forwarding Decorators", опубликованной на SitePoint, я представляю вам авторскую версию перевода.
Читать дальше →
Total votes 15: ↑15 and ↓0+15
Comments12

Information

Rating
Does not participate
Location
Ульяновск, Ульяновская обл., Россия
Registered
Activity