В начале прошлого года было предложено ввести в JavaScript возможность динамического импорта. Если кто не знает, то сейчас в JavaScript нативно поддерживается только статическая импортизация и для этого есть причины, но это тема отдельного разговора. Предложение было реализовано и включено в список ближайшего обновления ECMAScript. Google Chrome с 63 версии уже поддерживает эту возможность. Я немного расскажу что это такое и где это может пригодиться.
Рубрика «Google Chrome» - 11
Сборка мусора в V8: как работает новый Orinoco GC
2019-06-06 в 10:05, admin, рубрики: chrome, Google Chrome, javascript, node.js, nodejs, V8, Блог компании Badoo, высокая производительностьЕсли честно, это одна из самых жестоких статей, что я читал за последнее время: тут много про смерть в молодом возрасте, про гонения из одной области памяти в другую и про ожесточённую борьбу за производительность. В общем, добро пожаловать под кат — там перевод отличной статьи Питера Маршалла о том, как сегодня работает сборка мусора в V8.
Полноценная блокировка рекламы в Chrome будет доступна только корпоративным пользователям
2019-06-02 в 10:02, admin, рубрики: chromium, declarativeNetRequest API, Google, Google Chrome, Manifest V3, uBlock Origin, webRequest API, блокировка рекламы, браузеры, Расширения для браузеровЕщё в январе Google предложила изменить API браузера Chromium, которые не совместимы с большинством сторонних блокировщиков рекламы и некоторыми другими расширениями. Речь о новых программных интерфейсах declarativeNetRequest API (часть документа Manifest V3). Они лишают возможности полноценно использовать webRequest API. Сейчас расширения вроде uBlock Origin и Ghostery используют webRequest API для блокировки контента на лету во время загрузки страницы. В новой системе блокировщики не cмогут блокировать события, а только просматривать их. Вместо этого расширениям предлагают перейти на declarativeNetRequest API из Manifest V3 — и сообщать браузеру о тех событиях, которые они хотят заблокировать. Это якобы должно ускорить загрузку страниц (потому что расширения больше не будут тормозить основной поток), а также защитит приватность пользователей, по мнению Google.
Разработчики расширений выступили категорически против предлагаемых изменений. Google пошла на попятную и отложила внедрение изменений, когда были опубликованы результаты исследования, насколько разные блокировщики рекламы замедляют работу Chromium (см. выше). Оказалось, что эти задержки настолько мизерные, что их вряд ли можно считать причиной для введения нового API. Через несколько часов после появления этого один из разработчиков Chromium официально огласил решение отложить новые API.
Но сейчас Google немного cкорректировала позицию. Она всё-таки внедрит Manifest V3, а нынешнюю функциональность declarativeNetRequest API оставит только для платных корпоративных пользователей.
Читать полностью »
Наши урезанные мобильные веб-сайты
2019-05-13 в 8:00, admin, рубрики: Google Chrome, mobile, pwa, web, yandex browser, браузеры, интерфейсы, мобильные версии сайтов, переводы, Терминология IT
Все мы скорее всего встречали ужасные мобильные версии веб-сайтов, и как бы не хотелось расшевелить тему разработки этих веб-сайтов, сегодня я хочу рассказать о восприятии мобильных веб-сайтов в целом.
“Так исторически сложилось” считать мобильные версии урезанными. Так действительно было, даже с приходом полноценных браузеров в мобильные телефоны. Но уже прошло очень много времени и пора пересмотреть отношение к мобильным веб-сайтам.
Читать полностью »
В новых версиях Chrome появится защита от передачи сторонних cookie и скрытой идентификации
2019-05-12 в 15:25, admin, рубрики: chrome, Google, Google Chrome, браузеры, информационная безопасность, Расширения для браузеров, СофтКорпорация Google в новых версиях браузера Chrome сделает упор на защиту персональной информации. В частности, компания изменит подход к обработке cookie и поддержки атрибута SameSite. Уже в 76 версии, будет по умолчанию включен флаг «same-site-by-default-cookies». Если в заголовке не будет атрибута SameSite, браузер автоматически выставит значение «SameSite=Lax», которое ограничит отправку сookie для вставок со сторонних сайтов. При этом владельцы сайтов смогут снимать это ограничение, прописывая при установке сookie параметр SameSite=None.
Атрибут SameSite дает возможность определить допустимость передачи сookie при поступлении запроса со стороннего ресурса. Сейчас сookie передаются на любой запрос к сайту, для которого обнаружены Cookie, даже в том случае, если открыт один сайт, а обращение осуществляется косвенно при помощи загрузки изображения или через iframe.
Читать полностью »
Новый HTML-элемент <portal> от Google призван заменить фреймы
2019-05-11 в 11:51, admin, рубрики: css, Google Chrome, html, javascript, монополия, порталы, Разработка веб-сайтов, фреймы
На конференции разработчиков I/O 2019 компания Google представила новую технологию под названием «порталы», которая призвана обеспечить новый способ загрузки и навигации по веб-страницам.
По словам Google, «порталы» работают с помощью нового HTML-тега под названием <portal>. Этот тег работает аналогично классическим тегам <iframe>, позволяя веб-разработчикам вставлять удалённый контент на свои страницы.
Читать полностью »
Google «рушится» для пользователей Яндекс.Браузера, Microsoft, Mozilla, Vivaldi: «переходите на Chrome»
2019-05-02 в 7:10, admin, рубрики: Google, Google Chrome, microsoft, Mozilla Firefox, safari, авария, браузеры, кейсы, Роман Иванов, Текучка, яндекс, яндекс.браузер, метки: Google, Google Chrome, microsoft, Mozilla Firefox, safari, авария, браузеры, кейсы, Роман Иванов, Текучка, яндекс, яндекс.браузерГлава настольной версии Яндекс.Браузера Роман Иванов рассказал, что Google деградирует работу собственных сервисов тем посетителям, кто предпочитает посещать сайты при помощи Яндекс.Браузера. Впрочем Яндекс нашёл способ противостоять саботажу Google:
в нашем браузере они постоянно свои сервисы деградируют. Мы, впрочем, нашли способ с этим бороться.
— Как-то раз в одной стране все решили больше не (@kukutz) April 30, 2019
V8: один год со Spectre
2019-04-25 в 15:39, admin, рубрики: Google Chrome, jit, meltdown, spectre, V8, безопасные языки, браузеры, информационная безопасность, Процессоры, спекулятивное выполнение, таймер3 января 2018 года Google Project Zero и другие раскрыли первые три из нового класса уязвимостей, которые затрагивают процессоры со спекулятивным выполнением. Их назвали Spectre (1 и 2) и Meltdown. Используя механизмы спекулятивного выполнения CPU, злоумышленник может временно обойти как явные, так и неявные программные проверки безопасности, которые не позволяют программам читать недоступные данные в памяти. В то время как спекулятивное выполнение разработано как деталь микроархитектуры, невидимая на архитектурном уровне, тщательно разработанные программы могли считывать недоступную информацию в спекулятивном блоке и раскрывать её через боковые каналы, такие как время выполнения фрагмента программы.
Когда было показано, что атаки Spectre возможны средствами JavaScript, команда V8 приняла участие в решении проблемы. Мы сформировали группу реагирования на чрезвычайные ситуации и тесно сотрудничали с другими командами в Google, нашими партнёрами из числа разработчиков других браузеров и партнёрами по оборудованию. Совместно с ними мы проактивно вели как наступательные исследования (конструирование атакующих модулей для доказательства концепции), так и оборонительные (смягчение потенциальных атак).
Читать полностью »
Нужно ли чистить строки в JavaScript?
2019-04-24 в 19:52, admin, рубрики: Google Chrome, javascript, оптимизация, отладка, утечки памяти, я в шокеЧто? Строки могут быть «грязными»?
Да, могут.
//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // zzzzzzzzzzzzzzz
Вы думаете, в этом примере строка занимает 30 байт?
А вот и нет! Она занимает 30 мегабайт!Читать полностью »
Тостер — всё в компостер. Фильтруй и кайфуй
2019-04-22 в 8:38, admin, рубрики: Google Chrome, javascript, toster.ru, гибкость, комфортная работа, Лайфхаки для гиков, минимализм, Расширения для браузеров, удобство использованияТак уж сложилось, что в СНГ довольно популярен русский Q&A ресурс по ИТ тематике — Тостер. Однако чего-то ему не хватало, когда я начал плотно с ним знакомиться. Это и вылилось в улучшение в виде браузерного расширения. Встречайте.
Ключевые особенности:
- Название: Toster Comfort.
- Статистика пользователей: процент вопросов с решением; карма с Хабра; сводка из профиля — всё это в списке вопросов Тостера.
- Уведомления: в реальном времени на сайте, на иконке, плюс push-уведомления, много настроек, сайт должен быть открыт (вики).
- Фильтры: условия на основе формул: можно скрывать вопросы, раскрашивать их цветом, а также показывать уведомления, — всё это гибко настраивается в виде логических условий (вики).
- Интерфейс: мелкие улучшения, например, показ точных дат или отображение статуса подписки в списке вопросов.
- Интерфейс Хабра: мелкие улучшения (опционально), например, линии на отступы в комментариях.
- Open source: можно переделать под себя, если очень хочется (исходники).
- Free: MIT License.
- Потребление памяти: 30-50МБ, в зависимости от опций и интенсивности использования Тостера
- Размер: 93КБ для v0.8.1 (распакованный, не минимизированный код).
- Фреймворк: отсутствует, чистый JS (минимализм).
- Качество кода: среднее, смешение стилей, большие функции, грязные приёмы, мало комментов.
- Разрешения:
toster.ru, habr.com, notifications, storage, unlimitedStorage