Как стать автором
Обновить
1.69

Google Chrome

Браузер от Gooogle

Сначала показывать
Порог рейтинга
Уровень сложности

«Пиратский» Google Chrome в Microsoft Windows 7 год спустя. И примкнувший к ним MS EDGE, Opera, Brave. Полная версия

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров37K

Пиратство растёт, милорд!

Google Chrome для Windows 7 - детальный технический отчёт, каким образом актуальная версия популярнейшего браузера всё равно работает в «семёрке» даже спустя год после официального прекращения её поддержки корпорацией. Реакция Google LLC или почему пиратство только набирает обороты?

Читать далее
Всего голосов 133: ↑119 и ↓14+105
Комментарии158

Новости

История о том, как Google подсматривал за нашим сайтом и галлюцинировал

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров29K

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

Читать далее
Всего голосов 343: ↑341 и ↓2+339
Комментарии128

Почему нельзя доверять Google

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров65K


В 2005 году компания Google решила вступить в конкуренцию с ICQ, MSN и Skype — и выпустила мессенджер Google Talk (Gchat) на открытом протоколе XMPP с распределённой архитектурой. Казалось бы, замечательно: Google продвигает открытый свободный протокол! Как бы не так.

Google не уважала спецификации, не поддерживала все функции XMPP. В итоге разработка открытого стандарта затормозилась, чтобы адаптироваться к действиям Google. Классные новые функции (например, аватарки) никто не использовал, потому что их не поддерживал Google Talk. Разработчики XMPP стали выполнять роль сисадминов для серверов Google.

Финал немного предсказуем: в 2013 году Google решила закрыть Gtalk/XMPP и забыть о нём, что практически остановило развитие XMPP на долгие годы. Сообщество до сих пор не восстановилось от того удара. Это пример вреда, который Google/Meta*/Microsoft наносят IT-индустрии. И так у них во всём… Главное — собственные интересы, на остальных наплевать.
Читать дальше →
Всего голосов 192: ↑167 и ↓25+142
Комментарии274

Минималистичный YouTube. Расширения для браузера и альтернативные клиенты

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров55K

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

Один из главных «нарушителей» — YouTube. Стоило один раз посмотреть пляжный волейбол на Олимпийских играх — и он уже несколько лет показывает женщин в купальниках на главной странице (пример). Даже неудобно открывать YouTube в присутствии сына…

Непрошеные и неуместные рекомендации видео — общая проблема, на которую часто жалуются. К счастью, их легко заблокировать, как и весь остальной мусор. Можно ходить на серверы YouTube через кастомный фронтенд, через сторонние клиенты или вообще из консоли. Некоторые альтернативные способы просмотра особенно актуальны в свете потенциальной блокировки YouTube на территории РФ.
Читать дальше →
Всего голосов 133: ↑130 и ↓3+127
Комментарии80

Истории

Я попробовала Firefox, и теперь не могу вернуться на Chrome

Время на прочтение4 мин
Количество просмотров64K


Нам кажется, автор довольно ясно и лаконично сформулировала основные преимущества Firefox. Добавим только, что этот браузер — по сути единственная оставшаяся альтернатива для монополии Google Chrome (и движка Chromium)

2008-й год. Я два года счастливо сидела на Firefox после болезненного, но неизбежного расставания с Internet Explorer. Но по учебной и профессиональной необходимости пришлось перейти на Chrome.

В основном, Chrome меня вполне устраивал. Он представил некоторые уникальные фичи, которых у Firefox не было. Например, синхронизация вкладок между устройствами или сохранение всех закладок в одном профиле, который действует на любых компьютерах.
Читать дальше →
Всего голосов 137: ↑122 и ↓15+107
Комментарии419

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

Время на прочтение3 мин
Количество просмотров51K

Юмористический детектив о том, как нам подсунули свинью котлеты. Он не то что основан на реальных событиях, - это их подробное описание, без доли вымысла. Только отметок времени нет, для большей детализации. Но могу сказать, что на всё про всё ушло часа 3.

Вероятно, заголовок сбивает с толку, может показаться что это какой-то кликбейт. Но так вы сможете себе лучше представить мои эмоции, когда у меня спросили: «А откуда у нас в проекте котлеты?»

Понятное дело, что проект бы вряд ли от этого погиб, но, когда непонятные ошибки выпрыгивают накануне приёмо-сдаточных испытаний – относишься к ним соответственно. Да и как посмотреть в глаза заказчику, когда у тебя «котлеты»?!

Что там за котлеты ещё?
Всего голосов 288: ↑285 и ↓3+282
Комментарии108

Невменяемый, необъятный масштаб браузеров

Время на прочтение3 мин
Количество просмотров73K

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

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

С помощью wget я скачал все 1217 спецификаций W3C, опубликованных на текущий момент. Существенная часть из них должна быть реализована в браузере, чтобы современный веб работал. Я подсчитал объём этих спецификаций. Как думаете, насколько сложен современный веб?

Читать далее
Всего голосов 210: ↑200 и ↓10+190
Комментарии695

Скрытая активация камеры браузерами: Большой Брат или технологический просчёт?

Время на прочтение5 мин
Количество просмотров95K

image


Всем привет!


Меня зовут Вадим, и я один из технических консультантов и, по совместительству, системный администратор "РосКомСвободы".


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


Заранее прошу прощения, если кому-то не нравится формат а-ля "журнал }{akep в нулевые". Пишите — исправлюсь.

Всего голосов 185: ↑183 и ↓2+181
Комментарии100

Нужно ли чистить строки в JavaScript?

Время на прочтение6 мин
Количество просмотров79K
Что? Строки могут быть «грязными»?

Да, могут.

//.....Какой-то код
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // "ччччччччччччччч"

Вы думаете, в этом примере строка занимает 30 байт?

А вот и нет! Она занимает 30 мегабайт!
Читать дальше →
Всего голосов 220: ↑219 и ↓1+218
Комментарии224

Заглядываем под капот нового Gmail

Время на прочтение4 мин
Количество просмотров58K

Полгода назад Google представила обновленную версию своего почтового сервиса. Несмотря на то что многие пользователи были недовольны редизайном, в том числе и на Хабре, это теперь основной интерфейс для пользователей.


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

Читать дальше →
Всего голосов 138: ↑136 и ↓2+134
Комментарии93

Мой любимый файл в кодовой базе Chromium

Время на прочтение6 мин
Количество просмотров86K
Код Хромиума весьма обширен, там каждому найдётся что-то по вкусу. А я вот решил рассказать о своём любимом файле в нём (а у вас есть такой?). Этот файл отражает всё: боль, разочарование, надежду, упорство, силу воли, ответственность за чужие провалы и самопожертвование. Я иногда читаю его и плачу и проникаюсь пониманием, какая же огромная часть айсберга скрыта под водой. Это, в общем, даже не файл с кодом. Это файл с конфигом, описывающим баги видеокарт, которые Хромиуму приходится обходить для нормального отображения своих страниц на разных платформах. Вот он: https://cs.chromium.org/chromium/src/gpu/config/gpu_driver_bug_list.json

О чём вообще идёт речь? Давайте вспомним, как работает браузер: вы набираете какой-то адрес в адресной строке, браузер загружает контент и отображает его. Чуть детальнее об этом рассказывает хорошая статья «What happens when you type google.com into your browser and press enter?» (и сразу несколько её переводов на Хабре). В ней одним из последних пунктов упоминается, мол, «а теперь, когда всё готово, отрисовываем картинку на экране». Ага, вот так берём и отрисовываем, конечно.
Читать дальше →
Всего голосов 186: ↑185 и ↓1+184
Комментарии179

24-ядерный CPU, а я не могу набрать электронное письмо

Время на прочтение9 мин
Количество просмотров100K
Я не искал неприятностей. Не запускал процесс сборки Chrome тысячу раз за выходные, а только занимался самыми обычными задачами 21-го века — просто писал электронное письмо в 10:30 утра. И вдруг Gmail подвис. Я продолжал печатать несколько секунд, но на экране не появлялось никаких символов. Затем внезапно Gmail отвис — и я вернулся к своему очень важному письму. Но впоследствии всё повторилось, только на этот раз Gmail ещё дольше не отвечал запросы. Это странно

Трудно устоять перед возможностью провести хорошее расследование, но в данном случае вызов особенно силён. Ведь я в Google работаю над улучшением производительности Chrome для Windows. Обнаружить причину зависания — моя работа. И после множества фальстартов и тяжёлых усилий мне всё-таки удалось выяснить, как Chrome, Gmail, Windows и наш IT-отдел вместе помешали мне набрать электронное письмо. По ходу дела нашёлся способ сэкономить значительное количество памяти для некоторых веб-страниц в Chrome.

В расследовании оказалось так много нюансов, что я оставлю некоторые для другой статьи, а сейчас полностью объясню причины подвисаний.
Читать дальше →
Всего голосов 137: ↑129 и ↓8+121
Комментарии161

Баг компилятора? Линкера? Нет, баг ядра Windows

Время на прочтение8 мин
Количество просмотров38K
imageГейзенбаг — это худшее, что может произойти. В описанном ниже исследовании, которое растянулось на 20 месяцев, мы уже дошли до того, что начали искать аппаратные проблемы, ошибки в компиляторах, линкерах и делать другие вещи, которые стоит делать в самую последнюю очередь. Обычно переводить стрелки подобным образом не нужно (баг скорее всего у вас в коде), но в данном случае нам наоборот — не хватило глобальности виденья проблемы. Да, мы действительно нашли баг в линкере, но кроме него мы ещё нашли и баг в ядре Windows.

В сентябре 2016 года мы стали замечать случайно происходящие ошибки при сборке Хрома — 3 билда из 200 провалились из-за крэша процесса protoc.exe. Это один из бинарников, который при сборке Хрома сначала собирается сам, а затем запускается для генерации заголовочных файлов других компонентов. Но вместо этого он падал с ошибкой «access violation».
Читать дальше →
Всего голосов 146: ↑145 и ↓1+144
Комментарии32

Ближайшие события

31 февраля

Время на прочтение4 мин
Количество просмотров28K
31 февраля

Сейчас я изучаю отчёт очередной проверки проекта Chromium и используемых в нём библиотек, с помощью анализатора кода PVS-Studio. По итогам проверки у меня намечается цикл статей, посвященный разбору некоторых видов ошибок, и тому, как их можно избежать. Однако, одна ошибка так сильно понравилась, что я решил не откладывать её описание, а сразу написать маленькую заметку в блог.
Читать дальше →
Всего голосов 105: ↑103 и ↓2+101
Комментарии108

От черного прямоугольника в Яндекс.Браузере к ускорению всего Chromium

Время на прочтение6 мин
Количество просмотров59K
Сегодня мы расскажем вам историю об одном интересном баге в Яндекс.Браузере, исправление которого привело к значительному ускорению отрисовки во всем проекте Chromium. И помогут мне в этом Кирилл drBasic Плешивцев и Вадим Lof Петров, специалисты из нашей команды, которым и посчастливилось разбираться с проблемой. Передаю им слово.



Один не совсем обычный баг

Меня зовут Кирилл, я работаю в группе внутренних компонентов Яндекс.Браузера в Новосибирске. В один не совсем прекрасный день коллеги из тестирования Яндекс.Браузера воспроизвели проблему с проигрыванием видео через Flash Player. И поскольку именно наша группа отвечает за эту часть браузера (медиа, кодеки, вот это все), задача досталась мне. Баг, скажем так, не претендовал на оригинальность. Клик по кнопке Play приводил к черному прямоугольнику вместо корректного воспроизведения видео. Этот симптом я встречал и раньше, поэтому рассчитывал на достаточно быструю локализацию проблемы. Но я ошибался.
Читать дальше →
Всего голосов 125: ↑121 и ↓4+117
Комментарии49

Reedy – Скорочтение, которое действительно можно использовать

Время на прочтение9 мин
Количество просмотров242K
Reedy – продвинутая реализация технологии скоростного чтения

В последнее время наблюдается рост интереса к скорочтению на основе технологии RSVP. Однако большинство приложений и расширений на эту тему, при более близком знакомстве, увы, оказываются не очень удобны для ежедневного использования. А ведь в потенциале они могу помочь значительно экономить время и быстрее получать информацию. Мой друг OlegCherr решил доработать технологию, создав реализацию пригодную для постоянного использования, а я ему в этом помогаю. После двух месяцев постоянной практики чтения, тестирования, исследований и улучшений решил написать статью с разбором того, что получилось в результате, потому что результат, смею считать, будет интересен и другим. На текущий момент всё выполнено в виде расширения к браузеру Chrome и названо Reedy. Приложение под Android на подходе.
Подробности
Всего голосов 201: ↑195 и ↓6+189
Комментарии136

Как мы пытаемся продать PVS-Studio в Google или очередные ошибки в Chromium

Время на прочтение14 мин
Количество просмотров53K
PVS-Studio интегрируется в Ninja для проверки Chomium.


Когда мы пишем статьи про проверки каких-либо проектов с помощью PVS-Studio, то, как правило, у нас прибавляется клиентов. Тут все честно. Программисты не любят рекламу, но охотно отзываются на интересные материалы, которые легко проверить. Поэтому мы не рекламируем свой инструмент, а просто показываем, что он умеет. Однако, хотя мы проверили код Chromium уже три раза и трижды находили в нем ошибки, ордера с почтой в google.com в моей почте до сих пор нет. Поскольку мне интересно, что я делаю не так, и почему Google пока не использует PVS-Studio, я решил написать очередную статью.

Эта статья состоит из двух частей. В первой рассказывается об инфраструктуре проекта Chromium и нюансах интеграции, во второй приведены очередные найденные ошибки.

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

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

Читать дальше →
Всего голосов 326: ↑293 и ↓33+260
Комментарии205

Как отключить поиск на новой вкладке Chrome

Время на прочтение1 мин
Количество просмотров154K
Chrome New Tab Page

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

  1. Заходим в chrome://flags.
  2. Находим пункт «Enable Instant Extended API» / «Включить расширенный API Живого поиска» и выбираем Disable/Отключено.
  3. Нажимаем кнопку Restart/Перезапустить в полоске, появившейся внизу окна.
  4. Profit!
Всего голосов 280: ↑210 и ↓70+140
Комментарии101

Третья проверка кода проекта Chromium с помощью анализатора PVS-Studio

Время на прочтение19 мин
Количество просмотров34K
Браузер Chromium очень быстро развивается. Например, когда в 2011 году мы впервые проверили этот проект (solution), он состоял из 473 проектов. Сейчас, он состоит уже из 1169 проектов. Нам было интересно, смогли ли разработчики Google сохранить высочайшее качество кода, при такой скорости развития Chromium. Да, смогли.
Читать дальше →
Всего голосов 143: ↑132 и ↓11+121
Комментарии58

Вся правда о Chrome (и не только) Web Inspector. Часть 1

Время на прочтение9 мин
Количество просмотров151K
Я постараюсь сделать самое полное и подробное описание возможностей Web Inspector, на русском языке.
В первой серии мы залезем в настройки, посмотрим, что умеет консоль и поиграемся с панелью «Elements».

Так как Web-Inspector не переведен на Русский, я буду сохранять оригинальные названия.


В качестве бонуса, приложу скриншот одной и самых первых версий, из далекого 2006го.
Читать дальше →
Всего голосов 165: ↑154 и ↓11+143
Комментарии36
1