ILE -Salim: для ОС pid+fd это просто указатель на открытый ресурс, неважно файл это или сокет или ipc поток или вообще с usb данные читаем, у каждого такого потока будет свой fd - просто число уникальное для процесса. Когда мы передаем его другому процессу, то мы как бы говорим ОС "у меня открыт ресурс, номер потока такой-то, дай ссылку на поток вот этому процессу", ОС создает новый fd для целевого процесса, но ссылается он на тот же поток, что и у нас
Денис Загаевский: насчет обратного прохода - оптимальность в банальном сокращении операций на итерацию
Насчет вложенных циклов, в условии сказано без них, и за это реально штрафуют в олимпиадных задачах, на которую очень уж похожа данная задача. К тому же, такой подход даст 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