Исследователи выяснили, что код, который Meta и «Яндекс» ставят на миллионы сайтов, устраивает деанон юзеров, хитро используя легитимные протоколы. Chrome и другие браузеры втихаря шлют уникальные идентификаторы нативным приложениям на устройстве. В этой статье — подробный разбор того, как это работает.
Привет, Хабр! Совсем недавно я опубликовал статью «Мой опыт с AR-очками Xreal Air: ожидания и реальность». Ну а теперь расскажу о попытках наладить работу с 3D-очками Quest 3. Я не раз и не два встречал комментарии владельцев, которые назвали этот девайс универсальным решением для игр, работы и погружения в виртуальную реальность. Встречал мнение, что это устройство может заменить не только игровой шлем, но и монитор для работы в виртуальном офисе. Как и рассказывал в предыдущей статье, я да…
Почему в XXI веке мы все еще печатаем на QWERTY / ЙЦУКЕН, хотя эта раскладка родилась в эпоху механических машинок и считается не самой эргономичной? Разберем, как исторический случай превратился в привычку, почему протесты в пользу Dvorak и Colemak погасли, и есть ли вообще шанс у «умных» или нейро-раскладок изменить наш повседневный набор текста. Детали, как всегда, внутри. Используйте навигацию, если не хотите читать текст целиком: → От пишущих машинок к экранам → «Самые эффективные» альте…
Привет, друзья! Суть капитализма описывается простой формулой: произведи товара, потратив 100 рублей, продай полученный товар за 110 рублей. Разницу в 10 рублей - в карман.В этой примитивной как штык на винтовке немецкого ефрейтора формуле скрыт коварный дефект, из-за которого случились 2 мировой войны, погибли десятки миллионов людей и были разрушены целые страны. А самое неприятное, что все эти катастрофы могут происходить снова и снова, поскольку дефект сложно исправить и он грозит стать кат…
Вы знаете, что такое прогрессивный JPEG? Можете почитать хорошее объяснение. Идея заключается в том, что вместо загрузки изображения сверху вниз оно сначала грузится размытым, а потом постепенно становится чётче.Что, если мы применим тот же принцип к передаче JSON?Допустим, у нас есть дерево JSON с какими-то данными:{ header: 'Welcome to my blog', post: { content: 'This is my article', comments: [ 'First comment', 'Second comment', /…
Разница в инженерахИнженер - это звучит солидно и гордо, во все времена. Однако, в последнее время наша профессия (не только ИТ-инженеры) претерпевает деградацию в большинстве отраслей. В статье я хочу подсветить эту проблему и указать, что сейчас можно сделать абитуриентам, выпускникам и уже действующим инженерам, чтобы выйти на новый уровень инженерной науки и практики (или хотя бы понять своё место в ней). ВведениеПочему я сделал такие выводы? Я сам инженер-технолог (кафедра машиностроительн…
Привет, Хабр!Сегодня разбираемся, почему sync.Map — выглядит аппетитно, но почти всегда оказывается не тем, чем вы ожидали. Откуда взялся sync.Map и зачем он был нуженК середине 2010-х стало очевидно: дефолтный подход map + sync.RWMutex не справляется с задачами, где тысячи горутин читают данные одновременно, а записи происходят редко. Особенно это чувствовалось в телеметрии, логировании, сборе метрик — в тех местах, где важно не терять данные, не аллоцировать лишнее и не мешать соседним потока…
Разработка чат-приложения с нуля может показаться довольно сложной задачей. Но при наличии правильных инструментов все становится намного проще, чем вы думаете.В этой серии из трех частей мы подробно рассмотрим процесс создания клона веб-версии Telegram с использованием Next.js, TailwindCSS и Stream SDK. В первой части мы настроим все необходимые инструменты для нашего проекта, добавим аутентификацию и создадим макет приложения с помощью TailwindCSS.Во второй части мы сосредоточимся на разработ…
В этой серии статей мы пройдемся по каждому этапу работы V8: лексическому и синтаксическому анализу, построению AST, интерпретации и оптимизациям. Затронем Ignition, Sparkplug, Maglev и Turbofan; разберемся с hidden classes, байт-кодом, и много чем еще. Углубимся во все этапы достаточно, чтобы понимать, за что отвечает каждый из них.Основные среды выполнения JavaScript на текущий момент это Node.js (с V8 по умолчанию), Electron на базе Chromium, который под капотом также имеет V8, и браузеры:Go…