Рубрика «сервис» - 3

Электрички Москвы (и не только): что поменялось и спасибо тем, кто помогал - 1
Электричка слева — Аэроэкспресс — теперь тоже добавлена в приложение.

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

Читать полностью »

Сервис «Яндекс.Еда» начинает переход на эко-упаковку - 1

Сервис «Яндекс.Еда» начал предлагать ресторанам-партнерам упаковку из экологичных и разлагаемых материалов – картона и сахарного тростника. Эко-упаковка уже доступна на сайте для партнеров в разделе «эко».
Читать полностью »

Как европейская автобусная компания работает в России: чем отличаются автобусы и пассажиры - 1
82 сантиметра между сиденьями.

Европейская компания Lux Express возит пассажиров автобусами из Москвы и Петербурга в Таллин, Ригу, Хельсинки и города Восточной Эстонии (Нарва, Силламяэ, Йыхви). Я хочу рассказать, как устроены их автобусы (они строятся прямо под них на шасси Scania), чем бизнес-класс отличается от обычного и про другие особенности инфраструктуры. И заодно пройтись по тому, как живёт водитель в дороге и что вообще нужно, чтобы отправить автобус в путь.

Пока же остановимся на двух особенностях, которые показывают, что мы всё ещё в России.

Первая история такая: в автобусах стоят роутеры на восемь sim-карт и четыре модема. Они соединяются в массивы для русской стороны и заграничной соответственно. Трафик раздаётся по Wi-Fi пассажирам и на экраны-планшеты перед каждым местом. Раньше антенны были слабые, около 10 метров, и в конце автобуса ставился репитер. Это вызывало несколько опасных случаев на дороге, поскольку водители легковых машин шли почти впритирку за автобусом, стараясь воспользоваться халявным вай-фаем. Сейчас сигнал достаёт примерно на 50 метров в стороны, и таких ситуаций куда меньше. Читать полностью »

Наши турецкие клиенты попросили нас правильно настроить бэкап для дата-центра. Мы делаем подобные проекты в России, но именно здесь история была больше про исследование того, как лучше сделать.

Дано: есть локальное S3-хранилище, есть Veritas NetBackup, который обзавёлся новым расширенным функционалом по перемещению данных в объектные хранилища теперь уже с поддержкой дедупликации, и есть проблема со свободным местом в этом локальном хранилище.

Задача: сделать всё так, чтобы процесс хранения резервных копий был быстр и дешев.

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

На картинке то, к чему мы пришли:

Как уплотнить до 90% хранение бэкапов в объектном хранилище - 1

Как видно, первый бэкап делался медленно (70 Мб/с), а последующие бэкапы тех же систем — значительно быстрее.

Собственно, дальше чуть больше деталей про то, какие там особенности. Читать полностью »

Мы среди прочего оказываем поддержку по Вотсапу. Вечер, ничто не предвещает проблем, как тут вдруг открывается окно видеозвонка. Крупным планом — телеком-оборудование, установленное на площадке заказчика… И оно горит. Буквально. Видно огонёк, похоже — изоляция проводов около блока питания. Человек спрашивает, что делать. Кричу:
— Туши!
Он:
— А можно?
— Можно!
И только тогда он тушит.

Будни техподдержки: байки про то, что бывает, когда не можешь дойти до юзера - 1

Оказалось, что у них далеко не всё можно тушить обычными средствами: может в ответ ударить током на пару десятков тысяч Вольт. Или вообще тушение помешает работе важного оборудования. В общем, он увидел возгорание, позвонил в поддержку и, пока устанавливалось соединение, нашёл и подготовил огнетушитель.

В общем, привет! Я из команды удалённой технической поддержки, и мы часто общаемся с пользователями по всей стране и за её пределами. И они творят довольно странные вещи. Ниже будут байки.
Читать полностью »

Как мы развивали ИТ в «Леруа Мерлен»: пересборка двигателя на ходу - 1

Четыре года назад база клиентов велась отдельно в каждом магазине плюс ещё одна — на сайте.

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

Самый простой юзеркейс: сделать заказ через сайт и забрать его в реальном магазине «Леруа Мерлен» в России. Раньше заказы интернет-магазина обрабатывались в другом приложении вообще и по другой схеме. Теперь нам нужна была омниканальная витрина, чтобы любой заказ был разбит на интерфейс: касса в магазине, мобильное приложение, терминал в магазине, сайт — что угодно. Если вы поставите Linux на микроволновку — пускай будет микроволновка. Главное, чтобы какие-то интерфейсы могли стучать по API к беку и говорить, что вот тут надо оформить такой-то заказ. И получали на это внятный ответ. Вторая история была с запросами наличия и свойств товара из его карточки.

На фронте (скоро и про это напишем) у нас монстр — AEM, а за ним в беке было два больших приложения: OPUS и MoVe. Первое — это база данных свойств каждого товара (от габаритов до описания), второе — отвечает за чекаут, то есть монолит касс. Если сильно упростить.Читать полностью »

Вечный вопрос технического долга - 1
Это одно из самых крутых облегчений проекта. На картинке — график суммарного времени, затрачиваемого CPU на обработку всех пользовательских запросов. В конце видно переход на PHP 7.0. с версии 5.6. Это 2016 год, переключение во второй половине дня с 24 ноября.

Туту.ру с точки зрения вычислений — это в первую очередь возможность купить билет из точки А в точку Б. Для этого мы перемалываем огромное количество расписаний, собираем в кэш ответы множества систем авиакомпаний и периодически делаем невероятно длинные join-запросы к базе данных. В целом мы написаны на PHP и до недавних пор были полностью на нём (если язык правильно готовить, то можно даже строить на нём системы реального времени). С недавнего времени критичные по производительности участки стали рефакториться на Go.

У нас постоянно возникает технический долг. Причём это происходит быстрее, чем нам бы хотелось. Хорошая новость: его не надо закрывать весь. Плохая: по мере роста поддерживаемой функциональности техдолг тоже пропорционально растёт.

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

Привет! Я Валерий Лаптев, руководитель разработки LM в России. За два года мне нужно было поднять огромный отдел, и это был довольно интересный опыт.

Дело в том, что «Леруа Мерлен» есть во многих странах. Головная компания — во Франции, называется ADEO. Там пишут код под Францию, Италию, Испанию и Россию. Бизнес-модели у нас разные: если на российском рынке мы держим минимальные цены (ниже всех конкурентов в мониторинге), то в Европе всё иначе. На самом деле отличий море — начиная от особенностей локали и заканчивая другим законодательством. Есть особенности инфраструктуры России (те же очень большие задержки до Хабаровска) и другой жизненный цикл оформления заказа. Всё это порождает вот такой адский код, состоящий из огромных блоков IF:

Зачем нам в «Леруа Мерлен» нужен собственный российский отдел разработки на 200 человек - 1

Два года назад у нас было 60 магазинов и много-много хотелок по фичам. Накатывались они примерно за полгода и не всегда правильно. Последней каплей после кучи отклонённых по низкому приоритету фич была просьба завести в заказ поле-строку, чтобы мы его уже потом сами парсили. Это нужно было для особенностей доставки в России, поскольку страна больше других стран присутствия LM. Нам отказали и в этом, точнее, сказали, что будет где-то через семь-восемь месяцев.

Полугодовой цикл неспешной головной компании нам не подходил. Естественно, мы предложили написать свой код, отдать на ревью и подождать внедрения… Правда, из этого ничего хорошего не вышло.Читать полностью »

Мы, команда разработчиков, делаем корпоративные сервисы Леруа Мерлен. И у нас есть одно преимущество, которым может похвастаться мало какой разработчик: у каждого сотрудника компании есть телефон, где всё это запускается.

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

Я хочу рассказать про эту экосистему приложений и то, что сотрудники делают с ними в магазине и в офисе. Вот так выглядит экран телефона:

Корпоративный телефон — как швейцарский нож: для инвентаризации, чата, обращений в поддержку и справок - 1

Как видите, тут корпоративные приложения соседствуют с соцсетями, Телеграмом и прочим «бытовым» набором. Мы поощряем использование мессенджеров и соцсетей с корпоративных устройств. Принципиально не отслеживаем пользователей и не обращаемся к их данным (французская политика приватности в MDM примерно на уровне GDPR).

По нашим наблюдениям, когда у сотрудника появляются рабочий Телеграм и ВКонтакте на телефоне, он начинает эффективнее использовать приложения, которые нужны ему для работы.Читать полностью »

На этой фотографии из депо видно три поколения электропоездов: новый двухэтажный поезд ЭШ2, довольно старый ЭД4 (таким было первое поколение экспрессов до аэропорта) и ЭГ2Т, «средняя» по характеристикам между ними хорошая рабочая лошадка, которую тоже ремонтируют в депо Аэроэкспресса.

Аэроэкспресс: идём в депо - 1

Поэтому давайте поговорим о том, как устроен Аэроэкспресс, почему в нём почти не слышно шума, куда ему засунули аккумулятор, и как вообще всё устроено в самом поезде. И в депо тоже, потому что компания «Аэроэкспресс» имеет свои поезда, своё депо для их обслуживания и свои бригады машинистов. То есть всё своё кроме рельсов и электричества.

Аэроэкспресс: идём в депо - 2
Работы в кабине машиниста.

Это очень, очень интересный пример компании на инфраструктуре РЖД. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js