Telegram Web
Glfx.js

Glfx.js — JavaScript-библиотека для применения визуальных эффектов к изображениям с использованием WebGL. Включает размытие, контраст, кривизну, пикселизацию и другие фильтры. Подойдёт для фоторедакторов, медиаплатформ и визуальных экспериментов.

👉 @sWebDev
3
Результат выборки

Что будет содержать QueryList, если использовать ContentChildren с read: TemplateRef?

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

👉 @sWebDev
3
Что будет содержать QueryList, если использовать ContentChildren с read: TemplateRef?
Anonymous Quiz
21%
Ссылки на директивы.
24%
Экземпляры компонентов.
9%
Строковые значения.
45%
Объекты TemplateRef.
👍31
Что бесит сильнее всего, когда ищешь работу?

👍 – Тишина после отклика.

❤️ – Бесконечная цепочка интервью.

🤔 – Ощущение, что на вакансию откликнулся весь твой город.

👉 @sWebDev | #юмор
👍9🤔6
Подписка на внешний стор с выборкой

Хук useSyncExternalStoreWithSelector() используется для подписки на внешний стор с избирательным обновлением компонента. Он расширяет useSyncExternalStore() за счёт функции выбора и сравнения: обновление вызывается только при изменении выбранного значения. Это снижает количество перерендеров при работе с глобальным состоянием.

import { useSyncExternalStoreWithSelector } from 'react';

function useCustomStore(selector, isEqual) {
return useSyncExternalStoreWithSelector(
subscribe, // подписка на стор
getSnapshot, // получение полного состояния
getSnapshot, // серверный snapshot
selector, // выбор нужного значения
isEqual // функция сравнения
);
}


При вызове хука можно передать selector, чтобы отслеживать только часть состояния, и isEqual, чтобы предотвратить обновление при эквивалентных значениях. Может пригодиться при подписке на сложные сторы, например, Redux без лишних обёрток.

👉 @sWebDev
👍5👎1
Media is too big
VIEW IN TELEGRAM
Twisted Torus

Анимация фигур на Three.js.

👉 @sWebDev
👍31
Media is too big
VIEW IN TELEGRAM
Как вы тестируете код, сгенерированный нейронкой?

👍 – Пускаю на прод — если выживет, значит норм.

❤️ – Смотрю в код и надеюсь на чудо.

🤔 – Проверка? А где кнопка “Deploy”?

👉 @sWebDev | #юмор
👍81
iNoBounce

iNoBounce — библиотека для отключения «резинового» скролла на мобильных устройствах iOS. Решает проблему неконтролируемой прокрутки за пределы контента.

👉 @sWebDev
3
Основы тестирования во Vue с использованием Vitest

В статье объясняется, как писать модульные тесты во Vue-проектах с использованием Vitest — современного и быстрого инструмента, совместимого с Vite. Разбираются базовые принципы, настройка окружения и примеры тестов для компонентов. Полезно тем, кто только осваивает тестирование во Vue и хочет понять, с чего начать.

👉 @sWebDev
2👍1
Как frontend-разработчику получить оффер в Bigtech?

Ты уже давно в профессии, но до сих пор в компании, которая тебя не ценит. Зарплата не растёт, задачи скучные.

Хочешь сменить работу, но
технические собеседования всё сложнее, а на отклики на hh только отказы и тестовые?

При этом вокруг кто-то постоянно получает офферы в Яндекс или VK, Т-Банк. Хочется стабильности, интересных задач и наконец-то попасть в сильную команду...

Меня зовут Тихон, привет! Я — действующий Frontend-разработчик и ментор. Помогаю устроиться на хорошие позиции в Bigtech и сопровождаю на испытательном сроке.


На своем канале:
👉публикую видео с решением задач, которые прямо сейчас дают крупные компании на собеседованиях
👉даю примеры по прохождению собеседований
👉разбираю резюме и докручиваю резюме подписчиков
👉И просто создаю дружелюбное, комфортное сообщество, где коллеги всегда готовы подсказать и поддержать вас

🎁В закрепе тебя ждёт подборка из 60 задач, которые сейчас дают на собеседованиях Яндекс, Т-Банк и другие крупные IT игроки.


Подписывайся и получай максимум пользы, а нас уже больше 2000 🤓: https://www.tgoop.com/+WcZ7Ag-YMPFhZWQ6


Реклама, ИП Галактионов Тихон Витальевич, инн: 771618975809, erid: 2W5zFJXMmKW
👎21
Media is too big
VIEW IN TELEGRAM
Morphing Particle Sphere

Интерактивная морфинг анимация текста на Three.js и GSAP.

👉 @sWebDev
👍51
SimplyCountdown.js

SimplyCountdown.js — JavaScript-библиотека для создания простого таймера обратного отсчёта. Не требует зависимостей, настраивается через HTML-атрибуты или JavaScript-объекты. Подойдёт для лендингов, акций, мероприятий и виджетов с ограниченным временем.

👉 @sWebDev
4
Назначение preinit()

Для чего используется метод ReactDOM.preinit()?

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

👉 @sWebDev
2
This media is not supported in your browser
VIEW IN TELEGRAM
Зачем вы тащите старую библиотеку в новый проект?

👍 – Потому что она проверена временем.

❤️ – Потому что в старой хотя бы всё понятно.

🤔 – Потому что в новой нет нужной фичи.

👉 @sWebDev | #юмор
10👍4🤔4
Защита от утечек данных в RSC

В React Server Components для предотвращения случайной утечки чувствительных данных на клиент существуют экспериментальные функции taintObjectReference и taintUniqueValue.

taintObjectReference помечает весь объект как небезопасный для клиента, а taintUniqueValue — только конкретное значение в нём. При попытке передать такие "помеченные" данные в пропсы клиентского компонента React выбросит ошибку, блокируя утечку.

// server-component.js
import { taintUniqueValue } from 'react';
import { ClientComponent } from './client-component';

async function getData() {
const data = {
publicInfo: 'Some data',
apiKey: 'SECRET-KEY-123'
};

taintUniqueValue(
'Ключ API не должен попасть на клиент.',
data,
data.apiKey
);
return data;
}

export default async function Page() {
const pageData = await getData();

// Эта передача вызовет ошибку
return <ClientComponent data={pageData} />;
}


👉 @sWebDev
👍51
Media is too big
VIEW IN TELEGRAM
Заяц под дождем

Анимированная сцена с дождем на Three.js и Ammo.js.

👉 @sWebDev
4👎1
Люди, которые пользуются светлой темой:

👍 – Эти люди я.

❤️ – Отрабатывают карму за прошлые жизни.

👉 @sWebDev | #юмор
6👍4👎2
Stretchy.js

Stretchy.js — JavaScript-библиотека для автоматического изменения размера полей ввода по мере набора текста. Позволяет создавать гибкие и адаптивные формы без жёстко заданных размеров. Подойдёт для полей с тегами, динамических анкет и интерфейсов с непредсказуемой длиной пользовательского ввода.

👉 @sWebDev
2
2025/07/13 17:30:34
Back to Top
HTML Embed Code: