Александр И

Александр И
Рейтинг
24
Регистрация
20.11.2016
Aisamiery:
Александр И, не вводите народ в заблуждение. Это штука замена более старым апи кэширование, направленное на работу в режиме офлайн. Я так понимаю, что для динамики и контента, требующего постоянного общения с сервером это никак не пойдет, вам в любом случае для кэша надо загрузить статику/страницу, если вы её не загрузили ранее и сервер лежит, то боюсь вы никак её уже и не загрузите. Эти API по большей части для SPA (для моделей на фронте работающих с localStorage)

ServiceWorker работает совместно с Cache API - верно.

Но ServiceWorker исполняется еще до начала запроса к серверу, как только вы ввели адрес в адресную строку, ServiceWorker решает что делать дальше.

Это часть PWA направлена на то, чтобы сделать веб приложения работоспособными в оффлайне и дать им возможность предварительной загрузки, даже когда сайт закрыт.

Если пользователь хотя бы раз посещал сайт, у него уже закеширован shell (js/css).

А идея как раз в том, что динамику, а именно html содержимое страницы можно вытягивать из Google Cache/AMP.

https://developers.google.com/web/fundamentals/getting-started/primers/service-workers

[ATTACH]159209[/ATTACH]

Как я понимаю в respondWith можно вставить и другой код, в том числе и перенаправление запроса и его модификация.

(возможно я ошибаюсь, это просто идея)

Соответственно, ServiceWorker отдает offline.html и выполняет appendChild в body с ответа от Google Cache/AMP/других кластеров.

Это не подойдет для отправки комментариев, поиска по сайту (можно перенаправлять запросы в Google поиск для сайтов), отдачи картинок из содержимого (можно сразу вставлять картинки из CDN/Google Cloud Storage).

Но это подойдет для того, чтобы просто отдавать информацию из Google Cache в шкурке сайта без изменения URL и с сохранением навигации внутри сайта.

Кроме этого, ServiceWorker работает, даже если вкладка с сайтом закрыта (вне процесса вкладки с сайтом).

Соответственно, можно равномерно подгружать ресурсы по типу Push-уведомлений.

Mozilla создали соответствующий плагин для WordPress

https://en-gb.wordpress.org/plugins/offline-shell/

png 159209.png
smbbws:
Ну это примерно тоже самое, как если бы использовать глобальный супер прокси, если на сайт кто-то заходил, и этот сайт "упал", для другого клиента поднимается его копия из кеша (например при если отклик не произошел за определенное время).

Да, но в отличии от прокси, это будет работать из коробки у 60% пользователей и в качестве хостера служат супербыстрые сервера Google.

Как вариант, можно использовать Google AMP сервера, а не Google Cache.

Тогда данные будут на 100% последние и актуальные.

Я думаю, реализация очень простая, примерно пару строк в плагине от Mozilla.

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

Просто хотел сохранить и поделиться идеей.

Как я понимаю, после этого сайту не страшны блокировки или DDOS?

А как быть с HTTPS? Как происходит повторная валидация сертификатов?

Как я понимаю, если сайт открывается с пометкой "Secure" в Chrome даже в Offline режиме, то повторная валидация не обязательна?

bratka_panya:
Кто подскажет дельный совет, как развить усидчивость.
Постоянно отвлекаюсь на то, на это.
В итоге целый день за компьютером проходит почти впустую.
Я не говорю про то, когда проект интересный - там можно окунуться на сутки с головой и заниматься только им. Но такое бывает редко, в основном рутинные задачи.

Основная гипотеза прокрастинации - тревога и перфекционизм.

Возможно вам кажется, что еще кружечка кофе и вы готовы работать, но на деле вам нужно расслабляться и отдыхать, а не стимулировать и заставлять себя работать.

Просто разрешите себе отдых.

Вы не живете ради работы, вы работаете ради жизни и счастья.

Уменьшить фоновую тревогу (генерализованное тревожное расстройство) можно:

1. Исключив любые стимуляторы, включая даже черный/зеленый чай.

2. Наладить сон и попробовать сместить график в сторону раннего пробуждения.

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

3. Отключить любые Push и email оповещения - уменьшайте фоновый шум и поступающую информацию, которая может вас отвлекать. Серьезно, вам не нужно быть в курсе последних новостей из Украины или 265 съезда веб-мастеров в Санкт-Петербурге.

Если вам будет что-то нужно, вы найдете это в поисковой системе.

4. Не планируйте сделать сразу всю работу, планируйте только 1-2 часа в день утром и если вам понравится прогресс, вы и сами продолжите работать дольше. Но начать реализацию одного мелкого функционала, который займет 1 час гораздо проще, чем настроить себя на выполнение проекта, который откладывали неделями.

5. Обходите дискуссию и диалоги, которые вы будете обдумывать на протяжении дня.

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

Это результат прокрастинации и лучше начинать диалоги и дискуссии тогда, когда вам это нужно и выгодно.

6. Четко разделяйте различные сферы своей жизни. - Да, именно для этого и нужны профили в Google Chrome! Никакого порно и социальных сетей в рабочем профиле.

postavkin:
WebAlt, спасибо. Как все не просто. Значит придется оставить как есть. Я честно говоря удивлен, так как ранее такого не встречал, и на других работающих у меня сайтах проблем с отображением текстов не наблюдал (в разных броузерах).

Нужно смотреть, какой именно шрифт используется на вашем сайте.

Вы привели примеры шрифтов Roboto/Open Sans.

Есть два варианта почему удаление кода не повлияло на отображение:

1. Эти шрифты не используются для отображения документа (не прописаны в font-family) или используются в тех местах, где вы не еще не успели заметить.

2. Эти шрифты уже установлены в вашу систему (например, вместе с офисными программами) или подгружаются в CMS (в WordPress, Open Sans подгружается для отображения панели управления).

Также, рекомендую использовать CDN Google Fonts для загрузки шрифтов Roboto/Open Sans.

Есть большая вероятность того, что эти файлы будут в кеше пользователя ибо многие используют Google Fonts для загрузки именно Roboto/Open Sans.

Если не ошибаюсь, Google Fonts CDN также использует анализ UA, чтобы отдать именно нужный формат шрифта, вместо того, чтобы прописывать код для всех возможных форматов (как в вашем примере).

silicoid:
Вот-жеж блин. Сколько лет пользуюсь, не знал, что у такого способа описания и название есть. (а узнал про него, подсмотрев в чужом коде)
Имхо - самый логичный, красивый и понятный способ написания легкомасштабируемых структур.

Который разрушает всю идею классов, делая из них по сути идентификаторы.

По сути, кроме Яндекса его никто и не использует.

Большинство популярных CMS - WordPress, VBulletin, Ghost, сайтов - Google, Medium, Wikipedia используют классическую гибкую разметку.

Представим на сайте есть кнопки, которые могут быть тегами label, a, button, input, span.

Классическим выходом будет просто дописывать class="button" в HTML, например, <label class="button">, и задать стили для .button в CSS.

Если нужно дополнительное оформление исходя из элемента, можно уточнить, label.button, a.button и так далее.

Но исходя из Яндекс БЭМ, нужно писать <label class="label__button">, <a class="a__button">.

И даже больше, если нужно оформить определенное состояние элемента, например, :hover, Яндекс предлагает писать .label__button--hover вместо label.button.hover.

А если у вашей кнопки есть родители, тогда вам нужно всех их прописать в название класса.

Вместо .list a - .ul__list__item__link.

Какое из этого удобство?

То, что Internet Explorer 8 обрабатывает селектор .label__button--hover на 2 мс быстрее label.button.hover? Так ведь и растет количество этих самых селекторов!

Стабильность и структурированность? - Возможно, но в ущерб гибкости. Тем-более, те же цепочки классов можно воссоздать и в SASS.

Есть новый информационный не новостной сайт, который только попал в индекс Яндекс.

Причем был просканирован после апдейта, а попал в индекс в день, когда апдейта не было (что намекает на динамичность выдачи).

В Google все запросы вылезли сразу в топ-30, в Яндекс топ-40 вылезли НЧ, а более крупные запросы ниже за топ-100.

Однако!

Я запускаю проверки по пару раз на протяжении дня, чтобы лучше понять алгоритмы Google.

В pr-cy когда проверяешь позиции в Google, то Яндекс проверяется бесплатно за компанию.

Так вот, заметил, что некоторые запросы покрупнее попадают в топ-10, обновляю еще раз через минуту и уже топ-100.

Я подумал, что это проблема на стороне pr-cy и выполнял те же действия но в topvisor.

И то же самое произошло там.

При этом, мною не удалось зафиксировать мой сайт в топ-10 по этим запросам при переходе по ссылке на поисковую выдачу, только topvisor/pr-cy зафиксировали этот феномен.

Возможно, Яндекс подмешивает некоторые новые сайты/страницы в выдачу топ-10 (что опять таки намекает на динамичность выдачи), чтобы оценить ПФ или это общий глюк topvisor/pr-cy или xml-сервиса Яндекс, по которому работают topvisor/pr-cy.

VoV@:
И как выбор с ними обстоит?
Для всех ли программ PWA-аналоги можно найти?
Откуда их устанавливаете?

Их не надо устанавливать.

Это веб версии приложений.

Благодаря последним обновлениям Google Chrome/Firefox, все эти веб версии могут получить поддержку работы без подключения к интернету, благодаря ServiceWorker.

https://developers.google.com/web/progressive-web-apps/

Mozilla выпустил плагин, который превращает ваш WordPress сайт в PWA приложение, которое работает без подключения к интернету. Пользователь посетивший ваш сайт, получает опубликованные статьи без посещения сайта (как Web Push, но без запросов на права) и может открыть из даже без подключения к интернету.

https://en-gb.wordpress.org/plugins/offline-content/

Впрочем, сам WordPress сделал шаг к PWA и отдельной прокладке на nodejs/angular/react, с введение REST API в 4.7.

Я навел список тех, что я использую.

Как пример,

https://web.skype.com как замена Skype на компьютере

https://todoist.com может работать оффлайн и синхронизируется при подключении к интернету

Из плюсов - все закреплено за вашей почтой из коробки, не надо ничего бекапить, синхронизировать.

Можно создать новый профиль в Google Chrome и вуаля, у вас новый Skype, Google Drive, Google Music, Youtube.

Таким способом, я разделяю разные аспекты своей жизни.

Так сказать, порно в одном профиле, а работе в другом. :)

Из минусов - производительность.

Безусловно, в большинстве случаев, DOM/JS работают намного медленнее и менее стабильнее EXE программ.

Я за идею.

predm:
вроде, в какой-то ветке я читал, что и название бренда тоже хорошо влияет на форумах. даже без ссылки.
у меня такой вопрос, сколько в неделю постов о себе размещаете на форумах?

В таком случае, можно было бы просто в качестве ника использовать название бренда.

Windows 10 - потому, что:

1. Самая актуальная.

2. Мое комплектующего лучше всего дружит с Windows, чем с другими ОС.

Но особо не привязан к ОС и могу работать, хоть с телефона по ряду причин.

Предпочитаю PWA (Progressive Web Apps) вместо обычных EXE приложений.

Skype for Web, Messenger, Gmail, Todoist, Google Drive, Google Docs, Google Chrome для просмотра PDF, Google Contacts/Calendar/Keep с синхронизацией с телефоном, Google Music для прослушивания музыки, Google в качестве таймера, калькулятора, прогноза погоды.

Из обязательных приложений на моей компьютере:

Google Chrome - весь мир в одном аккаунте, полностью согласен со слоганом Google.

Firefox/Edge - иногда тестирую верстку, но заметил, что особой необходимости в этом уже нету.

Sublime Text 2 с синхронизацией Package Manager с Google Drive.

WinSCP + Putty для работ с сервером.

uTorrent - с радостью бы обошелся расширения для Chrome, но отсутствуют таковые.

PaintNET/Photoshop - потому, что онлайн версии очень нестабильные и урезан функционал.

F.lux или аналог - обязательно.

Punto Switcher перестал использовать в связи с тем, что процесс explorer.exe начинает есть до 20% CPU при движении мышей, когда установлена и запущена последняя версия Punto Switcher.

Подозреваю, что Яндекс встроил вебвизор в Punto Switcher в дополнение к кейлогеру.

Вирус от которого не поможет антивирус.

Устанавливаю приложения только с официальных сайтов.

Предпочитаю месячную подписку на приложения/сервис.

Перестал делать бекапы и отключил встроенный антивирус примерно 2 года назад.

Главное не пропустить галочку - "Установить Яндекс браузер".

ЯТрудоголик:
Чуть чуть не то, мне дешевле обходится.

А если например создать sitemap.html с перечислением всех адресов сайта и добавить ее в Google Webmaster - сканирование - просмотреть как googlebot - запросить индекс - СКАНИРОВАТЬ ДРУГИЕ АДРЕСА НА ЭТОЙ СТРАНИЦЕ.

И выполнять это действие по мере добавления новых страниц на сайт, также не забывая обновлять sitemap.html.

Я не пробовал такой метод.

Но должно работать.

Всего: 119