Category : javascript

javascript
JavaScript: заметка о свойствах source ToggleEvent и closedBy HTMLDialogElement

Привет, друзья!В этой небольшой статье я расскажу вам о новом свойстве события toggle — source, а также о новом атрибуте HTML-элемента dialog — closedby.Свойство source позволяет определять источник переключения видимости поповера (popover), а атрибут closedby позволяет декларативно управлять логикой закрытия dialog, но обо всем по порядку.❯ ToggleEvent.sourceДоступное только для чтения свойство source интерфейса ToggleEvent - это экземпляр объекта Element, представляющий собой элемент управлен…

  • пятница, 27 февраля 2026 г. в 00:00:07
javascript
Что нового в OpenIDE 2025.3: Java 25, Spring MCP, Go, Docker и JavaScript/TypeScript

OpenIDE 2025.3 базируется на обновлённой IntelliJ IDEA Platform 2025.3 и включает изменения как из апстрима, так и собственные доработки консорциума. Ниже разберём все заметные нововведения по порядку.Наш ответ Чемберлену! Дополнение через ".."В OpenIDE 2025.3 появилась фича под названием Command Completion. Идея в том, чтобы вызывать действия IDE прямо из автодополнения кода, без необходимости запоминать горячие клавиши или лезть в меню.Работает просто: ставите точку после выражения и …

  • пятница, 27 февраля 2026 г. в 00:00:05
javascript
Сборка мусора в V8: Scavenger, Mark and Sweep и Tri-color Marking

В части 1 мы выяснили, что объекты в Heap не освобождаются сами по себе этим занимается Garbage Collector. Но как именно GC решает, что можно удалить? Если подумать, задача не такая очевидная, объект не нужен - понятие логическое, а GC работает с физическим графом ссылок.Ответ в том, что GC не пытается угадать намерения программы. Он задаёт более простой вопрос, можно ли добраться до этого объекта из работающего кода? Если нельзя объект недостижим, и никакой код уже не сможет его использовать. …

  • пятница, 27 февраля 2026 г. в 00:00:04
javascript
Забыть про Backprop: Как я собрал «Термодинамический Мозг» с фазой сна и митозом, который влезет в …

Мы (человечество) очень хотим создать разум. Инопланетян мы пока не нашли, поэтому пытаемся собрать его сами из кремния и электричества. Но то, куда свернула индустрия сегодня, вызывает вопросы. Мы греем планету мегаваттами энергии, перемножая гигантские матрицы в дата-центрах, чтобы обучить LLM. Backpropagation и современный инференс - это непозволительно дорого и энергозатратно.А что если вернуться к истокам? Что если интеллект — это не градиентный спуск, а кристаллизация связей под давлением…

  • четверг, 26 февраля 2026 г. в 00:00:16
javascript
Проблема ретроспективного внедрения интернационализации (i18n)

Одна из главных проблем i18n в приложениях заключается в том, что о ней вспоминают в последнюю очередь.Обычно мы разрабатываем продукт, проверяем соответствие рынку (Product-Market Fit) и только спустя месяцы или годы решаем: «Пора выходить на глобальный уровень».Сложность в том, что решения для i18n носят структурный характер и сильно влияют на работу команды. Куда эффективнее закладывать это в техническое задание с первого дня.Как же с этим справиться? Заморозить разработку на неделю и рефакт…

  • четверг, 26 февраля 2026 г. в 00:00:15
javascript
Перестаем бороться с компилятором TypeScript и начинаем писать безопасный и строго типизированный к…

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

  • четверг, 26 февраля 2026 г. в 00:00:13
javascript
Потрошим расширения VS Code: как XSS превращается в кражу ваших SSH-ключей

Многие привыкли считать, что VS Code — это просто текстовый редактор. Но «под капотом» у нас старый добрый Electron со всеми вытекающими. Если расширение имеет доступ к файловой системе, а вы открываете в нём кривой файл поздравляю, вы в зоне рискаЯ решил покопаться в безопаснности популярных расширений от самой Microsoft: SARIF Viewer и Live Preview. Спойлер: удалось найти обход защиты (CVE-2022-41042) и вытащить локальные файлы через... DNS-запросы.Webviews: Песочница, которая иногда протекае…

  • четверг, 26 февраля 2026 г. в 00:00:12
javascript
Как мы оптимизировали компоненты во фронтенде: работа с импортами и package.json

Привет, Хабр! Меня зовут Василий Беляев. Я руководитель группы разработки по направлению фронтенда в ИТ-компании «Криптонит». В этой статье хочу поделиться опытом и рассказать об оптимизации библиотек: о том, с какими проблемами мы столкнулись, и как их пошагово решили.Для начала кратко опишу фронтовый стек у нас в «Криптоните»: мы те ребята, которые не пишут на React. У нас все проекты и библиотеки написаны на Vue + Composition API. Из дополнительных инструментов мы используем следующие:Typesc…

  • четверг, 26 февраля 2026 г. в 00:00:11
javascript
Согласованность API по принципу единого источника истины

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

  • четверг, 26 февраля 2026 г. в 00:00:10