Category : javascript

javascript
Почему баги кроссбраузерности до сих пор никуда не исчезли

Выкатили новую фичу, а потом бэкендер со своим Firefox пишет, что у него что-то не работает? Или пользователь с Safari жалуется на неудобства? Ничего страшного: поищем причину в интернете, починим баг и продолжим использовать для разработки Chrome </sarcasm>.В этой статье рассмотрим, почему проблемы кроссбраузерности никуда не пропали в 2026 году, и попробуем понять, как заранее определять появление ошибок.СтатистикаУже продолжительное время Chrome лидирует среди всего многообразия браузе…

  • среда, 16 сентября 2026 г. в 00:00:08
javascript
Тестируем смарт-контракты на Hardhat 3: node:test, viem и ни одного mocha

Hardhat в третьей версии решили не мелочиться, взяли и сменили весь тестовый стек. Вместо привычной связки mocha + chai + ethers теперь такой родной node:test и viem. Апгрейд-гайды в основном рассказывают, как мигрировать конфиг, а вот как теперь писать тесты - материала заметно меньше. Я не так давно, буквально несколько дней назад, писал свой учебный проект на Hardhat 3 и собрал рецепт целиком. От init до ассертов на балансы. Всё из этой статьи ты сможешь повторить за вечерТестировать будем м…

  • среда, 16 сентября 2026 г. в 00:00:06
javascript
Марио про джуна: платформер на 40 КБ без файлов графики и бот, который проверяет каждый уровень пер…

Всем привет! Я фронтендер и по вечерам делаю пет-проект Workaem, агрегатор IT-вакансий. Как-то захотелось сделать рядом с ним что-нибудь несерьезное, и за выходные получилась аркада в духе Марио, только про карьеру в IT. Назвал я ее «Путь джуна». Вместо грибов тут офферы, вместо черепах легаси, а в замках вместо дракона сидят собеседования, от тестового задания до финального.Потом я еще пару вечеров ее доделывал, и по дороге всплыло много такого, с чем я как фронтендер раньше не сталкивался. Фи…

  • среда, 16 сентября 2026 г. в 00:00:06
javascript
Standard JSON Schema vs JSON Schema

Чёрт, как же я люблю стандарты! Живёшь и радуешься: наконец-то почти во всё можно воткнуть 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…

  • вторник, 15 сентября 2026 г. в 00:00:13
javascript
Проектирование архитектуры плагинов для сторонних провайдеров баз данных в TypeScript-приложении

Я работал над архитектурой LibreDB Studio — IDE для баз данных на TypeScript, которая поддерживает несколько SQL/NoSQL баз данных.Работая над слоем провайдеров, я пришёл к довольно строгой архитектуре провайдеров, чтобы сделать добавление новых баз данных безопаснее и сократить объём основного кода, который нужно менять.Я написал об этой архитектуре здесь:https://libredb.org/blog/building-universal-database-provider-typescript/Текущий процесс добавления провайдера задокументирован здесь:https:/…

  • вторник, 15 сентября 2026 г. в 00:00:12
javascript
Уведомления для Slack в Allure 3

Уведомления о результатах прогонов — важный элемент удобства при работе с тестами. Вместо того чтобы каждые пять минут проверять, закончился прогон или нет, вы просто получаете сообщение в Slack. Меньше отвлекающих факторов, больше времени в состоянии потока.В Allure Report такие уведомления были реализованы в версии 3.0 с помощью плагина для уведомлений в Slack. В этом руководстве я покажу, как настроить канал в Slack так, чтобы каждый запуск Allure Report отправлял туда сводку по результатам.…

  • вторник, 15 сентября 2026 г. в 00:00:10
javascript
React в 2026 году: вайб-кодинг, Next.js, рынок и фронтенд после прихода ИИ — интервью с Александром…

React давно перестал быть просто библиотекой для отрисовки интерфейсов. Вокруг него выросла огромная экосистема, а сама работа фронтенд-разработчика меняется под влиянием ИИ быстрее, чем успевают обновляться привычные roadmap. Нужно ли сегодня глубоко знать JavaScript, стоит ли учить Next.js «по умолчанию», чем React выигрывает у Angular, что не так с вайб-кодингом и останется ли вообще ручное написание кода через пять лет?Я, Александр, автор телеграм-канала «Shulepov Code», поговорил с Алексан…

  • вторник, 15 сентября 2026 г. в 00:00:09
javascript
JS/TS библиотека для транслитераций между 50 языками (2450 комбинаций)

Когда транслитерация свернула не туда (взято отсюда)В чём проблема?Обычно под термином транслитерация подразумевают написание русскоязычного текста latinskimi bukvami. Однако это лишь одна сторона транслитерации — романизация (или латинизация), которая преобразовывает любую нелатинскую письменность в латиницу, например:китайский / японский / корейский / хинди / арабский / греческий / русский > латиница / английскийСуществует множество библиотек, которые романизируют различные языки. Ещё мень…

  • вторник, 15 сентября 2026 г. в 00:00:07
javascript
Как разделить фронтенд на модули и связать их между собой: на примере маркетплейса

ВступлениеПривет, меня зовут Иван Некипелов, я технический руководитель команды фронтенд-инфраструктуры в RWB.Эта статья для frontend-разработчиков, которые хотят сделать растущее приложение проще в поддержке. На примере маркетплейса покажем, как разделить код на модули, связать сервисы и проверять бизнес-логику отдельно от интерфейса. Примеры написаны на React и TypeScript, но подход можно использовать с другим UI-фреймворком.Основной вопрос — как провести границы между частями приложения. Офо…

  • вторник, 15 сентября 2026 г. в 00:00:06