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

Overpass API: следующий уровень владения OpenStreetMap

Блог компании VK OpenStreetMap *Геоинформационные сервисы *

В своих различных геосервисах мы используем данные OpenStreetMap (OSM). Данные в OSM заносятся, в основном, через специальные программы-редакторы, про самые популярные из которых мы писали тут и тут. На программном уровне редакторы общаются с главным сервером через OSM API. Этот API работает как на чтение, так и на запись и предоставляет лишь минимально необходимые возможности. Через него выборку можно ограничить только прямоугольником, но не произвольной полигональной областью, также нет ни фильтрации данных, ни способов их преобразования перед отправкой клиенту. Но что делать, если тебе нужно выбрать данные из OSM, отсеив много лишнего, желательно сразу показать результаты на карте, и при этом ты ни разу не программист? Тут-то на помощь и приходит Overpass API — мощный инструмент запросов к данным OSM, и Overpass Turbo — веб-приложение, предоставляющее графический интерфейс к Overpass API и дополнительные удобства при работе с запросами.

Читать далее
Всего голосов 24: ↑24 и ↓0 +24
Просмотры 1.8K
Комментарии 2

Новости

Андрей Квапил: «Уже несколько лет мы делаем в Kubernetes то, что только сейчас готовится к production-ready»

Блог компании VK Блог компании Флант DevOps *Интервью Kubernetes *


Андрей Квапил (kvaps) — Solutions Architect в компании Флант. Путь в ИТ он начал с подработки эникейщиком во время учебы в школе. А сейчас создает платформы для автоматического управления инфраструктурой, участвует в open-source-сообществе, пишет статьи и выступает на конференциях. Поговорили с Андреем о его карьере в ИТ, переезде в Чехию и выступлениях на конференциях.

Андрей — один из спикеров VK Kubernetes Conference, которая пройдет 9 декабря 2021 года. 

— Начнем издалека. Ты помнишь, когда впервые начал интересоваться ИТ?


— Первый компьютер в нашей семье появился у деда — он работал профессором в МГУ. Это был Pentium 1 133 Mhz с 32 Мбайт памяти, еще с кнопкой Turbo. Мои старшие братья часто играли на нем в Larry, а мне не разрешали. Но меня тогда интересовал не сугубо развратный подтекст игры, а то, насколько широко она использует возможности компьютера. Звуковых карт тогда еще не было, но музыка проигрывалась через спикер. Мне это показалось крутым: компьютер играет музыку, ничего себе!
Читать дальше →
Всего голосов 36: ↑33 и ↓3 +30
Просмотры 8.4K
Комментарии 2

Новичок или матерый DevOps? По-настоящему сложный тест на знание Kubernetes

Блог компании VK Системное администрирование *IT-инфраструктура *DevOps *Kubernetes *

Работаете с Kubernetes не первый год? Уже три раза роняли и поднимали продакшен-кластер? Пройдите тест и узнайте, насколько вы хороши в Kubernetes.
Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 4K
Комментарии 11

«Полезно облажаться, признать это и идти дальше» — архитектор Павел Селиванов о выступлениях на конференциях

Блог компании VK Системное администрирование *IT-инфраструктура *DevOps *Kubernetes *

Павел на конференции DevOps Conf 

Павел Селиванов четыре года зарабатывал игрой на контрабасе, бас-гитаре и тубе, а затем ушел в ИТ. Сейчас он архитектор и Developer-адвокат в VK Cloud Solutions, учит других специалистов работе с Kubernetes и выступает на конференциях. 

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

Павел Селиванов выступает 9 декабря на VK Kubernetes Conference, здесь можно посмотреть программу конференции

Читать дальше →
Всего голосов 13: ↑11 и ↓2 +9
Просмотры 1.7K
Комментарии 3

Как это устроено: видеоконференции ВКонтакте на безлимитное число участников

Блог компании VK Высокая производительность *Анализ и проектирование систем *Разработка систем связи *Видеоконференцсвязь

Сервисы для онлайн-общения и всевозможная доставка — наверное, самые востребованные и активно развивающиеся отрасли 2020–21-го. Мы ВКонтакте тоже не остались в стороне: работая удалённо с первых месяцев пандемии, запустили групповые видеозвонки. Сперва они вмещали одновременно 128 человек, а теперь мы полностью сняли лимиты на число участников.

В этой статье рассказываем, с какими трудностями сталкивается большинство сервисов звонков. И показываем, что нам понадобилось сделать и изобрести, чтобы преодолеть ограничения по числу участников. Попутно отвечаем на вопросы, которые прилетали со всех сторон на волне интереса к технологиям real-time коммуникации: как устроены Zoom и Clubhouse, что взять для своего сервиса звонков из open source, как встроить звонки в приложение. Про эффективную доставку тоже будет — но не еды, а данных, аудио и видео.

Читать далее
Всего голосов 52: ↑52 и ↓0 +52
Просмотры 6.7K
Комментарии 12

Однократные подписки

Блог компании VK Алгоритмы *Tarantool *

При создании разных сервисов очередей часто возникает вопрос: «А как лучше реализовать систему уведомлений о событиях в очереди?» Она часто бывает сложнее в реализации, нежели сам сервис очереди. Система распространения уведомлений встречается во многих программных комплексах. Как правило, клиентов у таких систем немного: десятки, реже — сотни.

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

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

Создаём игру на KPHP с помощью FFI и SDL

Блог компании VK Open source *PHP *Программирование *Разработка игр *

KPHP теперь поддерживает механизм Foreign Function Interface (FFI). Мы с Владом решили продемонстрировать его возможности и за сутки написали первую в мире графическую игру на KPHP.


Игру делали с использованием библиотеки SDL:


  • работали со звуком,
  • обрабатывали события клавиатуры,
  • рисовали шрифты, спрайты, UI.

API и семантика нашего FFI идентичны PHP. Поэтому созданная игра запустится и на KPHP, и на PHP.


Если вам интересны детали реализации, заглядывайте под кат!


Читать дальше →
Всего голосов 48: ↑44 и ↓4 +40
Просмотры 3.7K
Комментарии 9

Tarantool на процессорах Apple M1: первые результаты

Блог компании VK Высокая производительность *Тестирование IT-систем *Tarantool *


Spiderman + Youtube speedpaint by RowenHebing


Процессоры M1 от Apple уже давно не новость. Многие знают об их быстродействии и о том, что приложения для MacOS нужно адаптировать под новую архитектуру. В команде разработки платформы Tarantool мы тоже недавно поставили перед собой такую задачу.


Я, Алексей Корякин, технический директор Tarantool, входящего в экосистему VK. Расскажу, зачем нам вообще это было нужно (ведь macOS не устанавливают на продакшен-серверы), как мы решали задачу, и покажу результаты бенчмарков.

Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры 7.8K
Комментарии 9

Мы уникальны. И, вероятно, одиноки

Блог компании VK Читальный зал Экология Астрономия

Каждому, кто убеждён (пусть и в душе) в своём превосходстве над другими и в величии своего жизненного пути, нужно почаще смотреть на эту фотографию. Та самая pale blue dot. Это Земля, какой её увидел в 1990-м году «Вояджер-1», к тому моменту улетевший на 6 млрд километров от Солнца. Никто не сказал ещё об этой фотографии лучше Карла Сагана. Человеческая цивилизация невообразимо незначительна даже в масштабах Солнечной системы, что уж говорить о Млечном Пути или ещё более крупных звёздных скоплениях… Одиноки ли мы как цивилизация? Или хотя бы как жизнь, возникшая на планете? У сторонников ответов «да» и «нет» есть пачки аргументов, от «если мы не одни, то где все?» до «мы такие примитивные, что пока не можем никого заметить». 

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

Читать далее
Всего голосов 82: ↑73 и ↓9 +64
Просмотры 23K
Комментарии 149

Пишем распределенное хранилище за полчаса

Блог компании VK Высокая производительность *NoSQL *Администрирование баз данных *Tarantool *


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


Мне не нравится тратить время на настройку SQL базы данных, думать, как управлять шардированием данных, тратить много времени на изучение интерфейсов коннекторов. Хочется просто написать несколько строчек кода и запустить его, чтобы все работало из коробки. В быстрой разработке распределенных приложений мне помогает Cartridge — фреймворк для управления кластерными приложениями на основе NoSQL базы данных Tarantool.


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

Читать дальше →
Всего голосов 31: ↑30 и ↓1 +29
Просмотры 6.3K
Комментарии 2

Сколько сотрудников ВКонтакте нужно, чтобы открыть авиакомпанию

Блог компании VK CRM-системы *

Современное IT-образование невозможно представить без практических проектов, соединяющих университеты и индустрию. Например, в Санкт-Петербурге благодаря Computer Science Center активные студенты могут поработать вместе с сотрудниками IT-компаний. Что классно: можно основываться на рабочих кейсах или развивать идею pet-проекта. Главное — познакомить ребят с реальными задачами и современными технологиями.

В этой статье мы расскажем о проекте, который делали вместе с двумя студентами Computer Science Center, из СПбГУ и ИТМО. Наставником выступил я — Андрей Шубин, ВКонтакте занимаюсь бэкенд-разработкой в команде электронной коммерции. К программе менторства решил присоединиться потому, что мне самому в своё время очень не хватало наставника из числа практикующих специалистов. Такого, который бы рассказал, как всё устроено на самом деле, а не в сферическо-вакуумном мире из учебников и методичек.

Читать далее
Всего голосов 25: ↑24 и ↓1 +23
Просмотры 3.5K
Комментарии 4

Тестирование СУБД: 10 лет опыта

Блог компании VK Тестирование IT-систем *Программирование *Системное программирование *Tarantool *

Меня зовут Сергей Бронников, я работаю в команде Tarantool. Когда я присоединился к ней, то не нашёл общего описания того, как устроено тестирование в проекте. Поэтому я вёл для себя заметки по мере погружения в разработку. Я решил переработать их в статью. Она может быть интересна тестировщикам в проектах на C/C++ или пользователям Tarantool, которые хотят узнать, сколько мы усилий прикладываем к тому, чтобы снизить вероятность появления проблем в новых версиях. 

Популярной статьей такого рода является описание тестирования библиотеки SQLite за авторством Ричарда Хиппа. Но у SQLite есть специфика: их инструменты тяжело переиспользовать в других проектах. Это следствие того, что у команды разработчиков SQLite есть обязательства поддерживать библиотеку как минимум до 2050 года, и для сокращения внешних зависимостей они все инструменты пишут сами с нуля (например, тест-раннер, инструмент для мутационного тестирования, Fossil SCM). У нас таких требований нет, поэтому в выборе инструментов мы не ограничены и пользуемся всем, что приносит пользу. И если вас что-то заинтересует, то вы достаточно легко сможете это принести в свой проект на C/C++. Если я вас заинтересовал — велкам под кат.

Читать дальше
Всего голосов 29: ↑29 и ↓0 +29
Просмотры 7.4K
Комментарии 14

Запись звука и отображение громкости на Android

Блог компании VK Разработка мобильных приложений *Разработка под Android *
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Если вы когда-нибудь записывали аудиосообщения, то видели, как анимируется интерфейс в зависимости от громкости вашего голоса. Давайте повторим этот эффект:


Читать дальше →
Всего голосов 27: ↑26 и ↓1 +25
Просмотры 3.3K
Комментарии 4

Видео в звонках ВКонтакте: 4К-скриншеринг и Quality on-demand для тысяч участников

Блог компании VK Высокая производительность *Работа с видео *Анализ и проектирование систем *Видеоконференцсвязь

Что нужно от картинки в видеозвонке? Базово — чтобы не пикселила, не замирала и не вешала весь звонок. Это основы real-time видео, и добиться этого не так трудно. 

Всё самое интересное начинается, когда вы хотите, чтобы в одном звонке могли участвовать сколько угодно человек. И при этом все могли включать видео, а не просто смотреть; разрешение скриншеринга было бы 4К; шеринг оставался суперчётким при любом интернете и т. д. И чтобы звонки работали на любых платформах и устройствах на мобильном нестабильном интернете. 

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

Читать далее
Всего голосов 47: ↑45 и ↓2 +43
Просмотры 4.3K
Комментарии 11

Делаем на Android анимацию как в Doom. Приложение-огонь

Блог компании VK Разработка мобильных приложений *Разработка под Android *
Всем привет! Меня зовут Юрий Дорофеев, я Android-разработчик и преподаватель в Mail.ru Group. Расскажу про отрисовку в Android на примере анимации огня из игры Doom. Эту игру за многие годы на чём только не запускали, от компьютеров до домофонов. Один программист однажды разобрал весь исходный код Doom и обратил внимание на алгоритм, генерирующий изображение огня. Он используется, к примеру, в официальной заставке одной из частей игры.

Как же отрисовать огонь? Нам нужно придумать реалистичное движение пикселей, изменение цветов. На самом деле алгоритм очень прост и уже описан не раз. Давайте реализуем его в Android.
Читать дальше →
Всего голосов 30: ↑27 и ↓3 +24
Просмотры 6.2K
Комментарии 5

Адаптивный layout — как переверстать весь проект, не перевёрстывая его

Блог компании VK Разработка веб-сайтов *JavaScript *Интерфейсы *


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


Всем привет! Меня зовут Юрий Голубев, я разрабатываю frontend в Почте Mail.ru. Сегодня я хочу поделиться опытом того, как мы добавили адаптивности и возможности кастомизации в интерфейс, а заодно — открыли новый для себя способ написания адаптивных компонентов.

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

Читать не надо слушать: как работает распознавание речи ВКонтакте

Блог компании VK Программирование *Машинное обучение *Искусственный интеллект Natural Language Processing *

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

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 8.1K
Комментарии 33

Тестовая ферма из Android-устройств: как собрать, отладить и не взорвать офис

Блог компании VK Разработка мобильных приложений *Разработка под Android *Тестирование мобильных приложений *


У нас был небольшой бюджет и большие проблемы с рутинным тестированием в match3-игре, у которой накопилось более 1500 уровней. А вот чего у нас не было, так это идеально подходящего коробочного решения, работающего на лету и без пересборок. Поэтому мы нагородили собственную ферму с высаженной грядкой из десятка Xiaomi, отправкой статистики, отчетами в Slack, блекджеком и коровой.

Я Павел Щеваев, CTO студии BIT.GAMES, которая является частью международного игрового бренда MY.GAMES. Вы можете знать нас по RPG «Гильдия Героев», а ваши мамы — по «Домовятам» в Одноклассниках. Да, это были мы. :) Но сегодня речь пойдет о нашем новом проекте Storyngton Hall. Это головоломка «три в ряд» с сюжетом, по которому красивые леди разгадывают загадки, декорируют комнаты, примеряют платья, устраивают балы, и, в конце концов, выходят замуж.
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Просмотры 7K
Комментарии 14

Core Web Vitals: с чего начать?

Блог компании VK Разработка веб-сайтов *JavaScript *SvelteJS *


Согласно web.dev, улучшение качества взаимодействия с пользователем — ключ к долгосрочному успеху любого сайта. Понимая, насколько важен для развития интернета качественный пользовательский опыт, компания Google в 2020 году представила инициативу Web Vitals. Это единое руководство по метрикам качества, которые необходимы для обеспечения удобного взаимодействия с пользователем. Хотя за прошедшие годы Google создала ряд инструментов для измерения эффективности взаимодействия и составления отчетов (Lighthouse, PageSpeed Insights и Measure), Web Vitals должна упростить измерение производительности и помогает разработчикам сайтов сосредоточиться на самых важных показателях — Core Web Vitals.
Читать дальше →
Всего голосов 28: ↑28 и ↓0 +28
Просмотры 5.7K
Комментарии 0

Grafana as code, или как я перестал кликать мышкой в UI и полюбил grafonnet

Блог компании VK DevOps *Tarantool *
Tutorial

Когда мы в Tarantool столкнулись с задачей настройки мониторинга для сдачи проекта заказчику, мы решили её с помощью grafonnet. Это библиотека для написания дашбордов Grafana с помощью кода на языке jsonnet, которая заметно облегчила нам жизнь.


Рассказ поделён на две части. В первой я делюсь нашей историей знакомства с grafonnet, причинами, по которым мы выбрали этот инструмент, и задачами, которые мы решили с его помощью. Вторая представляет собой пошаговое обучение написанию простого дашборда для Prometheus. Так что если ситуации, описанные мной в первой половине статьи, покажутся вам знакомыми, вторая позволит вам совершить первый шаг на пути к их разрешению.


Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Просмотры 12K
Комментарии 6

Информация

Дата основания
Местоположение
Россия
Сайт
vk.com
Численность
5 001–10 000 человек
Дата регистрации
Представитель
Миша Буданов