Рубрика «diff»

(Квест) Привет, мы Сфера. Мы тут решили $1500 в эквиваленте подарить - 1

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

Сфера ждет. Время пошло

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


image
Меньше года назад мы рассказывали о разработке нашей новой веб-платформы для просмотра исходного кода.

За прошедшее время Upsource претерпел массу мелких и крупных изменений и стал, в частности, инструментом для code review. На днях же мы открыли программу EAP (Early Access Program), и предрелизные билды Upsource теперь доступны для всех желающих. На момент написания статьи число желающих стремительно приближается к тысяче, и не исключено, что вам тоже будет интересно лично познакомиться с нашим новым продуктом. Читать полностью »

React — это JavaScript библиотека для создания пользовательских интерфейсов от Facebook. Она была разработана «с нуля», с упором на производительность. В этой статье я расскажу вам о diff-алгоритме и механизме рендеринга, который использует React, что позволит вам оптимизировать ваши приложения.

Diff Алгоритм

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

var MyComponent = React.createClass({
  render: function() {
    if (this.props.first) {
      return <div className="first"><span>A Span</span></div>;
    } else {
      return <div className="second"><p>A Paragraph</p></div>;
    }
  }
});

В любой момент времени вы можете описать, как будет выглядеть ваш UI. Важно понимать, что результат рендеринга не является фактическим DOM деревом. Это всего лишь легковесные JS объекты, которые мы называем «виртуальный DOM».
Читать полностью »

Протокол Railgun для сжатия трафика

CDN-провайдер CloudFlare в прошлом году разработал протокол Railgun для сжатия сетевого трафика. Бинарный протокол, написанный на языке программирования Google Go, передаёт хэши веб-страниц и diff’ы между ними, с поддержкой версионности. После внедрения этой технологии степень сжатия в некоторых случаях достигает 99.6%, что недостижимо с помощью gzip. Сайты 4Chan и Imgur после внедрения Railgun сократили некэшируемый трафик примерно на 50%.

Сейчас компания CloudFlare объявила, что поддержка протокола реализована также у Amazon Web Services и около 30 крупнейших хостинговых компаний. Поставить Railgun теперь как никогда просто: есть плагины для WordPress, Joomla, Drupal и прочих CMS, выпущены пакеты для большинства популярных дистрибутивов Linux и BSD.
Читать полностью »

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

  • Поддержка юнити игр
  • Дружелюбность к пользователю
  • Отображение игровых новостей
  • Универсальность для всех игр разработанных нашей студией
  • Гибкость настройки
  • И самое важное: умение делать небольшие патчи для больших файлов

Ссылка на исходники патчера в конце статьи.
Читать полностью »

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


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