Перезапрос упавшей статики

Статья про то как контролировать загрузку статики у себя в продакшн сборке и предотвратить сайд-эффекты.

Веб-обозреватели

Статья про то как контролировать загрузку статики у себя в продакшн сборке и предотвратить сайд-эффекты.

Меня зовут Сергей Игнатенко. В прошлой жизни — девлид, 20+ лет в разработке, от C# до Kafka. Сейчас — фаундер. Эта статья про то, как первое привело ко второму.
Последний год я активно работал в Cursor — IDE с ИИ-ассистентом. И в какой-то момент меня начало подбешивать.
Cursor переименовал режим «Code» в «Agent». Звучит красиво, но по факту — это тот же автокомплит на стероидах. Никакой автономности. Никакого планирования. Ты по-прежнему сидишь в IDE, по-прежнему руками переключаешь файлы, по-прежнему сам решаешь что делать дальше. Какой же это «агент»?
Тогда я решил попробовать Claude Code — инструмент от Anthropic, о котором в тот момент восторженно писал весь Twitter. Установил, столкнулся с блокировками (я в России, привыкли), пошёл к Claude с просьбой помочь обойти защиту. Claude сказал категорическое «нет» и добавил фразу, которая засела в голове:

Когда заходит разговор про WebAssembly, где-нибудь в начале дискуссии обычно появляется комментарий в духе «А что, собственно, произошло?»
Этот язык преподносили как нечто поворотное. Неужели это просто был яркий маркетинг? А может, очередной случай с обречённым на провал апплетом JVM?
И я хочу подойти к этой теме немного со стороны, так как подобные вопросы содержат ошибочные предположения, которые следует прояснить.

Как бы далеко ни продвинулся научно-технический прогресс, но ручная работа по-прежнему остаётся востребованной среди представителей Homo Sapiens. Особенно это касается современных смартфонов, ставших нашими неизменными помощниками в самых разных областях деятельности. И в новой версии Vivaldi 7.8 для iOS мы постарались ещё немного оптимизировать процесс работы в браузере, добавив три функции, которые значительно упростят жизнь пользователей.

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

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

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

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

14 января 2026 года Cursor опубликовала пост «Scaling long-running autonomous coding» (https://cursor.com/blog/scaling-agents).
В этом посте компания рассказала о своих экспериментах с «автономной работой кодинг-агентов в течение нескольких недель» со следующей чётко поставленной целью:
понять, насколько далеко мы можем продвинуться в сфере кодинга в проектах, для выполнения которых командам разработчиков обычно требуются месяцы
Компания рассказала о подходах, которые она попробовала, о предполагаемых причинах их провала и о том, как решались эти проблемы.
Наконец она достигла этапа, на котором нечто «решило большинство наших проблем с координацией и позволило масштабироваться до очень больших проектов», что, в свою очередь, привело к следующему:
Чтобы протестировать эту систему, мы поставили перед собой амбициозную цель: создание веб-браузера с нуля. Агенты работали примерно неделю и написали больше миллиона строк кода в тысяче файлов. Исходный код можно посмотреть в GitHub (https://github.com/wilsonzlin/fastrender)
И здесь объяснения становятся немного запутанными и нечёткими. Компания заявляет, что «несмотря на размер кодовой базы, новые агенты всё равно понимают её и добиваются существенного прогресса» и что «сотни воркеров работают конкурентно, выполняя пушинг в одну и ту же ветвь с минимальными конфликтами», но ни разу не говорит, был ли проект успешным, работает ли он на самом деле. Можем ли мы сами запустить этот браузер? Это неясно, и компания ни разу не сделала подобных чётких заявлений.

Привет, Хабр! С вами Карлен, Lead Fullstack разработчик в ITFB Group.
Для любого специалиста в веб-разработке DevTools — это незаменимый инструмент диагностики. Однако его истинная мощь часто остаётся «в тени»: многие используют лишь базовый функционал, упуская из виду целый арсенал возможностей для тонкой настройки и глубокого анализа.
В этой статье я хочу сосредоточиться на практических приёмах, которые ежедневно использую сам. Мы пройдём путь от эффективной работы с консолью до анализа производительности и эмуляции реальных условий. Готовы выйти за рамки console.log? 😊

Push-уведомления сами по себе — полезный инструмент для легальной коммуникации с пользователями: новости, события, обновления сервисов.
Однако существуют вредоносные SDK, которые используют Push API для скрытого спама, трекинга и монетизации через сторонние рекламные серверы. Они используют легальные браузерные API, но наносят серьёзный вред пользователю и репутации сайтов.
В этой статье разберём реальный вредоносный скрипт https://kidecyg.com/13850.js, покажем как он работает, зачем каждый элемент кода нужен и как его выявить.

Уже более полутора лет Perplexity почти полностью заменяет мне классический поиск, помогая в работе, учёбе и бытовых вопросах.
Для доступа к Perplexity из России не нужен VPN, есть мобильное приложение и собственный браузер Comet. В наличии много популярных AI-моделей. Базовые функции - бесплатны. Для студентов есть скидка 75% на версию Pro.
В этой статье я постарался систематизировать свой опыт работы с Perplexity.
Мы разберем, как превратить Perplexity из «умного чата» в интерактивную базу знаний, используя Spaces, Tasks, Comet Assistant и другие функции.

Знакомо чувство, когда читаешь документацию, а через десяток страниц уже не помнишь, что именно успел изучить? Или когда возвращаешься к старой статье и не можешь понять – ты уже видел эту ссылку или нет?
В эпоху информационного перегруза даже закладки перестают быть спасением – они просто копятся где‑то на панели, а на странице по‑прежнему нет никаких намёков, что ты здесь уже был.
Но что если заставить браузер самому отмечать ссылки, которые у вас уже сохранены? Чтобы слева от каждой знакомой ссылки возникала метка с названием папки из закладок – как тихий намёк: “Ты это уже сохранял, не потеряй”.
Сегодня мы не просто поговорим об идее – мы сгенерируем через нейросеть готовое расширение для Chrome, которое сделает это за нас. А заодно разберёмся, как такие инструменты создавать, тестировать и даже улучшать – шаг за шагом, от первого промпта до работающего прототипа.
Пристегнитесь, будет интересно!

Для тестирования, разработки и внутреннего использования часто используются самозаверенные (самоподписанные) сертификаты. Технически такой сертификат ничем не отличается от публичного, только вместо передачи на подпись в удостоверяющий центр (УЦ) пользователь создаёт свою собственную подпись.
Под Linux мы можем сгенерировать сертификат командой mkcert или OpenSSL. Единственная проблема в том, что браузер не доверяет такому сертификату, поскольку он не подписан доверенным УЦ. Поэтому нужно ещё запустить и настроить собственный УЦ, который подписывает наши сертификаты — и добавить этот УЦ в список доверенных центров сертификации УЦ (или браузера).

Шариковые мыши и забитая в них пыль, колоритные сайты с гостевыми книгами, форумы и мееееедленный выыыыход в Сеть. А главное — писк диалап‑модема. Мы собрались с коллегами Сlevertec и вспомнили, как это было. Вот наши истории.

Глубоко в пучинах спецификации HTML дремлет давно забытый ужасный зверь. Представьте себе узел DOM настолько могучий, что он может изменять тип содержимого разных частей документа. HTML-элемент, который заставляет парсер трепетать и замолкать, и которого не остановить даже его собственным тегом.
Мудрецы из W3C стараются держать информацию об этом ужасе подальше от взора простых смертных, чтобы избавить их от угрозы его безумия. Они советуют нам не использовать имя магического тега, призывающего это древнее зло.
Но мы сегодня, естественно, поступим наоборот и заглянем в глубины элемента <plaintext>, чтобы узнать, какие занятные вещи с его помощью можно делать.

Base64 — это схема кодирования двоичных значений в текст, преобразующая произвольные двоичные данные (например, изображения, файлы или любые байтовые последовательности) в безопасную печатную ASCII-строку, состоящую из 64-символьного алфавита (A–Z, a–z, 0–9, +, /). Браузеры применяют эту схему в JavaScript для встраивания двоичных данных непосредственно в код/HTML или для передачи двоичных данных в виде текста.
Недавно в браузерах появились удобные и безопасные функции для обработки Base64: Uint8Array.toBase64() и Uint8Array.fromBase64(). Хоть у них и есть множество параметров, смысл их сводится к кодированию и декодированию.
При кодировании они берут 24 бита из входных данных и разделяют их на четыре сегмента по 6 бит, и каждое 6-битное значение (в интервале от 0 до 63) соотносится с конкретным символом из алфавита Base64: первые 26 символов — это буквы A-Z в верхнем регистре, следующие 26 — a-z в нижнем, затем идут цифры 0-9 и, наконец, символы «+» и «/» в качестве 62-го и 63-го символов. Если длина входных данных не кратна трём байтам, то в качестве заполнителя используется знак «=».
Насколько же быстро могут работать эти функции?

С сентября 2025 года MAX перешел к открытому тестированию каналов для авторов А+ с аудиторией от 10 тысяч подписчиков. Есть и второй вариант - создание официального канала организации. Там число подписчиков не важно.
Я еще в прошлом году хотел решить эту задачку в качестве альтернативы канала в Телеграм, но отложил из-за нехватки времени.
Собственно, порядок действий обещали довольно простой: на платформе business.max.ru для партнеров, регистрируем организацию, проходим верификацию (я прошел через кабинет одного из банков), добавляем организацию на Госуслугах, и получаем доступы к сервисам для бизнеса.
Но задачку я так и не решил, т.к. не удалось связать профиль руководителя и организации в Госуслугах.

Чат‑боты, ассистенты и браузерные агенты прочно и надолго встроились в привычные нам процессы, а за этот год их развитие заметно ускорилось. При этом изменилась и поверхность атак, и уязвимым местом теперь может оказаться ваш промпт. Man‑in‑the‑Prompt – это атака, которая незаметно внедряет чужие инструкции в запрос и меняет поведение модели.
В этой статье я хочу рассказать, как такие атаки реализуются и какие шаги помогут вам от них защититься.

В этой статье я изложу то, что почерпнул из чтения RFC 9111 (2022 год) — последнего стандарта по HTTP-кэшингу.
Он определяет HTTP-заголовок Cache-Control, предписывающий способ хранения и повторного использования HTTP-запросов касательно не только кэша браузера, но и всех промежуточных кэшей наподобие прокси и CDN, которые могут существовать между клиентом и исходным сервером.