Как стать автором
Обновить
VK
Технологии, которые объединяют
Сначала показывать

Как мы построили BI-систему, изменили процессы разработки и создали 25 000 подов клиентов в Kubernetes

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

«Битрикс24» — продукт, который позволяет клиентам удобно управлять бизнес-процессами и эффективно использовать доступные данные для глубокой аналитики. В последнем особенно помогает «BI Конструктор» — внутреннее решение, с помощью которого можно реализовывать даже самую сложную аналитику и прозрачно контролировать все метрики.

Меня зовут Александр Сербул. Я руководитель больших данных, высоконагруженных систем и машинного обучения «Битрикс24». В этой статье я расскажу, как мы строили «BI Конструктор»: какие требования предъявляли к решению, как решали возникающие задачи и что получили в результате.

Статья подготовлена по мотивам моего доклада на VK Cloud Conf 24. Вы можете посмотреть его здесь.

Читать далее
Всего голосов 6: ↑6 и ↓0+14
Комментарии0

10 возможностей современного Tarantool, о которых вы могли не знать

Время на прочтение9 мин
Количество просмотров3.5K

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

Читать далее
Всего голосов 23: ↑23 и ↓0+29
Комментарии6

Мультипродуктовая дизайн-система: как сделать так, чтобы она реально работала

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров5.2K

Мультипродуктовая дизайн-система должна обеспечивать консистентность всех продуктов компании, а также ускорять и удешевлять их разработку. Однако в реальной жизни мы видим другое: мультипродуктовые дизайн-системы лишь отчасти выполняют свои функции и, помимо плюсов, имеют ряд существенных минусов. 

Главный минус — невозможность удовлетворить все потребности всех продуктов (особенно если речь идет о десятках и сотнях), в результате чего неизбежно возникают форки, собственные разработки и другие расхождения, постепенно отдаляющие продукты от единой дизайн-системы.
Выходит, что мультипродуктовые дизайн-системы работают, но с большими оговорками. Можно ли сделать так, чтобы они работали лучше?

Меня зовут Анастасия Кабалкина, я руковожу дизайном направления FinOps в VK Tech. В этой статье мы с вами разберем проблемы мультипродуктовых дизайн-систем и попробуем их решить небольшой доработкой архитектуры. А если не решить, то хотя бы минимизировать :)

Читать далее
Всего голосов 42: ↑40 и ↓2+42
Комментарии2

Можно просто так взять и опубликовать Приложение в ОК

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

ОК — большая и популярная социальная сеть. Причем она не только про общение, но и про развлечения: на платформе доступно огромное количество игр и мини-приложений, с которыми аудитория активно взаимодействует. Внутренние приложения и игры ОК использует почти 20 млн человек, и вовлеченность пользователей постоянно растет.

Доступ к этой аудитории есть практически у любого разработчика — разместить свое приложение на платформе ОК и сделать его доступным большой аудитории можно быстрее, чем приготовить завтрак.

Меня зовут Михаил Мосин. Я инженер-программист в ОК. В этой статье я подробно и пошагово расскажу, как зарелизить свое приложение на платформе ОК.

Читать далее
Всего голосов 12: ↑11 и ↓1+16
Комментарии9

Разработка плагина RuStore Billing для Defold. Часть 1: Создание Defold-проекта

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров545

Мы хотим, чтобы интеграция наших инструментов была максимально простой и понятной. Поэтому запускаем серию статей, в которых будем делиться советами по работе с RuStore Billing SDK и созданию плагинов для разных платформ и игровых движков.

Интеграция RuStore Billing SDK в игры на движке Defold может быть немного сложнее, чем нативный вариант. SDK написан на Kotlin, и взаимодействие системы скриптинга Defold на Lua с нативным SDK требует использования JNI (Java Native Interface). 

Меня зовут Роман Пельмегов, я работаю разработчиком в RuStore.

В этой статье расскажу, как мы интегрировали платежные функции RuStore в Defold. Вы узнаете, как создать плагин и подключить нативные Android-библиотеки, чтобы упростить работу с SDK.

Читать далее
Всего голосов 11: ↑10 и ↓1+13
Комментарии0

Композим иконки. Улучшаем семантику и скорость отрисовки

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

Привет! Меня зовут Алексей, я работаю Android-разработчиком в Облаке Mail. Наша команда отвечает за возвращаемость пользователей в сервис. Чтобы сделать использование Облака приятным и удобным, мы проводим редизайн приложения, переписывая старый пользовательский интерфейс на Jetpack Compose по новым макетам. Для упрощения создания новых экранов мы разрабатываем UI Kit с готовыми Composable-компонентами.

Во время работы над новыми экранами мне часто приходилось использовать множество различных иконок, разбросанных по всему проекту. Это навело на мысль: было бы здорово собрать все иконки в UI Kit в единственном экземпляре и использовать их только оттуда — по аналогии с тем, как это делают дизайнеры в Figma. И тогда я вспомнил об одной особенности Jetpack Compose.

Читать далее
Всего голосов 23: ↑23 и ↓0+28
Комментарии2

Особенности Effector, которые почему-то никто не обсуждает: опыт ВКонтакте спустя год использования

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

Upd: Поиском по "Upd" можно найти все корректировки, внесенные в статью после публикации в результате жаркой дискуссии в чате Effector.

Меня зовут Андрес, я руководитель команды разработки внутреннего UI-кита ВКонтакте. А это ещё одна статья про инструменты управления состоянием. Сегодня мы не будем изобретать ничего нового, а поговорим про библиотеку Effector.

TL;DR

Почти год мы ВКонтакте пытались внедрить Effector, но пришли к выводу, что пока это достаточно сырая библиотека. Её недостатки зачастую проявляются сильно позже, чем хотелось бы, и, по нашему мнению, перевешивают достоинства… А последние местами преувеличены. Было больно осознавать количество потерянного времени, но, как говорится, лучше поздно, чем никогда.

В сети мало альтернативной информации про Effector, а действительно полезную трудно найти. Надеюсь, эта статья поможет немного исправить ситуацию.

(Внимание, под катом много картинок.)

Что там за особенности?
Всего голосов 55: ↑53 и ↓2+63
Комментарии97

Как создавать высокопроизводительные очереди сообщений с различной архитектурой

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров6.7K

Масштабирование ИТ-инфраструктуры и переход к высоконагруженным многокомпонентным сервисам дает бизнесу не только преимущества, но и сложности. Одна из основных — необходимость обеспечения для сервисов возможности отказоустойчиво и надежно обмениваться тысячами сообщений без риска их потери или повреждения. И в этих задачах часто не обойтись без реализации очередей сообщений.

Рассказываем об основных сложностях развития высоконагруженных ИТ-систем и способах их преодоления с помощью очередей сообщений на примере Tarantool Queue Enterprise.

Материал подготовлен по мотивам вебинара «Как создавать высокопроизводительные очереди сообщений с различной архитектурой». Вы можете посмотреть его здесь.

Читать далее
Всего голосов 32: ↑30 и ↓2+34
Комментарии4

Как переход на AGP&Gradle 8.* изменил взгляд на работу с производительностью сборки

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров2K

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

Меня зовут Богдан Мащенко. Я Android-разработчик в платформенной команде Одноклассников. В этой статье я расскажу о нашем опыте перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что мы смогли получить в результате.

Читать далее
Всего голосов 15: ↑14 и ↓1+18
Комментарии0

Полезный чек-лист: способы сокращения расходов при работе с Kubernetes

Время на прочтение9 мин
Количество просмотров3.6K

Kubernetes — самый популярный оркестратор в России. По данным исследования VK Cloud «State of Kubernetes», K8s используют 56% компаний, работающих с оркестраторами (причем из них 53% работают с Kubernetes в облаке). Более того, спрос на работу с технологией увеличивается. Вместе с тем многие компании сталкиваются с недостатком опыта, что приводит не только к техническим сложностям, но и к неоправданным расходам.

Рассказываем, почему работа с Kubernetes может оказаться «тяжелой ношей» для бюджета компании и как этого избежать.

Читать далее
Всего голосов 23: ↑21 и ↓2+28
Комментарии0

Распределённые блокировки с помощью Tarantool 3

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

Распределённая блокировка — очень удобный инструмент в кластере, который помогает обеспечивать эксклюзивный доступ к некоторому общему ресурсу. Цель такой блокировки — обеспечить доступ к ресурсу лишь одному сервису или запросу в данный момент времени. Так предотвращается гонка за данными и их неконсистентность. Распределённая (или кластерная) блокировка называется так потому, что она обеспечивается несколькими узлами, и выход из строя одного из них не повлияет на приложение. В этой статье я расскажу, как реализовать этот инструмент с помощью Tarantool 3.

Читать далее
Всего голосов 27: ↑26 и ↓1+36
Комментарии0

Наш опыт эксплуатации Airflow в Kubernetes

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

Apache Airflow — это один из самых популярных ETL-шедулеров. ETL-процессы — это когда мы выбираем интересующие нас данные, приводим их к агрегированному виду и сохраняем для дальнейшего использования. И это присутствует везде, где есть необходимость анализа данных. Соответственно, Airflow предназначен для того, чтобы запускать пайплайны обработки данных.

Читать далее
Всего голосов 30: ↑30 и ↓0+38
Комментарии3

«От идеи до продакшена»: как разработать веб-приложение и загрузить в VK Mini Apps

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров4.3K

Привет, Хабр! Меня зовут Егор, я независимый разработчик сервисов VK Mini Apps — открытой платформы мини‑приложений и игр, которые доступны в VK, ОК, Почте Mail.ru, браузере Atom и RuStore. Ими можно пользоваться без установки на устройства, а число уникальных пользователей достигает 45 миллионов в месяц.

На базе VK Mini Apps можно легко создать приложение и поделиться им с друзьями. А если разработка окажется успешной — загрузить в каталог мини-приложений VK. Об этом всем подробнее поговорим в статье. Создадим приложение для мониторинга погоды, задеплоим на сервер и загрузим в VK Mini Apps.
Читать дальше →
Всего голосов 37: ↑33 и ↓4+44
Комментарии2

Шестая платформа данных: новое слово в хранении и обработке данных

Время на прочтение17 мин
Количество просмотров3.1K

Скорее всего, в ближайшие 3–5 лет появятся новые интеллектуальные приложения для работы с данными, и для них понадобится новый тип современной платформы. Мы называем ее «шестая платформа данных».

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

Команда VK Cloud перевела статью об этой самой «шестой платформе данных». Это переработка подкаста Breaking Analysis с гостем Райаном Блю — одним из создателей и председателем комитета по управлению проектами Apache Iceberg. Он соучредитель и генеральный директор компании Tabular Technologies Inc., основанной создателями Iceberg и разработавшей универсальное открытое табличное хранилище, которое подключается к любому уровню вычислительных ресурсов.

Читать далее
Всего голосов 13: ↑13 и ↓0+22
Комментарии1

Замеряем неизмеримое: карточки реакций VKontakte Desirability Toolkit для оценки визуального восприятия

Время на прочтение7 мин
Количество просмотров1.2K

Методология оценки юзабилити в UX-исследованиях достаточно развита - у нас есть стандарты, общепризнанные метрики и индексы. С ней все достаточно просто и операционализовано. Мы считаем время выполнения задания, эффективность, условную удовлетворенность. 

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

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

Читать далее
Всего голосов 13: ↑12 и ↓1+23
Комментарии0

Документация RuStore: как мы настроили автоматическую навигацию в Docusaurus

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

На связи техредакция RuStore. В прошлой статье мы рассказали о миграции документации RuStore. Мы продолжаем исследовать возможности Docusaurus и знакомить вас с ними. Сегодня расскажем о способах настройки навигационного меню и о том, почему мы выбрали автоматический режим.

Читать далее
Всего голосов 28: ↑24 и ↓4+33
Комментарии2

Нужна ли разработчикам магистратура? Отвечают студенты программы «Распределенные веб-сервисы»

Время на прочтение8 мин
Количество просмотров5.5K

Современный цифровой мир насыщен самыми разными веб-сервисами — социальными сетями, мессенджерами, агрегаторами услуг, маркетплейсами, досками объявлений и облачными хранилищам. Этими платформами пользуются сотни миллионов пользователей. Созданием и развитием таких систем занимаются специалисты различных профилей. Однако, из-за специфики их проектирования, разработки, тестирования и обслуживания, найти на рынке специалистов, полностью готовых к подобной работе, непросто. Обычно их приходится обучать и дообучать уже в процессе работы.

В контексте сказанного магистратура «Распределенные веб-сервисы» — совместная программа VK Education и Института прикладных компьютерных наук ИТМО — предоставляет возможность для IT-специалистов овладеть необходимыми навыками для успешной карьеры в одной из самых перспективных областей. Программе недавно исполнился год, и сегодня мы расскажем о её преимуществах и особенностях, а также поделимся опытом студентов программы.

Читать далее
Всего голосов 16: ↑15 и ↓1+20
Комментарии3

Как мы приготовили Feature-Sliced Design в VK

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9K

Всем привет! Меня зовут Дмитрий, я Frontend-разработчик в VK. В этой статье расскажу немного о том, как мы знакомились с замечательной архитектурой FSD (Feature-Sliced Design), как мы рефакторили свои проекты под неё. И, самое главное, что  из этого вышло. Постараюсь заинтересовать  вас, чтобы и вы смело её внедряли в свои проекты. FSD — это, пожалуй, то, чего так не хватало в Frontend-мире.

Читать далее
Всего голосов 32: ↑28 и ↓4+31
Комментарии44

Как организовать анализ большого объема данных в реальном времени

Время на прочтение8 мин
Количество просмотров6.7K

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

Меня зовут Николай Карлов. Я директор инновационных проектов в VK Tech. В этой статье я расскажу, что такое HTAP-системы, какие преимущества они предоставляют, и познакомлю с нашей колоночной СУБД Tarantool Column Store, которая реализует HTAP-обработку.

Статья подготовлена по мотивам вебинара «Анализируем данные в Real-time». Его вы можете посмотреть здесь.

Читать далее
Всего голосов 44: ↑44 и ↓0+56
Комментарии6

Как мы написали конкурентные структуры данных на C++ и научились их верифицировать

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

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

Для решения этой задачи команда ВКонтакте вместе со студентами из университетов ИТМО и СПбГУ работала над научно-исследовательским проектом — верификацией конкурентных структур данных на языке C++. В этой статье подробно расскажем, как мы в рамках проекта проверяли корректность наших конкурентных структур данных и заодно исправили найденную в нашем новом рантайме ошибку.

Читать далее
Всего голосов 31: ↑31 и ↓0+37
Комментарии32
1
23 ...

Информация

Сайт
team.vk.company
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия
Представитель
Руслан Дзасохов