Category : javascript

javascript
Безошибочная работа с Kafka из Node js. Часть 3 Cтруктура сообщений, когда Kafka не нужна и теряет …

В предыдущих частях рассматривались аспекты публикации сообщений, ребалансировки консьюмер групп и масштабирования чтения, а также проектирования консьюмеров. Эта часть посвящена базовой структуре сообщений, неподходящим сценариям использования Kafka и гарантиям записи.Cтруктура сообщенийПри проектировании коммуникаций через Kafka нужно заранее позаботиться о двух вещах. Во-первых, о «скелете» сообщения, который заранее позволит решить ряд проблем c трассировкой, логированием, дедупликацией, по…

  • пятница, 1 мая 2026 г. в 00:00:06
javascript
Кэширование в Next.js App Router, как увидеть, почему данные не обновились

С кэшированием в Next.js обычно случается одна и та же история. API уже отдаёт новые данные, страница открывается заново, а на экране всё ещё старая версия. После этого в код быстро добавляют cache: "no-store", данные начинают запрашиваться на каждый заход, и через пару минут появляется уже другой вопрос - зачем тогда вообще нужен встроенный механизм кэширования.Проблема в том, что кэширование обычно звучит как одно явление, а на практике в App Router похожие ощущения могут давать разны…

  • пятница, 1 мая 2026 г. в 00:00:05
javascript
Как я добавил в браузерного AI-агента поддержку MCP за вечер

n0x c MCP Tools"Эта статья о том, как я n0x из просто болталки сделал агента который научился открывать браузер, делать скриншоты и выполнять командыВы когда-нибудь разговаривали с AI, и он в ответ на просьбу «открой Яндекс» писал вам: «Вот ссылка: https://yandex.ru»?Я — да. И каждый раз мне хотелось сказать: «Спасибо, капитан Очевидность, я и сам это знаю».Проблема в том, что большинство LLM-приложений — это просто болталки. Они генерируют текст, но не могут сделать что то полезное. А что,…

  • четверг, 30 апреля 2026 г. в 00:00:16
javascript
Telegram Mini App для PWA-приложения: как я перешёл с TWA для RuStore и что выяснил по дороге

Я разрабатываю PWA для голосовой практики английского. Несколько раз пытался опубликовать его в RuStore через Trusted Web Activity (TWA) — Google-обёртку, которая упаковывает PWA в подписанный Android AAB. После четырёх отказов модерации я понял, что для моего класса приложений TWA в RuStore не работает, и за день переключился на Telegram Mini App.Эта статья — не история стартапа, а разбор технических решений:Чем отличаются PWABuilder и Bubblewrap CLI при сборке TWA, и почему второй надёжнееКак…

  • четверг, 30 апреля 2026 г. в 00:00:15
javascript
Рабочее место не-вайбкодера по методу Spec-Driven Development: запускаем Claude Code

Привет, Хабр! Меня зовут Даниил Подольский, я программист и архитектор, разрабатываю программное обеспечение и спецификации для создания ПО в YADRO. Вот уже девять месяцев я использую методологию Spec-Driven Development (SDD) в работе и управляю AI-агентами, которые пишут код. При этом я не считаю себя вайбкодером, потому что мой подход к работе более комплексный, чем просто «общение с AI».  Это первая статья из цикла об оборудовании рабочего места SDD-кодера. Я расскажу о базовой настройке AI-…

  • четверг, 30 апреля 2026 г. в 00:00:13
javascript
Безопасность приложений на Typescript от А до Я: гайд по защите от очевидных и не очень уязвимостей

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

  • четверг, 30 апреля 2026 г. в 00:00:11
javascript
Проблемы санации SVG

Рендерер Scratch имеет долгую историю связанных с SVG уязвимостей. Их источником становится то, что Scratch парсит сгенерированный пользователем (то есть контролируемый нападающими) контент в элемент <svg> и добавляет его в основной документ для выполнения различных операций (например, для измерения ограничивающего прямоугольника SVG более надёжным образом, чем viewbox или width/height).Даже если SVG остаётся в основном документе очень недолго, это небезопасная по своей природе операция. …

  • четверг, 30 апреля 2026 г. в 00:00:10
javascript
WebAssembly: обзор технологии, эксперименты с числами и мечты о браузере без JS

WebAssembly находится в разработке уже более 8 лет. Технология прошла долгий путь развития и недавно разработчики из Bytecode Alliance выкатили версию 3.0.О WebAssembly уже много материалов, но сегодня нам важна сама суть. У нас есть возможность, воспользовавшись любым из доступных языков программирования, написать модуль с необходимой нам логикой и запустить в исполняемой среде браузера. Разработчики обещают: модули будут быстрее и безопаснее, чем JavaScript, а также созданные ранее технологии…

  • среда, 29 апреля 2026 г. в 00:00:13
javascript
Затенение в JavaScript

В статье о глобальной области видимости в JavaScript, мы коротко коснулись темы затенений (бурж. variable shadowing), в данной статье мы рассмотрим это явление подробнее.В одной области видимости, не может быть переменных или аргументов с одинаковыми именами. Нарушение данного правила ведёт к ошибке:function greetingUser(userName) {     let userName = 'Васятка' // Uncaught SyntaxError: Identifier 'userName' has already been declared     console.log(`Привет ${userName}`) } gr…

  • среда, 29 апреля 2026 г. в 00:00:09