Search
Write a publication
Pull to refresh

Comments 13

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

Такими темпами нужно будет делать загрузочный экран для загрузочного экрана!

Так это уже давно пройденный этап - помните вебсайты, которые встречали посетителя надписью "подождите, пока загрузится Flash-анимация"?

У меня был отключен Flash. Но когда в 24-м я вижу многосекундный запуск Teams на мощной рабочей станции - я хочу посадить разрабов на тупой кол и табличку им перед глазами: "подождите, скоро вы отмучаетесь"

Ребята подскажите пожалуйста, как запретить сайтам определять моё железо (материнку и т.п.) ? Может быть есть какое-нибудь дополнение для браузера?

Для начала давайте разберёмся как вообще сайт может определить материнку. У вас есть образец такого сайта или скрипта?

Фингерпринтинг. Модель материнской платы нет, а уникальные особенности железа да.

Фингерпринтинг в браузере обычно отслеживает не уникальные особенности железа (скрипт вряд ли до низкого уровня доберётся), а программную среду: браузер, операционную систему, системное время, часовой пояс и так далее. Но тут есть нюанс, что если какое-либо расширение пытается заблокировать фингерпринтинг по какому-либо параметру, то обнаружение этой блокировки — само по себе маркер пользователя, потому что такими расширениями пользуются единицы.

Там по особенностям отрисовки шрифтов вроде как наличие GPU можно определить. Прямого доступа к железу у js нет, но коссвенно можно чего угадать.

Огромное количество сайтов занимается определением железа посетителей - это всякие Avito, Ebay, Microsoft, Google, которые любят банить подозрительных пользователей. Ну вот например, при авторизации в свой аккаунт Гугол прислал мне предупреждение о подозрительном входе:

B85M-D3V - это модель материнки. Меня сильно удивляет, что туземцы с Хабра об этом не знают - я думал тут профессионалы веб-программирования...

Из-за токсичных аборигенов с Хабра у меня низкая карма, поэтому я могу отвечать только не чаще 1 раза в сутки...

А это не сайт определяет железо, а браузер Хром передаёт в Гугл сведения о системе. Если пользоваться другим браузером, то в предупреждении о подозрительном входе будет показываться только user agent.

Я хотел традиционно пошутить про то, что лучше бы сайты такими толстыми не делали.

Но статья на самом деле толковая и упоминает как про это, так и про то, что есть все же случаи, когда загрузка нужна.

Я бы добавил, что стоит разделять задачи на несколько основных категорий, условно, быстрые и медленные.
- Обычная загрузка сайта.
Тут как раз хорош совет в целом сделать его поменьше и пошустрее, но, очевидно, у сайта есть функции, меньше которых оптимизировать дорого.
В этом смысле индикатор загрузки / скелетон - лишь небольшой трюк + индикатор правильности работы сайта. Поэтому ему нет смысла быть детерменированным и стараться показать время.
- Специализированные задачи. Мы формируем важный годовой отчет, строим графики по аналитике за пол года, отправляем корабли на Марс или запускаем большую и красивую игру с 2 гб текстур.
Эту операцию нельзя оптимизировать с нашей точки зрения, пользователю остается только ждать.
В этом случае имеет смысл использовать детерменированные индикаторы.
Но так же важно в этом случае по возможности отделить эту функциональность от остальной страницы.
График грузится в рабочей области, таблица обновляет скелет таблицы - остальная часть сайта/приложения на самом деле может работать как обычно и быть отзывчивой.
То есть помимо загрузки нужно подумать и об архитектуре и абстрагировании этой медленной части.

Спасибо за комментарий и идеи.

Если честно, то о сайтах даже и не задумывался, в силу специфики своей работы)

Согласен с вами про разделение на загрузку данных и выполнение задач, но фокусировал внимание именно на загрузке, чтобы не перегрузить читателей. Лишь вскользь упомянув этот момент.

Про архитектуру — тут моё упущение, отдельное спасибо, что обратили на это внимание! Относительно недавно писал внутреннюю статью про скелетоны, где и раскрывал эту тему. Но постеснялся повторяться. Надо бы это исправить)

Это часто очень большая проблема при обсуждении приемов, паттернов и архитектур - слишком мало контекста.
Советы, полезные одним, могут быть вредными для других.

Простой пример - когда серверники рекламируют stateless организацию кода, функциональный подход, они прежде всего ориентируются на серверные же приложения, потому что это их типичные приложения.
И советы могут быть в корне неверными для statefull приложений, которыми, к примеру, являются игры. В них от состояния никуда не деться и главное, что нужно понимать - как его организовывать и не испытывать боли.

Sign up to leave a comment.