Как стать автором
Обновить
77.68
Рейтинг
Одноклассники
Делимся экспертизой
Сначала показывать

Тюним память и сетевой стек в Linux: история перевода высоконагруженных серверов на свежий дистрибутив

Блог компании Одноклассники Высокая производительность *
image

До недавнего времени в Одноклассниках в качестве основного Linux-дистрибутива использовался частично обновлённый OpenSuSE 10.2. Однако, поддерживать его становилось всё труднее, поэтому с прошлого года мы перешли к активной миграции на CentOS 7. На подготовительном этапе перехода для CentOS были отработаны все внутренние процедуры, подготовлены конфиги и политики настройки (мы используем CFEngine). Поэтому сейчас во многих случаях миграция с одного дистрибутива на другой заключается в установке ОС через kickstart и развёртывании приложения с помощью системы деплоя нашей разработки — всё остальное осуществляется без участия человека. Так происходит во многих случаях, хотя и не во всех.

Но с самыми большими проблемами мы столкнулись при миграции серверов раздачи видео. На их решение у нас ушло полгода.
Читать дальше →
Всего голосов 110: ↑104 и ↓6 +98
Просмотры 90K
Комментарии 73

Загрузка видео «без единого разрыва»

Блог компании Одноклассники Высокая производительность *Программирование *Анализ и проектирование систем *
Видео – один из самых популярных сервисов на Одноклассниках. Чего только не грузят наши пользователи: от милых сюжетов с детского утренника до снятых на видеорегистратор аварий. Поэтому быстро и стабильно работающая загрузка видео важна нам не только как одна из самых востребованных пользователями функций, но и как необходимое условие для генерации контента.

В чем проблема? — спросите вы. Ставишь серваки с большими дисками, настраиваешь балансировщик — и понеслась. Однако опытный видео-ниндзя знает, что проблем тут целый ворох:
  • В процессе загрузки у пользователя может пропадать соединение с нашим порталом (закрыл ноут, вошел в планшетом в лифт, сел аккумулятор на телефоне и т.п.)
  • Старые устройства не поддерживают современные технологии загрузки (а у нас миллионы пользователей имеют слабые смартфоны или древние браузеры)
  • При том количестве пользователей, которые есть у нас, задача о стабильной заливке видео превращается в задачу о стабильной загрузке видео в огромных объемах.


Да, это



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

Видеосервис Одноклассников в деталях
Всего голосов 48: ↑37 и ↓11 +26
Просмотры 32K
Комментарии 12

Класс дедлоков про дедлок классов

Блог компании Одноклассники Java *


Знаете ли вы, как избежать дедлоков в своей программе? Да, этому учат, про это спрашивают на собеседованиях… И тем не менее, взаимные блокировки встречаются даже в популярных проектах серьёзных компаний вроде Google. А в Java есть особый класс дедлоков, связанный с инициализацией классов, простите за каламбур. Такие ошибки легко допустить, но трудно поймать, тем более, что сама виртуальная машина вводит программиста в заблуждение.

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

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

Как мы кластеризуем подарки в ОК

Блог компании VK Блог компании Одноклассники Data Mining *Hadoop *
Всем привет! Меня зовут Артур, я аналитик в отделе анализа данных департамента рекламных технологий Mail.Ru Group. И я попробую рассказать о том, как мы используем кластеризацию в своей работе.

Чего в этой статье не будет: я не буду рассказывать об алгоритмах кластеризации, об анализе качества или сравнении библиотек. Что будет в этой статье: я покажу на примере конкретной задачи, что такое кластеризация (с картинками), как ее делать если данных действительно много (ДЕЙСТВИТЕЛЬНО много) и что получается в результате.


Читать дальше →
Всего голосов 56: ↑43 и ↓13 +30
Просмотры 18K
Комментарии 20

История «Титанов», часть 2

Блог компании VK Блог компании Одноклассники Разработка игр *


Первая часть истории «Титанов» закончилась на том, что мы завершили разработку новой социальной мидкорной стратегии. Игра в тестовом режиме была запущена в Одноклассниках, а полноценный запуск состоялся 15 августа. Почти целый месяц после релиза мы изучали статистику, и можно сказать, что запуск прошел вполне успешно. Сегодня я предлагаю вам посмотреть на реальную статистику современной социальной игры, а также попробовать на её основе сделать предположения о возможных изменениях в игре.
Читать дальше →
Всего голосов 52: ↑35 и ↓17 +18
Просмотры 24K
Комментарии 25

Конкурс дизайна футболок участников RDC

Блог компании VK Блог компании Одноклассники


Вчера закончился отборочный тур конкурса Russian Design Cup, организатором которого является Mail.Ru Group. Из 118 участников в следующий тур перешли 20 человек. С самого начала им была предложена непростая задача:
20XX год. Социальные сети замедлили свой рост. Людям уже не так важно делиться каждым своим шагом со всем миром. Им надоело делать репосты новостей, котиков, демотиваторов и больных детей. Социальные сети стали заложником огромного числа своих пользователей и любые крупные изменения связаны с серьезными рисками. В одной из трех крупнейших соцсетей России, руководство решило кардинально переработать свой продукт. Вас пригласили на встречу самых главных людей компании, и сказали, что готовы рискнуть и взглянуть по-новому на то, чем может быть социальная сеть. У вас есть время до 11 августа, чтобы предложить решение этой задачи. Проиллюстрируйте ваши идеи, проработайте один из сценариев использования, который покажет как ваш подход наносит пользу миллионам людей.

Подход к решению задачи у всех победителей тура был весьма интересным и зачастую неординарным — потому они и победили. Наибольший средний балл получили работы Доминика Левицкого, Алексея Кипина, Андрея Столешникова, Дмитрия Алябьева и Виталия Якимчука.

Поздравляем победителей и напоминаем, что первый тур конкурса уже начался, и до его окончания осталось меньше 10 дней!

Параллельно с отборочным туром мы решили провести дополнительный мини-конкурс на дизайн официальной футболки RDC. Всего конкурсанты прислали 33 работы, из которых члены жюри выделили самые, на их взгляд, удачные работы.
Много картинок
Всего голосов 57: ↑51 и ↓6 +45
Просмотры 14K
Комментарии 4

История «Титанов»

Блог компании VK Блог компании Одноклассники Разработка игр *


Всем привет, меня зовут Иван Григорьев, я работаю в компании What Games. 9 июля в Одноклассниках в режиме мягкого старта вышла наша новая игра — «Титаны». Во время разработки такого большого и сложного проекта свежая информация «с полей» обычно оказывается очень полезной. К сожалению, из-за общей закрытости нашей индустрии обмен положительным опытом между разработчиками сейчас крайне затруднен. Серией своих постов мы намерены переломить сложившуюся традицию и в режиме реального времени максимально честно рассказать о разработке современной социальной игры.
Читать дальше →
Всего голосов 118: ↑88 и ↓30 +58
Просмотры 43K
Комментарии 19

Улучшение почты: решения задачи Russian Design Cup 2013

Блог компании VK Блог компании Одноклассники
Продолжаем разбирать задачи прошлого года, и на очереди задача про почту.

«В почту уже давно приходят не только письма от друзей. Большинство ящиков забиты рассылками, квитанциями, авиа- и кинобилетами, заказами из интернет-магазинов, купонами, уведомлениями от соцсетей и другими «полезными» письмами от роботов. Сухой и скучный список явно не лучший способ отображения такого контента. Придумайте, как адаптировать веб-версию любой популярной почты под существующую реальность. И, конечно, не забудьте про письма от людей — они самые важные».

Несколько решений прокомментировали главные дизайнеры трёх крупнейших почт в России: Томилов Сергей (Яндекс), Алексей Кандауров (Mail.Ru) и Александр Ковбович, разработавший последнюю версию дизайна Рамблер Почты. Давайте посмотрим, что сказали профи нашим конкурсантам.

Антон Тюленев



Всё решение
Читать дальше →
Всего голосов 51: ↑43 и ↓8 +35
Просмотры 16K
Комментарии 7

Разбор задач Russian Design Cup 2013. Задача про умные часы

Блог компании Одноклассники Блог компании VK Веб-дизайн *
В преддверии Russian Design Cup 2014 мы предлагаем вспомнить и проанализировать задачи и решения прошлогоднего чемпионата. В частности, мы расскажем о самых интересных работах и их авторах.

Сила Хабра в том, что его сообщество состоит из множества различных специалистов: дизайнеров и верстальщиков, фронтэнд- и бекенд-программистов. Мы предлагаем вам обсудить лучшие решения задач вместе с участниками RDC. Дизайнеры расскажут о своих находках и том, как они к ним пришли, о сложностях, с которыми они сталкивались. Мы пройдемся по трем самым интересным задачам Кубка, и сегодня начнем c задачи о часах.

«Крупные компании представили новые устройства, так называемые «умные» часы. Они взаимодействуют со смартфонами через Bluetooth LE. Также известно, что многие покупатели уже возвращают их обратно, не находя им применения. Представьте концепт приложения любой социальной сети для таких часов, чтобы люди не захотели их возвращать. Какие функции и возможности вы вынесете на часы? Ок, про уведомления о новых сообщениях мы уже в курсе».

1. Айрат Гафиятуллин, топ 10 участников.

Читать дальше →
Всего голосов 50: ↑43 и ↓7 +36
Просмотры 13K
Комментарии 13

Геймификация багфикса. Как мы превратили исправление ошибок в увлекательную многопользовательскую online-игру

Блог компании Одноклассники Разработка веб-сайтов *
Автор: maxim_korobtsev, WorkAndPlay.Ru

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

Фиксить баги скучно, если не превращать это в игру. Особенно, если речь идет о низкоприоритетных багах, которые не были исправлены в свое время из-за незначительности. Но, обо всем по порядку!

Как все начиналось?


Все началось за несколько месяцев до Багатлона, когда мы, Work&Play, вместе с OK придумывали игровые механики и само соревнование. Родилась достаточно неплохая идея: расфасовать все множество накопившихся низкоприоритетных багов по группам (коробкам с багами). Для каждого бага заранее указать навыки, которые он прокачивает у того, кто его фиксит или проверяет. Далее раз в несколько месяцев устраивать соревнование. Причем, победителем будет не тот, кто больше пофиксил, а тот, кто больше всех прокачался пока багфиксил. Также хотелось, чтобы вся игра проходила без отрыва от работы(в рабочие дни), по тикетам из багтрекера и доступ к ней был прямо из Jira.

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

Что у нас получилось в итоге?


В результате, после нескольких месяцев работы над плагином, у нас получилось вот это:
главный экран jira модуля для геймификации багфикса
Читать дальше →
Всего голосов 67: ↑58 и ↓9 +49
Просмотры 24K
Комментарии 59

Платформа для видеосервиса сроком в квартал

Блог компании Одноклассники Блог компании VK Java *
Сегодня мы расскажем, как нам удалось построить свою платформу для сервиса видео на Одноклассниках на Java за 3 месяца.

Начнем с того, что представляет собой видеосервис на Одноклассниках. Он доступен как на вебе, так и в версиях для мобильных устройств. Одним из отличий Одноклассников от других соцсетей является наличие видеовитрины, где в разделах «ТОП недели», «Новинки» и каналах собраны видео. Для этих разделов видео отбирается автоматически по хитрому алгоритму на основании числа просмотров, классов и скорости роста популярности видео. И конечно, на витрине представлены каналы с контентом от партнеров:— сериалы, ТВ шоу, мультфильмы и кино.

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

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

Видеобаза Одноклассников насчитывает свыше 28 миллионов роликов. Исходящий трафик по вечерам достигает 80 гигабит в секунду. Ежедневно загружаемые 5 терабайт нового видео в день преобразуются в наш внутренний формат и на выходе получается 2 терабайта. Получившиеся файлы хранятся в трех копиях, что, в итоге, суммарно составляет 6 терабайт нового видео в день. Входящий трафик по загрузке достигает 2 гигабит в пиковые часы.


Читать дальше →
Всего голосов 50: ↑39 и ↓11 +28
Просмотры 18K
Комментарии 9

Big data: размер имеет значение?

Блог компании VK Блог компании Одноклассники Big Data *


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

В каждой эпохе развития IT-индустрии существовали свои buzzwords — слова, которые у всех были на слуху, каждый знал, что за ними будущее, но лишь немногие знали, что действительно стоит за этим словом и как им правильно воспользоваться. В своем время баззвордами были и «водопад», и «XML», и «Scrum», и «веб-сервисы». Сегодня одним из основных претендентов на звание баззворда №1 является «big data». С помощью больших данных британские ученые диагностируют беременность по чеку из супермакета с точностью, близкой к ХГЧ-тесту. Крупные вендоры создают платформы для анализа больших данных, стоимость которых зашкаливает за миллионы долларов, и нет сомнений, что каждый пиксель в любом уважающем себя интернет-проекте будет строиться с учетом больших данных не позднее, чем к 2020 году.
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Просмотры 21K
Комментарии 10

Обзор особенностей ядра Андроида

Блог компании VK Блог компании Одноклассники
“А я… карбюратор промываю!”
Анекдот


Введение

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

Сколько раз вас выручало наличие исходников Андроида? Меня — уже не счесть. Андроид — открытый проект, но, к сожалению, у нас есть возможность только читать; править код Андроида, не будучи сотрудником Google, практически невозможно. Погрустим над этим моментом и загрузим репозиторий. Как это сделать, отлично описано на официальном сайте.


Читать дальше →
Всего голосов 169: ↑151 и ↓18 +133
Просмотры 103K
Комментарии 17

Копаемся в памяти JVM. Манипуляции с флагами

Блог компании Одноклассники Блог компании VK Java *


HotSpot JVM имеет множество опций для отслеживания происходящего в виртуальной машине: PrintGC, PrintCompilation, TraceClassLoading и т.п. Как правило, они включаются параметрами командной строки, например, -XX:+PrintGCDetails. Однако порой возникает необходимость включить или выключить такой флаг непосредственно во время работы приложения, когда перезапуск JVM с другими параметрами невозможен. Этого можно добиться как штатным, так и хакерским способом, причем последний и мощнее, и интереснее. Впрочем, внимания заслуживают оба.

Из данной статьи вы узнаете:

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

Читать дальше →
Всего голосов 57: ↑54 и ↓3 +51
Просмотры 20K
Комментарии 15

Как мы оптимизировали социальную кнопку

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

Под катом — список проблем, которые мы выявили за время работы над нашей кнопкой Класс, а также способы их разрешения, которые мы проверили на собственном опыте.

Читать дальше →
Всего голосов 71: ↑40 и ↓31 +9
Просмотры 17K
Комментарии 16

Russian AI Cup: итоги

Блог компании VK Блог компании Одноклассники
Итак, Russian AI Cup завершен!

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

Раунд 1: 900 участников из Песочницы, тройка лидеров выглядела так:
1. Геннадий Короткевич — tourist (Гомель, Беларусь)
2. Роман Удовиченко — Romka (Белорусский ГУ, Минск, Беларусь)
3. Николай Вабищевич — Mr.Smile (Москва, Россия)

Раунд 2: 300 + 45 участников. Изначально по правилам должны были пройти 300 человек. Но ввиду большой популярности мы выдали 45 вайлдкардс тем, кто следовал сразу за 300. Лучшими на этом этапе стали:
1. Александр Миланин — Milanin (Таврический НУ, Симферополь, Украина)
2. Роман Удовиченко — Romka (Белорусский ГУ, Минск, Беларусь)
3. Александр Важев — valex (Челябинск, Россия)

И наконец (барабанная дробь…) в финале чемпионата Russian AI Cup 2012 сразились 50 участников, и мы торжественно объявляем победителей!
Читать дальше →
Всего голосов 15: ↑10 и ↓5 +5
Просмотры 8.2K
Комментарии 5

Завершились отборочные этапы Russian AI Cup 2012

Блог компании Одноклассники Блог компании VK Программирование *
Всем доброго дня.

Завершились отборочные этапы открытого соревнования по программированию искусственного интеллекта Russian AI Cup 2012. Напомним, что участникам чемпионата предлагается запрограммировать искусственный интеллект для танков, сражения между которыми симулируется игровой системой.



Интересная статистика:

Интересно посмотреть, как меняется процент распределения используемых языков с прогрессом в этапах чемпионата. Так,
* C#, C++, Java практически не меняют свои доли;
* Pascal сделал рывок в Раунде 2;
* Python 2 стабильно растет на протяжении всех этапов;
* Python 3 стабильно падает на протяжении всех этапов.

Чем обусловлена такая динамика Python 2 против Python 3 – загадка.

Читать дальше →
Всего голосов 36: ↑29 и ↓7 +22
Просмотры 7.8K
Комментарии 13

CSS анимации на реальном проекте

Блог компании Одноклассники CSS *HTML *


Всё чаще среди веб-разработчиков поднимается тема возможностей CSS анимаций (transition/animation), практически на каждой конференции по клиентской разработке можно услышать о потрясающих преимуществах новой технологии.

Производительность и гибкость CSS анимаций позволяет творить удивительные вещи, но можно ли уже использовать эти новые возможности в силу их нестабильности и незрелости на реальных больших проектах?

В этом посте мы расскажем, почему так важно начинать использовать новые технологии клиентской разработки уже сегодня и о трудностях, которые могут ждать вас на пути.
Читать дальше →
Всего голосов 95: ↑87 и ↓8 +79
Просмотры 91K
Комментарии 66

До старта первого раунда Russian AI Cup остались считанные часы

Блог компании Одноклассники Спортивное программирование *
До старта Раунда 1 чемпионата Russian AI Cup остались считанные часы. Ажиотаж продолжает нарастать: в умении писать искусственный интеллект будут состязаться жители разных стран.

В связи с тем, что желающих поучаствовать становится все больше, организаторы Russian AI Cup — Одноклассники и Саратовский государственный университет — решили увеличить число стратегий, участвующих в Раунде 1. Таким образом, для первого раунда будет отобрано не 600, а 900 стратегий.

Измененная турнирная сетка выглядит так:


Раунд 1 будет проводиться с 10 по 11 ноября 2012 года. Тип боев — 6x1. Этот этап будет состоять из двух частей. Между двумя частями будет сделан перерыв, на время которого возобновит работу Песочница. Кстати, перерыв можно использовать для того, чтобы улучшить свою стратегию, приняв во внимание результаты первой части. Каждая часть будет длиться 12 часов, перерыв — 24 часа.

Для боев в каждой из частей Раунда 1 будет выбираться последняя корректная стратегия, отправленная до начала соответствующей части. Бои будут проводиться волнами. В каждой волне каждая стратегия примет участие ровно в одном бою. Количество волн будет не меньше 10, но не более 100. Мы надеемся успеть протестировать ровно 100 волн в каждой части, но многое будет зависеть от скорости работы ваших стратегий.

Внимание, изменение!
Читать дальше →
Всего голосов 23: ↑19 и ↓4 +15
Просмотры 4.6K
Комментарии 20

Russian AI Cup 2012

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

Спешим поделиться с вами новостью: 29 октября 2012 мы запустили соревнование для программистов под названием Russian AI Cup 2012: CodeTanks! Нет, здесь вам не надо будет решать алгоритмические задачи на скорость — в этот раз участникам предстоит написать искусственный интеллект для танка и принять участие в сражениях.

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

Информация

Дата основания
Местоположение
Россия
Сайт
ok.ru
Численность
201–500 человек
Дата регистрации
Представитель
Андрей Губа