Как стать автором
Обновить
Когда заходит речь о модных и передовых технологиях, ритейл, особенно строительный, — последнее место, где их станут искать. Ну что там может быть интересного: сайт на битриксе и мобильное приложение с программой лояльности? И в каких-то случаях этот стереотип не врёт, но «Леруа Мерлен» — совсем другая история. Наша IT-инфраструктура мощна, как лапищи мемного волка, а команда разработки столь же хороша.

Но технологии — это благо и боль в одном флаконе, прямо как супергеройские способности. В этом посте пять наших специалистов самого разного профиля — от фронтенд-разработчика до технического архитектора — расскажут, чем хороши их любимые инструменты, а в каких случаях надо не забывать страдать.
Читать далее
Всего голосов 20: ↑16 и ↓4+22
Комментарии43

Комментарии 43

Извините, конечно, но сайта магазина хуже, чем у Леруа я еще не видел.

Это не тот сайт. Речь про команду, которая занимается //leroymerlin.ru

НЛО прилетело и опубликовало эту надпись здесь

+1

Еще пару лет назад сайт работал нормально, теперь невозможно искать товары. После того как ввел название товара в поиск нужно ждать 5-30 секунд, чтобы получить результаты.

У меня больше к юзабилити вопросы, чем к техническим проблемам.

Но справедливости ради, есть и хорошее — это, возможно, единственный такой сайт, где можно посмотреть (и собрать в корзину) товары из полного списка прошлых покупок по наименованиям (а не просто список старых заказов, где нужную позицию фиг найдешь). Но все остальное очень плохо.
ну это вполне объяснимо, ведь судя по статье у них нет DBA))
поиск 30 секунд это, конечно, бардак)

Самое веселое, это когда заказываешь кучу стройматериалов тысяч так на 70, а потом весь день ждешь, в голых стенах, где даже присесть негде, а техподдержка говорит "ваш заказ в пути, ждите", ждешь до 12 ночи и пилишь через весь город домой, так и не дождавшись. Операторы ничего сказать не могут, и работают не до поздна) На следующий день тоже все тот же ответ, бригада ждет. В итоге почти через неделю, звонит водитель "примите товар"... а он уже не нужен, потому что уже привезли из другого магазина.

В общем служба доставки - черная дыра.

Так же было у них - отменял другой заказ (мелочевка), который в итоге все равно приехал)

Что ещё раз доказывает, что если услуга некачественная, то исправить ее с помощью айти невозможно

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

Беру гугл/яндекс, ищу любой строительный товар с припиской слова "леруа". Оп - нашел! Щелкаю по ссылке в выдаче, и попадаю на страницу нужного товара на московском сайте Леруа (а я не в нерезиновой), и сверху издевательская плашка "вы в Москве, правильно?" Выбираю "нет", появляется список городов, выбираю свой - и меня перекидывает на главную страницу сайта Леруа в моем городе. Ищи, дорогой юзер, тот же товар на сайте имени своего города, ищи!

Такое повторяется каждый раз.

Те сайт не умеет ни перейти на страницу того жн товара при выборе другого города (товар в нем есть; но даже если бы и не было - вывести сообщение об этом вместо кнопки "купить" несложно же?), ни в куках моего браузера запомнить выбор города, и перекинуть меня при заходе с поисковика... ну правда, тут не рокет-сайенс, просто желание поставить себя на место посетителя!

Вопрос: у столь отличной команды с такими модными технологиями нет мозга тестеров иначе как в МСК?

Стало любопытно и решил проверить. С компа и с телефона все Окей. Нашёл товар в Яндексе перешёл, изменил город, остался на товаре. Что я делаю не так?

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

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

Прикольно (спойлер: нет). Спрошу у нашей команды поиска. Если что, то я за мобильные приложения отвечаю, можно писать про них мне.

Но вообще для меня очень странно, что в комментариях под статьей обсуждаются не сама статья (кроме одного комментария), а сайт/доставка/итд

Вспоминается как нам в аппстор написали коммент с 1 звездой, что у человека на парковке перед магазином барсетку украли

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

Я не нападаю и понимаю, что если что-то не работает это может раздражать, особенно если ты торопишься. Но не соглашусь про технологии. Я не знаю буквально ни одной компании, где все работает идеально. Ломается яндекс, ломается сбер, ломается авито (и не только они), но при этом это не значит, что нужно остановиться двигаться вперед и развиваться.

К тому же как и в любой другой крупной компании, у нас есть различные направления и там работают разные команды. И если, скажем, не работает поиск, то это совершенно не значит, что команде мобильного приложения нужно сесть и ждать пока поиск заработает и ничего не делать. Есть куски компании, где поиск вообще не используется, что теперь им тоже ничего не делать?)
Думаю вопрос риторический

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

Надеюсь удалось пролить свет на эту часть работы

Так поиск это только вершинка) Разного рода косяки от архитектуры (или её реализации — хз) до контента годами висят. Уж не знаю, никто не жалуется или что, но факт есть факт. Проблема как раз в том, что речь не о технических сбоях формата «сломал — пофиксил».

Но вас я тоже понимаю, конечно.

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

А мы будем очень благодарны)

Проблема с городом все равно есть :) Выбранный город как не запоминался, так и нет, продолжает спрашивать про Москву

Исправили ошибку поиска, описанную в спойлере. Косвенно она связана с бурным ростом числа товаров у нас на сайте, а правится быстро. Пока не все микросервисы синхронизированны с данным процессом.

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

Очень круто. А где эта форма, не подскажете?

Либо через канал отзывов (справа), либо через канал обратной связи (справа внизу)

О, интересно. Есть идеи, почему вон та кнопка внизу есть на странице товара но не на странице поиска? Кстати, если у кого-то стоит AliTools, то она перекрывается их какой-то штукой. А кнопку «оставить отзыв» убивает включение блокировки трекеров в Опере.

Ответить на этот вопрос точно не смогу, а фантазировать не хочется. Передам эти замечания команде, которая занимается системой отзывов.

можно просто пренебречь проверками на null: если возникнет NPE, значит, с бизнес-логикой в любом случае что-то не так

Вы это серьёзно!? NPE - это в любом случае ошибка программиста, не надо сваливать на бизнес-логику. Так вот у сервисов пятисотки то и летят с таким подходом

Согласен NPE нельзя игнорировать ни в коем случае. Возможно, неправильно передана идея, что в Котлине тебя к этому принуждает сам язык

Я немного не так передал мою основную мысль. 

Я имел ввиду, что можно пропустить нуллабельное поле по ошибке. Невнимательность и все такое.

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

Ребят, а как у вас работают фильтры для поиска товара?

У вас там JSON или GraphQL/oData?

Благодарю

Kubernetes - это хорошо. По сути стандарт уже. Естественно, что основная мысль в том, что проблема не в кубере (уверен, что он в леруа хорошо внедрен), а в том, что внутри крутится.

Касательно airflow - хуже не видел. Действительно, очень неинтуитивный продукт. С кучей нюансов эксплуатации и, самая мякотка - в нем до сих пор не было нормального деплоя DAG'ов и отказоустойчивости. Сейчас вроде подпилили и то, и то, но осадочек остался. Сами мигрировали на kubeflow. И очень счастливы с этим. В статье упоминается kuberflow, наверное, это опечатка, да?

К React понадобился Redux, а к нему, в свою очередь, — Redux-Saga.

Имхо, если React использовать с Redux, то уж лучше не усложнять и не мучаться, а сразу на Vue переходить) Redux подходит, когда разработчикам проблематично самостоятельно спроектировать более-менее нормальную архитектуру и проконтролировать следование ей.

Мне не очень нравится переход на хуки.

Хуки мне тоже не нравятся. Уже в начале их использования чувствовалось, какие будут проблемы. Участие в проектах, писавшихся другими, причем довольно опытными разработчиками, подтвердили мои опасения. Как только компонент с хуками разрастается, в нем получается лапша с кучей лишних перерисовок, для избавления от которых приходится избавляться от хуков и зависимостей в них. C React-ом такая ситуация, что что-то новое и непроверенное, если его пиарит Ден, быстро набирает популярность. Только спустя несколько лет у все большего числа разработчиков приходит понимание, что решение не очень. Так было с Redux, HOC. То же самое сейчас с функциональными компонентами с хуками.

Facebook потратил немало усилий, чтобы оптимизировать рендеринг, но в результате его механизм перестал быть прозрачны.

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

Vue.js тогда считался молодым фреймворком и вызывал определённый скепсис.

Кем считался? Почему? Что плохого в том, чтобы быть молодым и продуманным, а не престарелым легаси?

всё равно React кажется более зрелой технологией: больше комьюнити, готовых решений, вспомогательных модулей

Большая часть из которых занимается решением проблем, самим же этим Реактом и созданным.

А хуки — это не только ФП

А точнее - это вообще не ФП.

я считаю, что React — это лучший UI‑фреймворк для построения интерфейсов среднего масштаба

Это называется импринтинг - какой фреймворк первым увидели, тот и считаете лучшим. Но импринтинг не идёт на пользу проекту. Вместо того, чтобы строить удобную архитектуру и подбирать под неё инструменты, вы выстраиваете всю свою архитектуру под выбранный инструмент. И по 10 раз переписываете код не потому, что требования поменялись, а потому, что в инструменте в очередной раз сменилась генеральная линия партии с шила на мыло.

А мне у Леруа нравится отслеживание доставки на карте, удобно. Утром на телефон приходит смс с текстом "Ваш заказ N-й в маршруте" и со ссылкой вида https://leroymerlin.ru/otsledit-zakaz?id=..., по ссылке открывается карта, на ней нарисован маршрут движения грузовика с пронумерованными точками доставки. Можно отслеживать real-time и примерно спрогнозировать, скоро ли заказ доедет до моего адреса.

Да, мне тоже понравился такой подход.
Пока не оказалось что по этой ссылке мой товар уже доставлен, хотя привезли его на 5-6 часов позднее.
И грузчики потом с жены вытребовали дополнительные деньги за то что не могли поставить машину прямо под дверью подъезда (там технически нет такой возможности), не смотря на то что "подъём" на первый этаж был оплачен (и довольно не слабо так оплачен).

Без Kubernetes сложно представить себе микросервисную архитектуру. А без микросервисной архитектуры — современное высоконагруженное… да даже средненагруженное приложение.

Какая все-таки заразная болезнь микросевисы.

Сайта магазина хуже, чем у Леруа я еще не видел.

Cогласна на 200%.

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

Через адресную строку перешла на корневую страницу - сайта нет, белый экран.

Так весь день и показывал мне белый экран.

Ваш представитель пишет в комментах - "у сбера и яндекса тоже не всё идеально". О какой "неидеальности" речь, когда сайт интернет-МАГАЗИНА не может выполнить свою ГЛАВНУЮ функцию "Купить"? Моё мнение - после багов такого уровня надо гнать ccaными тряпками всю "чудесную" команду. Может, это саботажники от конкурентов?

И это не первый недостаток, ту же геолокацию уже упоминали. Просто именно от этого случая у меня "бомбануло" - как так, хочу купить товар, а такой крупный известный магазин падает в обморок на целый день? Такого я реально нигде больше не видела. После этого стараюсь не заходить на ваш сайт. А тут ещё статья о технологиях, O RLY?

И это не первый недостаток, ту же геолокацию уже упоминали.

у меня геолокация не работает НИГДЕ. После переезда в Москву у меня остался петербургский Мегафон... Вполне резонно, что любая система меня определяет где угодно, но не по месту моего фактического нахождения... И это очень печально. Судя по всему я в тех 5% населения страны, на которых всем пофиг...

Леруа МерленГоспода, а вы в курсе, что ваш каталог товаров на iPhone вообще не работает?

Такое происходит на страницах со списками товаров. Например открывается главная страница, затем Каталог → Инструменты → Электроинтрументы → Дрели-шуроповерты, и всё. Сами же карточки товаров открываются, но на них никак не попасть (кроме как по прямой ссылке). iPhone SE, iOS 11.4.1, Safari 11.0 (WebKit 605.1.15)

Ну и приложение, которое сайт предлагает установить, также недоступно для iOS 11 (а зачем его предлагать установить?)

Ну Вы бы еще с Windows XP проверили :)
Версия iOS 12 вышла в середине 2018 года, а на сегодняшний день последняя версия - 15.

Посоветовал бы вам обновиться, но, вероятно, для Вас высказывание "раньше было лучше" - не пустой звук :)

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

На самом деле нет оснований полагать, что это связано с вашим устройством. Уверен, что видел такое на десктопе раз или два.

Простите, "весьма популярную" у кого? Статистика показывает, что пользователей ios 11.x менее 1%. Вполне вероятно, что их даже меньше 0.5%.

Уже сейчас большинство приложений поддерживает iOS только начиная с верии 13.

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

p.s. К версии iOS версия Safari имеет прямое отношение, они обновляются вместе.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий