Telegram Web
Media is too big
VIEW IN TELEGRAM
3D Landscape Game

3D сцена со сменой времени на Three.js.

👉 @sWebDev
🔥3👍1
noUiSlider

Лёгкий и доступный JavaScript-слайдер диапазона с поддержкой мультитач и клавиатуры. Полностью анимирован с использованием GPU, что обеспечивает высокую производительность даже на старых устройствах. Идеально подходит для адаптивных дизайнов и не имеет внешних зависимостей.

👉 @sWebDev
👍4
Работа с CdkVirtualScrollViewport

Когда CdkVirtualScrollViewport обновляет элементы списка?

Забыли? Вернитесь к посту от 24.02.2025.

👉 @sWebDev
3
У вас будут какие-то оправдания?

👍 - Дорогой дневник...

❤️ - Мне не стыдно.

👉 @sWebDev | #юмор
12
Предзагрузка всех модулей в Angular

В 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
Media is too big
VIEW IN TELEGRAM
Golden Cider

3D интерактивная моделька для лого на Three.js.

👉 @sWebDev
🔥3
Так веб-разработка же простая, правда?

👍 – Конечно, что тут сложного?

❤️ – Мне один раз приснилось, что продакшн можно сломать одной строчкой… смешно, правда?

👉 @sWebDev | #юмор
17👍3🤔2👎1
Glider.js

Glider.js — это компактный и гибкий карусельный слайдер, который не требует jQuery и работает плавно даже на мобильных устройствах. В отличие от тяжелых аналогов, он предлагает нативную поддержку перелистывания, кастомизацию через CSS и API для управления поведением.

👉 @sWebDev
🔥5
Сохранение данных формы в React: современный подход с Nuqs

В веб-разработке часто требуется сохранять состояние форм, чтобы предотвратить потерю данных при обновлении страницы или поделиться заполненной формой с другими. Традиционные методы, такие как localStorage, имеют ограничения, включая невозможность совместного использования данных и отсутствие встроенной валидации. Nuqs предлагает современное решение, позволяя сохранять состояние формы в URL с поддержкой типизации и валидации. Это упрощает обмен данными и устраняет необходимость в серверной инфраструктуре. Если вы хотите улучшить управление состоянием форм в своих React-приложениях, ознакомьтесь с возможностями Nuqs.

👉 @sWebDev
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Anime.js hover effect

Анимация при наведении на Anime.js.

👉 @sWebDev
👍8
Vanilla-tilt.js

Vanilla-tilt.js — это легковесная библиотека, позволяющая добавлять эффект 3D-наклона к элементам на странице. Она реагирует на движения мыши, создавая плавные анимации без лишних зависимостей.

👉 @sWebDev
👍3
Какой первый аргумент передаётся в FormControl?

Что передаётся в FormControl первым аргументом?

Забыли? Вернитесь к посту от 03.03.2025.

👉 @sWebDev
👍2
Что передаётся в FormControl первым аргументом?
Anonymous Quiz
43%
Название поля.
14%
Тип данных.
12%
Валидатор.
31%
Начальное значение.
👍4
Если джун — это нейросеть, то его база данных...

👍 – Stack Overflow.

❤️ – Код с курсов по веб-разработке.

👉 @sWebDev | #юмор
👍84
Управление асинхронным рендерингом

Метод flushSync() позволяет немедленно обновить состояние и выполнить ререндер, обходя пакетную обработку обновлений. Это полезно, когда требуется мгновенно обновить интерфейс перед выполнением других операций, например, чтением размеров DOM.

Например, кнопка изменяет текст элемента, и нам нужно получить его новую ширину до следующего рендера:
import { useState } from "react";
import { flushSync } from "react-dom";

function Example() {
const [text, setText] = useState("Нажми меня");
const spanRef = useRef(null);

function handleClick() {
flushSync(() => {
setText("Текст изменился!");
});

console.log("Ширина:", spanRef.current.offsetWidth);
}

return (
<div>
<button onClick={handleClick}>Изменить</button>
<span ref={spanRef}>{text}</span>
</div>
);
}


flushSync() гарантирует, что offsetWidth обновится после изменения текста, а не после следующего рендера.

👉 @sWebDev
👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Когда на собеседовании спрашивают, ты фронт или бек, а ты до сих пор гуглишь, как центрировать div.

👍 – Издержки универсальности!

❤️ – Я думал, это они мне скажут кто я.

👉 @sWebDev | #юмор
9👍6🤔1
Window-Engine

Window-Engine — библиотека для создания перетаскиваемых окон без зависимостей. Позволяет реализовать многозадачный интерфейс в веб-приложениях, сохраняя взаимодействие адаптивным, включая поддержку сенсорных экранов.

👉 @sWebDev
🔥4
2025/07/10 15:54:47
Back to Top
HTML Embed Code: