Артур БасакWeb UI/UX Engineer | arturbasak.devЭта статья выросла из ростка моего цифрового сада.Скрытый текстTL;DR: Wildberries набирает 90% в Lighthouse, но незрячий пользователь не может завершить покупку. Основные проблемы: невидимый фокус, недоступные фильтры, отсутствие озвучки уведомлений.После Приорбанка я думал, кого взять следующим для небольшого публичного аудита. Недавно минула пора праздников, и что-то мне подсказывает, что многие делали покупки в онлайн-маркетах, чтобы приобрести п…
Решил допилить карточную игрульку на голом js.В самом начале, больше полугода назад,просто поставил задачу Qwen-у и сказал: "Пиши код!".Через 3-4 промт-разауже всё (ну, ок, не всё — каркас) работало...НОабсолютно адекватно работало везде,кроме мобильного FireFox.Тут для меня, как для любителя,разверзлись бездны интересного,которые, как известно благодаря гражданину Парето,открываются на последних 20% работы,которые требуют 80% всего времени.Оказывается дело в drag-n-drop,который у меня …
ИнтроЭто история о том, как «кривой» роутер научил меня смотреть на память браузера иначе. Есть вкладка с ИИ-чатом, есть WebSocket/Streaming, есть обычный i5. И есть момент, когда все это превращается в кирпич: вкладка раздувается до гигабайтов, процессор залипает, страница оживает только на пару минут после перезагрузки.ЛидПроблема оказалась не в нейросетях и не в JS. Виновник — старый домашний роутер, который не вывозил IPv6 и фрагментацию. Итог — застрявшие пакеты, нарастающий буфер в браузе…
Как выглядит моя доска.Эта история не о строчках кода, а о том, как мы с другом устали смотреть на пустую доску в офисе. Сначала мы сделали свою версию проекта — с партнёрами и погодой, как мы предполагали по возможным требованиям. Потом я создал версию для себя: с котиками из Giphy API, бегущей строкой цитат и анимированной погодой. В этой статье — о том, как из простого желания добавить красок в рабочее пространство родился личный Preloader перед началом работы, и как пустота корпоративного э…
У тебя продакшн-сервер. Он спокойно работал часами.А потом внезапно умер. Без предупреждения, без плавного деградирования. Просто мёртв.Виновник? Одна-единственная строчка кода, которая выглядит абсолютно безобидно:saveMessageToDatabase(data);СитуацияТы пишешь API для чата. Хочешь, чтобы ответ от ИИ сразу полетел пользователю стримингом, а сохранение в базу шло фоном. Классический fire-and-forget:async function handleChat(request) { try { const stream = await callAI(request); // …
Привет, Хабр! Меня зовут Александр Дудукало, я автор курса по JavaScript. Сегодня мы поговорим о ключевом навыке разработчика. С помощью чего сделать код лаконичнее и выразительнее, при этом заменяя громоздкие циклы простыми конструкциями?Владение методами массивов — это и есть тот самый ответ. Это база, которая позволяет писать код, понятный человеку, а не только машине, и умение переключиться с вопроса «как сделать» на результат «что получить».Мы разберем три самых полезных метода: map — для …
Если вы когда-нибудь писали фронтенд на TypeScript и получали в проде Cannot read property 'x' of undefined, — добро пожаловать в клуб!TypeScript спасает нас от сотен ошибок… но только пока код не запущен. Как только он скомпилировался, типы исчезают, и в рантайме вы снова остаетесь один на один с невалидными данными.И вот тут начинается: меняется API, формы шлют что угодно, аналитика ломает отчёты, а тесты молчат.В Островке мы попробовали библиотеку Valibot — легковесный runtime-валида…
Всем привет! Я собираюсь написать цикл статей о работе с React Native. Эти статьи предназначены для тех, кто только начинает работу с этим кроссплатформенным фреймворком, но уже обладает некоторым опытом работы с React. Я постараюсь подробно изложить каждый шаг, чтобы вам не пришлось искать дополнительную информацию в интернете. Однако некоторые базовые аспекты, например, что такое React, Node и прочее, которые не будут объяснены, вы сможете изучить по ссылочкам, что я прикреплю.ВведениеМой инт…
WordPress Cookie предупреждение без плагина – это то, что вам нужно, чтобы соблюдать закон и не замедлять работу вашего сайта. Лично я пришёл к этому не сразу и использовал плагин, но потом работал над ускорением сайта по PageSpeed Insights и отказался от плагина.Почему стоит минимизировать использование плагинов WordPressЯ всегда был убежден в том, что плагины для WordPress нужно использовать как можно меньше. Причин несколько – это и проблемы с безопасностью и, конечно, замедление работы всег…