Русский
Русский
English
Статистика
Реклама

Браузер

Самые упоротые и забавные расширения для браузера подборка

06.01.2021 18:12:51 | Автор: admin


Иногда разработчики Желают странного (С) А. Б. Стругацкие, из-за этого появляются необычные проекты, вроде запуска Doom на терминалах для считывания банковских карт и других, еще менее приспособленных для этого, девайсах. Чаще всего такое получается в результате тренировок, когда программист осваивает новую тему и реализует тестовый проект не в виде традиционного Hello, Word!, а чего-то более изощренного. Но ведь не все занимаются портированием древних шутеров на смарт-часы, есть и другие области разработки, более прикладные, но не менее интересные. Предположим, что человеку наскучило смотреть на длинные логи в консоли и grepать из них данные для отладки, хочется добавить интерактива и наглядности в свое обучение. Инструменты для этого выбираются самые разные, кто-то пользуется обычным графическим выводом, кто-то выводит данные через простенький сайт, а кто-то пишет расширения для браузера!

В этой статье я расскажу вам о нескольких не самых практичных (хотя о практичных тоже расскажу), но необычных расширениях. Они вряд ли войдут в подборку типа: Топ-10 самых полезных расширений для разработчика или пригодятся для розыгрыша коллег, но заставят озадаченно почесать затылок: Ну и фантазия у автора!.. или просто улыбнуться.


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



Если кто-то является большим поклонником Vim, то ему может прийтись по вкусу расширение cVim. Оно практически полностью повторяет интерфейс этого неоднозначного редактора. С его помощью можно, не прикасаясь к мышке, выполнить любое действие в браузере, от переключения между вкладками и перехода по ссылкам, до выделения текста.



Следующее расширение TabFS изюминка этой подборки, одно из самых необычных и изощренных, что мне попадались за последнее время. Его задачей является монтирование вкладок браузера, как директорий в виртуальной файловой системе! Это открывает совершенно новые сценарии работы с браузером, кардинально отличающиеся от всего, что было привычно раньше.

Поддерживаются браузеры Chrome и FireFox, но расширения нет в их интернет-магазинах. Его надо скачать и установить самому, а виртуальная файловая система вкладок работает только на Linux или Mac OS. Разберем процесс настройки этого необычного продукта.

Для экономии места и времени, я опишу тут установку для FireFox на системе Ubuntu, желающие настроить его для Chrome или на Mac OS найдут инструкцию на сайте разработчика, действия отличаются минимально.

Сначала надо склонировать репозиторий

$ git clone https://github.com/osnr/TabFS.git


И установить расширение в браузере. Для этого надо открыть настройки находящиеся по адресу:

about:debugging#/runtime/this-firefox и загрузить в браузер файл из директории репозитория extension/manifest.json.

После этого надо установить FUSE

sudo apt install libfuse-dev</code>А потом создать точку монтирования и скомпилировать файловую систему<code>$ cd fs$ mkdir mnt$ make$  cd ..$ ./install.sh firefox


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

Откроем несколько страничек в браузере:



В одной директории файлы отсортированы по заголовкам, в другой но номеру вкладки, отдельные файлы содержат адрес страницы, ее содержимое и заголовок. Имея текст страниц в виде файлов на диске, можно поднять парсинг на совершенно новый уровень, операции с данными открытых сайтов выполняются стандартными командами bash, такими как: rm, cat и grep, или скриптами на Python, к примеру.

Выведем список открытых вкладок по их заголовкам (здесь подразумевается, что пользователь находится в директории репозитория fs/mnt и все команды вводятся с учетом этого):

$ ls tabs/by-titleGitHub_-_osnr_TabFS_____Mount_your_browser_tabs_as_a_filesystem._34Levelord__an_Ordinary_Moscow_Resident__Interview_with_the_Creator_of_Duke_Nukem___RUVDS.com_corporate_blog___Habr_33Make_it_easier_to_get_finished__Interview_with_John_Romero__developer_of_Doom___RUVDS.com_corporate_blog___Habr_32Making_Games_for_a_Living__11_tips_from_Levelord___RUVDS.com_corporate_blog___Habr_31TabFS_10The_one_who_resurrected_Duke_Nukem__interview_with_Randy_Pitchford__magician_from_Gearbox___RUVDS.com_corporate_blog___Habr_30


А теперь закроем в браузере все страницы Хабра из блога компании RuVDS:

$ rm tabs/by-title/*RUVDS*


И останется только две:

$ ls tabs/by-titleGitHub_-_osnr_TabFS_____Mount_your_browser_tabs_as_a_filesystem._34TabFS_10


Если нажать в браузере несколько раз Ctrl-Shift-T, то вкладки откроются снова и на диске появятся новые файлы. Можно сохранить текст всех открытых вкладок в отдельный файл:

cat tabs/by-id/*/text.txt > ~/text-of-all-tabc.txt


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

На закуску еще несколько расширений попроще. Одно из них чем-то напоминает то, что с глазами, но ищет уже не глаза, а NSFW глаза. Точнее картинки с порно и эротикой. NSFW Filter блюрит запрещенку в хлам, чтобы не смущать коллег заглядывающих в твой монитор :) Увы, но посмотреть всем известный сайт не выйдет, потому что, даже на максимально безопасных настройках, расширение пропускает часть картинок. Особенно тяжело расширению дается детектирование групповухи :)



Хотя, от случайного захода на порносайт в процессе серфинга, оно спасет.

Раз речь зашла про развлекательные ресурсы, то контролю за развлечениями посвящено другое расширение: History trends. Оно анализирует историю браузера и ведет подробную статистику куда ты заходил, сколько раз и сколько времени провел на разных сайтах. Расширение поможет собрать статистику своей собственной прокрастинации, или ваших сотрудников, если вы начальник и установите его на компьютеры ваших работников:



Впрочем, не обязательно использовать интернет только для развлечения. У журналистов новостные сайты это хлеб насущный, где они собирают материал для публикаций. Вот только некоторые порталы требуют подписку для доступа к полным текстам некоторых статей, что может быть довольно разорительно, если приходится делать фактчекинг не на одном-двух сайтах, а на десятках. Помочь в этом позволяет расширение Bypass Paywalls. Оно прикидывается поисковым ботом и проходит через заглушки с требованием заплатить. Что логично, расширение удалено из всех официальных браузерных магазинов, потому ставить его придется вручную, качая напрямую с GitHub. Жаль только, что русские сайты в списке практически не представлены, но разработчик поддерживает связь со своими пользователями и можно попросить его добавить новые адреса. Последнее обновление было два месяца назад, так что есть надежда, что проект не заброшен и можно попробовать договориться с программистом.

В завершении подборки, расскажу еще об одном расширении, которое упрощает работу с Internet Archive. Оно называется Wayback Machine и позволяет быстро просмотреть, как выглядел открытый сайт несколько лет назад. Можно посмотреть как прошлые, так и самую первую версию сайта, а еще отправить его архивироваться:



Хотите глянуть, как выглядел Хабр сразу после редизайна с новым доменом? Пожалуйста:



Всем удачного серфинга!

Если у вас есть на примете интересные и необычные расширения, мало известные широкой общественности пишите о них в комментариях!

Подробнее..

Firefox представил новую архитектуру безопасности браузера с изоляцией сайтов

19.05.2021 16:06:46 | Автор: admin

Firefox, как и любой другой браузер, может загружать код с ненадёжных и потенциально опасных сайтов, а потом запускать его на компьютере. Чтобы защитить пользователей и вывести безопасность работы в интернете на новый уровень, команда Mozilla решила переработать свой браузер.

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

Для защиты данных Firefox применяет различные механизмы безопасности, например,Правило ограничения домена(Same Origin Policy Принцип одинакового источника),которое ограничивает взаимодействие информации, поступившей из разных источников. То есть предотвращает доступ злоумышленников к информации с других ресурсов, загружаемых в одном и том же приложении. Но этого недостаточно. Чтобы оградить пользователей от потенциальных угроз, следует полностью разделять пространство памяти, выделенное под разные сайты новая архитектура Firefox обеспечивает эти гарантии безопасности.

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

В начале 2018 года специалисты, исследующие вопросы безопасности, обнаружили две основные уязвимости, известные какMeltdown(аппаратнаяуязвимость, которая использует ошибку реализацииспекулятивного выполнения командв некоторых процессорах Intel и ARM, из-за которой процессор игнорирует права доступа к страницам.) иSpectre(группа аппаратныхуязвимостей большинства процессоров, позволяющая считывать данные черезсторонний канал). Специалисты продемонстрировали, как ненадёжный сайт может дать злоумышленникам доступ к памяти процесса даже на таком высокоуровневом языке, как JavaScript (на котором работает почти каждый сайт).

Для защиты от уязвимостей были развёрнуты временные меры противодействия со стороны ОС, ЦП и основных веб-браузеров. Они быстро нейтрализовали атаки, однако привели к снижению производительности. Но это были именно временные заплатки.

Firefox решила коренным образом переделать архитектуру браузера, чтобы оградить пользователей от текущих и будущих версий подобных уязвимостей. На картинке ниже подробно рассматривается пример того, как злоумышленник может получить доступ к личным данным при атаке, подобной Spectre.

С новой архитектурой Firefox загружает каждый сайт в своём собственном процессе, тем самым изолируя их память друг от друга. Например, у пользователя открыто два сайта: www.my-bank.com и www.attacker.com.Как показано на картинке выше, со старой архитектурой браузера контент с обоих сайтов может быть загружен в один и тот же процесс операционной системы.Если с сайта www.attacker.com произойдёт атака наподобие Spectre, злоумышленники смогут запрашивать и получать доступ к данным с сайта my-bank.com.

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

Как работала прежняя архитектура браузера

После запуска Firefox создавал один привилегированный процесс (или родительский процесс), который затем запускал и координировал действия нескольких веб-процессов. Родительский процесс является наиболее привилегированным, поскольку ему разрешено выполнять любое действие, которое может выполнить конечный пользователь.

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

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

Родительский процесс Firefox (по состоянию на апрель 2021 г.) запускал фиксированное количество процессов: восемь процессов веб-контента, до двух дополнительных полу-привилегированных процессов веб-контента и четыре служебных процесса для веб-расширений, операций с графическим процессором, работы в сети и декодирования медиа.

Хотя разделение контента на восемь процессов уже обеспечивало неплохую защиту, оно не соответствовало стандартам безопасности Mozilla, поскольку позволяло двум совершенно разным сайтам работать в одном и том же процессе операционной системы и, следовательно, совместно использовать память процесса.Чтобы избежать этого, Firefox переходит на архитектуру изоляции сайтов, которая загружает каждый сайт в свой собственный процесс.

Что происходит на иллюстрации выше? Пользователь открывает в разных вкладках сайты: www.my-bank.com, www.getpocket.com, www.mozilla.org и www.attacker.com.Может так получиться, что my-bank.com и attacker.com будут обрабатываться одним и тем же процессом операционной системы, то есть они будут совместно использовать память этого процесса.Соответственно, злоумышленник может выполнить атаку типа Spectre для доступа к данным с my-bank.com.

Ещё один важный момент: без изоляции сайтов браузер будет загружать все всплывающие страницы в том же процессе, что и сайт верхнего уровня. Субфреймы (реклама, встроенное видео), тоже обрабатываются в общем процессе. В результате вредоносный сайт может получить доступ к субфреймам и конфиденциальной информации, которую вы там вводите. Новая архитектура безопасности изоляции сайтов в Firefox не позволит совершать такие атаки.

Как работает новая архитектура Firefox с изоляцией сайтов

При добавлении Изоляции сайтов в Firefox для настольных ПК каждый уникальный сайт будет создавать свой отдельный процесс.Например, если вы загрузите https://mozilla.org и http://getpocket.com, браузер с изоляцией сайтов разделит их по двум разным процессам операционной системы, поскольку они не являются одним и тем же сайтом.

Точно так же https://getpocket.com (обратите внимание, здесь именно протокол https, а не http, как в предыдущем абзаце) также будет загружен в отдельный процесс. То есть все три сайта будут загружаться в разных процессах.

Более того, существуют некоторые домены, такие как .github.io или .blogspot.com, которые являются слишком общими, чтобы можно было идентифицировать их, как сайт.Поэтому для работы с ними Firefox будет использовать поддерживаемыйсообществомсписок доменов верхнего уровня (eTLD), чтобы помочь различать сайты.

Поскольку github.io указан как eTLD, a.github.io и b.github.io будут загружаться в разных процессах.Если вернуться к примерам, о которых говорилось ранее, сайты www.my-bank.com и www.attacker.com не считаются одним сайтом, поэтому они будут изолированы друг от друга в отдельных процессах. Память также будет изолирована, что гарантирует безопасность данных.

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

На картинке выше видно, что страница www.attacker.com пытается встроить субфреймом страницу с www.my-bank.com, но она будет загружена в другом процессе.Это гарантирует, что память процессов также будет изолирована.

Дополнительные преимущества изоляции сайтов

Новая архитектура не только делает Firefox безопаснее.Она даёт и другие преимущества:

  • Благодаря тому, что больше страниц помещается в отдельные процессы, выполнение тяжёлых вычислений на одной странице не замедлят работу других страниц.

  • Использование большего количества процессов для загрузки веб-сайтов позволяет распределять нагрузку по многим ядрам ЦП и более эффективно использовать железо.

  • Из-за дробления сайтов, сбой одного субфрейма или вкладки не повлияет на сайты, загруженные в других процессах, то есть повышается стабильность приложения.

Планы и перспективы

В настоящее время Firefox тестирует изоляцию сайтов в ночных и бета-версиях браузеров для ПК.Однако воспользоваться улучшенной архитектурой безопасности можно уже сейчас. Для этого нужно загрузить браузер Nightly или Betaотсюдаи выполнить следующие действия:

Чтобы включить изоляцию сайта в Firefox Nightly:

  1. Перейдите к about: Preferences#Experiment

  2. Установите флажок Fission (Site Isolation).

  3. Перезагрузите Firefox.

Чтобы включить изоляцию сайта в Firefox Beta:

  1. Перейдите к about: config.

  2. Установите для параметра `fission.autostart` значение `true `.

  3. Перезагрузите Firefox.

Теперь можно осваивать обновлённый браузер и радоваться усиленной безопасности.


Что ещё интересного есть в блогеCloud4Y

Частые ошибки в настройках Nginx, из-за которых веб-сервер становится уязвимым

Пароль как крестраж: ещё один способ защитить свои учётные данные

Облачная кухня: готовим данные для мониторинга с помощью vCloud API и скороварки

Подготовка шаблона vApp тестовой среды VMware vCenter + ESXi

Почему ваш бизнес может быть разрушен

Подписывайтесь на нашTelegram-канал, чтобы не пропустить очередную статью. Пишем не чаще двух раз в неделю и только по делу.

Подробнее..

Старт в музыкальном программировании для начинающих достаточно и простого браузера

23.05.2021 10:08:18 | Автор: admin

Продолжаем нашу серию постов о музыкальном программировании. В ней мы говорим о языках, утилитах и других инструментах, превращающих функции и атрибуты в мелодичные [в зависимости от уровня автора] композиции. Сегодня рассказываем о виртуальной среде Klangmeister. Она не требует установки специализированного программного обеспечения.

Фотография: Brandon Erlinger-Ford. Источник: Unsplash.comФотография: Brandon Erlinger-Ford. Источник: Unsplash.com

Музыкальное программирование это процесс написания треков с использованием специализированного ПО, синтезаторов и секвенсоров. Есть огромное количество сервисов, позволяющих влиться в эту тему. О некоторых из них мы уже рассказывали например, OpenMusic и ORCA. С их помощью можно писать музыку в разных жанрах, однако они требуют установки и настройки на компьютере. Композитор и разработчик Крис Форд посчитал, этот факт ограничивающим творчество начинающих музыкантов и решил исправить ситуацию.

Он разработал инструмент, позволяющий творить без заморочек. Так появился Klangmeister с немецкого переводится как мастер звука работающий прямо из браузера.

Что под капотом

Для написания музыки Klangmeister предлагает использовать Clojurescript. Это реализация языка LISP с компиляцией в JavaScript. Необходимые для работы функции хранятся в библиотеке Leipzig, которую написал автор проекта. Он также подготовил достаточно подробную документацию. Для воспроизведения треков приложение использует Web Audio API.

Интерфейс позволяет компилировать программы на лету фактически писать и воспроизводить музыку в реальном времени. Ряд возможностей Крис Форд продемонстрировал на технологической конференции flatMap в Осло несколько лет назад. Например, чтобы написать мелодию, нужно составить массив, включающий продолжительность звучания и высоту тона для каждой отдельной ноты.

(phrase [3/3 3/3 2/3 1/3 3/3]        [ 72  72  72  74  76])

Klangmeister также позволяет объединять несколько мелодий в одну:

(->>  (phrase [3/3 3/3 2/3 1/3 3/3]           [ 72  72  72  74  76])  (then    (phrase [2/3 1/3 2/3 1/3 3/3]            [ 76  74  76  77  79])))

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

В целом инструмент Klangmeister довольно прост, что является как его достоинством, так и недостатком. Он позволяет взять легкий старт в музыкальном программировании, но задействованный в работе Web Audio API плохо подходит для написания глубоких и комплексных композиций. Также автор отмечает, что Klangmeister лучше всего работает в Chrome. Функции синтеза, которые он использует, могут не поддерживаться в других браузерах (или поддерживаться плохо). Все желающие могут оценить внутренности проекта самостоятельно его исходный код выложен в репозиторий на GitHub.

Какие есть альтернативы

Одна из известных виртуальных сред для аудиосинтеза в реальном времени это SuperCollider. Мы кратко упоминали её в одном из предыдущих материалов. Она существует с 1996 года, и за это время вокруг неё сформировалось обширное сообщество поклонников. SuperCollider более сложный инструмент, чем Klangmeister и на его освоение может уйти длительное время, однако и возможности он предлагает более широкие.

С инструментом работает композитор Крис Браун (не путать с певцом и актером) из Сан-Франциско. С его помощью он написал альбом Branches. Эли Филдстил (Eli Fieldsteel), преподающий теорию музыкальной композиции в Университете Иллинойса, использует SuperCollider для анализа отдельных произведений на лекциях.

Фотография: Valentin Mller. Источник: Unsplash.comФотография: Valentin Mller. Источник: Unsplash.com

Еще одним аналогом Klangmeister, который упоминает сам Крис Форд, является платформа Extempore. Она включает в себя два языка программирования Scheme и одноименный Extempore. Объединяет их возможности компилятор на базе LLVM, позволяющий обрабатывать цифровые сигналы в реальном времени. Как это работает, автор системы рассказывал на конференции OSCON, посвященной открытому ПО.


О чем еще мы пишем в Мире Hi-Fi:


Обзоры напольной акустики на Хабре:


Подробнее..

Перевод Движок, который смог как Chromium удалось захватить 90 рынка браузеров

09.09.2020 14:04:11 | Автор: admin

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

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

У веб-сообщества есть достаточно причин опасаться отсутствия браузерного разнообразия. После того, как Internet Explorer захватил в начале 2000-х долю 90% от рынка браузеров, для выпуска нового браузера его разработчикам потребовалась добрая половина десятилетия. В тот период развитие веба остановилось, и начали возникать проблемы с безопасностью. Из-за этого веб стал хуже, поэтому мы часто стремимся к тому, чтобы браузеры конкурировали, а не монополизировали веб.

Но у этой проблемы есть и обратная сторона. Из-за существования нескольких создателей браузеров веб-разработчикам необходимо обеспечивать совместимость всех платформ. Между браузерами могут присутствовать хоть и незначительные, но несоответствия, что может усложнять разработку для веба.

Это беспокоило создателя веба Тима Бернерса-Ли. Даже в начале 90-х, когда веб был очень юным, по всему миру в процессе экспериментов разработчиков ПО начали появляться десятки браузеров. Бернерса-Ли волновало, что слишком большое количество браузеров усложнит тестирование сайтов и достижение консенсуса о способах парсинга и передачи HTML пользователям.

В 1992 году Тим Бернерс-Ли высказал своё беспокойство в списке рассылки, посвящённом гипертексту.

Никто не будет поддерживать 8 парсеров на 12 платформах, поэтому я немного обеспокоен развитием реализаций. (Да, разумеется, в то же время мне это приятно! Но я бы хотел видеть одну, может быть, две основные библиотеки (две, чтобы тестировать одну из них на наличие непротиворечивых багов), но не четыре. Мне кажется, это слишком много; будут возникать ситуации, когда небольшие тонкости работают в одной, но не в других библиотеках, потому что на поддержку каждой не хватило труда по поддержке.

Бернерс-Ли осознавал, что множественные реализации могут потребовать слишком много усилий со стороны веб-разработчика, поэтому разработчики могут испытывать искушение полностью избежать этой проблемы и проводить тестирование только в самом популярном браузере (он и не подозревал, что подобная проблема будет часто возникать в веб-разработке). То есть даже без монополии слишком большое количество браузеров может заполонить рынок и создать фактического победителя, относительно которого будут создаваться стандарты без учёта всех остальных. Обеспечение непротиворечивости всех реализаций браузеров стало причиной создания W3C и продвижения набора общих стандартов в веб-технологиях.

Озабоченность Бернерса-Ли имела основания. Иногда возникали ситуации, когда браузеры шли собственным путём, заставляя веб-дизайнеров изощряться, чтобы страницы выглядели везде одинаково. В последние годы устоявшийся процесс стандартизации во многом позволил решить проблему несоответствий между браузерами благодаря созданию чёткого процесса добавления новых возможностей веба, гарантирующего баланс в процессе принятия решений.

Фундаментальной основой для создания разнообразной группы браузеров является развитие совершенно разных браузерных движков. Браузерный движок это программный код внутри браузера, который получает написанный вами код и рендерит его на странице. Если смотреть на более техническом уровне, то он парсит HTML, CSS и JavaScript для обработки структуры и рендеринга веб-страниц. Движок обычно включает в себя JavaScript-движок, обрабатывающий интерактивность. Чаще всего при обсуждении браузерного движка говорят и о связанном с ним JavaScript-движке, но так бывает не всегда.

До того, как разработчики браузеров начали использовать веб-стандарты, во время войн браузеров, был длившийся десяток лет период доминирования браузера Internet Explorer компании Microsoft. В Internet Explorer использовался проприетарный браузерный движок Microsoft под названием Trident. Internet Explorer распространялся бесплатно и по умолчанию был установлен на всех компьютерах с Windows. Благодаря своей скорости распространения Trident на долгие годы стал наиболее широко используемым браузерным движком.

Однако вскоре начали набирать популярность несколько более мелких браузеров с открытым исходным кодом. Самым популярным из них был Mozilla Firefox (основанный на Netscape), в котором использовался движок под названием Gecko. Немного отставала от него Opera со своим браузерным движком Presto. А небольшому сообществу полюбился браузер Konquerer с движком KHTML, имевший крошечную долю рынка браузеров.

Исходный код всех этих браузерных движков, за исключением Presto, был открытым, то есть он был доступен любому и его можно было использовать в любом проекте. Это стимулировало совместный труд и здоровую конкуренцию между такими новыми браузерами, благоприятствовавшими процессу создания стандартов веба под управлением W3C. А благодаря открытости исходников на рынке появилось большое количество мелких, нишевых браузеров, построенных на основе тех же браузерных движков.

Примечательно отсутствие в этом списке Apple. В 2003 году казалось, что компания совершенно упустила из виду платформу веба. Она неудачно пыталась создать собственный браузер под названием Cyberdog. Без нативного для своей ОС браузера компьютеры Apple поставлялись с Internet Explorer, который привязывал их к одному из самых серьёзных конкурентов к Microsoft.

Но затем начали циркулировать слухи, что Apple работает над новым браузером. В компанию пришло несколько ветеранов из Mozilla, от имени Apple внесших вклад в Mac-версию браузера Firefox с открытыми исходниками. А после первого провалившегося эксперимента инструменты и реализации стали намного лучше. Существовало уже много созревших решений на основе open source.

Изначально предполагалось, что Apple выберет в качестве браузерного движка Mozilla Gecko. У неё уже были нужные сотрудники и опыт работы с ним, к тому же этот движок использовался в подавляющем большинстве проектов браузеров, в том числе браузера для Mac под названием Camino, разработанного независимой командой, не относящейся к Apple. Некоторые считали, что Apple может выбрать Presto, заключив некий договор по лицензированию.

Стив Джобс завершил свою программную речь на Macworld 2003 долгожданным объявлением: Apple создаёт собственный браузер под названием Safari. И ко всеобщему удивлению, в нём будет использоваться движок из Konquerer. Не Gecko, не Presto. KHTML. Новость была громкой, и в следующие два десятилетия она изменила траекторию развития веба.


Браузер Konqueror, запущенный в среде рабочего стола KDE

Браузер Konquerer это одно из множества приложений, являющихся частью среды рабочего стола KDE для компьютеров с Linux. Строго говоря, это не операционная система, а пакет программного обеспечения, выглядящий и ведущий себя как ОС. Аббревиатура изначально расшифровывалась как Kool Desktop Environment, но потом была сокращена просто до KDE. Konquerer это одна из программ внутри KDE. А KHTML это движок, на котором работает Konquerer. Как и сам Linux, вся KDE имеет открытый исходный код, в том числе и её браузер, а сообщество разработчиков с самого основания придерживалось принципов открытого программного обеспечения.

Именно поэтому важно, что в объявлении Apple присутствовал этот слайд:


В своём объявлении о выборе KHTML Apple заявила о приверженности идеям open source. Команда разработчиков Safari пообещала по возможности вносить сделанные ею изменения в проект KHTML. При адаптировании движка Apple разбила его на две части: WebCore, занимающийся рендерингом и структурой, и JavaScriptCore, занимающийся JavaScript. Обе этих части стали проектами с открытым исходным кодом, однако система отслеживания ошибок Safari и элементы браузерного движка остались закрытыми. И всё же такой уровень прозрачности был удивителен для компании, хорошо известной охраной своих секретов.

Первая публичная версия Safari была выпущена одновременно с объявлением, в январе 2003 года. Вскоре после этого Safari начал поставляться как стандартный браузер для всех Mac. В течение одного-двух лет Safari стабильно занимала два-три процента от рынка браузеров. Этого не было достаточно, чтобы доминировать, но придавало вес команде разработчиков из Apple.

Несмотря на обещание, данное сообществу open source, разработчикам Safari поначалу оказалось сложно портировать вносимые ими изменения обратно в проект KTHML. Часть кода была специфичной для операционной системы Mac. Другие части были просто несовместимыми с существующей кодовой базой. Это привело к небольшим разногласиям между командой Apple и соавторами KHTML, длившимся пару лет.

Со временем был найден устраивающий всех компромисс. В июне 2005 года Apple объединила JavaScriptCore, Webcore и остальные компоненты браузерного движка, выпустив их как единый проект open source с публичным баг-трекером и призывом участвовать в развитии. Таким образом компания показала сообществу KHTML, что готова к сотрудничеству, сохраняя при этом независимость кода.

Проект назвали Webkit.

Критически важным оказался выбранный момент. Веб как платформа ускоренно развивался и находился на этапе Web 2.0. В целом, Web 2.0 был просто красивым маркетинговым термином, попыткой дать название росту количества сложных приложений, существующих исключительно в вебе. В него вошли два самых первых веб-приложения Google Google Maps и Gmail. В течение года Google добавила в этот список и YouTube.

В середине 2000-х годов инженеры Google пристально пригляделись к браузерам и обнаружили, что те неспособны удовлетворить потребность в создании сложных приложений. Особенно справедливо это было в отношении старых и необслуживаемых браузеров наподобие Internet Explorer (кстати, к стимулированию отказа пользователей от IE6 приложил руку и YouTube). Но основным приоритетом Google была скорость. Сооснователи компании однажды выразили желание создать веб столь же быстрый, как перелистывание бумажного журнала. Такой стала цель компании, и Google чувствовала, что даже современные браузеры типа Firefox и Safari приближались к ней недостаточно быстро.

К 2006 году компания начала строить планы по созданию собственного браузера. Она хотела иметь самый быстрый на рынке браузер. Поэкспериментировав со множеством браузерных движков, разработчики Google обратили внимание на проект Webkit, который перешёл в open source. Его код был компактным и читаемым, а ресурсоёмкость оставалась относительно низкой по сравнению с движками с богатой историей наподобие Gecko или Trident (последний в любом случае не рассматривался из-за закрытости своих исходников). Но, что самое важное, он был быстрым. Как отправная точка он был быстрее всех остальных движков.

Если бы команда Safari не решила открыть исходники своего браузерного движка именно в этом время, история могла бы развиваться совершенно в ином направлении. Но разработчики поступили так, поэтому Google изучила эту возможность и решила использовать движок. В следующую пару лет она начала работать над новой, ещё более быстрой реализацией Webkit.

Её первым шагом стало избавление от JavaScriptCore и замена его на собственный JavaScript-движок под названием V8, названный в честь мощного поршневого двигателя. Как можно понять из названия, V8 был быстрым. На момент выпуска он оказался в десять раз более производительным, чем JavaScriptCore. Он добился этой скорости благодаря работе в виртуальной машине и немного иному способу исполнения кода, делавшему его модульным и независимым от остальной части браузерного движка. Кстати, спустя пару лет эта модульность обеспечила возможность создания языка программирования Node: его разработчики взяли движок V8, избавились от браузера и поместили его на сервер.

Второе, что сделала Google добавила в свой браузер многопроцессную архитектуру. О многопроцессности можно сказать многое, но лучше всего её объяснить на примере вкладок браузера. Раньше с вылетом одной вкладки аварийно завершалась работа всего браузера. Однако Google удалось заставить выполняться процессы в каждой вкладке независимо, чтобы за раз вылетала только одна вкладка. После выпуска браузера это стало его основным привлекательным качеством. Кроме того, это оказалось важным решением, потому что стало серьёзным отходом от того, как Webkit работал ранее. Вскоре это решение ещё аукнется компании.

В сентябре 2008 года Google официально объявил о проекте своего браузера публике. Компания совместила объявление с нердовским веб-комиксом Скотта Макклауда, в котором подробно описывались все технические подробности проекта. Браузер мог обрабатывать веб-сайты быстрее всех на рынке, а благодаря своей многопроцессной архитектуре был способен сохранять активность страниц, даже когда зависал какой-нибудь другой сайт. Это было в те времена, когда браузеры до сих пор были перегружены панелями инструментов и аддонами, а также пакетами больших компаний, в которые была включена и почта. Имя, данное Google этому проекту, тоже соответствовало концепции. В мире браузеров под понятием хром (chrome) подразумевается всё дополнительное, что окружает веб-страницу адресная строка, панели инструментов и файловые меню. Google избавилась от большинства этого хлама, поэтому и назвала браузер Google Chrome, надеясь, что ставка на простоту и производительность оправдает себя.


Фрагмент веб-комикса, с которого всё началось

Если не считать закрытого алгоритма поиска, Google многие годы делала вклад в проекты с открытым кодом и создавала новые. Поняв урок Apple, компания при разработке Chrome зашла ещё дальше. В тот же день, когда было объявлено о выпуске Google Chrome, компания сделала весь движок доступным как open-source-проект под названием Chromium. Это не просто несколько расширений для Webkit. Это не просто движок рендеринга. Открытым стало всё: Webkit, JavaScript-движок V8 и весь код самого браузера. Без особых усилий любой разработчик мог дополнить Chromium и выпустить собственный браузер. После его выпуска со многими браузерами так и случилось.

2008-й стал важным годом для веба. В том же месяце, когда был выпущен Chrome, Google показала прототип своей мобильной операционной платформы Android, собранной из нескольких проектов с открытыми исходниками. В него входила и мобильная версия Google Chrome. Это произошло чуть более года спустя официального выпуска iPhone, который поставлялся с модифицированной версией Safari. К тому времени, когда Стив Джобс приступил к безвозвратному убийству Flash и начал превращать в основной приоритет нативную платформу веба, эти устройства уже были повсюду.

То есть теперь в каждом мобильном смарт-устройстве работал Safari или Chrome. Сама Safari целиком благодаря покупкам iPhone всего за несколько лет удвоила свою долю на рынке. Популярность Chrome росла ещё быстрее. Используя Chromium, вы получали доступ к постоянно расширяющемуся списку независимых браузеров и браузерных проектов. Кроме того, Chromium стал основой языка программирования Node и фреймворка для десктопных приложений Electron.

И все эти проекты работали благодаря Webkit. За несколько лет он совершил путь от захвата небольшой доли рынка браузеров до доминирования на нём.

Такое состояние покоя было недолгим. В апреле 2013 года Google неожиданно объявила, что создаст ответвление (форк) проекта Webkit в новый движок под названием Blink. Google Chrome и проект Chromium будут переходить на этот новый движок.

У такого перехода было несколько причин, но важнейшая из них возвращает нас к вопросу многопроцессности. Несколько лет Google расширяла Webkit, чтобы добавить в свои браузеры многопроцессность, ставшую важнейшей особенностью и основанием роста производительности браузеров Chromium. В 2013 году проект Webkit должен был выпустить новую версию движка, которая улучшала в том числе и многопроцессность. Проблема заключалась в том, что её реализация стала бы совершенно другой и несовместимой с реализацией в Chrome. В нём уже использовался другой JavaScript-движок и это новое изменение слишком сильно бы отодвинуло Chromium от исходного проекта. Ядром Blink по-прежнему должен был оставаться и остаётся Webkit. Но он пойдёт по другому пути и создаст себе новый проект.

На этом этапе веб стал более сложным, чем кто-либо мог себе представить. Проблема, которую впервые изложил Бернерс-Ли слишком большое количество независимых разработчиков, создающих собственные браузерные движки больше не была проблемой. Для сборки и поддержки браузерного движка теперь требовались большие коллективы. С расширением платформы веба и укрепления стандартов веба сложность рендеринга веб-сайта в страницу росла экспоненциально. Браузер должен был исполнять бесчисленное количество сайтов, закодированных бесчисленным количеством способов так, чтобы более-менее соответствовать всем остальным браузерам.

После этого момента браузерные движки начали исчезать.

За два месяца до выпуска Blink компания Opera объявила, что откажется от собственного движка Presto и перенесёт свой браузер на Chromium. Когда Google объявила о форке, Opera присоединилась к ней. В мае 2013 года она выпустила свой первый браузер на основе Blink.

Тем временем Microsoft многие годы придерживалась собственного движка с закрытым исходным кодом. Trident был преобразован в движок под названием EdgeHTML, созданный для браузера Microsoft Edge, впервые выпущенного в 2015 году. Но вкладывание ресурсов в разработку независимого движка оказалось слишком сложной задачей на уже заполненном рынке браузеров. В 2019 году компания объявила, что тоже переходит на Blink. С тех пор этот браузер тоже выпускается.

Потомков KHTML, то есть браузеры, имеющие движки из семейства Blink / Webkit, используют более 90% пользователей. От практического забвения до доли рынка в 90% за пятнадцать лет потрясающее достижение. И оно имело последствия.

Blink и Webkit это два разных движка, и в их исходном коде стало довольно много различий. Но они используют одинаковый подход к рендерингу веб-страниц, а бОльшая часть кода внутри проекта остаётся такой же. Это означает, что на текущем этапе, по сути, осталось две группы браузерных движков семейство Blink / Webkit и Gecko браузера Firefox. Даже если разделить Blink и Webkit, то всё равно остаётся только три.

И это возвращает нас к вопросу браузерного разнообразия. Инновации в браузерных технологиях не исчезли, и, к счастью, каждый серьёзный браузер привержен процессу стандартизации веба. Однако если сообщество Blink и Webkit решит, что оно хочет двигать веб в определённом направлении, то будет обладать всей необходимой для этого властью. Это справедливо даже сегодня, несмотря на то, что Gecko всё ещё держится.

Джеффри Зельдман хорошо резюмировал это в момент, когда Microsoft решила переходить на Blink:

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

С исторической перспективы траектория развития Webkit является настоящим чудом. И оно возникло благодаря открытости и поддержке сообщества. Но столь же важно поддерживать браузерное разнообразие и возможности инноваций.

В этом посте рассказано о пяти вехах истории развития веба.


  • 3 апреля 2013 года. Создание Blink как форка проекта Webkit. Движок рендеринга Blink используется в браузерах на основе Chromium, в том числе и в Google Chrome. Фундамент его кодовой базы был заложен Webkit, но он обрабатывает многопроцессные задачи и содержит JavaScript-движок V8.
  • 2 сентября 2008 года. Google выпускает собственный браузер Chrome, основной задачей которого является скорость. Его имя позаимствовано у рамки браузера, которую Google удалось значительно упростить. Всего за несколько месяцев он завоевал десятки миллионов пользователей, а в начале следующего десятилетия захватил рынок.
  • 7 июня 2005 года. Webkit Apple открывает исходный код своего браузерного движка, состоящего из двух основных компонентов: движка рендеринга WebCore и JavaScript-движка JavaScriptCore. Хотя в то время он использовался только Apple, вскоре благодаря внедрению компанией Google и применению на мобильных устройствах движок Webkit вскоре стал самым популярным.
  • 7 января 2003 года. Safari Apple выпускает свой второй браузер, и попытка оказалась успешной. Он позволил продавать компьютеры Mac с нативным браузером и завершить взаимоотношения с Internet Explorer компании Microsoft. В нём используется малоизвестный браузерный движок с открытым кодом под названием KHTML, который со временем превратится в Webkit.
  • 23 октября 2000 года. Konquerer в проект KDE включён новый браузер под названием Konquerer и выпущена его версия 2. Как и KDE в целом, Konquerer имеет открытый исходный код и поддерживается активным сообществом. Движок, лежащий в его основе, со временем станет фундаментом для Apple Safari и Google Chrome.

Источники






На правах рекламы


Наша компания предлагает безопасные серверы с бесплатной защитой от DDoS-атак. Возможность использовать лицензионный Windows Server на тарифах с 2 ГБ ОЗУ или выше, создание резервных копий сервера автоматически либо в один клик.

Используем исключительно быстрые серверные накопители от Intel и не экономим на железе только брендовое оборудование и одни из лучших дата-центров в России и ЕС. Поспешите проверить.

Подробнее..

В поисках идеального группировщика вкладок

21.01.2021 08:19:12 | Автор: admin

Прочитав пост про ещё одно расширение, группирующее стопиццот вкладок и не найдя не то что решения моего пользовательского сценария, но и внятного описания авторского, я в очередной раз задумался: почему до сих пор не существует идеального группировщика/закрывателя вкладок? Почему использование закладок не решает проблему? Хочу изложить свой взгляд на проблему и послушать мнения хабражителей.

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

Откуда берутся стопиццот вкладок

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

Учиться и ещё раз учиться

Иногда внезапно хочется узнать на ночь глядя, как происходит кроссинговер, а я внезапно не биолог, и в предложении "процесс обмена участкамигомологичныххромосомво времяконъюгациивпрофазепервого делениямейоза" мне нужно кликнуть по каждой ссылке, чтобы понять хоть что-то (и повторять процесс рекурсивно, пока не окажемся в какой-нибудь статье про Бастера Китона). Кроме того, статьи по биологии в русской Википедии написаны особо научным языком, очень просто начать ходить кругами по открытым страницам, поэтому мне надо держать их открытыми все и сразу.

Работать и ещё раз работать

Часто по работе приходится смотреть на однотипные представления различных элементов выборки. Например, когда открыто много различных графиков или таблиц. Бывает, что некоторые из них представляют особый интерес, и их надо отложить для более подробного обследования. Так может накапливаться по паре-тройке десятков вкладок. Конечно, немного дисциплины и ручное складирование урлов в специальный документ может решить проблему, но... специальный документ - это тоже вкладка, по которой надо попасть мышкой, кликнуть в поле ввода, вставить урл, повторить процесс заново. Размещение этой вкладки первой и использование Ctrl+1 может слегка ускорить процесс, но не настолько, чтобы сделать его полностью безболезненным.

Потом почитаю

Да-да, пожалуй, самый любимый многими сценарий. Открываем Хабр/reddit/youtube/новости/нужное подчеркнуть - и начинаем щелкать колесиком во все понравившиеся заголовки. Всё прочитать не успеваем - и оставляем до лучших времён, которые часто вообще не наступают.

Всё вместе

Совмещаем все сценарии вместе (а лучше перемешиваем) - вуаля! Коктейль "взрыв в картотеке" готов! Полоска со вкладками превращается в частокол из иконок шириной по 5 пикселей каждая, и вот вы уже перемещаетесь по вкладкам, используя Ctrl+Tab, потому что в иконку теперь хрен попадёшь.

Почему мы вообще решили, что стопиццот вкладок - это плохо?

Ну очевидно же! Отнюдь. Давайте я проговорю очевидные для меня недостатки вслух, и вы либо скажете "а об этом я и не подумал", либо "а главного ты так и не сказал". (Либо что-то ещё, о чем я не подумал). Пожалуйста, поделитесь в комментариях своими ответами на этот вопрос.

Трудно найти страницу по заголовку

При открывании кучи вкладок они скукоживаются в размерах, убивая всю пользу, заложенную в каждый тег <title>. Если у вас достаточно терпения - можно заняться пиксель-хантингом в ожидании всплывашки по наведению мышки на вкладку. Чуть лучше, если вы листаете аккордеон со вкладками в мобильном Safari. В смысле, чуть лучше с прочтением заголовков страниц, потому что пиксель-хантинг заменяется остервенелым тереблением мехов виртуального баяна.

Правило7 2

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

Почему существующие решения не работают?

Как всегда, попрошу вас поделиться мнением в комментариях. Мои догадки таковы:

Переключение контекста

Иногда я порываюсь систематизировать отложенные вкладки путём добавления их в закладки. Казалось бы, Ctrl+D, Ctrl+W - и вкладка в закладках, и закрыта, и потом почитаю. На практике мы просто превращаем горизонтальный бардак (в иконках) в вертикальный (в менеджере вкладок). Конечно, можно создавать вкладки в разных папках, но это требует промеж двух быстрых рефлекторных хоткеев отвлечься на выбор папки из выпадушки, а если нет нужной - ещё и на её создание. Естественно, такое переключение контекста на каждую открытую вкладку не понравится ни одному обленившемуся мозгу, включая мой. Эта проблема будет преследовать вас при использовании любого инструмента - будь то добавление одиночной страницы в закладки штатными средствами, перетаскивание вкладки между цветными группками Chrome, использование стороннего расширения.

Чтобы не потерять, нужно систематизировать.

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

Переключение контекста обходится дорого.

Линейность полосы вкладок

Когда я был настолько молод, что печатал двумя пальцами и совсем не вслепую, мне хотелось, чтобы изобрели голосовой ввод - ведь это я умею делать быстро и учиться этому не надо. С тех пор голосовой ввод изобрели, но им не пользуются, если в комнате больше одного человека - чтобы не шуметь и чтобы не палиться. Однако если бы я им пользовался для поиска открытых вкладок, это было бы что-то вроде "Хабр -> Паяем ардуины" или "Работа -> График продаж за сентябрь 2015". Возможно, у вас получилось бы по-другому, но моя старая доинтернетная привычка раскладывать файлы по папочкам на локальном компьютере привела к тому, что я мыслю о файлоподобных сущностях как о (минимум) двухуровневой структуре. Закладки браузера могут иметь произвольную вложенность, и вы даже можете ею пользоваться в таком стиле, если в браузере отображается панель закладок, но это сущность совершенно отделена от панели вкладок, которая всегда линейна.

Ограниченная функциональность

Всё, что мне доводилось видеть в деле организации вкладок, в лучшем случае напоминает хромой explorer.exe. (Я - жертва виндового импринтинга, поэтому буду использовать данное название как синоним привычного файлового навигатора, даже если Nautilus выглядит так же.) Помните, как выглядит менеджер закладок?

Слева - древовидная структура папок, справа - список фавиконок и названий страниц (ну или урлов, если тег <title> на странице отсутствовал), сверху - текстовый поиск (удобная вещь, по правде говоря, если помнишь вкладки по имени). Можно на миг представить, что закладки - это файлы на локальном компьютере. Многие привычные базовые операции доступны - навигация по дереву, открыть/выделить/копировать/вставить/переименовать/удалить. Однако до полноценной файловой оболочки здесь очень далеко:

  • единственное доступное представление - дерево папок + список вкладок. Плитка, таблица, крупные значки, превьюшки - этого всего в браузер не завезли, хотя возможность различных представлений таких структур завезли еще в 1982 году, если не раньше. Да, превьюшки страниц доступны на стартовой странице браузера, но это совершенно отдельная сущность, которую никто не желает отображать на структуру закладок;

  • отсутствие панели задач. Да, её роль в браузере выполняет собственно панель вкладок, но в ней нет ни возможности открыть папку как одиночную сущность, ни возможности автоматически группировать вкладки с одного сайта в стопку, как это было придумано для разных окон одной и той же программы в Windows 7;

  • возможность добавлять ссылку на одну и ту же страницу в одну и ту же папку множество раз. Если в этой папке уже много ссылок, это вносит свою лепту в захламление;

  • невозможность добавить новую закладку, не покидая страницы менеджера закладок;

  • exlporer.exe позволяет открыть одну, две, три папки и использовать drag'n'drop. Это могло бы решить проблему из предыдущего пункта, а также помочь в сортировке закладок на холодную голову, если до этого когда-нибудь дойдут руки.

Какими свойствами должно обладать решение моей мечты?

  • Наличие логической иерархии, хотя бы двухуровневой;

  • долгосрочное хранение (переживать закрытие браузера);

  • файлоподобное управление вкладками (групповое выделение, перетаскивание из/в папки);

  • наличие визуальной иерархии (вместо одномерной панели - подобие файлового менеджера с плиткой);

  • удобные хоткеи к этому всему.

Одним предложением: мой идеал - explorer.exe в браузере.

Погодите, похоже, что миллениалы изобрели...

группы вкладок в Chrome 85. Ну почти. Судите сами:

  • логическая иерархия - двухуровневая, группа -> вкладка;

  • долгосрочное хранение - флажок "восстанавливать вкладки после закрытия";

  • файлоподобное управление - насколько оно возможно в однострочной панели; вкладки можно выделять, совершенно привычным образом, зажав Shift или Ctrl для выбора диапазона или отдельных вкладок соответственно;

  • визуальная иерархия - группа выделяется цветом, её вкладки подчеркиваются этим же цветом;

  • в конце концов, это доступная из коробки ванильная функциональность.

В данный момент за неимением лучшего решения я пользуюсь этим. Конечно же, у этой штуки есть и недостатки, и немалые:

  • нет аналога кнопки "добавить все вкладки в закладки" - придется выделить весь желаемый диапазон вкладок и затем добавить их в группу;

  • нет горячих клавиш. Новая вкладка по Ctrl+T всегда будет открываться вне группы. Можно щелкнуть правой кнопкой по группе и выбрать "новая вкладка в группе", но это дополнительное время на прицеливание;

  • представление вкладок так и осталось визуально одномерным;

  • двухуровневной иерархии может быть недостаточно;

  • даже в свёрнутом виде группа занимает место на панели вкладок.

Let the holywar begin!

Давайте вместе пофантазируем на тему: как эффективно управлять вкладками? Приглашаю в комментарии!

Подробнее..

Браузер для удалёнки своя версия

15.01.2021 16:07:39 | Автор: admin
image

Привет, Хабр!

Прошедший год был полон самых неожиданных событий и сюрпризов, как приятных, так и не очень, и одним из таких новшеств, вынужденно ставших в нашей жизни уже почти нормой, можно назвать удалённую работу. Нет, удалёнка появилась давно, когда скорости интернета позволили без особых проблем избегать офисной отсидки, но тогда она ассоциировалась с тропиками, пляжем и неспешным программированием под шелест набегающих на белоснежный песок океанских волн. Не секрет, что у многих из нас такой стиль работы был приятной мечтой. Что же, мечты сбываются теперь мы все, за небольшим исключением, работаем удалённо. Правда, удалёнка версии 2020 оказалась гораздо более сурова, чем мы себе её представляли. Но разве это проблема, если есть удобные инструменты под рукой?

Искусство самоорганизации


Казалось бы что тут трудного, работать дома? Но если у вас в рабочем пространстве смешиваются производственные задачи и всевозможные отвлекающие занятия вроде просмотра видео, онлайновых книг или игр, то спустя некоторое время вы с удивлением заметите, что рабочие дела у вас как-то притормозились, а всё внимание перешло в совсем нерабочую сферу. А если вы всё-таки будете упорно стараться успеть и то, и другое, то и кино толком не посмотрите, и наверняка пару ошибок сделаете в текущих задачах. Чтобы этого избежать, лучше сразу разграничить работу и отдых. Сделать это довольно просто достаточно создать два профиля, в которых все закладки, настройки и даже внешний вид будут различаться, сохраняя, так сказать, социальную дистанцию друг от друга. И если рабочий профиль будет вас мотивировать на решение производственных задач:



То профиль домашний сможет создать комфортную атмосферу для качественного отдыха:



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

Всё под рукой


Компьютер инструмент универсальный, поэтому мы привыкли выполнять на нём самые разные задачи. Можно, конечно, использовать массу специализированных программ и держать их активными на рабочем столе, постоянно переключаясь между окнами и теряя драгоценное время, но есть способ лучше. Например, всю почту можно просматривать во встроенном почтовом клиенте, который вас мгновенно проинформирует о получении свежих сообщений и позволит быстро ответить на важное письмо:



В браузере Vivaldi встроенный почтовый клиент появился совсем недавно и в данный момент проходит завершающее тестирование, поэтому включить его нужно на странице экспериментальных функций vivaldi://experiments и перезагрузить браузер. После этого иконка почтовика появится на боковой панели браузера.

Там же, на боковой панели можно разместить и другие средства коммуникации с коллегами. У нас в компании основным является Slack, который идеально вписывается в браузер в виде веб-панели:



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

Также существуют страницы, которые как бы и важны, но и отдавать им полноценную вкладку не очень хочется. Они тоже отлично себя чувствуют на стороне как, например, страница статуса для всех сервисов Vivaldi:



Работа над ошибками


И нельзя забывать про работу над ошибками всегда можно в один клик посмотреть, как идут дела с исправлениями, и всё там же на боковой панели:



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



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



И это только малая часть всех функций и опций, ускоряющих и упрощающих производственный процесс. Даже не говоря про такие нужные профессионалам вещи, как работа с помощью комбинаций клавиш, быстрые команды, пространственная навигация. А если у вас, как и в нашей компании, часто проходят всевозможные собрания и обсуждения, то вам не обойтись без встроенного календаря, куда вы можете занести все регулярные и разовые мероприятия, чтобы не пропустить их, увлёкшись очередным исправлением бага. Календарь включается вместе с почтовым клиентом на странице экспериментальных функций (vivaldi://experiments). А если вам срочно нужно показать коллеге макет новой страницы, то вам не нужно за ним бегать по всему офису вы же знаете, что он сидит дома, как и вы, поэтому просто делаете скриншот страницы целиком и отправляете его любым удобным способом коллеге. Именно для таких случаев и была добавлена в браузер соответствующая функция.

Сейчас особо внимательный читатель может спросить: позвольте, но какое отношение все эти замечательные функции имеют к удалённой работе? Ведь все они доступны и при работе в офисе. Всё верно, доступны. Но давайте смоделируем ситуацию. Вот вы пришли к 9 утра в офис и, благодаря всем этим замечательным возможностям браузера, сделали всю обычную текущую работу, скажем, до обеда. Чем вам заниматься оставшиеся полдня? Всё верно продолжать работать над новыми задачами, ведь уйти раньше времени вы не можете и вряд ли вам начальство позволит заниматься нерабочими делами. Но теперь вы на удалёнке, и, выполнив стандартный объём работ, можете уже переключить профиль на домашний и заняться своими личными делами. Так что Vivaldi позволяет более полноценно ощутить данный плюс удалённой работы.

Радиус действия без ограничений


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

Но как быть, если вам нужно отлучиться по делам, а до обеда нужно просмотреть все свежие новости по своей теме? Здесь на помощь приходит мобильность точнее, мобильный браузер Vivaldi. При включенной синхронизации между мобильной и десктопной версиями вы не только получите все привычные закладки, пароли и прочие важные данные, но и сможете легко переносить текущие дела между устройствами все активные вкладки синхронизируются между браузерами тоже. Так что вы открываете в десктопном браузере нужные страницы, а дочитывать их можете в автобусе или в такси, пока ездите по делам:



Кстати, и в обратную сторону работает тоже:



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

Вообще, после ознакомления с огромным набором встроенных функций Vivaldi может создаться впечатление, что разработчики о чём-то догадывались и заблаговременно готовили идеальный браузер для удалённой работы. Ну, в какой-то степени это правда. Только если быть точнее, мы создаём браузер, стараясь заметно упростить и сделать удобнее работу в сети для пользователей, по их запросам и пожеланиям, охватывая максимально возможный набор привычных и часто востребованных функций. Всё, что важно должно быть под рукой. И мы стараемся следовать этому несложному правилу. Спасибо, что вы помогаете нам создавать браузер Vivaldi и надеемся, что новые функции смогут вас порадовать и стать полезными при любых обстоятельствах.

В статье использовано фото от Arsalan Noorafkan
Подробнее..

Vivaldi 3.3 Делаем передышку в работе

07.09.2020 10:18:05 | Автор: admin


Привет, Хабр!

Прочитав заголовок, вы можете подумать, что разработчики браузера Vivaldi устали и решили взять небольшую паузу в работе. Но не пугайтесь разработчики Vivaldi не только не собираются отдыхать, они даже наращивают темпы разработки всеми нами любимого браузера, и сегодняшний релиз тому подтверждение. В новой версии Vivaldi для десктопов появилось несколько очень интересных и полезных новинок, и главная из них как раз связана с паузой в работе. Но не нашей, а вашей ведь новая функция предназначена для пользователей и реализована по их запросу. Итак, давайте обо всём по порядку.

Как отвлечься от работы в один клик


В новой версии Vivaldi появилась необычная кнопка, разместившаяся в левом нижнем углу окна браузера. Работает она очень просто. При нажатии на неё весь контент исчезает с экрана, все медиафайлы прекращают воспроизводиться, а пользователь получает возможность переключиться на другой вид деятельности, чтобы отдохнуть, заняться другими задачами, не связанными с компьютером или интернетом, или просто на время отвлечься от ежедневных рутинных задач.



Вернуться к работе также возможно в один клик с помощью всё той же кнопки.

Функция эта удобная и полезная, спору нет. Но в новой версии Vivaldi есть и другие новинки, которые не менее полезны и удобны, и даже, возможно, более ценны для комфортабельной и безопасной работы в сети. И новшества эти касаются адресной строки одного из главных инструментов для просмотра веб-страниц.

Новые возможности URL


Не секрет, что в интернете много мошенников, пытающихся затащить вас на свой сайт. Нередко они используют адреса с элементами других веб-сайтов в URL, тем самым вводя пользователя в заблуждение: он думает, что пришёл на страницу популярного и уважаемого сервиса, а в реальности оказался на мошеннической странице. Чтобы снизить риск подобной ситуации, мы в новой версии Vivaldi внедрили новый способ отображения URL-адреса теперь основной домен будет выделен более ярким шрифтом, что позволит вам легко определить, на каком сайте вы оказались на самом деле.



Дополнительно мы позаботились и о тех случаях, когда адрес слишком длинный, а адресная строка слишком короткая, при этом собственно доменное имя в URL отображается в обрезанном виде и пользователь может случайно пропустить тот факт, что он уже оказался на мошенническом сайте. Теперь браузер Vivaldi предупредит вас о том, что не весь адрес виден в адресной строке, с помощью специального значка:



Другое новшество в адресной строке окажется полезным тем, кто ценит своё время. Достаточно навести курсор мыши на URL в адресной строке, удерживая нажатой клавишу Ctrl (или Cmd/ для MacOS), чтобы выделить часть адреса и перейти к нему:



Ещё несколько улучшений, добавленных благодаря запросам пользователей.

Встроенный блокировщик рекламы и слежки теперь поддерживает блокировку страницы целиком. Пользователи, которые добавляют собственные наборы правил, теперь могут использовать параметр document в правилах, чтобы блокировать целые страницы. Это шаг к большей совместимости с набором правил uBlock Origin.

Ещё один популярный запрос возможность перетаскивания ячеек Экспресс-панели в папки на этой же панели. Теперь это есть и работает.

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

Всем спасибо за помощь в подготовке этой версии, браузер Vivaldi с каждым днём становится всё лучше, что может только радовать всех нас.
Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru