Category : javascript

javascript
«Уязвимости нет, и мы её исправили»: первая неделя HTML-виджетов в Telegram

10 ноября я рассказал, как работают HTML-виджеты Telegram. Разобрал, как бот отправляет виджет, где выполняется JavaScript и как данные от бота меняют уже отправленное сообщение. А на игре с башней проверил, что вообще влезает в 4 КБ. Про безопасность я тогда написал, что виджет живёт в песочнице без сети и ввода с клавиатуры.На следующий день V12 выложила демонстрацию уязвимости. Моя башня на этом фоне выглядела довольно воспитанной.Что показала V12Демонстрация V12: виджет запускает калькулято…

  • воскресенье, 15 ноября 2026 г. в 00:00:14
javascript
Node.js 26 стал LTS: пять мест, где переезд с 24 ломается, и как найти их заранее

28 октября Node.js 26 получил статус LTS с кодовым именем Lithium, а в ноябре вышел первый security-релиз этой ветки, 26.13.1. Платформы уже начинают ставить 26 по умолчанию для новых проектов, так что самое время переводить на неё сервисы, которые сейчас живут на 22 или 24.Обычно переход между LTS проходит тихо: поменял версию в .nvmrc и Dockerfile, прогнал тесты, поехали. Тут тоже в основном так, но в 26 окончательно удалили несколько старых API, поменяли ABI нативных модулей, а официальные б…

  • воскресенье, 15 ноября 2026 г. в 00:00:13
javascript
Потоковая выгрузка из Postgres в CSV часть 2

Потоковая выгрузка из PostgreSQL в CSV: серверный курсор и COPYВ прошлый раз я разобрал самые такие три жизненных примера работы с выгрузками.Наивный способ через память, постраничку через OFFSET/LIMIT и через keyset курсор. Но было бы несправедливо остановиться на этом и не протестировать другие оставшиеся варианты. Два способа, которые я хочу рассмотреть - это серверный курсор pg-query-stream и выгрузка напрямую из базы через COPY. В этой статье дальше будут примеры с кодом, но сам по себе ко…

  • воскресенье, 15 ноября 2026 г. в 00:00:11
javascript
Как в ответы ИИ попасть медицинскому сайту с комплаенсом

Одна из проблем для медицинских сайтов заключается в том, что описания процедур и состав препаратов затруднительно размещать на странице сайта, которая посвящена услуге. Особенно на лендинге, где довольно строгая структура, а тексты предельно лаконичны. Но таков закон. Комплаенс требуется для подтверждения легитимности самой клиники и методик, которые она использует.Если помещать блок комплаенса в видимую часть страницы, то это неминуемо приведет к “отказам” - быстрому уходу посетителя с сайта…

  • воскресенье, 15 ноября 2026 г. в 00:00:10
javascript
Как читать графики из панели performance devtools chrome

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

  • воскресенье, 15 ноября 2026 г. в 00:00:08
javascript
NVM for Windows v2: переписан с нуля — Go в ядре и нативная дружба с Windows

(Node Version Manager - инструмент для управления разными версиями Node.js на одном компьютере: установка, переключение между ними)Источник: статья автора проекта Corey Butler «Why We Rewrote NVM for Windows» (6 октября 2026) и официальная документация nvm-windows.После более чем десяти лет жизни версии 1 проект NVM for Windows получил полностью переписанную вторую версию. Это не косметический апдейт: изменены язык и архитектура ядра, модель работы с node.exe, способ хранения настроек, схема ди…

  • воскресенье, 15 ноября 2026 г. в 00:00:07
javascript
Библиотека из npm похищала ключи криптокошельков ещё до запуска приложения

С 9 ноября CodeScoring относит версию 13.3.0 JavaScript-библиотеки @ethersphere/bee-js для распределённого хранилища Swarm к вредоносным. При установке зависимости её код загружал вредонос, который пытался похитить ключи криптокошельков.Заражённый пакет вышел через штатный процесс публикации проекта. Под учётной записью выпуска bee-worker в официальный репозиторий внесли прямой коммит, а затем создали релиз, запустивший существующий workflow GitHub Actions. По данным Socket, сведения о сборке в…

  • суббота, 14 ноября 2026 г. в 00:00:07
javascript
Как я сделал игру в браузере с 0 опыта в геймдеве

1. Веб-разработчик, который ни разу не делал игрВ программировании я хоть и давно, но вся моя деятельность в основном была связана с веб-разработкой: сайты, приложения, аккуратные интерфейсы, которые должны работать в любом браузере и не разваливаться от одного неверного клика. Игр я не делал никогда. Хотел, конечно, — наверное, как и любой человек, который провёл детство за монитором. Но между «хочу сделать игру» и реальными действиями всегда стояли C#, C++, Unity, Unreal, Godot: чужая террито…

  • пятница, 13 ноября 2026 г. в 00:00:15
javascript
Metadata Validator | GitHub Теперь хардкор. Хотя если вы DevOps-инженер, то следующее объяснение б…

Metadata Validator | GitHubТеперь хардкор. Хотя если вы DevOps-инженер, то следующее объяснение будет для вас как воздухом подышать.Из докторской диссертации Ээлко Долстры (создателя Nix):"However, these contributions all follow from a small set of principles, foremost among them the purely functional model." "Однако все эти достижения следуют из небольшого набора принципов, главным из которых является чисто функциональная модель". - Стр. 16, § 1.5 – Contributions.Возможно, вы з…

  • пятница, 13 ноября 2026 г. в 00:00:13