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

10 лайфхаков, как запустить собственное мини-приложение ВКонтакте: от автора сервисов «Футбол», «Хоккей» и «Баскетбол»

Блог компании VK Разработка под e-commerce *Управление разработкой *

Привет! Меня зовут Андрей Комаров, я основатель проекта «Матчи». Это название вряд ли вам о чём-то говорит — зато вы наверняка слышали о сервисах «Футбол», «Хоккей» и «Баскетбол», которые работают ВКонтакте и в Одноклассниках. Там можно следить за расписанием соревнований, получать уведомления о забитых голах и общаться с болельщиками любимых клубов.

Я в одиночку развиваю шесть сервисов — в свободное от основной работы время. Расскажу, с помощью каких хитростей это мне удаётся.

Читать далее
Всего голосов 11: ↑8 и ↓3 +5
Просмотры 615
Комментарии 2

Новости

Как развернуть Apache Superset в облаке: Docker, ВМ, Kubernetes

Блог компании VK Big Data *Машинное обучение *


В последнее время многие российские компании столкнулись с задачей по выстраиванию системы бизнес-аналитики на новом технологическом стеке. В качестве замены Tableau, Power BI и Qlik одни рассматривают BI-решения российских вендоров — с лицензионной поддержкой, постоянными обновлениями версий и возможностью влиять на roadmap. Другие — Open-Source-инструменты: они бесплатны, однако их придётся развертывать, настраивать и администрировать своими силами. Один из таких инструментов — Apache Superset.  

Мы расскажем о способах развёртывания Apache Superset на разных платформах (Docker, ВМ, Kubernetes), а также дадим подробные инструкции на примере облака VK Cloud.
Читать дальше →
Всего голосов 2: ↑1 и ↓1 0
Просмотры 917
Комментарии 0

Честные модули внутри PHP: теперь они существуют

Блог компании VK Блог компании Конференции Олега Бунина (Онтико) Open source *PHP *Совершенный код *

Низкий порог входа и строгость языка программирования — вещи обычно несовместимые. Потому что ты либо, как Rust, бьёшь по рукам borrow checker’ом — либо, как PHP, позволяешь не задумываться о типах и быстро прототипировать. 

На самом деле, если писать код грамотно, это становится неважным и язык перестаёт иметь значение. Архитектура важнее языка, и хороший код на PHP ничем не отличается от аналогичного кода на любом другом ООП-языке. Другое дело, что возможность «любой домохозяйке» писать на PHP сопровождается и риском наворотить полное неподдерживаемое безобразие. Поэтому нам нужны тайпхинты, линтеры, статические анализаторы и подобные инструменты. 

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

Наша новая open-source разработка называется Modulite и внедряет в PHP модули. Это сквозная технология: мы внедряемся в IDE, в PHPStan, в KPHP, в CI, в Composer — и делаем так, будто бы модули нативно есть в языке PHP.

Читать далее
Всего голосов 33: ↑30 и ↓3 +27
Просмотры 3.1K
Комментарии 6

Семь прогнозов: что ждет data-инжиниринг в 2023 году

Блог компании VK Big Data *Машинное обучение *


Команда VK Cloud перевела статью о том, что ждет дата-инжиниринг в новом 2023 году. Предсказания на грядущий год редко претендуют на серьезность, но и у них есть своя цель. Они помогают нам отвлечься от повседневности и задуматься о том, на что стоит ставить в долгосрочной перспективе.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры 2.6K
Комментарии 2

Чему не учат разработчиков: советы для начинающих

Блог компании VK Программирование *
✏️ Технотекст 2022

Иногда меня спрашивают, как стать разработчиком? Сложно ли это, что для этого нужно, какой язык выбрать? Спрашивают друзья, родственники, знакомые. Далёкие от сферы информационных технологий или забросившие когда-то программирование и подумывающие о возвращении (читай дауншифтеры). Я не нашёл статьи, которую мог бы скидывать в таких случаях, и решил её написать. Здесь должна быть шутка про 14 конкурирующих стандартов, но как солдат не смеётся в цирке, так и программист не улыбается, говоря о конкурирующих стандартах.

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

Читать далее
Всего голосов 36: ↑26 и ↓10 +16
Просмотры 24K
Комментарии 32

Классика, визуализация и GNN: три решения для ML-модели с графовыми данными

Блог компании VK Алгоритмы *Big Data *Машинное обучение *


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

Мы задали ее командам-участникам хакатона «Цифровой прорыв в ЦФО», который прошел в сентябре в московском офисе VK. И сейчас покажем три, на наш взгляд, лучших решения и подхода к созданию моделей на основе графов.
Читать дальше →
Всего голосов 14: ↑14 и ↓0 +14
Просмотры 1.2K
Комментарии 1

Как обеспечивать качество при релизах раз в час

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

Привет, я Михаил Шваркунов, директор по качеству ВКонтакте. Расскажу, как выглядят наши ежечасные релизы с точки зрения тестирования: как мы переложили часть задач по тестированию на разработчиков, сколько у нас автотестов и что мы ими покрываем. А ещё как команда тестирования сопровождает релиз, какие у нас при этом SLA и что делаем после. И вообще — зачем так часто что-то выкатывать? Что, нельзя подкопить и катать раз в день? 

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

Как заработать на Bug Bounty

Блог компании VK Информационная безопасность *Отладка *
Tutorial

Меня зовут Алексей Гришин, я руководитель направления Bug Bounty VK. За 9 лет участия в программе по поиску уязвимостей на различных платформах мы накопили огромный опыт получения, проверки и оплаты самых разношерстных отчетов, поэтому в этой статье я хочу поделиться советами о том, как правильно написать отчет, чтобы его оплатили, и рассказать, что делать, если ваши ожидания по выплатам не совпали с реальностью. Добро пожаловать под кат.

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

Доступный AutoML: как оптимизировать работу с ML-моделями с помощью VK Cloud и FEDOT

Блог компании VK Big Data *Машинное обучение *


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

Я Александр Волынский, технический менеджер продукта, отвечаю за развитие Cloud ML Platform в VK Cloud. Статья подготовлена на основе совместного вебинара с Николаем Никитиным, руководителем направления AutoML, NSS Lab, ИТМО. Мы говорили про назначение AutoML-инструментов, их разновидности, фреймворк FEDOT и возможности Cloud ML Platform для работы с AutoML-решениями. 
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 746
Комментарии 0

Tarantool: Билли Миллиган в мире СУБД

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

Привет! Меня зовут Mons Anderson, я архитектор, разработчик, продакт-менеджер и евангелист Tarantool. В VK работаю уже больше 10 лет. Я постоянно нуждаюсь в базах данных, использую их и очень люблю. И в последнее время, когда я говорю про БД, я всё чаще говорю про Tarantool. Сегодня тоже хочу рассказать, что уникального в этой базе данных и что делает её практически универсальной.

Читать далее
Всего голосов 49: ↑43 и ↓6 +37
Просмотры 7.1K
Комментарии 8

Вся правда о кубах данных OLAP: развенчиваем мифы

Блог компании VK Big Data *Хранилища данных *


Кубы данных — не самая простая тема в дата-инжиниринге. Это тот самый случай, когда на пять запросов об определении приходятся пять разных вариантов ответа. Эта неоднозначность породила неудачную универсальную метафору, с помощью которой описываются кубы данных, — схему трехмерного куба. При этом в объяснениях нет примеров, рассказывающих, как в дата-пайплайне реализуется эта концепция.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Просмотры 7.6K
Комментарии 5

Смотрите прямой эфир NEF — евразийского финала чемпионата по программированию ICPC

Блог компании VK Спортивное программирование *

Привет, Хабр! Рассказываю — сегодня, 7 декабря, началось финальное состязание чемпионата по спортивному программированию среди студентов в Северном Евразийском регионе (NEF — Northern Eurasia Finals). 

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

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

Как подключить свой умный дом на базе Home Assistant к Марусе и управлять им голосом

Блог компании VK Умный дом
Tutorial

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

Всё это становится в разы удобнее, если добавить голосовое управление — например, с помощью Маруси от VK. В этой статье мы по шагам расскажем, как настроить Home Assistant и «подружить» его с Марусей.

По аналогии с инструкцией в этой статье Марусю можно подключить и к другим «кастомным» системам умного дома, используя протоколы Яндекса, Google и Tuya.

Читать далее
Всего голосов 44: ↑43 и ↓1 +42
Просмотры 4.4K
Комментарии 13

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

Блог компании VK Big Data *Машинное обучение *


Большинство дата-сайентистов использовали или до сих пор используют notebooks. В чем-то это здорово, но кажется, что дата-сайентисты должны действовать как разработчики. И поэтому с notebooks надо переходить на скрипты, разрабатываемые в IDE.
Читать дальше →
Всего голосов 21: ↑18 и ↓3 +15
Просмотры 12K
Комментарии 23

Текстовые шаблонизаторы и их реализация

Блог компании VK PHP *Программирование *Системное программирование *Компиляторы *

Многие из нас пользовались шаблонизаторами текстов. Twig в PHP, text/template в Go, Jinja в Python — их сотни.


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


Наиболее детально рассмотрим KTemplate, который я написал для KPHP (на PHP он тоже работает без проблем).


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

VK Cup: место встречи чемпионов

Блог компании VK Спортивное программирование *JavaScript *Разработка мобильных приложений *Go *

Привет, Хабр! Я к вам с хорошими новостями: 28 ноября стартовала регистрация на чемпионат VK Cup! В этом году он посвящён только разработке (но не расстраивайтесь — дизайнерский трек мы перенесли в программу чемпионата VK Design Cup).

Классическое олимпиадное программирование пройдёт на площадке Codeforces — регистрируйтесь. К остальным трекам – мобильной разработке, машинному обучению и разработке на Go и JavaScript можно присоединиться на платформе All Cups.

Все полезные подробности о чемпионате — уже восьмом — читайте под катом.

Читать далее
Всего голосов 23: ↑22 и ↓1 +21
Просмотры 1.5K
Комментарии 2

Создаём сложные интерфейсы и спецэффекты на базе Qt. Часть II

Блог компании VK C++ *Qt *

Привет, Хабр! Меня зовут Михаил Полукаров, я занимаюсь разработкой desktop-версии в команде VK Teams. В первой части я рассказывал о том, как использовать маски и создавать сложные многослойные окна. Под катом этой статьи мы продолжим исследовать возможности Qt Framework, рассмотрим полупрозрачность и управление буксировкой окна, а также реализуем интересный спецэффект. В конце статьи рассмотрим, как можно применить на практике весь, изложенный в этом цикле статей, материал для создания современного демонстрационного приложения.

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

Двухсторонние очереди в Python: как альтернатива спискам повышает производительность

Блог компании VK Python *Программирование *Машинное обучение *


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

В некоторых приложениях необходима обработка данных по методу FIFO (first-in, first-out). Он подразумевает, что элементы, добавленные в последовательность первыми (first-in), будут первыми из неë удалены (first-out). Эту задачу можно решить и с помощью объекта «список», и с помощью двухсторонних очередей. Но для этой цели двухсторонние очереди удобнее списков благодаря особенностям их реализации. 
Читать дальше →
Всего голосов 44: ↑41 и ↓3 +38
Просмотры 8.2K
Комментарии 6

Собираю умный дом с Марусей

Блог компании VK Умный дом Голосовые интерфейсы *

Привет, Хабр! Я уже давно интересуюсь темой личной эффективности и перепробовал много способов её увеличить: тайм-менеджмент, физические нагрузки, питание и другие приёмы и методики. В том числе я затронул тему сна, а особенно то, как именно я просыпаюсь ежедневно.

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

Читать далее
Всего голосов 48: ↑38 и ↓10 +28
Просмотры 5.8K
Комментарии 39

Трудности перевода в разработке: как делать интернациональные проекты и говорить с пользователями на одном языке

Блог компании VK JavaScript *Интерфейсы *Локализация продуктов *

В современных приложениях и сервисах часто нужна интернационализация (i18n, от англ. internationalization). Она позволяет создавать интерфейсы с учётом культурных и языковых особенностей пользователей из разных стран. Это требует не только простого перевода, но и некоторых технических решений, порой довольно сложных.

Меня зовут Володин Сергей, я работал руководителем команды разработки VK WorkMail. Сегодня расскажу о том, как инфраструктура переводов позволяет поддерживать 10 языков в нашем продукте и какие технические нюансы стоит учитывать при работе с разными языками. Интернационализация интерфейсов — довольно комплексная и непростая история, хотя на первый взгляд может показаться не слишком приоритетной задачей. Более того, о ней нужно начинать думать в самом начале разработки, чтобы впоследствии не наломать дров.

Читать далее
Всего голосов 38: ↑37 и ↓1 +36
Просмотры 2K
Комментарии 5

Информация

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