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

Оптимизация конкурентных приложений в Go

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

Конкурентность — одно из ключевых преимуществ Go, но на практике она нередко превращается в источник боли: гонки, дедлоки, утечки горутин, избыточная сложность. Всё дело в том, что встроенные инструменты Go действительно мощны — но требуют аккуратности, понимания и здравого подхода.

В этой статье мы разберёмся, почему так легко «прострелить себе ногу» при работе с конкурентностью, как этого избежать и как построить надёжную и эффективную архитектуру.
А начнём мы — с лёгкого и ироничного рассказа в духе Чехова, где горутины встречаются с русской душой.

Читать далее

CI/CD по кнопке: как мы автоматизировали сборку SampleApp для SDK RuStore

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

Если вы хоть раз тестировали SDK для Android, то знаете, сколько времени и нервов может уйти на подготовку окружения и сборку тестового приложения. Особенно если это делает не разработчик, а, например, тестировщик или менеджер — сначала нужно настроить окружение, скачать и обновить ветку до актуального состояния, открыть Android Studio, найти нужные параметры в build.gradle, внести правки вручную, запустить сборку. И каждый раз надеяться, что ничего не отвалится.

Читать далее

Как оптимизировать код на Go? Раскладываем по полочкам

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

Привет, Хабр! Меня зовут Дмитрий Гурьянов, я руковожу командой Manuls в VK HR Tek (система ведения кадрового электронного документооборота). Сегодня расскажу о нюансах оптимизации на разных уровнях исполнения кода на Go.

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

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

Читать далее

От данных к действию: как мы масштабировали direct-коммуникации в RuStore

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

Привет! Меня зовут Григорий Афонин, я продакт RuStore — магазина приложений для Android, Harmony OS, ОС «Аврора». В магазине мы реализовали всю необходимую пользователям и разработчикам архитектуру — скачивание приложений, оплату недоступного в зарубежных сторах софта и игр. 

Читать далее

Разработка CLI с помощью пакета Cobra: как не наступить на змею при написании

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

Привет, Хабр. Меня зовут Иван Добряев, я разработчик программного обеспечения в Центре технологий VK. Сегодня хочу поделиться опытом по одной достаточно прикладной, но весьма увлекательной теме — разработке командной строки (CLI) на Go.

Платформа для инференса ML-моделей (inference platform) у нас молодая, ей всего лишь полгода, и мы активно расширяем команду. Так что, если вы хотите писать сервисы на Go с нуля, то приходите к нам, у нас найдутся задачи на любой вкус.

Читать далее

Корпоративная разработка: существующие риски и практики обеспечения доверенности в коде

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

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

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

Меня зовут Сергей Склабовский. Я менеджер продукта в VK Tech. В этой статье я хочу рассказать о существующих рисках совместной разработки и основных подходах обеспечения доверенности в программном коде при разработке. 

Читать далее

Эффективный пакетный инференс моделей. Опыт инженеров VK

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

Привет, Хабр!  На связи Артём Петров, я занимаюсь разработкой ПО в центре технологий VK. Хочу рассказать о важной задаче обработки больших объёмов данных с использованием нескольких экземпляров одной и той же модели машинного обучения. Этот процесс называется batch inference («пакетный инференс») и позволяет значительно повысить производительность системы, особенно когда речь идёт о таблицах большого размера.

Читать далее

Миф о дешевом железе: полный расчет стоимости КХД для облака и локальных решений

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

Корпоративное хранилище данных (КХД) — один из ключевых компонентов любой ИТ-системы, который необходим для безопасного хранения и использования всех данных компании. Но построение КХД нередко превращается в «задачу со звездочкой» еще на этапе выбора платформы для развертывания: многим компаниям сложно определить, какой из вариантов будет не только надежнее, но и дешевле. 

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

Материал подготовлен директором центра бизнес-решений VK Tech Константином Дудниковым и директором по развитию облачного бизнеса Группы Arenadata Антоном Близгаревым @beton55.

Читать далее

Как мы делали Go-VShard-router

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

Привет, меня зовут Нуржан Сактаганов, я ведущий разработчик в Почте и Облаке Mail. Хочу рассказать о нашей библиотеке Go-VShard-router и поделиться трюками и выводами, которые мы сделали при разработке.

Читать далее

Решаем фундаментальную проблему асинхронных JavaScript-ошибок

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

Асинхронный JavaScript-код встречается практически в любом проекте (самый популярный пример использования — сетевые запросы). Но работа с ним сопряжена с рядом особенностей. Одна из них — специфичная работа с ошибками. Так, поскольку ошибки могут возникать в разное время и в разном месте, надо уметь их отлавливать, определять место «поломки» и корректно передавать всю информацию для последующей обработки. Для этого критически важно, чтобы stack trace ошибки был не формальный «однострочник», а максимально информативный.

Читать далее

Не только React: сравнительный анализ React и Jmix для написания UI бизнес-приложений

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

Раньше, когда трава была зеленей, а доллар стоил 30, в мире enterprise-разработки преимущественно использовались десктопные приложения. Если вспомнить, как выглядели пользовательские интерфейсы в то время, то перед глазами возникает грустная и серая картина из кучи таблиц, кнопок, форм и бесконечно открывающихся экранов поверх других экранов. Также не забудем про тот факт, что бизнес довольно сдержанно относится к любым изменениям, особенно если они требуют дополнительных трат. Из всего этого можно сделать вывод, что красивого UI бизнес-приложений не могло существовать в то время. Однако современные фреймворки, такие как React, позволяют довольно быстро построить красивый и функциональный интерфейс. Но React'ом ли единым? Есть ли другие инструменты для эффективного написания бизнес-приложений?

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

Читать далее

Как мы сделали дизайн-систему для мобильных устройств и TV

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

Привет, Хабр! Меня зовут Вячеслав Таранников, я ведущий Android-разработчик в RuStore, и сегодня расскажу о нашей дизайн-системе, разобрав две ключевые темы: токены и компоненты.

Эта статья основана на моем совместном докладе с Дмитрием Смирновым, руководителем команды разработки, — «Как мы создали дизайн-систему для мобильных устройств и ТV на Jetpack Compose». Мы представили его на митапе «Coffee&Code ✕ RuStore | TechBrew» и теперь делимся основными идеями с вами.

Читать далее

Автоматизация проверОК логирования действий пользователей сайта

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

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

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

Читать далее

Kubernetes как PaaS: максимум возможностей без разработки. Часть 1

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

Kubernetes — это не просто оркестратор контейнеров, а целая экосистема инструментов, которые позволяют построить PaaS без написания кода. Helm, ArgoCD, Crossplane, Knative и другие решения делают управление приложениями и инфраструктурой настолько простым, что разработка собственной платформы превращается в задачу конфигурации, а не программирования. Меня зовут Сергей Емельянов, я техлид команды в VK Tech, которая занимается созданием PaaS-платформы на базе Kubernetes для упрощения работы с данными. В серии статей разберем, как создать PaaS, используя мощь Kubernetes и его экосистему.

Читать далее

Адаптированные нейросетевые алгоритмы на отечественных процессорах

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

Привет, Хабр! Меня зовут Сергей Нефёдов, я являюсь руководителем мастерской «Аппаратно-программные комплексы ИИ» в Инженерно-математической школе НИУ ВШЭ и VK. Вместе со студентами мастерской — Русланом Камчазовым и Львом Бабинцевым — мы провели исследование, результатами которого хотим поделиться в этой статье. Целью исследования стало тестирование скорости вывода и эффективности адаптированных современных нейросетевых алгоритмов на отечественных процессорах, таких как «Эльбрус-8СВ», а также ускорителях NM Card и IVA TPU. Особое внимание мы уделили возможности переноса ведущих мировых open-source решений на российскую элементную базу.

Читать далее

С заботой о комфортном просмотре: как команда VK справляется с высокой нагрузкой на видеоплеер на Android-устройствах

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

По итогам четвёртого квартала 2024 года только в VK Видео количество суточных просмотров выросло до 2,7 миллиарда, а месячная аудитория — до 72,2 миллиона человек. Часть этих просмотров приходится на Android-устройства.

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

Читать далее

Объектное хранилище S3: практическое руководство без лишних слов

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

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

Меня зовут Станислав Погоржельский, я технологический евангелист VK Cloud, и в том числе в рамках своей работы рассказываю про наши облачные и on-prem решения. В этой статье мне захотелось поделиться, как именно объектное хранилище S3 помогает решать реальные задачи.

Читать далее

Как мы перестроили комментарии в ОК: от линейного хаоса к веточной гармонии

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

Комментарии в соцсетях — это как чипсы: начал читать, остановиться невозможно. Но в ОК до 2024 года они были плоскими — вместо структурированного диалога под постом пользователи видели бесконечную ленту сообщений, где ответы терялись в хронологическом порядке. Представьте: под постом про котиков кто-то спросил про корм, но ответ на вопрос появился в самом низу, через 500 комментариев с обсуждением хвостатых. Найти ответ на вопрос в такой системе, если он вообще существует, — тот ещё квест.

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

Читать далее

Как мы учили «1С: Предприятие» работать с объектным хранилищем S3: предпосылки, алгоритм, результат

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

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

В этой статье расскажем, как компания «ЦЛР ГРУПП» перестраивала работу «1С:Управление торговлей» с локального дискового хранилища на S3: с чего мы начинали, зачем понадобилась миграция, как ее реализовали и что мы получили в результате.

Читать далее

Кросс-бизнес-разработка и что о ней нужно знать: основное из опыта команды VK Tech

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

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

При создании продуктов под разные среды исполнения и сегменты рынка обычно есть два пути: делать несколько продуктов из разных реализаций приложений и сервисов или разрабатывать единый продукт, который впоследствии должен учитывать все требуемое многообразие. Второй подход, который называется кросс-бизнес-разработка ПО (Cross-business software development), — это как раз то, чему следует команда VK Tech при разработке своих продуктов.

Меня зовут Александр Бычук. Я Director of Software Engineering в VK Tech. В статье я расскажу, что такое кросс-бизнес-разработка ПО (Cross-business software development), какие преимущества и недостатки она имеет, а также как мы в команде VK Tech реагируем на вызовы кросс-бизнес-разработки.

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

Информация

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