Category : javascript

javascript
UML-редактор с блок-схемами по ГОСТ — как устроено внутри

Зачем мне понадобился свой редакторЯ работаю системным аналитиком, и UML-диаграммы для меня это часть работы. Но официальный редактор на plantuml.com из России не открывается, а ставить Java и плагин в IDE или VPN на рабочий компьютер не хочется.Поэтому я навайбкодил umleditor.ru - редактор UML-диаграмм в браузере. Пишешь код и сразу видишь схему. Регистрироваться не надо. Схемы рисует мой собственный PlantUML-сервер в Москве, так что код диаграмм не уходит на чужие сервисы.Весь сайт написал Cl…

  • среда, 14 октября 2026 г. в 00:00:08
javascript
LandTS или новый ответ на старые вопросы о разработке фронтенда

Организованная разработка фронтенда должна отвечать на три вопроса:как делать компонентыкак производить ререндер при изменении состояниякак работать с CSS-стилямиИ казалось бы библиотека, отвечающая на три таких вопроса может быть простой и давно закончена так как сами HTML и JS давно не претерпевали больших изменений. Единственное, однозначно новой вехой можно назвать появление TypeScript, как возможность следовать строгой типизации, но очевидно это не ограничивающих фактор.Однако история фрон…

  • среда, 14 октября 2026 г. в 00:00:07
javascript
Подмена камеры в Яндекс.Телемосте

В Telegram мне попался пост про Snap — расширение для Google Meet от @deniza‑png. Перед созвоном снимаешь пустую комнату, посреди звонка щёлкаешь пальцами и исчезаешь.Я сижу в Яндекс.Телемосте а не в Meet, поэтому решил сделать то же самое под него. А раз уж всё равно залезаю в видеопоток, туда же можно положить и остальное, чего мне на созвонах не хватало: фон, маски, стикеры, субтитры с переводом, календарь и трекер рядом со звонком. Вообще в целом постарался засунуть туда по максимуму.Так по…

  • среда, 14 октября 2026 г. в 00:00:06
javascript
Session replay и 152-ФЗ: что нельзя записывать и как мы маскируем поля

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

  • среда, 14 октября 2026 г. в 00:00:04
javascript
Эвакуация за один день: как я перенёс два приложения и детектив-ARG из облака под ударами на собств…

Привет, Хабр. Это продолжение истории студии из одного человека. В прошлый раз я рассказывал, как собрал детектив-ARG на чистой статике, а бэкенд моих двух приложений жил на serverless в Яндекс Облаке: Cloud Functions, YDB, Object Storage. Инфраструктура стоила ноль рублей в месяц, и я этим гордился.В ночь на 8 октября беспилотники атаковали дата-центр Яндекса в Сасово. 9 октября - дата-центр в Калуге. В ночь на 11 октября - третий, во Владимире, после чего Yandex Cloud перешёл в аварийный режи…

  • среда, 14 октября 2026 г. в 00:00:03
javascript
Неожиданный антивайб разработки через ИИ-агентов

Все пишут про вайбкодинг, кто то даже восхищается, заходя в условный дипсик или чатгпт. Это же лучшая возможность почувствовать себя программистом без понимания, что такое паттерны объектно-ориентированного программирования, функциональный, императивный или декларативный стиль разработки. Но всё ли так радужно или наоборот грустно? И так, что же такое антивайб.Лучше объяснить на пальцах. Вот свежий пример, как антивайб выглядит вживую. PostgreSQL 19 не вышел в сентябре, хотя последние пять лет…

  • вторник, 13 октября 2026 г. в 00:00:02
javascript
Слово не переводится, а реплика рядом переводится: разбираю баг во встроенном переводчике Chrome

Я сделал это расширение для себя. Смотрю фильмы и сериалы с английскими субтитрами, и раньше каждое незнакомое слово значило паузу и вкладку с переводчиком. Встроенный переводчик Chrome переводит страницы, а с субтитрами в видео не помогает. Поэтому у меня просто тултип: навёл на слово и сразу видишь перевод. Переводит Translator API, он встроен в Chrome и работает прямо на устройстве. О самом расширении я рассказывал в прошлой статье, тут только про один баг.Что сломалосьЯ проверял расширение …

  • понедельник, 12 октября 2026 г. в 00:00:02
javascript
Зачем быстрая реактивность за пределами DOM: ответы на вопросы и знакомство с Raph

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

  • воскресенье, 11 октября 2026 г. в 00:00:07
javascript
Не хочу грузить свои документы в онлайн-сервисы. Поэтому сжимаю PDF прямо в браузере

Нужно было загрузить на сайт посольства пакет документов одним PDF – свидетельство о рождении, дипломы, справки. Лимит – 1 МБ. Первое, что предлагает любой поисковик, – онлайн-сервисы «сжать PDF бесплатно». Загрузить туда сканы всех своих документов разом? Нет, спасибо.Сжать PDF без загрузки на сервер: kompakt.xronocode.com/compressTL;DRОнлайн-компрессоры PDF почти всегда работают так: вы загружаете файл на чужой сервер. Что с ним происходит дальше – вы не знаете и проверить не можете.Для личны…

  • воскресенье, 11 октября 2026 г. в 00:00:06