Category : javascript

javascript
Baseline: декабрь 2025

Обзор на браузерные API, которые стали Widely available в декабре 2025. Раз в месяц я буду вам напоминать, что вы уже можете использовать в проде. Каждый месяц выходят новые CSS-свойства, HTML-атрибуты, JavaScript-методы и WebAPI, но применять в проде мы их конечно же не будем. 2.5 года назад также каждый месяц выходили новые фичи в браузере, а вот их уже пора начинать применять.Как мы понимаем, что уже можно использовать в проде?У каждой компании, да что уж там компании, у каждой команды в ком…

  • пятница, 16 января 2026 г. в 00:00:13
javascript
Генерация 3D-мешей из текста

Привет, Хаброжители!Недавно мне захотелось научиться преобразовывать текст в 3D-меши для последующего рендеринга, так, чтобы такими объектами можно было манипулировать в рамках моего проекта Geotoy и на языке Geoscript. Я занялся исследованием инструментов и библиотек, которые могли бы решать разные аспекты этой задачи, и потом собрал конвейер, реализующий всё вместе. Получились красивые 2-многообразные 3D-меши, поддерживающие произвольные шрифты, текстовые стили и многое другое.В этом посте мы…

  • пятница, 16 января 2026 г. в 00:00:12
javascript
Javascript: прощай, Date, здравствуй, Temporal

Время выставляет нас всех дураками, и JavaScript в этом не исключение. Честно говоря, меня это особо не задевало: по большей мере меня радуют маленькие странности JavaScript.Мне нравится, когда можно увидеть обратную сторону; какой бы формальной и железобетонной ни казалась спецификация ES-262, мы всё равно замечаем (если знать, куда смотреть) в ней все хорошие и плохие решения, принятые сотнями людей, разрабатывавших язык. У JavaScript есть характер. Да, он не всегда делает всё в точности так,…

  • четверг, 15 января 2026 г. в 00:00:07
javascript
Убийцы иммутабельной производительности — Zustand/Redux в связке с React

Иммутабельные паттерны разработки UI-приложений в последние годы стали одними из самых популярных благодаря сочетанию простой архитектуры и хорошей производительности. Они строятся на функциональном программировании без классов, используя стандартные структуры данных (без лишней магии и Proxy), быстрое (ссылочное / поверхностное) сравнение и мемоизацию на всех уровнях. В общем, принципы практически те же, на которых строится и сам React. Минусом же данных паттернов является ухудшение производит…

  • среда, 14 января 2026 г. в 00:00:04
javascript
Анимированные визуализации потоков данных: движение товаров, денег и пользователей

В современном мире данным кроме накапливания ещё присуще такое свойство как двигаться. Причём они движутся постоянно. Пользователи переходят между страницами и приложениями, товары перемещаются по глобальным логистическим сетям, а деньги циркулируют между счетами, банками и платёжными системами.В таких условиях традиционные инструменты аналитики — таблицы, статические графики и отчёты, хорошо отвечают на вопросы сколько? и ему подобные, но плохо показывают как именно это происходит. Чтобы понят…

  • среда, 14 января 2026 г. в 00:00:03
javascript
По-компонентный vs централизованный i18n

Подход по компонентам — не новое понятие. Например, в экосистеме Vue vue-i18n поддерживает [i18n SFC (Single File Component)](https://vue-i18n.intlify.dev/guide/advanced/sfc.html). Nuxt также предлагает [переводы на уровне компонента](https://i18n.nuxtjs.org/docs/guide/per-component-translations), а Angular использует похожий паттерн через свои [Feature Modules](https://v17.angular.io/guide/feature-modules).Даже в Flutter-приложении часто встречается следующий паттерн:lib/ └── features/ └── log…

  • среда, 14 января 2026 г. в 00:00:02
javascript
Практика по исправлению рекурсивных импортов во фронтенд приложении

Ранее публиковал теоретическую часть по рекурсивным импортам, желательно ознакомиться перед тем как продолжить, чтобы было общее преставление.Рекурсивные импорты рассмотрим на примере React/Redux приложении.Исходный код приложения опубликован тут, можете склонировать и попробовать самостоятельно исправить ошибки. Так сказать закрепить теорию на практике.Barrel файлы и рекурсивные импортыЧастая ошибка, связанная с рекурсивными импортами — это использование barrel файлов. Желательно их не использ…

  • вторник, 13 января 2026 г. в 00:00:08
javascript
Подходы к state management в React

Две проблемы React-разработчикаУ React-разработчика две беды:Целевые данные изменились, а ререндера не произошло.Целевые данные не изменились, а ререндер произошёл.Есть много способов подружить данные с UI. В рамках этой статьи я пройдусь по популярным подходам: разберём, как устроены подписки, почему происходят лишние ререндеры, и когда какой инструмент подходит лучше. Выбор библиотек основан только на личном опыте: описал то, с чем сталкивался лично. В целом, все библиотеки из списка крайне п…

  • вторник, 13 января 2026 г. в 00:00:06
javascript
Инвестиционные боты (почти) с нуля. Часть 1: теория и первые шаги реализации

Иллюстрация процесса (сгенерировано https://grok.com/) Всем привет.В этой части мы изучим базовую теорию и перейдем к практическому применению.Коротко о том, чем мы тут занимаемся К сожалению, на Хабре я не прошел песочницу с нулевой частью, поэтому вот ссылка на часть 0, где идет описание целей более подробно.Для лиги лени добавляю краткое описание.Цель проста как мир: получать деньги ничего не делая. Это все упрощение, но именно этого я добиваюсь. Для этого я использую свои знания в програм…

  • вторник, 13 января 2026 г. в 00:00:05