Доклады секции "Бэкенд, теория программирования"

(3)

Ищем товары по фото

Python
Поисковые системы
ETL
ML

Практический опыт интеграции ML в продакшн. Как мы делали "поиск по фото" для интернет-магазинов.

Блоки:
1) Теория — эмбеддинги, векторный поиск.
2) Обработка данных — удаление фона, выделение главного объекта на изображении.
3) Хранение эмбеддингов, организация поискового индекса.
4) Организация работы серверов для работы с векторным поиском.
5) Проблема похожести цветов, восприятие цветов человеческим глазом. Алгоритмы сравнения похожести цветов.

Доклад принят в программу конференции

Всё, везде и сразу: трейсинг в условиях хайлоада и 10к бэкендов

Бэкенд / другое
Профилирование
Распределенные системы
Логирование и мониторинг
Логи, метрики, ошибки
Технологии VK
Александр Кирсанов

VK, ВКонтакте

Поговорим о том, как мы расширяли distributed tracing под нужды ВКонтакте. Сама по себе технология понятна — это сбор информации о взаимодействии между элементами системы при обработке запроса. Есть и популярные инструменты для хранения и визуализации трейсов: например, Jaeger и Sentry. А также способы их сбора из прикладного кода (tracing SDK для различных языков).

Как и другие стандартные инструменты, встречаясь с реальным хайлоадом, они дают трещины. Что, если мы хотим хранить данных больше, чем позволяет стандарт? Что, если мы хотим трекать память в условиях асинхронных корутин? Что, если данных очень много, а мы хотим трейсить каждый-каждый запрос с минимальным оверхедом и существующие SDK для нашего продакшна не подойдут?

Я расскажу, как мы в целом переосмысливали процесс трейсинга, упёршись в подход Open Telemetry. В итоге у нас получилась более богатая модель данных, при этом сбор трейса на реальном проде получился практически zero overhead.

Доклад принят в программу конференции

Почему вам стоит писать backend на Elixir

Java
PHP
Python
Прочие языки
GO
.NET

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

Сравним 10 наиболее популярных языков программирования по ключевым критериям:
* кадровый вопрос;
* удобство разработки;
* выразительность языка;
* производительность.

Также обсудим, в чём уникальность Elixir: BEAM, OTP, модель акторов и то, как Elixir расширяет ваше мышление в плане подходов к написанию кода. Посмотрим, какие компании уже применяют Elixir для разработки своих сервисов.

Доклад принят в программу конференции