WebAssembly находится в разработке уже более 8 лет. Технология прошла долгий путь развития и недавно разработчики из Bytecode Alliance выкатили версию 3.0.О WebAssembly уже много материалов, но сегодня нам важна сама суть. У нас есть возможность, воспользовавшись любым из доступных языков программирования, написать модуль с необходимой нам логикой и запустить в исполняемой среде браузера. Разработчики обещают: модули будут быстрее и безопаснее, чем JavaScript, а также созданные ранее технологии…
В статье о глобальной области видимости в JavaScript, мы коротко коснулись темы затенений (бурж. variable shadowing), в данной статье мы рассмотрим это явление подробнее.В одной области видимости, не может быть переменных или аргументов с одинаковыми именами. Нарушение данного правила ведёт к ошибке:function greetingUser(userName) { let userName = 'Васятка' // Uncaught SyntaxError: Identifier 'userName' has already been declared console.log(`Привет ${userName}`) } gr…
Я фронтенд-разработчик, и в одном из своих пет-проектов на React — сервисе с цветовыми палитрами — мне нужно было сделать функционал фильтров, токенов поиска и поиска по названию, где пользователь мог бы выбрать цвет, задать стиль палитры, отфильтровать по количеству цветов и вводить текстовый запрос. И все получилось: интерфейс удобный, всё меняется мгновенно, без перезагрузок, как и ожидается от современного приложения.Но возник простой вопрос: «А что из этого вообще видит поисковик?»И ответ…
Хочу рассказать о генераторе GLSL-кода для WebGL, позволяющем писать шейдеры буквально на JavaScript с некоторыми условностями, используя все удобства IDE, такие как рефакторинг, подсветка синтаксиса, автокомплит и проверка на ошибки, а в математических выражениях использовать обычные JS операторы: +, -, *, /, =, +=, -=, *=, /=, ++, --.Сразу приведу пример рабочего кода, чтобы было понятно, о чем идет речь:class VertexShader extends Shader { constructor(POSITION, NORMAL, TANGENT, NORMAL_MATRI…
b0w9rПривет, Хабр. Я b0w9r.Полтора года назад мои знания в разработке находились на отметке 0.00. Кто-то из вас, возможно, помнит мою историю: я начинал учить HTML и CSS, выписывая теги ручкой в тетрадь, потому что у меня не было ни ноутбука, ни компьютера.Я всё ещё иду по следам программирования, но недавно я сделал важный шаг — всего за 1 месяц я собрал и выкатил свой первый продукт: FocusMind (локальный рабочий хаб с Pomodoro, задачами и заметками).Оглядываясь на эти полтора года и этот безу…
У меня был проект, где один Next.js сайт обслуживал несколько доменов, и возникла задача - эффективно кешировать страницы, чтобы не пересоздавать их каждый раз. Сначала я попробовал внедрить кеширование через Redis: я написал хендлер, подключил его, но вскоре обнаружил, что Redis потребляет колоссальный объём оперативной памяти - порядка 100 ГБ, и это при том, что ещё не все запросы были закешированы. Тогда я решил поискать другой подход и обратил внимание на PVC - общее хранилище, которое могл…
ВступлениеВ этой статье я хочу показать, как на практике писать изоляционные UI-автотесты без флаков, стендов и бесконечной боли с окружением. Тема кажется противоречивой — UI-тесты традиционно считают самыми хрупкими и медленными — но на практике вокруг неё куда больше мифов, чем реальных ограничений.Самое важное — такие UI-тесты не сложные. Они выглядят максимально просто, запускаются быстро и при этом дают высокую стабильность. Я бы даже сказал, что это эталон современного подхода к UI-автом…
Привет, коллеги! Сегодня мы копнем в самую суть инженерного подхода. На повестке дня - сравнение двух кардинально разных философий создания сложного UI-компонента. Это не просто рассказ о DatePicker, это анализ стратегического выбора, который каждая команда делает каждый день: скорость в ущерб предсказуемости или наоборот?Исходный код доступен по ссылке: https://github.com/Codesrc-public-ru/ralf-datapickerЗа основу мы возьмем два реальных кейса. Первый - «AI-драфтинг», отлично описанный нашей с…
Автоматизация выгрузки отчетов в социальные сети часто превращается в каскад ошибок из-за специфики API и скрытых багов инструментов. В этой статье разберем, как загрузить Excel-отчет на сервера ВКонтакте (метод docs.save) через n8n v2.11.3, победить «тихое» затирание бинарных данных и исправить некорректную работу узла HTTP Request v4.4.Проблема: Двухэтапная загрузка и хрупкая подписьЗагрузка файлов в VK — это всегда два шага: сначала получение upload_url, затем POST-запрос с файлом. Главная с…