JavaScript Ready | Программирование
8.18K subscribers
989 photos
60 videos
527 links
Авторский канал по разработке на JavaScript.
Ресурсы, обучения, задачи, шпаргалки.
Ежедневно информация пополняется!

Cотрудничество: @energy_c
Download Telegram
📱 AbortController: как отменять запросы и операции!

Иногда промисы и fetch продолжают выполняться, даже если результат уже не нужен. Это тратит время и ресурсы. AbortController решает проблему: создаём сигнал => передаём в задачу => при необходимости останавливаем.

В этом гайде:
• Отменяем fetch;

• Управляем несколькими задачами сразу;

• Пишем собственные функции с поддержкой AbortSignal.


Полезно для API, поиска, долгих операций и экономии ресурсов.

📣 JS Ready | #гайд
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
}


🔥 Можно встроить в формы регистрации, админ-панели или использовать при генерации тестовых данных.

📣 JS Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤9🔥6
📱 Консольная анимация загрузки!

Сегодня разберём, как сделать универсальный «аниматор» для терминала: от классических точек (. .. ...) до крутящихся спиннеров и кастомных символов.

В этом посте:
• Работа с массивами и циклическим перебором кадров;

• Управление таймерами (setInterval / clearInterval);

• Добавление кастомных префиксов к анимации;

• Корректная остановка.


В итоге получится мини-библиотека, которая добавит «живости» любому CLI-скрипту и прокачает навык работы с процессами в Node.js.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥11❤6🤝3
📱 Разбираем работу с Map!

В этой шпаргалке — базовые приёмы: от создания коллекции и добавления элементов до перебора ключей и значений. Map — удобная структура для хранения пар «ключ-значение» с любыми типами ключей и гарантированным порядком элементов.

📣 JS Ready | #шпора
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
👩‍💻 Удобная работа с API внутри VS Code!

REST Client - расширение, которое превращает редактор в удобный инструмент для работы с HTTP-запросами. Можно тут же получать ответ от сервера. Плагин поддерживает переменные и окружения, так что можно хранить токены, URL или параметры для разных проектов и легко подставлять их в запросы.

📣 JS Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤8🔥8
📱 Создадим фабрику пользователей!

Иногда в проекте нужно создавать разные типы объектов — обычного пользователя, администратора или гостя. Удобно использовать централизованную функцию, которая возвращает правильный объект по типу.

В этой задаче:
• Разберём базовый класс User;

• Создадим наследников Admin и Guest;

• Напишем фабричную функцию UserFactory;

• Получим готовый инструмент для масштабируемого кода.


Factory часто используют вместе с паттернами Dependency Injection и Strategy, чтобы гибко управлять созданием и поведением объектов.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤝11👍5