Архив за 28 января 2014 - 7

Дизайнерский обзор Android 4.4 KitKat. Часть 2

В первой части статьи были подробно описаны все основные интерфейсные изменения, которые претерпели экран блокировки и рабочие столы, по сравнению с предыдущими версиями Android.

Во второй части статьи описаны обновленные стоковые программы и некоторые другие дизайнерские нововведения, которые были добавлены в Android 4.4 Kit Kat. Дальше — много картинок.

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

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

Распараллеливаем процессы для ускорения вычислений и выполнения заданий в Linux

Почти все персональные компьютеры, выпущенные за последние несколько лет, обладают как минимум двухъядерным процессором. Если у тебя, читатель, не очень старый комп или не какой-нибудь бюджетный ноутбук, то, вероятнее всего, ты обладатель многопроцессорной системы. А если еще любишь играть в игры, то тебе доступно около сотни GPU-ядер. Однако львиную долю времени вся эта мощь пылится без дела. Попробуем это исправить.
Читать полностью »

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

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

  • Использование CSS и переключение классов вместо перестроения DOM дерева
  • Повсемнестное кеширование выборок элементов ($('div.active_part span.highlighter')), атомарные операции по изменению (вместо всеобщей перерисовки, вместо переделывания больших участков DOM дерева)
  • Минимизации чтений DOM во время записи изменений состояний
  • Кеширование размеров и расположения элементов (это спасает от излишнего вычисления при считывании этих значений при наличии других изменений: чтение во время изменения множества частей дерева крайне негативно сказывается на производительности)
  • Аккуратное, не затягивающееся накопление изменений, необходимых произвести в DOM
  • Прикрепление частей изменяющихся коллекций единовременно (когда, например, в середину списка вставляется 3 новых элемента; createDocumentFragment) в конкретное место (after, before) вместо открепления всей коллекции от DOM и повторного прикрепления (и вместо того, чтобы перерисовывать весь список)
  • Прогрессивный асинхронный рендеринг: картина прорисовывается сразу с небольшим количеством деталей, затем деталей появляется всё больше
  • Клонирование нодов (как часть шаблонизации)
  • Кеширование и использование кеша результатов парсинга DOM шаблонов

image image
изображения из части с заголовком «Прикрепление частей изменяющихся коллекций единовременно...»
Читать полностью »

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

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

  • Использование CSS и переключение классов вместо перестроения DOM дерева
  • Повсемнестное кеширование выборок элементов ($('div.active_part span.highlighter')), атомарные операции по изменению (вместо всеобщей перерисовки, вместо переделывания больших участков DOM дерева)
  • Минимизации чтений DOM во время записи изменений состояний
  • Кеширование размеров и расположения элементов (это спасает от излишнего вычисления при считывании этих значений при наличии других изменений: чтение во время изменения множества частей дерева крайне негативно сказывается на производительности)
  • Аккуратное, не затягивающееся накопление изменений, необходимых произвести в DOM
  • Прикрепление частей изменяющихся коллекций единовременно (когда, например, в середину списка вставляется 3 новых элемента; createDocumentFragment) в конкретное место (after, before) вместо открепления всей коллекции от DOM и повторного прикрепления (и вместо того, чтобы перерисовывать весь список)
  • Прогрессивный асинхронный рендеринг: картина прорисовывается сразу с небольшим количеством деталей, затем деталей появляется всё больше
  • Клонирование нодов (как часть шаблонизации)
  • Кеширование и использование кеша результатов парсинга DOM шаблонов

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

image

В прошлый раз я разместил небольшой фотоотчет о посещении ЦЕРНа в качестве туриста. И там мне показали простой и в то же время весьма наглядный анимационный ролик про устройство и принцип работы Большого Адронного Коллайдера. И когда, по возвращению, мы перевели его на русский язык и выложили в youtube, то получили в ответ много позитивных отзывов типа такого: «Спасибо, а то на работе заколебался все это ручкой рисовать и пытаться на пальцах объяснить!».

Хотя коллайдер запущен уже давно, о принципе его действия имеют представление лишь немногие. И это моя попытка немного поправить положение дел. Приятного просмотра.
Читать полностью »

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

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

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

Переведено в Alconost Translations.

Основные события 2013 года глазами Криса Графта (Kris Graft), главного редактора Gamasutra
Читать полностью »

Обработка входящих заявок, опыт небольшой веб студии
Мы — небольшая веб-студия, но и у нас, нет-нет да и потеряется входящая заявка от клиента или застрянет где-нибудь в почте между сотрудниками. Я расскажу как мы решили задачу работы с заявками. Скажу сразу, это простое решение — в статье не будет про CRM которая интегрируется с ip-телефонами, вычисляет день рожденья клиента по фотографии или ходит на встречи вместо менеджера, представители крупных интернет-компаний вряд ли найдут здесь что-то интересное.Читать полностью »

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

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

Мы столкнулись с тем, что работа с рекламодателями в печатных СМИ поставлена, как говорится, «по старинке». Все в основном завязано на конкретных менеджеров по рекламе с минимальной автоматизацией – в основном, это таблички в Excel и разложенные по папочкам документы.

Чтобы не изобретать велосипед, мы посмотрели на успешную автоматизацию наиболее близких по смыслу и бизнес-процессам областей. Самая близкая к печатной реклама в интернете – медийная. Но автоматизирована она, с нашей точки зрения, скорее плохо – там до сих пор существует большой процент ручной работы и ручного согласования.

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


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