Пока вглубь не лезть — все хорошо.
Да, именно. Скролл не пашет. А как вам, допустим, факт, что в этой верстке элемент не будет отображаться? Просто потому что процентная высота внутри элемента не отрабатывает. И это самый лайтовый из багов, он лечится тупо вотчдогом, который вручную проставляет width и height из clientWidth и clientHeight родителя.
вероятно, разнообразными глюками в работе во всех браузерах, которые лечатся исключительно адовыми костылями на js)
Мне очень нравится флексбокс, но при всех его достоинствах — реализация во всех браузерах глючный кусок гуано, причем запах и цвет у всех разный напрочь. Я когда глубоко с ним работал (кастомные сложные лейауты, настраиваемые пользователем, через флексбокс) — впервые с 2012 года что ли написал хуки на юзерагент.
На самом деле, если говорить серьезно — то никто не в минусе.
Цель бизнеса — извлечение прибыли владельцами бизнеса, но вся шутка в том, что он сам — получает прибыль. Его личная доля растет, оценка компании становится больше, значит, их доля растет в стоимости. Они могут в любой момент выйти, получив очень хорошую сумму.
Уйти в минус — это не так плохо, если рассматривать не с точки зрения «у нас жопа с деньгами, нам нужно еще», а с точки «господа, если мы объединим наш бизнес и ваши деньги, мы все окажемся в плюсе: мы потратим 10 млн долларов на рекламу и развитие, и стоимость бизнеса вырастет с 15 до 40 миллионов, потому предлагаю вам за ваши 10 млн долю, эквивалентную 15 млн через год в наших акциях». Стоимость части бизнеса в руках владельца растет с 15 до 25, у инвесторов деньги растут с 10 до 15, все счастливы.
Если на пальцах: если хочется оставить такой же оборот, как в прошлом году — прибыль будет 25% от оборота. Но хочется увеличить оборот в два раза, поэтому всю прибыль кидают в рекламу. В итоге — компания в минусе, но растет.
Не совсем, там идет работа с tree-traversal(сдвиг вправо по списку потомков) и tree-aware(узнать свое положение среди потомков) селекторами.
Я сам не до конца в курсе деталей, но если по сути смотреть — селектор отрабатывает следующим образом: есть конечный узел, который берется из кэша (мапа id-шников, мапа классов, мапа элементов), дальше берется его CSS path и сверяется на матчинг. Соответственно, если в браузере используются еще и сложные пути селекторов, такой матчинг не отработает, и подключается сложная логика.
Да, именно, чистый суперсэмплинг — 2х по каждой из сторон.
От тормозов не спасет, но памяти точно жрать будет куда меньше)
А в сторону webGL с шейдерами не пытались смотреть, кстати?
Ну, там есть и немного более специфичное решение, нежели просто «инлайн». Просто стили пишутся в JS, а не в CSS-файле.
Ну и с поддержкой-переносимостью-повторяемостью в нем тоже все решили по большому счету)
И если говорить серьезно — использование хотя бы одного nth-child (и тем более nth-last-child) в стилях включают более сложный механизм работы css-селекторов. Лучше отказаться, наконец, от поддержки ie8 и 9(только 9й поддерживать на самом деле бред — у него доля даже меньше, чем у восьмого), и перейти на flex-box. Где есть justify-content: space-around/space-between. Я вообще сейчас с react заигрываю, там вообще инлайновые стили приветствуются, а значит — можно точно узнать количество потомков через js.
А такие костыли лучше использовать разве что для таких гемморойных и странных задач, как расстановка элементов равномерно по кругу (в моем посте есть такой пример)
А почему не взять комбинированный метод? Суперсэмплингом уменьшить, условно, с 20 мегапикселей до 5, а дальше уже работать с тем, что уже нужно?
Да, качество будет хуже. Но работать будет ощутимо шустрее, если я правильно понимаю
Да, действительно. Метод хороший, но для JS куда более эффективен и полезен подход «кишки наружу», как бы это ужасно ни было с точки зрения нормального ООП.
Ура, спасибо!
Я всю неделю ленился про это написать.
От себя добавлю:
-появились Typed Arrays, Map, Set, WeakMap
-добавилась полновесная поддержка символов
-есть итераторы for..of
-добавились es6-свойства и методы в Math
И еще много мелочей.
Что, впрочем, не компенсирует отсутствие генераторов.
Да, извиняюсь, был напуган)
Но я однозначно читал где-то, что вот эти микроскопические сдвиги точки фокуса (при помощи микросаккад) дают возможность увидеть контуры плоскостей видимой картинки, и построить своего рода «карту высот», а уже бинокулярное зрение служит для точного определения расстояний.
А про 3д глаз — есть более интересная идея в научных кругах: мозг строит трехмерную картинку, опираясь на микро движения глаза, т.е. влево-вправо, для всех точек изменилось — пусть и на пару десятых миллиметра — расстояние, и готово, расчёт пошел
Да, именно. Скролл не пашет. А как вам, допустим, факт, что в этой верстке элемент не будет отображаться? Просто потому что процентная высота внутри элемента не отрабатывает. И это самый лайтовый из багов, он лечится тупо вотчдогом, который вручную проставляет width и height из clientWidth и clientHeight родителя.
Мне очень нравится флексбокс, но при всех его достоинствах — реализация во всех браузерах глючный кусок гуано, причем запах и цвет у всех разный напрочь. Я когда глубоко с ним работал (кастомные сложные лейауты, настраиваемые пользователем, через флексбокс) — впервые с 2012 года что ли написал хуки на юзерагент.
На самом деле, если говорить серьезно — то никто не в минусе.
Цель бизнеса — извлечение прибыли владельцами бизнеса, но вся шутка в том, что он сам — получает прибыль. Его личная доля растет, оценка компании становится больше, значит, их доля растет в стоимости. Они могут в любой момент выйти, получив очень хорошую сумму.
Уйти в минус — это не так плохо, если рассматривать не с точки зрения «у нас жопа с деньгами, нам нужно еще», а с точки «господа, если мы объединим наш бизнес и ваши деньги, мы все окажемся в плюсе: мы потратим 10 млн долларов на рекламу и развитие, и стоимость бизнеса вырастет с 15 до 40 миллионов, потому предлагаю вам за ваши 10 млн долю, эквивалентную 15 млн через год в наших акциях». Стоимость части бизнеса в руках владельца растет с 15 до 25, у инвесторов деньги растут с 10 до 15, все счастливы.
Так понятнее?
Я сам не до конца в курсе деталей, но если по сути смотреть — селектор отрабатывает следующим образом: есть конечный узел, который берется из кэша (мапа id-шников, мапа классов, мапа элементов), дальше берется его CSS path и сверяется на матчинг. Соответственно, если в браузере используются еще и сложные пути селекторов, такой матчинг не отработает, и подключается сложная логика.
От тормозов не спасет, но памяти точно жрать будет куда меньше)
А в сторону webGL с шейдерами не пытались смотреть, кстати?
Ну и с поддержкой-переносимостью-повторяемостью в нем тоже все решили по большому счету)
А такие костыли лучше использовать разве что для таких гемморойных и странных задач, как расстановка элементов равномерно по кругу (в моем посте есть такой пример)
habrahabr.ru/company/uprock/blog/198322/
canvas.drawImage(img, 0,0, img.width / 2, img.height / 2) — разве тут не вышел бы суперсэмплинг?
Да, качество будет хуже. Но работать будет ощутимо шустрее, если я правильно понимаю
Я, конечно, знаю, что указывать на опечатки — моветон, но «перезагрузка печени» — это, кажется, даже смешно :)
А вообще — круто!
Я всю неделю ленился про это написать.
От себя добавлю:
-появились Typed Arrays, Map, Set, WeakMap
-добавилась полновесная поддержка символов
-есть итераторы for..of
-добавились es6-свойства и методы в Math
И еще много мелочей.
Что, впрочем, не компенсирует отсутствие генераторов.
Но я однозначно читал где-то, что вот эти микроскопические сдвиги точки фокуса (при помощи микросаккад) дают возможность увидеть контуры плоскостей видимой картинки, и построить своего рода «карту высот», а уже бинокулярное зрение служит для точного определения расстояний.
А про 3д глаз — есть более интересная идея в научных кругах: мозг строит трехмерную картинку, опираясь на микро движения глаза, т.е. влево-вправо, для всех точек изменилось — пусть и на пару десятых миллиметра — расстояние, и готово, расчёт пошел