Intersection Observer
в JavaScript и зачем он используется?Intersection Observer
— это API, которое позволяет отслеживать, когда элемент входит или выходит из области видимости (viewport). Оно полезно для оптимизации ленивой загрузки изображений, бесконечной прокрутки или анимаций при прокрутке.// Целевой элемент для наблюдения
const target = document.querySelector('.observe-me');
// Callback-функция для обработки пересечений
const observerCallback = (entries, observer) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
console.log('Элемент видим:', entry.target);
observer.unobserve(entry.target); // Останавливаем наблюдение
}
});
};
// Настройки наблюдателя
const observerOptions = {
root: null, // Вся область видимости
threshold: 0.5 // 50% видимости элемента
};
// Создаем наблюдатель
const observer = new IntersectionObserver(observerCallback, observerOptions);
// Начинаем наблюдение за элементом
observer.observe(target);
🗣️ В этом примере API отслеживает, когда .observe-me становится видимым на 50%. Intersection Observer делает прокрутку более производительной, так как избавляет от необходимости использовать события scroll.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1
Directive Composition API в Angular 15: hostDirectives в @Component/@Directive позволяет автоматически добавлять standalone-директивы, упрощая декомпозицию логики и внедряя новые подходы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
• Чем стартап отличается от бизнеса и что выбрать
• Как оформить резюме на стажировку, если нет опыта работы
• Прийти на внедренный проект на этапе развития системы: как аналитику быстро погрузиться в процессы
• Как 97 лет назад хитрый менеджер-заяц заставил грозного лентяя сделать то, что тот очень не хотел. Смогли бы так?
• 10 лучших приёмов логирования для разработчиков
Please open Telegram to view this post
VIEW IN TELEGRAM
process.nextTick
в Node.js и зачем он используется?process.nextTick
позволяет выполнять функцию сразу после текущей операции, но перед началом следующего цикла событий (event loop
). Это полезно для выполнения задач с высоким приоритетом.console.log('Начало');
process.nextTick(() => {
console.log('Выполнено в nextTick');
});
console.log('Конец');
// Вывод:
// Начало
// Конец
// Выполнено в nextTick
🗣️ В этом примере process.nextTick выполняет функцию между выводом "Конец" и началом следующего цикла событий. Это помогает при обработке срочных задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Недавно мне понадобилось добавить поддержку нескольких языков в API на базе Express. Я решил поделиться кратким руководством для тех, кто хочет сделать свой бэкенд отвечающим переведенным контентом в зависимости от предпочтительного языка пользователя.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Деструктуризация — это удобный синтаксис в JavaScript, который позволяет извлекать значения из массивов и объектов и присваивать их переменным. Это делает код более лаконичным и удобным, особенно при работе с объектами с множеством свойств.
// Деструктуризация объекта
const user = { name: 'Alice', age: 25 };
const { name, age } = user;
console.log(name); // 'Alice'
console.log(age); // 25
// Деструктуризация массива
const colors = ['red', 'green', 'blue'];
const [firstColor, secondColor] = colors;
console.log(firstColor); // 'red'
console.log(secondColor); // 'green'
🗣️ Деструктуризация полезна для удобного доступа к значениям из объектов и массивов, минимизируя дублирование кода и делая его более читаемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2😁2⚡1🐳1
Глубокое погружение в JavaScript Символы — что это такое, чем они важны и как их эффективно использо3вать
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤1🔥1
Статья представляет курс по созданию IT-продуктов: от выбора архитектуры до радости от разработки. Обучение включает 141 урок, доступный бесплатно, с акцентом на качество, масштабируемость и удобство работы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2⚡1🔥1
Какие структуры данных помогут избежать утечек памяти в JavaScript? Статья раскрывает особенности WeakMap и WeakSet: слабые ссылки, автоматическое управление памятью и неожиданные сценарии их применения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1🔥1
🧩 Если фича не помещается в голову целиком — разбей её
Чем больше логики ты пытаешься держать в голове, тем выше шанс ошибиться.
👉 Совет: если при работе над фичей ты постоянно перескакиваешь по файлам и путаешься — это сигнал, что задачу надо декомпозировать на меньшие части.
Чем больше логики ты пытаешься держать в голове, тем выше шанс ошибиться.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1
Статья о решении проблемы с неработающим примером из документации npm-пакета csrf-csrf. Автор делится опытом исправления кода и создания рабочего демо, доступного на GitHub, с важными комментариями для успешного использования.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🐳1
Откройте для себя возможности управления приоритетами и контроля выполнения задач в JavaScript с помощью нового Scheduler API. Новый подход поможет вам стать более продуктивными и эффективными в своей работе.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1🐳1
В статье объясняется асинхронное программирование в JavaScript. Разбираются основы работы с промисами, async/await и методы управления параллельными операциями для повышения читаемости и эффективности кода.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤1🔥1🐳1
Promise.finally
в JavaScript и зачем он используется?Promise.finally
— это метод, который выполняется после завершения промиса (успешного или с ошибкой), независимо от его результата. Это полезно для очистки ресурсов или выполнения финальных действий.const promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Успех!'), 1000);
});
promise
.then(result => console.log(result)) // 'Успех!'
.catch(error => console.error(error))
.finally(() => console.log('Завершено!'));
🗣️ В этом примере finally вызывается после завершения промиса, независимо от того, был он успешно выполнен или отклонён. Это удобно для задач, таких как закрытие соединений или очистка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3⚡1😁1🐳1
Как защитить веб-страницы паролем без серверной поддержки? Инструменты StatiCrypt и Portable Secret помогут зашифровать HTML с использованием AES-256. Статические страницы остаются безопасными даже на публичном хостинге.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1👍1🔥1🐳1
Почему разработка собственного инструмента для нагрузки на API иногда оказывается лучшим выбором? В статье обсуждается реальный кейс: задачи тестирования производительности, ограничения Postman и сложность JMeter. Узнайте, как и зачем был создан простой и эффективный API-лоадер на Node.js.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3⚡1❤1🔥1
Асинхронный JavaScript: разница между отправкой запроса и его результатом. Узнай, почему проверка response.ok важна для обработки ошибок на сервере, и как избежать ловушки, надеясь только на блок catch.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1👍1😁1🐳1
Узнайте, как использовать хуки React (useTransition, useDeferredValue и useOptimistic) для создания более отзывчивых интерфейсов. Советы, примеры и приёмы для плавной работы с данными!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3⚡2👍2🔥2😁1
В статье рассказывается, как настроить рабочее пространство VSCode для разработки. Обзор полезных расширений, которые повышают удобство и продуктивность, и советы по их применению.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5😁2🐳1