Я хочу немного порушить стереотипы, что Postgres — это чисто реляционная СУБД из прошлого века, плохо приспособленная под реалии современных проектов. Недавно мы прогнали YCSB для последних версий Postgres и Mongodb и увидели их плюсы и минусы на разных типах нагрузки, о которых я буду рассказывать.
…
Второе видео из серии о нормализации отношений баз данных. На примере понятно и доступно рассказывается о том, как спроектировать таблицу базы данных, чтобы она соответствовала условиям второй нормальной форме.
Очевидно, что обновлять технологический стек в проекте с долгой историей — это как перебирать двигатель самолета на лету. Подобная ситуация и у нас в Авито. В докладе я расскажу как итеративно, поступательно мы меняем фронтенд в Авито, внедрили серверный рендеринг, менеджмент зависимостей микрофронтендов, а так же какие грабли встретили и какие выводы из всего этого сделали.
Этот доклад для разработчиков middle и senior уровня, работающих с большой централизованной кодовой базой (и желающих эту кодовую базу распилить).
Большинство backend программ начинает свое сетевое общение с REST. По мере развития разработчику приходится отвечать на мелкие, но важные вопросы: как передавать дату и время, большие объемы данных, обеспечивать авторизацию и так далее.
Сетевые коммуникации в современном бэкенде — это множество конкурирующих протоколов, стандартов и подходов. У нас есть «REST», который каждый разработчик реализует по-своему, есть пересекающиеся JSON Schema и Open API, есть JSON API, GraphQL, gRPC, из-за угла выглядывает RAML.
В докладе Григорий рассказывает про современные подходы коммуникаций backend друг с другом и фронтендом, с какими сложностями мы боремся и что хорошего есть в нашем арсенале решений.
Чтобы делать хороший код-ревью мало просто смотреть на код и писать свое мнение о нем
Необходимо определиться с целью: зачем мы вообще ревьим код? Каждый вкладывает в процесс что-то свое: от обучения до дизайн-ревью
Нужно подготовить кучу всего: размер кода, размер задачи и ее постановку, описание проблемы и ее решения
Затем очистить код от примесей и ошибок, которые не должен проверять человек: от архитектурных до пропущенных пробелов
Проверить оформление и следование регламенту: конечно, автоматически
Правильно выбрать ревьюера: конечно, автоматически
Затем совершить сам акт общения и ревью: по делу, жестко, но без агрессии
Рассмотрим особенности использования REST API Elastic:
Как повысить утилизацию ресурсов кластера Elastic, что и как влияет на производительность
Особенности хранения логов в Elastic
Детальный разбор высоконагруженного пайплайна с логами поможет лучше понять, как устроен кластер Elastic. А практические советы по индексации больших объёмов данных — не наступать на грабли.
AWS Lambda от Amazon достаточно новая, но интересная и перспективная технология, впервые увидевшая свет чуть менее 5 лет назад. В своем докладе я расскажу как мы разрабатывали с нуля и докатили до прода в достаточно короткие сроки систему на базе AWS Lambda.
Основная задача системы — запуск ML моделей для генерации предсказаний по заданным гипотезам. Однако архитектура получилась достаточно гибкая и позволяет расширять набор моделей практически «на лету».
Я расскажу о некоторых особенностях работы с AWS Lambda, а также немного ближе познакомлю с облачными сервисами Amazon (SQS, SNS, EC2, S3, etc.)
Я расскажу, как мы комплексно подошли к проблеме отказоустойчивости PostgreSQL, какие варианты мы рассматривали и как остановились на Patroni.
Доклад содержит этапы тестирования этого решения, как мы обеспечили быстрое внедрение на production и с какими проблемами мы столкнулись и как их решали.
В современном мире разработки ПО сложно представить проект, в состав которого не входили бы компоненты с открытым исходным кодом или open source.
К сожалению, используя их, разработчики мало задумываются о том, что вместе с полезным функционалом они привносят в свой проект все риски и уязвимости, которыми наделены эти компоненты.
Между тем, существует класс инструментов, позволяющих осуществлять управление рисками при использовании компонентов с открытым исходным кодом. С этими инструментами Алексей и хотел бы познакомить слушателей