Category : javascript

javascript
Почему JavaScript-функция RegExp.escape() экранирует латинские буквы, пробелы и ухо луны

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

  • четверг, 19 марта 2026 г. в 00:00:08
javascript
JS — мне сегодня 30 лет

В 2025 году JavaScript исполнилось 30 лет — хороший повод попытаться объять необъятное разобраться, как он меняется и в каком направлении развивается. За три десятилетия язык переживал периоды скепсиса и бурного роста, обрастал экосистемой и стандартами, и в итоге вышел далеко за пределы браузера, охватив серверную и кросс‑платформенную разработку.Всем привет! Меня зовут Владимир, я разработчик СберБанк Онлайн в канале «веб», и в этой статье я хотел бы затронуть этапы эволюции JavaScript, зафик…

  • четверг, 19 марта 2026 г. в 00:00:06
javascript
Codemod в JavaScript: как менять сотни файлов кода с помощью jscodeshift

Всем привет! Меня зовут Саша. Я тимлид команды разработки личного кабинета пользователя в Банки.ру, и хочу рассказать про свой опыт изучения codemod и jscodeshift для оптимизации работы с кодом. Для бизнеса важна скорость, с которой мы адаптируемся к изменениям на проектах и разбираемся с техдолгом. А изменений у нас хватает — у нас выходят регулярные breaking changes вроде обновлений API и синтаксиса, изменения в UI-kit и прочее. Еще у нас много крупных проектов, которые надо поддерживать в ак…

  • четверг, 19 марта 2026 г. в 00:00:05
javascript
Пишем Pac-Man на чистом JavaScript: ностальгия, «Пиксели» и туман войны

Сцена почти как в фильме 1. Введение: кино, которое разбудило воспоминания.Недавно, когда писал статью про «Тетрис», я поймал себя на мысли, что вспоминаю не только падающие блоки, но и другой культовый проект — жёлтый кругляш, вечно убегающий от призраков. А потом в памяти всплыл фильм «Пиксели» (2015). Там есть сцена, которая одновременно смешная — жутковатая: создатель Пакмана, Тору Иватани, выходит к гигантскому Пакмену и пытается с ним поговорить по-отечески: «Пакман, я сделал тебя. Ты та…

  • четверг, 19 марта 2026 г. в 00:00:05
javascript
ChatGPT 5.4 Pro: обзор, бенчмарки, сравнение

Помните, как пару лет назад мы восхищались тем, что нейросеть может написать связный абзац? А год назад – что она осилила код без синтаксической ошибки? Сегодня планка взлетела так высоко, что уникальные способности моделей превращаются в стандартный пакет услуг.OpenAI выкатила GPT‑5.4 Pro. И если раньше слово “Pro” в названии часто означало просто “чуть больше токенов и подороже”, то теперь это действительно профессорский уровень. Модель берёт сложнейший тест ARC-AGI-2 с результатом 83,3% (про…

  • среда, 18 марта 2026 г. в 00:00:05
javascript
Почему ИИ выдаёт глупый код — и как это исправить

Скинули в ИИ текст ошибки. Получили поверхностный ответ. Закрыли вкладку. «Этот ваш ИИ – глупый какой-то».Узнали? Согласны?Статья собрана по заметкам из телеграм-канала автора.Откуда берётся разочарованиеПервый опыт с ИИ почти у всех одинаков: открыть chatgpt.com, написать вопрос, получить ответ. Модель отвечает связно, но поверхностно. Код не подходит к проекту. Объяснение — как из учебника для начинающих.Вывод напрашивается сам: «ИИ хорош для болтовни, но не для реальной работы».Этот вывод не…

  • среда, 18 марта 2026 г. в 00:00:04
javascript
Event Loop для начинающих. Не так страшно, как вам рассказывали

JavaScript выполняет код в одном основном потоке. Это означает, что инструкции выполняются последовательно — одна за другой. Получил команду — выполнил. Но что делать интерпретатору, если он встречает код, который не может выполнить сразу? Например, обработчик события. Пока событие, допустим, клик на кнопку, не произошло, код внутри обработчика не выполнится. Такой код называют асинхронным. К асинхронным операциям относятся, например, таймеры (setTimeout), сетевые запросы или события интерфейса…

  • среда, 18 марта 2026 г. в 00:00:04
javascript
Дроны над Дубаем и новостной агрегатор: Flask, MCP-сервер, AI-агент и Telegram-бот

28 февраля 2026 года я стоял у окна на 41-м этаже в JBR в Дубае и смотрел, как системы ПВО ОАЭ перехватывают иранские беспилотники прямо над моей головой. Полез в новости — в Google и Яндексе статья двухчасовой давности, Telegram‑каналы противоречат друг другу. Когда это происходит где‑то далеко, не придаёшь этому значения. Когда ты в центре событий, то хочешь знать оперативную информацию, желательно с push‑уведомлениями. Начал с Telegram‑канала по Ближнему Востоку — агрегировал RSS мировых аге…

  • вторник, 17 марта 2026 г. в 00:00:10
javascript
Что такое dataLayer на самом деле: от аналитиков — разработчикам

Если спросить разработчика, что такое dataLayer, чаще всего ответ будет примерно такой: «Ну это что-то из GTM». Я понимаю, что вот вы, конкретно вы, уважаемый читатель, так не отвечаете, и никто так не отвечает, но у меня вот такая статистика. А если спросить аналитика, что нужно для настройки событий, ответ будет: «Нужно просто пушнуть это в dataLayer» Здесь начинается легкое раздражение с обеих сторон. Разработчику кажется, что это часть Google Tag Manager, которую он не обязан понимать. Ана…

  • вторник, 17 марта 2026 г. в 00:00:09