Последние три года мы в Авито активно разделяем PHP-монолит на микросервисы. В процессе нашли много устаревших продуктовых и технологических решений — неактуальные хранилища, слишком «толстые» ответы, неиспользуемые методы API. В докладе расскажу, как мы избавлялись от легаси: выносили словари и другую статику, выделяли интерфейсы, упрощали иерархию наследования и совершенствовали покрытие тестами. А ещё — как улучшаем то, что пока осталось в монолите.
То, что вы сейчас называете новым кодом, разработанным с умом и с учетом текущего качества кодовой базы, через неопределенный срок превратится в legacy. Это срок может быть несколько недель, просто п…
Главная проблема легаси, которую мы решаем, — это то, что инженеры бесполезно тратят время на чтение мёртвого кода. Причины его появления в новом коде — интенсивная продуктовая разработка с поддерж…
Это доклад про рефакторинг PHP кода с использованием тактических паттернов DDD. Я покажу на примерах, с какими проблемами мы столкнулись, какие приёмы работают. Цель — продемонстрировать подход к ре…
Легаси — неизбежное явление для любого крупного проекта, и SuperJob тут не исключение. Я расскажу о том, что вообще можно считать легаси, как мы последовательно боремся с ним в своём проекте и какие …
История успешного внедрения двух непростых методологий в одном крупном банке. DDD — сложный подход к проектированию ПО. Для его изучения требуется много прочитать и еще больше попробовать. Но когда …
В докладе расскажем про эволюцию разработки высоконагруженного сетевого кластера отправки пуш-уведомлений с использованием технологий от unix/bash и PHP до асинхронных неблокируемых многопоточных сое…
Яндекс Деньги прошли долгий путь от XSLT до React, при этом соответственно изменялся и бэкенд. Мы жили на XScript (тайные древние технологии!), на чистом Express и вот теперь переезжаем на Nest. Мы д…
Лидер рейтингов DotNext и актуальная тема построения инфраструктуры для микросервисов. Many organizations are now building microservices-based systems. But with the adoption of this architecture sty…
Кажется, что GraphQL заставляет нас использовать монолитную архитектуру. Давайте разберёмся, что это не так.
Разбивая наш JavaScript-монолит (куда без него) мы компании Osome двинулись дальше микросервисов и сразу перевезли всё на функции, отказавшись от Koa, Express, Nest или иных решений. Нашим новым фрей…
В докладе расскажу о том, как мы пытались бороться с деоптимизациями в Node.js и смогли ли достичь профита, по итогу.
Скорее всего, вы сталкивались с проблемой, когда ваш React-компонент становится большим, сложным и в нем появляется куча условий. Согласитесь, такие компоненты сложно читать, ревьюить и вообще понима…
К конференции уже будет окончательно определено, какие фичи попадут в состав 14-й версии PostgreSQL. Мы обсудим те из них, которые повышают производительность СУБД и помогают создавать устойчивые к в…
Фронтенд продолжает расширять свое присутствие не только в вебе, но и в области мобильных и десктопных приложений. Однако, остается вопрос: как фронтенд-разработчикам навигировать в этом разнообразии…
Расскажу про то, как делать веб быстрым, почему нужно заниматься скоростью, как измерять скорость и покажу примеры из жизни настоящих ускорений.
Поговорим о космической стабильности и отказоустойчивости. Сервисы со стабильностью 99.99. Возможно ли это? Если да, то как это реализовано в разных компаниях. Нас с вами ждёт дискуссия о том: Как …
Кажется, что уже все слышали о самой масштабной DDoS-атаке в истории интернета — Mēris. Очень многое в этой истории пока ещё проходит «под грифом секретно». Но сейчас мы готовы поделиться большой час…
Раньше разработчики думали, что серверные приложения — медленные, поэтому они решили перенести часть работы на клиентскую сторону, создавая так называемых толстых клиентов. Как оказалось, такие прило…
В каждой более-менее крупной IT-компании существует своя культура кода, видение и стайлгайды. Всё это в долгосрочной перспективе можно формализовать в виде внутренних NPM-пакетов, чтобы ускорить стар…