Рубрика «Блог компании Mail.Ru Group» - 156

Загадка туманностей «бабочек»

Планетарные туманности не являются ни таинственным, ни даже просто редким видом небесных объектов. Считается, что это конечная стадия жизни звёзд, сравнимых по массе с нашим Солнцем: умирая, звёзды выбрасывают вовне свою внешнюю оболочку.

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

ARPU – average revenue per user, или «средняя выручка с пользователя». Если вы считаете, что этот показатель высчитывается через деление всей выручки на все инсталлы в срок с момента релиза и на сегодняшний день, то эта статья для вас.

Многие из-за нехватки знаний, а может, и из-за желания упростить себе работу, пытаются посчитать один из важнейших параметров игры по вышеприведенной схеме. И это неправильно. Особенно, когда LifeTime (время жизни игрока в проекте) пользователя меньше рассматриваемого периода в 2 раза или менее.
Читать полностью »

Приветствую, друзья.

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

Что имеем:

Рассмотрим треугольник с вершинами в точках A,B и C. Точки пересечения перпендикуляров, опущенных из вершин ABC, с противоположными сторонами треугольника назовем A", B" и C":
Алгоритм трехточечного градиента

Задача:

Необходимо в каждой точке внутри треугольника(назовем такую точку O), определить проценты близости этой точки к каждой вершине(A,B,C) треугольника. Проценты в сумме должны дать значение 100.
Алгоритм трехточечного градиента

Читать полностью »

Когда проект маленький, особых проблем с ним не возникает. Список задач можно вести в текстовом файле (TODO), систему контроля версий, по большому счёту, можно и не использовать, для раскладки файлов на живой сервер их можно просто скопировать (cp/scp/rsync) в нужную директорию, а ошибки всегда можно посмотреть в лог-файле. Глупо было бы, например, для простенького сервиса с двумя скриптами и тремя посетителями в день поднимать полноценную систему управления конфигурациями серверов.

С ростом проекта требования растут. Становится неудобно держать в TODO-файле несколько десятков задач и багов: хочется приоритетов, комментариев, ссылок. Появляется необходимость в системе контроля версий, специальных скриптах/систем для раскладки кода на сервер, системе мониторинга. Ситуация усугубляется, когда над проектом работает несколько человек, а уж когда проект разрастается до нескольких серверов, появляется полноценная инфраструктура («комплекс взаимосвязанных обслуживающих структур или объектов, составляющих и/или обеспечивающих основу функционирования системы», Wikipedia).

На примере нашего сервиса "Календарь Mail.ru" я хочу рассказать о типичной инфраструктуре и жизненном цикле разработки среднего по размерам веб-проекта в крупной интернет-компании.
Инфраструктура и жизненный цикл разработки веб проекта
Читать полностью »

В Технопарке я преподаю студентам курс «Базы Данных». Уже из названия ясно, что речь идет о неотъемлемой части современной IT-грамотности — без этой дисциплины сегодня трудно представить себе компьютерную специальность. Базы данных в том или ином виде сегодня окружают нас повсюду — в самом обычном смартфоне их сотни, что, разумеется, далеко не предел.

Как ответить запросом на запрос, или Базы данных не для чайников
Читать полностью »

Конструкторы, Lego, радиоуправляемые машинки и вертолёты, компьютерные игры… Индустрия производит массу товаров для детей любых возрастов, но давайте будем честными: покупка и последующие игры для пап увлекательны не меньше (а порой гораздо больше), чем для их любимых чад.

Недавно ко мне приехала посылка с очередной игрушкой для сына (ага, я тут ни при чём!) — робот Romo:
Romo: домашний питомец
(iPhone в комплект поставки не входит)

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

Влияние котиков на развитие технологий

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

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

Когда коты и высокие технологии впервые начали воздействовать друг на друга? Перенесемся в недалекое прошлое, в начало космической эры. В космос отправляются первые путешественники, и среди них оказывается котик.
Читать полностью »

Здравствуйте, я Антон Кругляков, руководитель команды User Interface проекта Skyforge. В этой статье я расскажу о нашем опыте проектирования дизайна интерфейса. Я старался максимально уменьшить теоретическую часть, но, глядя на финальный результат, понимаю, что не особо преуспел в этом.

Уникальные отличия

Проектирование интерфейсов в MMORPG Skyforge
Читать полностью »

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

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

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

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

Читать полностью »

Russian Code Cup 2013: разбираем задачи финала

23 сентября 2012 года состоялся финал чемпионата по программированию Russian Code Cup 2013.

Первое место занял Петр Митричев (кстати, чемпион RCC 2011). Второй приз взял Геннадий Короткевич, третье — Дмитрий Джулгаков.

Сегодня мы публикуем подробный разбор шести задач, которые были предложены финалистам RCC (спойлер: одна из них так и осталась нерешенной). В программе — сортировка невиданной быстроты, борьба с капибарным гриппом, путешествия роботов и многое другое.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js