Обычно код выполняется сразу, но есть приём, который позволяет отложить вычисления до реального запроса. Это снижает нагрузку, делает код гибче и помогает работать с тяжёлыми данными.
В гайде рассмотрим:
• Ленивые функции и цепочки преобразований;
• Обработку API «по запросу»;
• Генераторы как бесконечные ленивые последовательности.
Такой подход используют в библиотеках, пайплайнах данных и даже UI-фреймворках.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤6🔥6🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Здесь можно вживую посмотреть, как работают сортировки, графы, стеки, деревья и другие «страшные слова». Всё визуализировано шаг за шагом - идеально, чтобы разложить сложные темы по полочкам.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍7❤6🤝1
В этом посте собираем простой JS-трекер трат, который хранит все расходы в массиве, считает общую сумму и показывает, куда деньги улетают чаще всего.
Что делаем:
• Создаём структуру данных для расходов;
• Добавляем траты с суммой, категорией и датой;
• Считаем общую сумму через reduce;
• Анализируем траты по категориям и ищем топовую.
В итоге получаем полезный консольный инструмент и прокачиваемся в работе с массивами, объектами и циклами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9👍6🤝6🔥4
Проверяем email с помощью RegExp!
Во многих формах регистрации и авторизации нужно убедиться, что пользователь ввёл корректный email. Давайте напишем простую функцию для проверки строки через регулярное выражение.
Создадим функцию
Применим на примерах:
Можно добавить подсказку для пользователя:
🔥 Минимум кода, а результат полезен для форм, ботов и проектов с авторизацией.
📣 JS Ready | #практика
Во многих формах регистрации и авторизации нужно убедиться, что пользователь ввёл корректный email. Давайте напишем простую функцию для проверки строки через регулярное выражение.
Создадим функцию
isValidEmail:function isValidEmail(email) {
const regex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
return regex.test(email);
}Применим на примерах:
console.log(isValidEmail("user@example.com"));
// true
console.log(isValidEmail("hello@domain"));
// false
console.log(isValidEmail("bad@@mail.com"));
// falseМожно добавить подсказку для пользователя:
function validateEmail(email) {
if (isValidEmail(email)) {
console.log("✅ Email корректный!");
} else {
console.log("❌ Введите правильный адрес!");
}
}
validateEmail("test@gmail.com");🔥 Минимум кода, а результат полезен для форм, ботов и проектов с авторизацией.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥7❤5
В этой шпаргалке собраны методы для работы с промисами: создание успешных и отклонённых состояний, параллельное выполнение нескольких задач, обработка всех результатов и др. Эти приёмы применяются при работе с API, асинхронными операциями и оптимизации многозадачности.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7🔥5🤝2
Проверяем интернет-скорость!
Хочешь узнать, насколько быстрый у тебя интернет? Для этого есть готовый пакет
Такой скрипт можно встроить в мониторинг или просто проверить сеть без браузера.
Шаг 1 — импортируем:
Шаг 2 — запускаем тест:
Шаг 3 — форматируем и выводим результаты:
🔥 Теперь у тебя свой
📣 JS Ready | #практика
Хочешь узнать, насколько быстрый у тебя интернет? Для этого есть готовый пакет
speedtest-net, который позволяет получить скорость загрузки, отдачи и пинга. Такой скрипт можно встроить в мониторинг или просто проверить сеть без браузера.
Шаг 1 — импортируем:
const speedTest = require('speedtest-net');Шаг 2 — запускаем тест:
(async () => {
const res = await speedTest({ acceptLicense: true });
})();Шаг 3 — форматируем и выводим результаты:
// Загрузка
console.log(`Download: ${(res.download.bandwidth / 125000).toFixed(2)} Mbps`);
// Выгрузка
console.log(`Upload: ${(res.upload.bandwidth / 125000).toFixed(2)} Mbps`);
// Пинг
console.log(`Ping: ${res.ping.latency} ms`);
🔥 Теперь у тебя свой
speedtest прямо в коде. Можно запускать вручную или добавить в cron для регулярного замера.Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5🤝4❤2
Иногда промисы и
fetch продолжают выполняться, даже если результат уже не нужен. Это тратит время и ресурсы. AbortController решает проблему: создаём сигнал => передаём в задачу => при необходимости останавливаем.В этом гайде:
• Отменяем fetch;
• Управляем несколькими задачами сразу;
• Пишем собственные функции с поддержкой AbortSignal.
Полезно для API, поиска, долгих операций и экономии ресурсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍6🔥4