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

«Джаггернаут: Месть Соверинга»: разработка мобильной игры и продвижение на международные рынки

Время на прочтение7 мин
Количество просмотров66K
На прошедшей недавно Winter Nights 2013: Mobile Games Conference я рассказывал об истории успеха нашей мобильной игры «Джаггернаут: Месть Соверинга» — о создании, подводных камнях процесса разработки, запуске проекта на разных территориях и о том, как игра смогла достичь рекордных позиций по скачиваниям в России и выйти на первое место в рейтинге приложений в Корее. Сегодня я хочу поделиться своим докладом на Хабре.


Читать дальше →
Всего голосов 113: ↑87 и ↓26+61
Комментарии60

Создание виртуальной волны

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


Как всем известно, 71% поверхности Земли занимает вода. К сожалению или к счастью, корректно изобразить океан умеют единицы. Иван Айвазовский вошел в учебники живописи благодаря одним только морским пейзажам. В компьютерных играх все еще сложнее. Когда-то море в них обозначали скоплением синих пикселей, раскрашенных белыми квадратами пены. Со временем виртуальные моря стали больше похожи на снимки из отпуска, научились качать волну и покрываться рябью, в которой иногда даже отражались очертания парусников. Но они оставались самостоятельной стихией: натолкнувшись на берег, волна превращалась в незамысловатые угловатые полигоны. Настоящий прибой логично взаимодействует с пляжем, увлажняет песок и с шуршанием откатывается назад. Такого правдоподобия удалось добиться только в современных играх. В том числе в нашем Skyforge. И хоть в основные события будут разворачиваться на суше, игроки попадут и на тропические острова, и в шумные порты. Вода будет постоянно рядом. Ее «правильный» облик будет играть большую роль. И воссоздание морской стихии – серьезная математическая задача. Расскажу об этапах ее реализации.
Читать дальше →
Всего голосов 178: ↑164 и ↓14+150
Комментарии25

Полнотекстовый поиск: как это делают в Почте Mail.Ru

Время на прочтение7 мин
Количество просмотров32K
Исторически в Почте Mail.Ru использовался механизм от «большого» Поиска (go.mail.ru); однако для задач поиска по почтовым ящикам такой вариант не был оптимальным ввиду большого потребления ресурсов и относительной сложности в обслуживании. Поиском по почте пользуются около 3% владельцев почтовых ящиков; однако, хотя эта цифра кажется относительно небольшой, ящики этих людей обычно достаточно объемны, и поиск им действительно необходим. Поэтому мы приняли решение написать специализированный поисковый демон, который будет заниматься именно поиском по почте. Основными требованиями к нему стали ограничения по потребляемым ресурсам (размер индекса — не более 3% от размера почтового ящика, среднее потребление оперативной памяти — не более 100 Мб, средняя утилизация CPU — не более 3%) и скорости исполнения запросов (среднее время — не более 200 мс). О том, как он был организован, я расскажу ниже.
Читать дальше →
Всего голосов 147: ↑129 и ↓18+111
Комментарии24

Шаг за шагом, или Как мы строили свой поиск

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

До весны 2012 года у нас вместо такой базы существовали две базы данных разного уровня — со стороны спайдера, который имел свою собственную базу URL-ов, и со стороны индексатора. Это было крайне неудобно: допустим, если пользователь жаловался, что его сайт не индексируется, то для того, чтобы найти причину, при старой архитектуре пришлось бы анализировать массу данных. На это требовалось день-два, иногда даже неделя.

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

Читать дальше →
Всего голосов 99: ↑88 и ↓11+77
Комментарии20

Зимой на Рейтинге

Время на прочтение2 мин
Количество просмотров4.1K
Целых полтора месяца мы ничего не писали про Рейтинг Mail.Ru, и вы, наверняка, соскучились. Спешим исправиться. С середины декабря мы сделали не так уж и много, но кое-что сделали.

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

image
Во-вторых, добавили новых данных про рунет в целом
Читать дальше →
Всего голосов 29: ↑25 и ↓4+21
Комментарии2

Тестирование в Mail.Ru Group

Время на прочтение12 мин
Количество просмотров41K
Эта статья написана по мотивам одноименного доклада на Highload++'2012. Предназначена она для руководителей, которые смогут, взглянув на наше тестирование, сравнить его с тестированием в своем проекте, для программистов и системных администраторов, которым представится возможность посмотреть на тестирование как на очень интересную работу, и, конечно, для тестировщиков.

В статье я расскажу, о том, каким на самом деле может быть тестирование, как мы сделали тестирование продуктивной и интересной работой, какие задачи мы решаем, и почему работать у нас хорошо.
Читать дальше →
Всего голосов 112: ↑76 и ↓36+40
Комментарии29

Touch-web: Swipe

Время на прочтение7 мин
Количество просмотров64K
Этим постом мы продолжаем серию статей на тему разработки веб-интерфейсов для touch-устройств.

Смартфоны с сенсорными экранами достаточно сильно распространены и стали незаменимыми помощниками многим из нас. Потому нельзя не учитывать их особенности при разработке мобильных веб-интерфейсов.
Сенсорное управление существенно отличается от привычного управления мышкой.
Пользователь взаимодействует пальцами с самим экраном. И в зависимости от того, какие движения и сколькими пальцами производит пользователь, интерфейс реагирует по-разному: если быстро коснулся экрана и отпустил палец, то срабатывает клик; если коснулся и провел пальцем по экрану – скролл; если провел двумя пальцами – zoom; и великое множество других вариантов реакции.

Сегодня речь пойдет о swipe, в простонародье – листалке. Swipe позволяет перелистывать «страницы» привычным движением пальца. О том, как грамотно реализовать swipe, я расскажу на примере блока новостей на главной странице портала Mail.Ru.



Много подробностей под катом
Всего голосов 62: ↑55 и ↓7+48
Комментарии27

Выпущен новый Mail.Ru Агент для Mac OS X

Время на прочтение3 мин
Количество просмотров13K
Добрый день, уважаемые хабралюди!

Сегодня я рад представить вам (от имени всей команды) новую версию Агента для [Mac] OS X! И это не просто релиз багфиксов и мелких улучшений (коих действительно немало), в новой версии есть несколько действительно больших новых фич.

Со времени прошлой публикации об Агенте для Мака прошло больше года, с тех пор была выпущена ещё одна мажорная версия, в которую вошла поддержка ICQ и прочие улучшения.

Фичи под катом
Всего голосов 74: ↑36 и ↓38-2
Комментарии52

Russian AI Cup: итоги

Время на прочтение2 мин
Количество просмотров8.4K
Итак, 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
Комментарии5

Веб-сервис как система реального времени

Время на прочтение7 мин
Количество просмотров15K
В начале декабря в Санкт-Петербурге при партнерстве Mail.Ru Group прошел полуфинал чемпионата мира по программированию ACM ICPC. В рамках чемпионата я встречался с участниками и рассказывал о том, как сделать веб-сервис системой реального времени; а сейчас хочу поделиться своим докладом на Хабре.

Говоря о системе реального времени, мы представляем атомную станцию, самолет или нечто подобное, где от скорости реакции информационной системы зависит жизнь людей. Если в системе реального времени команда будет тормозить 10 секунд из-за сборки мусора, последствия могут быть более чем плачевными. Реакция должна быть моментальной, причем за гарантированное время.

При работе веб-сервиса, конечно, жизнь человека не зависит от того, насколько быстро он открыл письмо в почте, но требования к веб-сервису почти такие же. Еще 15 лет назад, когда пользователь кликал на ссылку, он ожидал реакции 10 секунд; для медленного интернета того времени это было нормально. Современный интернет – это широкие каналы, быстрые компьютеры. У пользователей все работает быстро, и они ждут от сервисов того же.

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

Итак, современный веб-сервис, по сути, должен быть системой реального времени. Как сделать так, чтобы он отвечал этому требованию, я расскажу на примере Почты Mail.Ru.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии20

Рейтинг Mail.Ru: прямо в цель

Время на прочтение3 мин
Количество просмотров7.2K
В Рейтинге, как и в других системах веб-статистики, давным-давно существует отслеживание просмотра страницы. Вы всегда могли посмотреть, сколько раз посетители посмотрели страницу с контактами, страницу с покупками, и даже отследить просмотр страницы с благодарностью за покупку. Однако некоторые события в жизни сайта не удается отследить таким образом: скачивание файла, просмотр видео, события во Flash- и Ajax-сайтах, возникновение ошибок.

В итоге мы решили сделать функциональность отслеживания достижения целей. Если говорить коротко, цель – это то событие, которого мы ожидаем и которое хотим отследить.
Читать дальше →
Всего голосов 33: ↑21 и ↓12+9
Комментарии10

Рейтинг Mail.Ru научился смотреть Smart TV

Время на прочтение2 мин
Количество просмотров9.4K
Все больше и больше наших коллег в Mail.Ru Group покупают себе домой «телевизоры с интернетом» и более или менее активно ими пользуются. В какой-то момент, обменявшись опытом, мы решили узнать, как их используют в рунете. Так или примерно так на Рейтинге Mail.Ru появилась статистика по пользователям Smart TV.

Естественно, она открыта всем желающим, и каждый может сделать свои собственные выводы, но я поделюсь теми вещами, которые бросились в глаза мне.
image
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии6

Кастомизация JIRA и Confluence с помощью плагинов

Время на прочтение7 мин
Количество просмотров32K
Практически все организации, где необходимо вести документацию и управлять бизнес-процессами, сталкиваются с необходимостью выбора и настройки софта, который облегчает эти процессы. JIRA и Confluence от компании Atlassian Software достаточно популярны на российском рынке. Однако в своей дефолтной конфигурации они не могут решить все задачи, стоящие перед организацией – ведь у каждого своё видение процессов работы. Кроме того требования кастомизировать JIRA растут по мере использования продукта.

Я работаю разработчиком JIRA/Confluence в Mail.Ru Group, и хочу поделиться опытом написания плагинов JIRA и Confluence: что можно сделать, как сделать и о чём нужно не забыть.

О чем я расскажу

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

Описание плагинов будет включать:
  • пользовательские поля (custom fields), обработчики событий (listeners);
  • сервлеты (servlets) и REST, программирование workflow.

Читать дальше →
Всего голосов 33: ↑29 и ↓4+25
Комментарии7

Игровое подразделение Mail.Ru Group на Update 30 октября: рынок интерактивных развлечений в РФ

Время на прочтение3 мин
Количество просмотров6.4K
Привет, Хабраюзеры! 30 октября прошло мероприятие Mail.Ru Group: Update, в котором приняли участие представители игрового подразделения компании – возглавляющий его вице-президент Владимир Никольский и руководитель проекта Игры@Mail.Ru Александр Кузьменко. Мы рассказали о том, что собой представляет рынок игр в России сегодня, а также поделились своими планами на ближайшее будущее. Сегодняшняя публикация посвящена рыночным показателям.
Читать дальше →
Всего голосов 28: ↑16 и ↓12+4
Комментарии19

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

Время на прочтение2 мин
Количество просмотров8.4K
Всем доброго дня.

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



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

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

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

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

Загрузка файлов на сервер в 2012 году

Время на прочтение10 мин
Количество просмотров59K
В один прекрасный момент передо мной встала задача создать API для работы с файлами на клиенте и их загрузки на сервер.

Я работаю в Почте Mail.Ru, и моей прямой обязанностью является работа с JavaScript во всех его проявлениях. Прикрепление файлов к письму — одна из основных функций любой почты. Мы тут не исключение: у нас уже был Flash-загрузчик, который вполне исправно работал и долгое время нас устраивал. Однако у него был ряд недостатков. Вся верстка, графика, бизнес-логика, и даже локализация были зашиты в нем, в результате чего решение было громоздким, а внести правки мог только Flash-разработчик. В какой-то момент мы поняли, что нам необходим новый механизм. О том, как его создать, пойдет речь в этой статье.

Читать дальше →
Всего голосов 161: ↑146 и ↓15+131
Комментарии71

Силовые тренировки: раскатываем HTTPS под высокими нагрузками

Время на прочтение6 мин
Количество просмотров17K
В сентябре Почта Mail.Ru включила HTTPS-шифрование для всех пользователей.

Преимущества защищенного соединения очевидны всем разработчикам крупных интернет-проектов. Большинство современных web-серверов (nginx, Apache, etc) и браузеров поддерживают HTTPS. В то же время сайтов, на которых безопасный протокол включен всегда и по умолчанию, не так много. Почему это так? С какими трудностями мы столкнулись при поддержке HTTPS? Читайте под катом.
Читать дальше →
Всего голосов 49: ↑42 и ↓7+35
Комментарии33

Все видео и презентации с осеннего Форума Технологий Mail.Ru Group 2012

Время на прочтение5 мин
Количество просмотров9.3K
Прошел осенний Форум Технологий 2012. Как и в прошлые разы, хотелось поделиться с вами интересными цифрами и фактами относительно мероприятия, а также познакомить тех из вас, кто туда не попал, с основными тезисами докладов. Здесь же вы найдете ссылки на онлайн-видеозаписи, а также на видеофайлы, которые можно скачать и посмотреть/послушать в удобное время со смартфона или планшета.



Программа этого года включала 24 доклада в трех залах. Кроме ведущих специалистов Mail.Ru Group, на Форум были приглашены докладчики из Codecentric, Google, Opera, Cloud9. Видеотрансляцию Форума посмотрело более трех тысяч человек, Twitter в течение дня просто ломился от сообщений с нашим хэш-тегом — их набралось около тысячи от 280 человек, то есть буквально от каждого третьего.

Форум посетило всего около 1000 человек. Это максимальные возможности площадки, где проходил Форум. Весенний форум посетило столько же специалистов.

Презентации, статистика, видео и фотографии
Всего голосов 53: ↑44 и ↓9+35
Комментарии18

Инкрементальный алгоритм привязки GPS-трека к дорожному графу

Время на прочтение5 мин
Количество просмотров19K
The Puxi Viaduct by wikimedia

Геоинформационные системы постепенно входят в повседневный быт.

Большинство мобильных устройств снабжены GPS/ГЛОНАСС-приёмниками. Это позволяет разработчикам получать записи пути своих пользователей (треки). Треки можно использовать для решения целого ряда задач — от навигации по карте и информирования о местоположении друзей до построения пробок и предсказания дорожной ситуации.

К сожалению, без дополнительной обработки трек пользователя малоинформативен, поэтому требуется этап связи внешних данных и внутренней карты приложения. Для этого существуют специальные алгоритмы привязки данных (map matching algorithms).

Эта статья посвящена алгоритму привязки трека к дорожному графу и результатам его применения в проекте Карты@­Mail.ru.
Читать дальше →
Всего голосов 21: ↑21 и ↓0+21
Комментарии16

Russian AI Cup 2012

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

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

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

Информация

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