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

Xpath — залог стабильных UI-автотестов на Web и Mobile Web

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

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

Меня зовут Елена Пранова. Я инженер по автоматизации тестирования в ОК. В этой статье я хочу рассказать о том, как мы работаем с локаторами для автотестов: каких принципов придерживаемся, чего стараемся избегать и какие правила выработали на своем опыте.

Читать далее
Всего голосов 9: ↑11 и ↓-2 +13
Комментарии 5

Используй Силу, Люк: Single Pane of Glass в Мире SRE

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

Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. 

В любом проекте и компании я иногда сталкивался, а иногда сам создавал проблему: огромное количество дашбордов. Вспомните ситуацию, когда вы в Grafana ищете какой-нибудь дашборд, пишете, например, «Tarantool», и вам выпадает огромный список дашбордов, которые кто-то до вас насоздавал. Это могут быть кастомные дашборды, которые кто-то делал для какого-нибудь инцидента, или просто созданные другими специалистами. Часто бывает, что половина этих дашбордов нерабочие или на них нет чего-то полезного. 

Как правило, обилие дашбордов создаёт ряд проблем: информационную перегрузку, потерю фокуса, сложность восприятия, а самое главное, затруднение исследований инцидентов. Попробуйте себе честно ответить на вопрос: глядя на свой дашборд, вы можете понять, работает ваша система или нет? Если нет, то читайте дальше. 

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

Выстраиваем процессы команд разработки: кейс и практические рекомендации

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

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

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

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Комментарии 3

Библиотека на Go для работы с RuStore API

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

Привет, Хабр!

Меня зовут Энрике, и я работаю Go-разработчиком в RuStore. Сегодня хочу рассказать про библиотеку на Go для комфортной работы с API магазина приложений RuStore. 

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

В этой статье мы опишем небольшой пример использования методов из нашей библиотеки: как получить данные по платежу, загрузить APK/AAB-файл и оставить ответ на отзыв пользователя. Все доступные методы можно посмотреть в документации.

Читать далее
Всего голосов 20: ↑19 и ↓1 +18
Комментарии 5

Работа с UI-автотестами под Android: от запрета мерджа к особенностям запуска

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

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

Меня зовут Эмилия Куцарева. Я — руководитель команды автоматизации тестирования в Одноклассниках (VK). В этой статье я расскажу о нашем подходе к работе с Android UI-автотестами: как устроен запрет мерджа, как смогли стабилизировать тесты, как настроили параметризацию запуска.

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

Учите матчасть: почему стоит изучать туториалы перед работой с облаками и кому это особенно важно

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


Миграция компаний в российские облака набирает активные обороты — по итогам 2023 года объем рынка облачных услуг в России показал прирост около 34% и достиг отметки в 121 млрд рублей. Такой спрос на облачные сервисы отчасти обусловлен погоней за преимуществами облаков: снижение порога входа в ИТ, повышение доступности современных инструментов и вычислительных ресурсов, упрощение задач администрирования и управления. Вместе с тем на пути к корректной миграции и желанным преимуществам компании нередко сталкиваются с непониманием принципов и особенностей работы в облачной среде.

Рассказываем, как эту проблему стараются решить облачные провайдеры, зачем нужны туториалы и кому важно их изучать. 
Читать дальше →
Всего голосов 24: ↑23 и ↓1 +22
Комментарии 12

Вы за это заплатите! Цена Чистой Архитектуры. Часть 2

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

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

Если не читали первую часть, настоятельно рекомендую это сделать, чтобы оставаться в контексте.

Итак, продолжим.

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

Вы за это заплатите! Цена Чистой Архитектуры. Часть 1

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

Всем привет, меня зовут Артемий, я работаю старшим Android-разработчиком в команде пользовательского профиля в RuStore. Мой опыт в индустрии уже 8 лет. За это время я успел поработать в разных проектах и компаниях. У меня был опыт работы в проекте, в котором было свыше 300 модулей и больше 60 Android-разработчиков. Такие условия заставляют задуматься о масштабируемости на принципиально ином уровне.

Сегодня я расскажу о способах обеспечения масштабируемости проекта и как этому может навредить неправильное восприятие Чистой Архитектуры (далее — ЧА). Предупреждаю сразу, это лонгрид в двух частях!

Читать далее
Всего голосов 64: ↑61 и ↓3 +58
Комментарии 65

Расчёт вкусов пользователя для ленты рекомендаций с применением item2vec-подхода

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

Ежемесячная аудитория ОК только в России превышает 36 млн человек. Причём это активные пользователи, которые хорошо взаимодействуют с нашим контентом: ставят Классы, комментируют, делают репосты. Залогом активного отклика во многом является формирование новостной ленты с учетом предпочтений каждого конкретного пользователя.

Меня зовут Дмитрий Решетников. Я тимлид команды рекомендаций в Ленте ОК. В этой статье я расскажу, как выглядит наш пайплайн рекомендации в ленте новостей, о месте item2vec в нём и результатах внедрения такого подхода.

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

Сбор логов в Kubernetes с помощью Vector: преимущества, архитектура, реальные кейсы

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


Всем привет! На связи Максим Набоких, архитектор и технический руководитель Deckhouse Kubernetes Platform. В ноябре 2023 года я выступил на VK Kubernetes Conf, где рассказал, как мы делаем доставку логов в Kubernetes надёжной и отказоустойчивой с помощью Vector. Эта статья — текстовая версия моего доклада.
Читать дальше →
Всего голосов 47: ↑46 и ↓1 +45
Комментарии 14

Руководство для тимлидов: планирование, Agile и вот это всё

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

Смотрели фильм «Люди в чёрном»? В нём множество запоминающихся реплик и моментов, смешных и поучительных. В одной из сцен агенты попали в затруднительную ситуацию и не могли понять, какой следующий шаг в расследовании им нужно сделать. Тогда один сказал, что нужно съесть пирог, он поможет.

Меня зовут Сергей Иванов, я из «ВКонтакте для бизнеса», и сегодня предлагаю вам присесть поудобнее и съесть пирог вместе со мной.

Съесть пирог
Всего голосов 37: ↑34 и ↓3 +31
Комментарии 6

Проводим и проходим собеседование по системному дизайну

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

Привет Хабр, меня зовут Вячеслав Таранников, я старший Android-разработчик в команде монетизации RuStore, и сегодня хочу поделиться взглядом, из каких ингредиентов можно собрать полезное и эффективное техническое интервью.

В предыдущей статье я рассказал, как мы пришли к системному дизайну как основному этапу собеседования в RuStore.

А сейчас мы рассмотрим, как организовать интервью по системному дизайну в своей компании, как подготовиться со стороны интервьюера и кандидата, на что обращать внимание во время интервью и как подать правильный сигнал.

Читать далее
Всего голосов 24: ↑20 и ↓4 +16
Комментарии 0

Путь от монолита к разделению Compute и Storage: пример поиска «хранилища мечты» для большой аналитической платформы

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

Для запуска и эксплуатации высоконагруженных ИТ-решений с петабайтами данных в активе, нужно проработанное решение, позволяющее гибко управлять ресурсами. Одним из критичных аспектов этого решения, является разделение Compute & Storage — разделение ресурсов инфраструктуры под вычисление и хранение соответственно. Если не реализовать такое разделение в крупном проекте, инфраструктура рискует превратиться в «чемодан без ручки» — эффективность использования ресурсов будет низкой, а сложность управления ресурсами и средами будет высока. На примере команды SberData и их корпоративной аналитической платформы я расскажу, когда требуется разделение Compute & Storage и как это реализовать максимально нативно.

Статья подготовлена по мотивам доклада на VK Data Meetup «Как разделить Compute & Storage в Hadoop и не утонуть в лавине миграций».

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

От Cache до Middleware: эволюция Tarantool

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


Рассказываем, что такое Middleware, как мы прокачали Tarantool от Cache до Middleware и когда будет полезен Tarantool с новыми возможностями.
Читать дальше →
Всего голосов 23: ↑22 и ↓1 +21
Комментарии 0

SmartFlow: «В начале был пароль...» или новая аутентификация VK ID

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

Привет, Хабр! Исторически сложилось, что первым способом аутентификации (в 1960-х) с появлением доступных компьютеров стал пароль. О рисках его использования и об изобретённых человечеством альтернативах мы подробно рассказали в статье о будущем беспарольной аутентификации. Этот подход к проверке подлинности пользователя мы начали развивать с апреля 2022 года и развиваем по сей день.

Меня зовут Саша, я работаю Android-разработчиком в команде VK ID. Мой рассказ — про SmartFlow, новый процесс аутентификации ВКонтакте, нюансы его внедрения и отличия от старого процесса переключения факторов. Разумеется, рассказывать буду применительно к Android-платформе. 

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

Знакомство с DevSecOps Guideline: правила организации безопасной разработки на уровне процессов

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


Количество киберинцидентов постоянно увеличивается, что вынуждает компании реагировать на растущие риски и делает практику DevSecOps обязательной для соблюдения при разработке ИТ-продуктов. При этом топорное внедрение мер не просто не гарантирует безопасность разработки, а может вызвать обратный эффект.
Читать дальше →
Всего голосов 33: ↑32 и ↓1 +31
Комментарии 3

Во что обойдется линеаризуемость в распределенной системе

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


Всем привет, меня зовут Сергей Петренко, я программист в Tarantool. Сегодня мы посмотрим, с какими трудностями сталкивается клиент, когда вместо того чтобы общаться с системой, расположенной на одном инстансе, начинает общаться с распределенной системой. И разумеется, поговорим о том, как эти трудности преодолеть. Я расскажу, что такое линеаризуемость, как мы ее реализуем в Tarantool и как это делают другие СУБД. В завершение мы поговорим о накладных расходах от линеаризуемости.
Читать дальше →
Всего голосов 61: ↑60 и ↓1 +59
Комментарии 3

Анимация в браузерах и как с ней работать

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

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

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

Меня зовут Сергей Чикуёнок. Я ведущий разработчик в ОК. В этом материале я расскажу об основных этапах работы с анимацией для браузеров, ключевых сложностях и вариантах их нативной оптимизации. 

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

Система мета-сборки GN: краткий обзор и подходы

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

Привет! Меня зовут Александр, я работаю в VK в команде браузера Atom. В его основе лежит open source-движок Сhromium. Сегодня хочу поговорить о системе мета-сборки GN. Её используют в крупных проектах Google (Chrome, Fuchsia, а также связанных с ними), и, например, когда разрабатывают браузеры на основе Chromium (то есть почти все браузеры, кроме Mozilla, Safari и совсем какой-то экзотики). Система мета-сборки GN используется для генерации ninja-файлов, описывающих этапы сборки проекта.

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

Who are you, Platform Engineering: разбираемся с одним из главных технологических трендов. Часть 1

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


Platform Engineering — один из главных технологических трендов 2024 года. По оценке Gartner, к 2026 году 80% компаний, занимающихся разработкой, будут иметь внутренние платформенные сервисы и команды для повышения эффективности разработки. 

Мы в VK Cloud предлагаем Dev Platform — платформу для разработки, которой смогут пользоваться другие компании. В серии статей о методологии  Platform Engineering и создании Internal Development Platform (IDP), мы поделимся своим подходом построения платформенных решений, расскажем о сложностях и о том, почему даже правильный подбор компонентов и архитектурных решений для IDP — не панацея.

В первом материале серии начнем с базы — остановимся на трудностях повышения эффективности команд разработки, разберем, что такое Platform Engineering и Internal Development Platform, что дает внедрение комплексных платформ и какие могут быть сложности.
Читать дальше →
Всего голосов 26: ↑24 и ↓2 +22
Комментарии 0

Информация

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