Проверяем интернет-скорость!
Хочешь узнать, насколько быстрый у тебя интернет? Для этого есть готовый пакет
Такой скрипт можно встроить в мониторинг или просто проверить сеть без браузера.
Шаг 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
Иногда нужно быстро создать надёжный пароль: для тестовых данных, пользователей или внутренних инструментов. Реализуем генерацию прямо в JS, без сторонних библиотек.
Формируем набор символов и выделяем спецсимволы:
const chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()";
const special = "!@#$%^&*()";
Создаём функцию генерации пароля с проверкой категорий:
function generatePassword(length = 12) {
while (true) {
const pwd = Array.from({ length }, () =>
chars[Math.floor(Math.random() * chars.length)]
).join("");
if (/[a-z]/.test(pwd) && /[A-Z]/.test(pwd) &&
/\d/.test(pwd) && [...pwd].some(c => special.includes(c))) {
return pwd; // пароль прошёл проверку
}}}Тестируем работу генератора:
for (let i = 0; i < 3; i++) {
console.log(generatePassword());
// пример: A7d!xP0m#kQ2
}🔥 Можно встроить в формы регистрации, админ-панели или использовать при генерации тестовых данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤9🔥6
Сегодня разберём, как сделать универсальный «аниматор» для терминала: от классических точек (. .. ...) до крутящихся спиннеров и кастомных символов.
В этом посте:
• Работа с массивами и циклическим перебором кадров;
• Управление таймерами (setInterval / clearInterval);
• Добавление кастомных префиксов к анимации;
• Корректная остановка.
В итоге получится мини-библиотека, которая добавит «живости» любому CLI-скрипту и прокачает навык работы с процессами в Node.js.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥11❤6🤝3
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥11🤝8❤6
This media is not supported in your browser
VIEW IN TELEGRAM
REST Client - расширение, которое превращает редактор в удобный инструмент для работы с HTTP-запросами. Можно тут же получать ответ от сервера. Плагин поддерживает переменные и окружения, так что можно хранить токены, URL или параметры для разных проектов и легко подставлять их в запросы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤8🔥8
Иногда в проекте нужно создавать разные типы объектов — обычного пользователя, администратора или гостя. Удобно использовать централизованную функцию, которая возвращает правильный объект по типу.
В этой задаче:
• Разберём базовый класс User;
• Создадим наследников Admin и Guest;
• Напишем фабричную функцию UserFactory;
• Получим готовый инструмент для масштабируемого кода.
Factory часто используют вместе с паттернами Dependency Injection и Strategy, чтобы гибко управлять созданием и поведением объектов.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤝11👍5