Category : javascript

javascript
Как компьютер понимает Языки программирования: история о том, как ваш код превращается в нули и еди…

Привет, Хабр! (И тебе, случайный читатель, который думает, что “код - это магия”, а процессор - маленький гномик, который внутри ноутбука читает for i in range(10) и послушно бегает кругами.)Сегодня разберёмся с вопросом, который в какой-то момент приходит в голову каждому разработчику (пока его не вытеснил дедлайн):Как компьютер "читает" Python, 1С или любой другой язык, если понимает только 0 и 1? И почему идеальный код порой превращается в "segmentation fault", "Неопредел…

  • вторник, 27 января 2026 г. в 00:00:06
javascript
Плиточная карта России на React: прототип с drag & drop и zoom без библиотек

Вновь здравствуйте, снова я — Дмитрий, React-разработчик. Все мы видели с вами вот такие карты, именуемые картойдами в данном случае — карта России, я взял первую попавшуюся из интернета для примера.И вот возник вопрос, как такое сделать, и сделать без использования библиотек? А давайте попробуем! В этой статье я покажу, как сделать интерактивную карту России на React с плитками, поддержкой drag & drop и масштабированием, без внешних библиотек.Это будет базовый набросок React + JS для взаим…

  • вторник, 27 января 2026 г. в 00:00:05
javascript
SVG-фильтры как язык атак: кликджекинг нового поколения

Команда JavaScript for Devs подготовила перевод исследования о новой технике кликджекинга, которая использует SVG-фильтры как полноценную среду выполнения логики. Автор показывает, как с их помощью читать пиксели, строить логические схемы, реализовывать многошаговые атаки и даже эксфильтрировать данные через QR-коды — включая реальный кейс атаки на Google Docs.Кликджекинг — это классическая атака, суть которой заключается в том, что поверх страницы размещается iframe с другим сайтом, чтобы обма…

  • вторник, 27 января 2026 г. в 00:00:04
javascript
Алгоритм резолва зависимостей в Angular Ivy: Математика Блум-фильтров и битовые маски

В своей прошлой статье я рассмотрел, как работает Dependency Injection в Ангуляре, но остался один интересный вопрос, как Ангуляр находит и резолвит сервисы в иерархиях почти моментально? Чтобы понять, как Angular находит сервисы в иерархии инжекторов так быстро, нужно заглянуть под капот Ivy. Главная оптимизация здесь переход от объектной модели (View Engine) к структуре плоских массивов и битовых масок.Структуры данных: LView и TViewПервая и главная оптимизация Ivy использование паттерна Flyw…

  • понедельник, 26 января 2026 г. в 00:00:05
javascript
Cryanide как альтернативная ветвь развития web-технологий

ПрологСайты появились практически сразу после создания всемирной паутины. С каждым десятилетием браузеры и web-сервера развивались, каждое новое поколение меняло языки программирования и стандарты, с каждым разом индустрия предлагает всё более новый подход к разработке сайтов и web-приложений.К чему это нас привело? Если вспомнить технологии нулевых, то решения тех времён имели недостатки, но для работы сайтов это был эталон: язык программирования PHP хоть и работал со скриптами небрежно, запус…

  • понедельник, 26 января 2026 г. в 00:00:04
javascript
Аудит доступности Wildberries. Может ли незрячий пользователь купить Бэтмобиль?

Артур БасакWeb UI/UX Engineer | arturbasak.devЭта статья выросла из ростка моего цифрового сада.Скрытый текстTL;DR: Wildberries набирает 90% в Lighthouse, но незрячий пользователь не может завершить покупку. Основные проблемы: невидимый фокус, недоступные фильтры, отсутствие озвучки уведомлений.После Приорбанка я думал, кого взять следующим для небольшого публичного аудита. Недавно минула пора праздников, и что-то мне подсказывает, что многие делали покупки в онлайн-маркетах, чтобы приобрести п…

  • понедельник, 26 января 2026 г. в 00:00:03
javascript
О пользе ИИ и нюансах его использования

Решил допилить карточную игрульку на голом js.В самом начале, больше полугода назад,просто поставил задачу Qwen-у и сказал: "Пиши код!".Через 3-4 промт-разауже всё (ну, ок, не всё — каркас) работало...НОабсолютно адекватно работало везде,кроме мобильного FireFox.Тут для меня, как для любителя,разверзлись бездны интересного,которые, как известно благодаря гражданину Парето,открываются на последних 20% работы,которые требуют 80% всего времени.Оказывается дело в drag-n-drop,который у меня …

  • понедельник, 26 января 2026 г. в 00:00:02
javascript
Как старый роутер съел 2.5 ГБ ОЗУ в моей вкладке, или cетевой инфаркт асинхронного кода

ИнтроЭто история о том, как «кривой» роутер научил меня смотреть на память браузера иначе. Есть вкладка с ИИ-чатом, есть WebSocket/Streaming, есть обычный i5. И есть момент, когда все это превращается в кирпич: вкладка раздувается до гигабайтов, процессор залипает, страница оживает только на пару минут после перезагрузки.ЛидПроблема оказалась не в нейросетях и не в JS. Виновник — старый домашний роутер, который не вывозил IPv6 и фрагментацию. Итог — застрявшие пакеты, нарастающий буфер в браузе…

  • воскресенье, 25 января 2026 г. в 00:00:03
javascript
От пустоты к идее: как я создал свою первую доску вдохновения

Как выглядит моя доска.Эта история не о строчках кода, а о том, как мы с другом устали смотреть на пустую доску в офисе. Сначала мы сделали свою версию проекта — с партнёрами и погодой, как мы предполагали по возможным требованиям. Потом я создал версию для себя: с котиками из Giphy API, бегущей строкой цитат и анимированной погодой. В этой статье — о том, как из простого желания добавить красок в рабочее пространство родился личный Preloader перед началом работы, и как пустота корпоративного э…

  • воскресенье, 25 января 2026 г. в 00:00:02