ru
Feedback
Frontender Libs - обзор библиотек JS / CSS

Frontender Libs - обзор библиотек JS / CSS

Открыть в Telegram
7 754
Подписчики
-124 часа
-177 дней
-3730 день
Архив постов
Какой вариант ветки вам удобнее? 👍 – Main, уже привык. ❤️ – Master, так исторически сложилось. 🤔 – О чем вообще речь? 👉 @s
Какой вариант ветки вам удобнее? 👍 – Main, уже привык. ❤️ – Master, так исторически сложилось. 🤔 – О чем вообще речь? 👉 @sWebDev | #юмор

Custom Cursor Анимация курсора на Anime.js. 👉 @sWebDev

Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно. Кинопоиск
Дарим подписку на Яндекс Музыку Ответьте на 1 вопрос и Яндекс Музыка для вас и 3-х ваших близких 30 дней бесплатно. Кинопоиск и Яндекс Книги тоже в подписке. Попробуйте сейчас❤️ Попробовать #реклама 18+ music.yandex.ru О рекламодателе Реклама на Яндексе

Рендеринг длинных списков без потерь производительности в Angular В Angular рендеринг длинных списков может перегружать DOM,
Рендеринг длинных списков без потерь производительности в Angular В Angular рендеринг длинных списков может перегружать DOM, снижая производительность. CdkVirtualScrollViewport из Angular CDK решает эту проблему, рендеря только видимые элементы. Пример:
<cdk-virtual-scroll-viewport itemSize="50" class="viewport">
  <div *cdkVirtualFor="let item of items" class="item">
    {{ item }}
  </div>
</cdk-virtual-scroll-viewport>
Этот компонент создает виртуальный список, динамически заменяя элементы при прокрутке. В памяти остается только небольшое количество элементов, необходимое для отображения. Дополнительно можно задать динамическую высоту элементов:
<cdk-virtual-scroll-viewport [itemSize]="getItemSize()" class="viewport">
  <div *cdkVirtualFor="let item of items" class="item">
    {{ item }}
  </div>
</cdk-virtual-scroll-viewport>
getItemSize() {
  return window.innerWidth > 768 ? 50 : 100;
}
Это позволяет адаптировать высоту элементов к ширине экрана, улучшая UX. 👉 @sWebDev

Что делать, если прод упал? 👍 – Пинать сервер. ❤️ – Брать больничный. 🤔 – Искать баг. 👉 @sWebDev | #юмор
Что делать, если прод упал? 👍 – Пинать сервер. ❤️ – Брать больничный. 🤔 – Искать баг. 👉 @sWebDev | #юмор

Что позволяет делать метод runInInjectionContext()?
Anonymous voting

Работа с методом runInInjectionContext() Что позволяет делать метод runInInjectionContext()? Забыли? Вернитесь к посту от 03.
Работа с методом runInInjectionContext() Что позволяет делать метод runInInjectionContext()? Забыли? Вернитесь к посту от 03.02.2025. 👉 @sWebDev

Canvg Canvg — библиотека, которая позволяет рендерить SVG-контент на HTML5. Полезна для работы с графикой в браузерах, которы
Canvg Canvg — библиотека, которая позволяет рендерить SVG-контент на <canvas> HTML5. Полезна для работы с графикой в браузерах, которые не поддерживают SVG в полной мере или требуют манипуляций с графикой. 👉 @sWebDev

WaVvVvVvVeSsS Анимация волн на GSAP. 👉 @sWebDev

Квартиры в ЖК SOKOLNIKI! Рассрочка до 2,5 лет, ПВ от 10% Видовые квартиры бизнес+ класса возле парка от 28 м² от 400 000 руб./м² Первый взнос от 10% Гибкие программы рассрочки до 2,5х лет с переходом в ипотеку Квартиры от 28м² до 135м² От студий до семейных фоматов с большими гостиными Колясочные на этаже Все для удобства родителей Дизайнерские лобби Стильные входные группы Подземный паркинг Системы хранения велосипедов и самокатов Детский сад Закрытая территория Девелопер STONE 18 лет на рынке недвижимости. 27 проектов м. "Сокольники", 12 мин. от парка Перейти на сайт Проектная декларация на сайте https://наш.дом.рф/. Застройщик: ООО СЗ «КВАРТАЛ СОКОЛЬНИКИ». Финансовые услуги оказывает: ПАО "Совкомбанк". #реклама stone-sokolniki.ru О рекламодателе

Улучшение шаблонов Angular с помощью нетегированных шаблонных литералов Статья обсуждает улучшение в Angular версии 19.2.0-ne
Улучшение шаблонов Angular с помощью нетегированных шаблонных литералов Статья обсуждает улучшение в Angular версии 19.2.0-next.0, которое предоставляет разработчикам поддержку нетегированных шаблонных литералов, позволяя более эффективно и удобно работать с шаблонами в Angular-приложениях. 👉 @sWebDev

Virus-like shapes Анимация фигур в виде вирусов на Three.js. 👉 @sWebDev

Cropper.js Cropper.js — это легковесная и мощная JavaScript-библиотека для обрезки изображений, которая позволяет создавать и
Cropper.js Cropper.js — это легковесная и мощная JavaScript-библиотека для обрезки изображений, которая позволяет создавать интерактивные инструменты для работы с картинками на веб-страницах. Она особенно полезна для проектов, где пользователи могут загружать и редактировать свои изображения (например, аватарки, фото профиля или контент). 👉 @sWebDev

Как понять, что ты становишься опытным в JavaScript? 👍 – Уже не задаешь вопросов. ❤️ – Делаешь if (value == true) на всякий
Как понять, что ты становишься опытным в JavaScript? 👍 – Уже не задаешь вопросов. ❤️ – Делаешь if (value == true) на всякий случай. 🤔 – Когда typeof null === 'object' уже не вызывает боли. 👉 @sWebDev | #юмор

Новые бесплатные курсы в канале Selectel Newsfeed. Подойдут всем: от новичков до продвинутых айтишников. Вас ждут обзоры, инс
+5
Новые бесплатные курсы в канале Selectel Newsfeed. Подойдут всем: от новичков до продвинутых айтишников. Вас ждут обзоры, инструкции и статьи, которые помогут разобраться в темах структурно и последовательно. Вступайте в сообщество IT-специалистов в Telegram от Selectel. Подписаться #реклама 16+ О рекламодателе

3D Game Engine Анимация открытого мира на Three.js. 👉 @sWebDev

Создание реактивных форм без FormBuilder В Angular для работы с реактивными формами часто используют FormBuilder, но создать
Создание реактивных форм без FormBuilder В Angular для работы с реактивными формами часто используют FormBuilder, но создать форму можно и вручную с помощью new FormGroup() и new FormControl(). При создании формы каждый элемент добавляется в FormGroup через new FormControl(), где первый аргумент — это начальное значение поля. Также можно динамически добавлять или удалять контролы с помощью методов addControl() и removeControl(). Пример:
import { Component } from '@angular/core';
import { FormGroup, FormControl } from '@angular/forms';

@Component({
  selector: 'app-login',
  template: `
    <form [formGroup]="loginForm">
      <input formControlName="email" placeholder="Email">
      <input formControlName="password" type="password" placeholder="Пароль">
    </form>
  `
})
export class LoginComponent {
  loginForm = new FormGroup({
    email: new FormControl(''),
    password: new FormControl('')
  });
}
👉 @sWebDev

😡 Устал от нудных уроков на YouTube, где половина — вода? Хватит это терпеть) Автор канала Формошлёп убрал воду и оставил то
😡 Устал от нудных уроков на YouTube, где половина — вода? Хватит это терпеть) Автор канала Формошлёп убрал воду и оставил только суть: Мини-гайды по HTML, CSS и JavaScript, которые легко читать и сразу применять. ➧ Шпаргалки, лайфхаки и полезные советы с ноткой юмора. ➧ Всё чётко, лаконично и по делу. Неважно, новичок ты или фронтендер на опыте — у нас всегда найдётся что-то полезное! Присоединяйся: @frontbox будем вместе шлёпать формы и красить кнопки)

Сколько времени вы убили на подобную ошибку? 👍 - Много, очень много. ❤️ - Пока такого не было. 🤔 - У меня стоит Highlight B
Сколько времени вы убили на подобную ошибку? 👍 - Много, очень много. ❤️ - Пока такого не было. 🤔 - У меня стоит Highlight Bad Characters. 👉 @sWebDev | #юмор

Как работает оператор retryWhen?
Anonymous voting