Category : javascript

javascript
Ускоряем рендер сцены в three.js путем объединения мешей в один

В этом уроке научимся сокращать число мешей в сцене путем слияния их по одинаковым материалам.Пример блока на сайте с 3D модельюИзвестно, что, чем больше мешей внутри сцены, тем чаще нашему приложению требуется задействовать дорогостоящие операции по загрузке данных в видеокарту устройства пользователя (так называемые draw calls).Чтобы уменьшить число вызовов, замедляющих рендер нашей сцены, можно из мешей с одинаковыми материалами сделать один меш.Реализация алгоритмаНапишем фрагмент кода с п…

  • вторник, 18 июля 2023 г. в 00:00:16
javascript
Правда ли Astro так быстр, сравнение с Nuxt 3

ПредисловиеВсем привет, в последнее время, много вижу/читаю/слышу про astro, про то, какой он быстрый, производительный. Поэтому я решил потыкать Astro и параллельно проверить насколько он быстр - я написал на нем примитивный блог с 600 карточками и сравнил его по производительности с Nuxt 3 SSG.Производительность замерял с помощью pagespeed.Сразу хочу сказать, что я не претендую на правильность этих тестов - мне просто было интересно как обстоят дела в некоторых кейсах + было интересно потыка…

  • вторник, 18 июля 2023 г. в 00:00:16
javascript
Работа нестрогого равенства в JS на примере задачки

Недавно столкнулся с одной из "типовых" задач на собеседованиях. Просто увидел такое выражение где-то в интернете и не совсем понял как оно работает. А именно не понимал почему пустой массив дает 0.![] == [] Такое выражение вернет true.Решил конкретно рассмотреть данный пример по спецификации, и понять что происходит шаг за шагом.TL;DR![] - возвращаетfalse, потому что объект в Boolean всегда true и противоположность true - это falseПри нестрогом сравнении где операнды имеют разный тип,…

  • вторник, 18 июля 2023 г. в 00:00:15
javascript
Оптимизация изображений для пользователей с медленным интернетом с помощью Network Information API

Многие из нас привыкли к тому, что быстрый и стабильный интернет это данность в 2023 году, поэтому оптимизацией вебсайтов под этот случай особо не занимаются. Однако все еще остаются сценарии, когда это не так: например, в дороге между населенными пунктами или в некоторых помещениях, которые либо находятся под землей, либо плохо пропускают сигнал по какой-то другой причине.Для нашего проекта combat-sport.club как раз актуальна ситуация, когда взвешивание спортсменов перед проведением соревнова…

  • понедельник, 17 июля 2023 г. в 00:00:14
javascript
ES2023 — что нового в JavaScript?

ВведениеВ данной статье мы обсудим новые возможности работы с массивами в JavaScript, которые были добавлены в ES2023.findLast и findLastIndexДопустим, у нас есть массив с элементами:const arr = [0, 1, 2, 3, 7];Нам нужно найти элемент со значением 7, и мы предполагаем, что он находится ближе к концу массива.В предыдущем варианте когда мы использовали find(), мы бы делали это следующим образом:const arr = [0, 1, 2, 3, 7]; const res = arr.find(el => { console.log('Поиск'); return el =…

  • воскресенье, 16 июля 2023 г. в 00:00:15
javascript
Мультибрендинг сайта на Angular

Введение В последнее время все больше компаний сталкиваются с необходимостью создания нескольких брендов на одном сайте или приложении. Такая задача может быть связана с различными целевыми аудиториями пользователей, регионами или продуктами. Реализация мультибрендинга может быть непростой задачей, особенно если у вас уже есть готовый проект. В этой статье я расскажу, как на проекте с Angular добавить несколько брендов, как добавить разную для них логику, о преимуществах NX для этой задачи и …

  • воскресенье, 16 июля 2023 г. в 00:00:14
javascript
Работа с системой СИ на JavaScript

Система СИ и взаимосвязи между единицами физических величин.Программируя традиционным образом, очень просто упустить из виду, в каких единицах измеряются числа, с которыми мы оперируем. Например, можно сложить метры с литрами, и никакой компилятор нам при этом не поможет. Эта проблема реальная и уже доказано приводила к авариям, обошедшимся во многие миллионы долларов. (Одна из историй здесь).Избежать этого помогает использование специальных библиотек, которые корректно работают с физическими …

  • воскресенье, 16 июля 2023 г. в 00:00:13
javascript
Архитектура микрофронтенд с feature sliced design

В этой статье я рассказываю, как мне удалось сделать весьма не плохую архитектурное решение с применением Microfrontend и Feature Sliced Design. Вкратце что из себя представляет обе эти архитектуры.Microfrontend - пришедшее из мира микросервисов, где каждый сервис условно работает автономно и имеет не сильную связь с другими сервисами. Микрофронтенд применяется что-то из этого рода архитектур, где контейнер (App) условно разбит на несколько модулей, и каждый модуль может быть написан на разных…

  • суббота, 15 июля 2023 г. в 00:00:21
javascript
Вышел Chrome 115

Эта статья — перевод оригинальной статьи "New in Chrome 115".Также я веду телеграм канал “Frontend по-флотски”, где рассказываю про интересные вещи из мира разработки интерфейсов.Анимации основанные на скроле страницыАнимации основанные на скроле, являются распространенным UX паттерном в вебе. Анимации основанные на скроле страницы, связаны с позицией текущего скролбара. Это означает, что при прокрутке вверх или вниз связанная анимация движется вперед или назад в прямой зависимости от …

  • суббота, 15 июля 2023 г. в 00:00:20