Выкатили новую фичу, а потом бэкендер со своим Firefox пишет, что у него что-то не работает? Или пользователь с Safari жалуется на неудобства? Ничего страшного: поищем причину в интернете, починим баг и продолжим использовать для разработки Chrome </sarcasm>.В этой статье рассмотрим, почему проблемы кроссбраузерности никуда не пропали в 2026 году, и попробуем понять, как заранее определять появление ошибок.СтатистикаУже продолжительное время Chrome лидирует среди всего многообразия браузе…
Hardhat в третьей версии решили не мелочиться, взяли и сменили весь тестовый стек. Вместо привычной связки mocha + chai + ethers теперь такой родной node:test и viem. Апгрейд-гайды в основном рассказывают, как мигрировать конфиг, а вот как теперь писать тесты - материала заметно меньше. Я не так давно, буквально несколько дней назад, писал свой учебный проект на Hardhat 3 и собрал рецепт целиком. От init до ассертов на балансы. Всё из этой статьи ты сможешь повторить за вечерТестировать будем м…
Всем привет! Я фронтендер и по вечерам делаю пет-проект Workaem, агрегатор IT-вакансий. Как-то захотелось сделать рядом с ним что-нибудь несерьезное, и за выходные получилась аркада в духе Марио, только про карьеру в IT. Назвал я ее «Путь джуна». Вместо грибов тут офферы, вместо черепах легаси, а в замках вместо дракона сидят собеседования, от тестового задания до финального.Потом я еще пару вечеров ее доделывал, и по дороге всплыло много такого, с чем я как фронтендер раньше не сталкивался. Фи…
Чёрт, как же я люблю стандарты! Живёшь и радуешься: наконец-то почти во всё можно воткнуть USB-C… Ладно, статья не про USB-C, а про то, что в 2026 году JSON Schema наконец обзавелась “Стандартом”!Простите, теперь серьезно. JSON Schema и сам по себе стандарт, причём старый, и даже не один: первое предложение в 2007-м, draft-04, draft-07, draft-2020-12, openapi-3.0, и они не заканчиваются.Описывать JSON с помощью JSON - что может быть лучше? Вот что такое JSON Schema:{ "type": "obje…
Я работал над архитектурой LibreDB Studio — IDE для баз данных на TypeScript, которая поддерживает несколько SQL/NoSQL баз данных.Работая над слоем провайдеров, я пришёл к довольно строгой архитектуре провайдеров, чтобы сделать добавление новых баз данных безопаснее и сократить объём основного кода, который нужно менять.Я написал об этой архитектуре здесь:https://libredb.org/blog/building-universal-database-provider-typescript/Текущий процесс добавления провайдера задокументирован здесь:https:/…
Уведомления о результатах прогонов — важный элемент удобства при работе с тестами. Вместо того чтобы каждые пять минут проверять, закончился прогон или нет, вы просто получаете сообщение в Slack. Меньше отвлекающих факторов, больше времени в состоянии потока.В Allure Report такие уведомления были реализованы в версии 3.0 с помощью плагина для уведомлений в Slack. В этом руководстве я покажу, как настроить канал в Slack так, чтобы каждый запуск Allure Report отправлял туда сводку по результатам.…
React давно перестал быть просто библиотекой для отрисовки интерфейсов. Вокруг него выросла огромная экосистема, а сама работа фронтенд-разработчика меняется под влиянием ИИ быстрее, чем успевают обновляться привычные roadmap. Нужно ли сегодня глубоко знать JavaScript, стоит ли учить Next.js «по умолчанию», чем React выигрывает у Angular, что не так с вайб-кодингом и останется ли вообще ручное написание кода через пять лет?Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Алексан…
Когда транслитерация свернула не туда (взято отсюда)В чём проблема?Обычно под термином транслитерация подразумевают написание русскоязычного текста latinskimi bukvami. Однако это лишь одна сторона транслитерации — романизация (или латинизация), которая преобразовывает любую нелатинскую письменность в латиницу, например:китайский / японский / корейский / хинди / арабский / греческий / русский > латиница / английскийСуществует множество библиотек, которые романизируют различные языки. Ещё мень…
ВступлениеПривет, меня зовут Иван Некипелов, я технический руководитель команды фронтенд-инфраструктуры в RWB.Эта статья для frontend-разработчиков, которые хотят сделать растущее приложение проще в поддержке. На примере маркетплейса покажем, как разделить код на модули, связать сервисы и проверять бизнес-логику отдельно от интерфейса. Примеры написаны на React и TypeScript, но подход можно использовать с другим UI-фреймворком.Основной вопрос — как провести границы между частями приложения. Офо…