Денис Загаевский: насчет обратного прохода - оптимальность в банальном сокращении операций на итерацию
Насчет вложенных циклов, в условии сказано без них, и за это реально штрафуют в олимпиадных задачах, на которую очень уж похожа данная задача. К тому же, такой подход даст arr.length % (xlen * ylen) бесполезных итераций
ILE -Salim: хм, проверьте если у передаваемого объекта числовое поле fd. Так как этот функционал передает именно открытый файл-дескриптор из процесса в процесс. Ну и еще, конструктор передаваемого объекта должен уметь создавать объект по файл-дескриптору, то есть new Constructor({fd : (number)}), где (number) - открытый дескриптор, должно работать
sashadobrota: Добавлю. Чем больше массив, тем медленнее работает splice, для удаления одного элемента или элементов идущих подряд вполне подойдет, а вот если надумаете удалять несколько пользователей за раз, то они вполне вероятно будут идти в произвольном месте массива и код придется несколько усложнить для оптимизации
Денис Букреев: в любом случае стоит потестить на конкретном проблемном девайсе. Сафари на iPhone/iPad/iPod можно синхонизировать со средствами разработчика в сафари на osX по кабелю. Тестите
Виктор: платная тех поддержка или реклама или еще несколько способов заработать на бесплатном. Просто поинтересуйтесь на чем зарабатывает Google Chrome, Atom от github, почему у бесплатной ОС Ubuntu от Canonical бюджет выше чем у ОС Windows от Microsoft, при том что на последней сидит гораздо больше народу
Алексей Струков: document.write висит из эпохи веб1.0 (статичных сайтов), его назначение вывести html-строку в поток рендера браузера.
Перед событием DOMContentLoaded браузер вызывает document.close() завершающий поток рендера. Если после этого вызвать document.write поток рендера перезапустится с новым документом. Ради эксперемента на любом сайте откройте консоль и выведете что-либо через этот метод.
Именно из-за потенциальной возможности использовать document.write в скриптах браузер останавливает рендеринг до выполнения скрипта (а вдруг скрипт что допишет в поток). А раз поток рендера останавливается, страница не отрисовывается и пользователь ее не видит, пока скрипт не отработает.
Алексей Струков: такая практика появилась по историческим причинам, браузер не продолжает рендерить страницу, пока не выполнит скрипт, а чтоб выполнить он должен его полностью загрузить
Такое поведение происходит из-за поддержки устаревшего метода document.write
Настя: подобный подход для замера скорости реализовывал один фронтенд разработчик, когда мы работали с ним в команде. Требовалось выставить дефолтное качество ролика в видеоплеере в зависимости от скорости соеденения
srnsdlmtn: в этом квадрате будет часть слоя выбранная через clip
все остальное видно не будет, а следовательно там будет нижний слой, частично перекрытый квадратом.
при движении мыши меняем координаты квадраты и меняем его свойство clip
Кот Учёный: sitemap бесспорно нужен, но sitemap не расскажет поисковику о содержимом страниц, особенно если оно динамическое. А насчет пререндера, у меня лично это проблем не вызывает, использую handlebars шаблоны как на сервере (node.js) так и на клиенте. Сервер получает объект с данными из БД и ему по сути все равно, как сериализовать эти данные, в json или в html
Разница лишь в том, что на сервере это все просто оборачивается в еще один шаблон, а на клиенте происходит манипуляции с dom
Насчет вложенных циклов, в условии сказано без них, и за это реально штрафуют в олимпиадных задачах, на которую очень уж похожа данная задача. К тому же, такой подход даст arr.length % (xlen * ylen) бесполезных итераций