Gremlins.js
Gremlins.js – это инструмент для тестирования интерфейсов, который эмулирует случайные действия пользователя, такие как клики, свайпы и ввод текста. Он помогает выявлять неожиданные баги и проблемы с производительностью веб-приложений, имитируя хаотичное поведение пользователей.
👉 @sWebDev
Gremlins.js – это инструмент для тестирования интерфейсов, который эмулирует случайные действия пользователя, такие как клики, свайпы и ввод текста. Он помогает выявлять неожиданные баги и проблемы с производительностью веб-приложений, имитируя хаотичное поведение пользователей.
👉 @sWebDev
👍3
Деплой Next.js приложения с Deno Deploy
Туториал о поднятии приложения Next.js с использованием Deno Deploy: преимущества и шаги для интеграции технологий.
👉 @sWebDev
Туториал о поднятии приложения Next.js с использованием Deno Deploy: преимущества и шаги для интеграции технологий.
👉 @sWebDev
🔥3
Разрешение циклических зависимостей между провайдерами
В Angular при наличии циклических зависимостей между провайдерами нельзя напрямую указывать сервис в качестве зависимости другого.
Для отложенного определения зависимостей используется
Метод
Пример:
👉 @sWebDev
В Angular при наличии циклических зависимостей между провайдерами нельзя напрямую указывать сервис в качестве зависимости другого.
Для отложенного определения зависимостей используется
forwardRef()
, который позволяет ссылаться на провайдер до его фактического объявления. Однако внутри DI-контейнера такой провайдер остается обернутым в forwardRef()
. Метод
resolveForwardRef()
используется для разворачивания ссылки, если она была передана через forwardRef()
. Это позволяет явно получить оригинальное значение до его использования. Пример:
@Injectable()
export class ServiceA {
constructor(@Inject(forwardRef(() => ServiceB)) private serviceB: ServiceB) {}
}
@Injectable()
export class ServiceB {
constructor(@Inject(forwardRef(() => ServiceA)) private serviceA: ServiceA) {}
}
// Использование resolveForwardRef
const resolvedRef = resolveForwardRef(forwardRef(() => ServiceA));
// resolvedRef теперь содержит прямую ссылку на ServiceA
👉 @sWebDev
👍4
Chroma.js
Небольшая JavaScript-библиотека без зависимостей (размером около 13,5 КБ), предназначенная для различных цветовых преобразований и создания цветовых шкал. Позволяет считывать цвета из различных форматов, анализировать и манипулировать ими, а также генерировать цветовые палитры для визуализации данных.
👉 @sWebDev
Небольшая JavaScript-библиотека без зависимостей (размером около 13,5 КБ), предназначенная для различных цветовых преобразований и создания цветовых шкал. Позволяет считывать цвета из различных форматов, анализировать и манипулировать ими, а также генерировать цветовые палитры для визуализации данных.
👉 @sWebDev
👍3
Почему я не буду использовать JSDOM
В статье автор анализирует историю и ограничения JSDOM — библиотеки, созданной в 2010 году для эмуляции браузерной среды в Node.js. Несмотря на её популярность в тестировании фронтенд-кода, JSDOM сталкивается с проблемами несовершенной эмуляции браузера в Node.js, что приводит к ошибкам при обработке событий. Автор предлагает отказаться от использования JSDOM в пользу современных инструментов, обеспечивающих более точное соответствие реальным условиям работы приложений.
👉 @sWebDev
В статье автор анализирует историю и ограничения JSDOM — библиотеки, созданной в 2010 году для эмуляции браузерной среды в Node.js. Несмотря на её популярность в тестировании фронтенд-кода, JSDOM сталкивается с проблемами несовершенной эмуляции браузера в Node.js, что приводит к ошибкам при обработке событий. Автор предлагает отказаться от использования JSDOM в пользу современных инструментов, обеспечивающих более точное соответствие реальным условиям работы приложений.
👉 @sWebDev
🔥3
noUiSlider
Лёгкий и доступный JavaScript-слайдер диапазона с поддержкой мультитач и клавиатуры. Полностью анимирован с использованием GPU, что обеспечивает высокую производительность даже на старых устройствах. Идеально подходит для адаптивных дизайнов и не имеет внешних зависимостей.
👉 @sWebDev
Лёгкий и доступный JavaScript-слайдер диапазона с поддержкой мультитач и клавиатуры. Полностью анимирован с использованием GPU, что обеспечивает высокую производительность даже на старых устройствах. Идеально подходит для адаптивных дизайнов и не имеет внешних зависимостей.
👉 @sWebDev
👍4
Работа с CdkVirtualScrollViewport
Когда
Забыли? Вернитесь к посту от24.02.2025 .
👉 @sWebDev
Когда
CdkVirtualScrollViewport
обновляет элементы списка?Забыли? Вернитесь к посту от
👉 @sWebDev
❤3
Когда CdkVirtualScrollViewport обновляет элементы списка?
Anonymous Quiz
15%
1. При каждом изменении данных.
20%
2. При изменении trackBy.
56%
3. Только при прокрутке.
9%
4. При изменении размеров экрана.
👍3🔥1
Предзагрузка всех модулей в Angular
В Angular модули загружаются лениво (
Пример:
Этот код заставляет Angular загружать все модули в фоне после загрузки главного модуля. Это уменьшает задержки при переходах, но увеличивает начальную загрузку.
👉 @sWebDev
В Angular модули загружаются лениво (
lazy loading
), чтобы не перегружать приложение. Однако, если модули нужны часто, можно предзагрузить их заранее с preloadAllModules
. Пример:
import { NgModule } from '@angular/core';
import { RouterModule, Routes, PreloadAllModules } from '@angular/router';
const routes: Routes = [
{ path: 'dashboard', loadChildren: () => import('./dashboard/dashboard.module').then(m => m.DashboardModule) },
{ path: 'profile', loadChildren: () => import('./profile/profile.module').then(m => m.ProfileModule) }
];
@NgModule({
imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],
exports: [RouterModule]
})
export class AppRoutingModule {}
Этот код заставляет Angular загружать все модули в фоне после загрузки главного модуля. Это уменьшает задержки при переходах, но увеличивает начальную загрузку.
👉 @sWebDev
👍4
Glider.js
Glider.js — это компактный и гибкий карусельный слайдер, который не требует jQuery и работает плавно даже на мобильных устройствах. В отличие от тяжелых аналогов, он предлагает нативную поддержку перелистывания, кастомизацию через CSS и API для управления поведением.
👉 @sWebDev
Glider.js — это компактный и гибкий карусельный слайдер, который не требует jQuery и работает плавно даже на мобильных устройствах. В отличие от тяжелых аналогов, он предлагает нативную поддержку перелистывания, кастомизацию через CSS и API для управления поведением.
👉 @sWebDev
🔥5