• Переписать базу сообщений ВКонтакте с нуля и выжить

      Наши пользователи пишут друг другу сообщения, не зная усталости.

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

      При таком объёме данных критически важно, чтобы логика хранения и доступа к ним была построена оптимально. Иначе в один не такой уж и прекрасный момент может выясниться, что скоро всё пойдёт не так.

      Для нас этот момент наступил полтора года назад. Как мы к этому пришли и что получилось в итоге — рассказываем по порядку.
      Читать дальше →
    • VK by design



        ВКонтакте — это множество интерфейсов для разных платформ. Сегодня Вы узнаете о том, как мы работаем над этими интерфейсами, создавая дизайн своих продуктов.
        Читать дальше →
      • Код высших достижений

          Почему мы любим спортивное программирование и почему Вам тоже стоит его полюбить.

          image

          Спортивное программирование объединяет турниры самого разного уровня — от школьных и студенческих олимпиад до финалов чемпионата мира. Крупнейшие международные компании организовывают свои контесты и выступают спонсорами авторитетных соревнований вроде ACM-ICPC. В нашей команде работают четыре чемпиона мира по программированию, и уже в четвёртый раз мы совместно с Codeforces проводим VK Cup — собственный турнир ВКонтакте.

          Читать дальше →
        • Дата-центр ВКонтакте

            Все знают, что сердце ВКонтакте — дом Зингера на Невском проспекте. Сегодня мы расскажем и покажем, где находится и как выглядит его мозг — дата-центр ИЦВА.

            image

            Читать дальше →
          • VK Streaming API Contest

              Привет! Мы запустили бета-тестирование нового продукта для получения публичных данных из ВКонтакте в реальном времени — Streaming API.



              Он призван заменить методы публичного API для поиска и парсинга данных (newsfeed.search, wall.search, wall.get) и стать более удобным решением задачи аналитики упоминаний в соцсети.

              Читать дальше →
              • +26
              • 9,4k
              • 7
            • Архитектура и алгоритмы индексации аудиозаписей ВКонтакте



                Расскажем о том, как устроен поиск похожих треков среди всех аудиозаписей ВКонтакте.

                Зачем всё это надо?


                У нас действительно много музыки. Много — это больше 400 миллионов треков, которые весят примерно 4 ПБ. Если загрузить всю музыку из ВКонтакте на 64 ГБ айфоны, и положить их друг на друга, получится башня выше Эйфелевой. Каждый день в эту стопку нужно добавлять еще 25 айфонов — или 150 тысяч новых аудиозаписей объёмом 1.5 ТБ.

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

                Если научиться достаточно точно находить одинаковые (или очень похожие) аудиозаписи, можно применять это с пользой, например:

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

                Читать дальше →
              • God mode ВКонтакте

                  В ночь с 20 на 21 марта из-за ошибки в коде все пользователи ВКонтакте на четыре минуты получили служебные права. Мы закончили оценивать потери и отвечаем на злободневные вопросы.

                  Что случилось?


                  Случился фатально невнимательный merge ветки, в которой переделывали один из внутренних интерфейсов. В результате любой пользователь стал считаться сотрудником. В некоторых случаях — сотрудником со всеми существующими правами.
                  Читать дальше →
                • ВКонтакте запускает третий чемпионат VK Cup

                    Всем привет! Социальная сеть ВКонтакте возобновляет свой блог на Хабре.

                    Первое, о чём хотим рассказать, – чемпионат по спортивному программированию VK Cup 2016 и разбор нескольких интересных задач с прошлого года.


                    Несколько слов о Чемпионате. ВКонтакте проводит третий VK Cup — чемпионат по программированию среди русскоязычных молодых специалистов, студентов, школьников и просто любителей алгоритмов и структур данных.

                    К участию в нём приглашаются команды из двух человек (можно участвовать и индивидуально), чей возраст от 14 до 23 лет. Отборочные этапы пройдут с марта по май, а в финал будут приглашены лучшие 20 команд. Финал пройдет в Санкт-Петербурге в июле, лучшие восемь команд будут награждены призами:

                    1 место — 1048576 рублей
                    2 местo — 524288 рублей
                    3 местo — 262144 рубля
                    4-8 места — 131072 рубля

                    Соревнование будет проходить на площадке Codeforces, регистрация уже открыта — спешите зарегистрировать команду! Начать своё участие необходимо с квалификационных этапов, которые будут проходить 13-14 и 20-21 марта. Участвовать можно как в двух, так и в любом из них. Все подробности доступны по ссылке на странице Чемпионата.
                    Подробности
                    • +13
                    • 20,5k
                    • 8
                  • Рассылка пуш уведомлений на Go


                      Если вы последний год пользовались мобильными приложениями от ВКонтакте (пусть даже не официальными), то этот материал раскроет немного данных по тому, как у нас это время работают пуш уведомления. Пушилка реализована на языке Go, и рассылает до 9 миллиардов пушей в сутки на четыре целевых платформы: GCM, APNS, MPNS, WNS.

                      В этом посте решил рассказать об общей архитектуре пушилки, проблемах и их обходе, нагрузках и производительности решения. Много букв и мало кода.
                      Читать дальше →
                    • Релиз KPHP и движков

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

                        Это событие несколько раз откладывалось в связи с опасением, что нам не хватит сил и времени на взаимодействие с opensource-сообществом, однако в конце концов заветный день настал, и код KPHP и некоторых других инструментов, используемых внутри проекта, был выложен в открытый доступ.

                        В связи с этим под катом вас ждет более подробный рассказ о внутреннем устройстве ВКонтакте и тех инструментах, которые сегодня стали доступны opensource-сообществу.


                        Читать дальше →
                      • Пиринговая сеть в видеоплеере

                          Часть пользователей уже могли заметить в нашем видеоплеере окно с предложением разрешить использование пиринговой сети. Просмотр роликов с использованием технологии peer-to-peer проходит последний этап тестирования. Из всех загружаемых на сайт роликов в тот или иной момент, как правило, просматриваются не более 10–15%. Еще 15–20% от этих роликов можно считать популярными. Переход на P2P существенно снижает нагрузку на сервера, предоставляя пользователям возможность принимать видеопоток также и с соседних клиентов (разумеется, так же подтвердивших участие в пиринговой сети).



                          Читать дальше →
                        • Виджеты для сторонних сайтов

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



                            Читать дальше →
                          • Нет предела для мистификаций

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

                              Читать дальше →
                            • Прецедент

                                На этой неделе апелляционный суд Санкт-Петербурга постановил взыскать 1 млн рублей с ВКонтакте в пользу ВГТРК. Сам по себе факт для хабровчан уже не новость, реакция участников колеблется от настороженной до восторженной. Мы считаем, что повода для радости в решении второй инстанции нет — причем, ни для кого в Рунете. Сейчас создается прецедент, который может оказать крайне негативное воздействие на жизнь и развитие сети.



                                Основная причина для беспокойства совсем не в существовании претензий со стороны правообладателей (работа с правообладателями является частью повседневной жизни компании и ведется в штатном режиме). Проблема заключается в том, что ВГТРК подала свои иски, не обратившись предварительно к администрации сервиса. Бывший менеджер ВГТРК уверяет, что нас заваливали письмами, хотя ВКонтакте ни одного официального запроса еще не пропустила, о чем говорит и тот факт, что это единственный иск за историю существования компании. Да и сам руководитель ВГТРК подтвердил отсутствие уведомления "Ведомостям": «ВГТРК не раз предлагала обсудить использование ее контента — правда, не этих двух фильмов, отмечает Медников». Здесь «обсудить» — не поднять вопрос о защите своих прав, а заработать на совместных проектах.
                                Читать дальше →
                              • Открытое тестирование XMPP

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



                                      QIP     Miranda     Pidgin     Adium     Другие

                                  Читать дальше →
                                • Подсказчик в поиске

                                    Сегодня мы приступаем к открытому тестированию нового подсказчика в поиске. Этот сервис является результатом работы победителей нашего конкурса на C. Как раз сейчас они проходят стажировку В Контакте.



                                    Разработанный подсказчик выполняет функции индивидуального поиска на странице ВКонтакте: позволяет получать быстрый доступ к своим друзьям, встречам и всему контенту.
                                    Читать дальше →
                                  • Отказ от устаревших браузеров

                                      С сегодняшнего дня на всех страницах социальной сети ВКонтакте, которые открываются с устаревших программ, появится призыв установить себе более современный браузер. Более 500 000 пользователей шестой версии Internet Explorer (и ниже) будут видеть это уведомление ежедневно.



                                      В скором времени это предупреждение увидят пользователи других устаревших версий популярных браузеров (Mozilla Firefox 2.x, Opera 9.x), а после выхода Internet Explorer 9 мы включим в список седьмую версию браузера Microsoft.
                                      Читать дальше →
                                    • Фотографии высокого качества

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

                                        Читать дальше →
                                      Самое читаемое