Обновить
Сначала показывать
Порог рейтинга
Уровень сложности

Как мы пережили цветовой кризис в RuStore и нашли путь к тёмной стороне темы

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели6.7K

Когда RuStore только запускался, мы строили дизайн на основе UI-кита от VK — удобно, практично, а главное помогло нам быстро вывести продукт на рынок. Но стор рос, интерфейсов становилось больше, дизайнеры — смелее, а требования — сложнее. И вот настал день, когда мы решили добавить тёмную тему. И всё сломалось. 

Именно тёмная тема вскрыла нашу главную проблему — ранняя структура цветовых токенов не готова к масштабируемости. Любое изменение запускало каскад правок и ломало синхронизацию между макетами и кодом. 

Под катом мы — Элина Шевченко, продуктовый дизайнер RuStore, и frontend-разработчик Андрей Едунов — расскажем историю, как мы полностью перестроили систему, не останавливая разработку, аккуратно вынесли всё из Figma в код и почему теперь можем масштабировать дизайн без драмы, даже если завтра понадобится не только тёмная тема, но и ностальгия по 2008-му, где primary — это чистый #000000, а secondary — оттенок тоски.

Читать далее

Новости

Динамический CJM в Дзене: от данных к решениям через разметку, агрегацию и визуализацию

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.5K

Привет, Хабр! Меня зовут Екатерина Сивакова, я тимлид аналитики в Дзене (VK), а до этого работала в других бигтехах, и везде так или иначе сталкивалась с изучением CJM и пользовательской аналитикой. Сегодня хочу рассказать, как мы в Дзене делали единый инструмент по изучению пользовательского пути, зачем это понадобилось и что из этого вышло. А ещё о том, сколько это реально стоило по времени и ресурсам, потому что ответ отличается от первоначальной оценки примерно в 60 раз.

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

Читать далее

От шутки к популярному продукту: история создания ИИ-фоторедактора и кейс победителя VK Dev Grants 2025

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели7.2K

Каждый год тысячи разработчиков создают пет‑проекты — и лишь единицы из них превращаются в продукты с монетизацией. Шансы невелики, но они есть. Мой кейс — как раз из таких исключений: даже самая «несерьёзная» идея способна вырасти в востребованный сервис. 

Меня зовут Антон Ленев, я разработчик на платформе VK Mini Apps. В этой статье я расскажу, как от шуточного пет-проекта пришёл к мини-приложению «Отредач — ИИ-фоторедактор» на платформе VK Mini Apps и победе в грантовом конкурсе VK Dev Grants 2025.

Читать далее

От события до дашборда в облаках: практика по созданию потоковой платформы на Kubernetes

Уровень сложностиПростой
Время на прочтение48 мин
Охват и читатели6K

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

Меня зовут Сергей Емельянов. Я руководитель Core-команды VK Tech. В этой статье я пошагово покажу процесс построения синтетической платформы для обработки потоковых данных на Kubernetes.

Читать далее

Ферма коммуникаций: система принятия решений для UI-промо в мобильном приложении

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели5K

В большом мобильном продукте коммуникации запускаются разными командами. Подписки, апселлы, промоакции и A/B-эксперименты развиваются параллельно и часто независимо друг от друга.

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

Меня зовут Михаил Христокьян. Я работаю над мобильными продуктами Почты и Облака Mail и занимаюсь архитектурой и развитием системы продуктовых коммуникаций внутри приложения. Сегодня я расскажу о том, как мы решили эту проблему и при чём тут «Разборки».

Экскурсия на ферму

О специфике разработки приложений под Smart TV: личный опыт перехода от веба к ТВ

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.7K

Смотреть шоу, телеканалы, спортивные трансляции, фильмы и другой контент на Smart TV, используя приложения видеоплатформ — уже типовой сценарий. По данным на конец 2025 года, объём потребления контента в VK Видео увеличился в 2,1 раза (на 110%) по сравнению с аналогичным периодом 2024 года. Наибольшее вовлечение аудитории зафиксировано на платформе Smart TV: в начале 2026 года среднее время просмотра на одного пользователя — 241 минута. При этом многие не думают, как устроен софт для большого экрана.

Читать далее

Околоенотная грамота, или Как я создавал генератор паролей

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели8.8K

Всем привет, я Олег Оболенский, технический директор одного из подразделений VK Tech. Время от времени я задаю себе вопрос: «А вот, находясь на месте ребят-программистов из моей команды, смог бы я так же, как они, или нет? Как сейчас, спустя 25 лет после того, как я вошел в профессию, выглядит программирование?»

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

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

Читать далее

Data Mesh vs централизованная модель: выбираем оптимальный подход к управлению данными

Время на прочтение10 мин
Охват и читатели10K

Привет, Хабр. Меня зовут Сергей Петриченко. Я продуктовый менеджер VK Data Platform, VK Tech.

Традиционно крупные компании использовали централизованную модель управления данными с единой командой Data-инженеров. Однако по мере роста объемов данных и повышения требований к скорости обработки возникает соблазн перейти на новую модель — Data Mesh, которая предлагает делегирование управления данными бизнес-доменам. Вместе с тем это не всегда оправданно, а иногда и рискованно, поскольку классическая централизованная модель и Data Mesh имеют свои особенности и ориентированы на разные сценарии применения.

В этой статье я попробую разобрать, чем отличается Data Mesh от централизованной модели управления данными, каковы ее преимущества и риски, и главное – когда такой подход действительно нужен.

Читать далее

Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели11K

Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run, docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»?

В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

Читать далее

Forza Tarantool: разработка на C для встроенного сервера приложений

Время на прочтение17 мин
Охват и читатели7.1K

Tarantool – это in-memory СУБД с открытым исходным кодом, разрабатываемая VK Tech. Существует два способа разработки приложений для Tarantool. Как и к большинству СУБД, к Tarantool можно подключаться из внешнего приложения по TCP/IP. С этой целью для многих популярных языков программирования (включая Go, Python, C#, С++, Java и др.) разработаны соответствующие коннекторы. Это – первый способ.

Кроме этого, Tarantool обладает замечательной особенностью: он позволяет запускать бизнес-логику на встроенном сервере приложений. В этом случае пользовательский код исполняется в одном адресном пространстве с данными, что обеспечивает высокое быстродействие. Это – второй способ.

Если мы ведем разработку для встроенного сервера приложений Tarantool, то выбор языков программирования более ограничен. Основным языком программирования, в этом случае, является Lua. Также, часть логики может быть реализована на C/C++. Но набор доступных языков расширяется. Например, с некоторого времени, поддерживается Rust. Помимо этого, Tarantool может выполнять Wasm-приложения. Скоро код библиотеки для разработки на Wasm будет открыт.

Tarantool – высокопроизводительная СУБД, часто используемая для построения highload-систем. Какой из вариантов разработки позволяет достичь максимального быстродействия (которое в таких системах будет не лишним)? В настоящей статье я хотел бы рассмотреть возможные способы вызова C-кода из Lua/LuaJIT/Tarantool (в режиме сервера приложений) и то, как это может ускорить и без того быструю СУБД.

Читать далее

Технологии в основе VK Видео: от загрузки файла до кадра на экране зрителя

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели21K

В 2025 году платформа VK Видео стала лидером в России по ежедневной и ежемесячной аудитории. За этим результатом стоит не только рост числа авторов и объёма контента. В его основе системное развитие технологий: мы последовательно масштабируем инфраструктуру, совершенствуем пайплайны обработки видео и инвестируем силы в стабильность воспроизведения на всех пользовательских устройствах и при любых условиях сети. Это постоянная инженерная работа, направленная на предсказуемое и стабильное качество сервиса при быстрорастущей нагрузке. 

Меня зовут Алексей Шпагин, я руководитель разработки бэкенда видеоплатформы VK. В статье расскажу о технологиях, лежащих в основе VK Видео, и жизненном цикле контента на платформе: от загрузки и обработки до доставки зрителям.

Загляни под капот VK Видео

От ручного конфига к автоматическому мониторингу: обзор новой библиотеки go-discovery для Tarantool 3.0

Уровень сложностиСредний
Время на прочтение16 мин
Охват и читатели8.7K

Когда у вас 50+ узлов Tarantool в кластере, ручное управление соединениями превращается в боль. Узлы падают, реплики становятся мастерами, новые инстансы добавляются — и все это нужно отслеживать в реальном времени. 

Рассказываем, как мы спроектировали go-discovery — библиотеку для автоматического обнаружения узлов кластера Tarantool 3.0.

Читать далее

EVPN-connector от VK Cloud: знакомим с первым Open-Source-компонентом нашего SDN Sprut

Время на прочтение10 мин
Охват и читатели8.6K

В современных облаках есть много задач, связанных с проблемами производительности и масштабируемости виртуальных сетей. Кроме этого, есть ряд задач, требующих интеграции с аппаратными сетевыми устройствами. Чтобы преодолеть этот барьер, в собственном SDN (Software Defined Network, программно-определяемая сеть) мы реализовали поддержку технологии EVPN. За это отвечает специальный компонент — EVPN-connector. Он использует OpenVSwitch для передачи данных и GoBGP для передачи информации и позволяет строить распределенные сети с поддержкой L2- и L3-режимов, а также обеспечивает интеграцию с аппаратными устройствами. В этой статье мы, команда IaaS Network в VK Cloud, расскажем о EVPN-connector в деталях.

Читать далее

Ближайшие события

Управляем облаком, не привлекая внимания пользователей: разбор примеров из жизни One-cloud

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.5K

Привет, Хабр! Меня зовут Алексей Волков, я руковожу группой core-разработки внутреннего облака VK — One-cloud. Хочу поделиться примерами из эксплуатации: какие были проблемы в проде на Java при высоких нагрузках, как мы это чинили и какие выводы сделали. Никакой теории на бумаге, только реальные истории из жизни крупной облачной платформы. 

Читать далее

Go: как получить до 5 млн RPS с одного экземпляра Tarantool

Время на прочтение23 мин
Охват и читатели8.8K

Привет, Хабр. Меня зовут Олег Жуковец. Я руководитель команды «Экосистема» в Tarantool R&D компании VK Tech.

Многие разработчики сталкивались с ситуацией, когда запросы к базе данных выполняются быстро, индексы настроены, оборудование справляется с нагрузкой, но конечное приложение все равно работает медленно. Нередко проблема кроется не в самой базе данных, а в некорректно реализованном клиенте, который может стать «бутылочным горлышком» для всего ИТ-ландшафта. Именно поэтому оптимизация клиентов для работы с БД имеет важное значение.

В этой статье я на примере коннектора к Tarantool расскажу о доступных и простых оптимизациях клиента для БД, которые позволяют минимизировать аллокации и число горутин, чтобы выкрутить скорость обработки запросов (RPS) на максимум.

Читать далее

Уменьшаем зависания и оптимизируем потребление трафика: как команда VK Видео работает с viewport на Android

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели8.8K

VK Видео — один из крупнейших видеосервисов в России. В декабре 2025 года его ежемесячная аудитория достигла 81,5 млн пользователей. А в первую неделю января 2026 года среднесуточная аудитория VK Видео превысила 42 млн человек (без учёта просмотров на Smart TV и встраиваемых плееров, по данным Mediascope). 

Часть аудитории пользуется сервисом на устройствах Android. Для работы с видео на Android у VK есть единое решение — SDK OneVideo Player. Оно основано на библиотеке Media3 и содержит много улучшений и доработок в части проигрывания видео. Одна из таких оптимизаций — адаптация видео под viewport.

Меня зовут Егор Баженов. Я Android-разработчик в команде видеоплатформы VK. В этой статье я расскажу, как мы внедрили адаптацию под viewport в нашу библиотекуи каких результатов это позволило достичь.

Читать далее

Как AI VK построили единую платформу для рекомендаций, поиска и рекламы в продуктах с многомиллионной аудиторией

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели11K

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

В статье поделились подробностями о том, что из себя представляет единая Discovery-платформа и какие результаты уже заметны.

Переходите под кат, будет интересно ⬇️

Про Discovery-платформу

Роль хранилищ и платформ данных в развитии ИИ

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели8.4K

Сегодня бизнес активно использует машинное обучение (Machine Learning, ML) для решения самых разных задач — от прогнозирования продаж до автоматизации процессов. Однако искусственный интеллект — это не какое-то волшебство, а математика, методы и алгоритмы, которые не будут работать без качественных и подходящих именно им данных. Чем больше качественных данных доступно для анализа, тем более сложные и точные модели можно построить. 

Меня зовут Анна Фенюшина, я ведущий архитектор направления «Дата-сервисы» в VK Tech. В этой статье я разберу, какие поколения ML существуют, какие данные нужны для их реализации и как современные хранилища могут помочь в развитии ИИ.

Читать далее

Исследуем UX-долг: как мы превращали список проблем в продуктовые решения

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.5K

Всем привет, я Лена, исследовательница в команде Облака Mail. Изучаю опыт пользователей и помогаю командам делать наши сервисы удобнее и понятнее. Управляю проектом UX-мониторинга core-сценариев продуктов Mail.

В этой статье хочу рассказать о том, как мы переосмыслили место исследователя в продуктовой команде и как нам удалось пересмотреть UX-долг*, также о том, как этот подход помог нам стать источником для формирования продуктового бэклога на примере нашей небольшой команды.

Начнём!

Мультизональный PostgreSQL своими руками: декомпозиция трудозатрат

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели12K

Разговор о собственном PostgreSQL-кластере обычно начинается с фразы: «Да там поставить — день работы». Технически это правда. Установка PostgreSQL на два сервера в разных ЦОДах действительно занимает несколько часов. Проблема в том, что установка — это меньше 10% работы до Production-ready-состояния.

В этой статье мы декомпозируем все задачи, которые стоят между идеей развертывания и работающим кластером с отказоустойчивостью между ЦОДами. Все с оценками в человеко-часах, чтобы можно было собрать для себя TCO и сопоставить свои затраты. Учтите, что если все это вы делаете в первый раз, то по всем шагам время увеличивается втрое.

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

Читать далее
1
23 ...