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

Автор: @energy_it

Реклама на бирже:
https://telega.in/c/javascript_readyy
Download Telegram
📱 Моделируем риск и решения в интерактивном скрипте!

Сегодня реализуем интерактивную консольную игру, в которой игрок управляет ресурсом и принимает решения в условиях неизвестной ценности.

В этой задаче:
Управляем состоянием игры и балансом игрока;

Реализуем аукционную механику с риском;

Строим полноценный игровой цикл;

Анализируем результат каждого решения.


Задача показывает, как моделируются системы с неопределённостью, ограниченными ресурсами и пошаговой логикой.

📣 JS Ready | #задача
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2214👍9🤝2
💡 На Хабре вышла мега интересная статья: «Почему свой игровой движок — это проще, чем кажется»!

В этой статье:
• Автор пошагово показывает, как с нуля создать игровой движок без Unity и Unreal;
• Узнаете, как на уровне кода будут двигаться объекты, реализовываться физика и логика игры;
• Приводится реальный пример, как из простого браузерного кода вырастает полноценный игровой цикл.


🔊 Продолжайте читать на Habr!


📣 JS Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1810👍8🤝2
📱 Web Storage API — клиентское хранилище браузера!

В шпаргалке собраны основные методы Web Storage API (localStorage и sessionStorage) для работы с простым key–value хранилищем на стороне клиента. Показано, как сохранять, читать и удалять данные, сериализовывать объекты, очищать хранилище и реагировать на изменения состояния между вкладками с помощью события storage.

📣 JS Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
19🔥10🤝9👍2
This media is not supported in your browser
VIEW IN TELEGRAM
😎 You Don’t Know JS — русский перевод легендарной серии книг!

Здесь разбираются замыкания, this, области видимости, асинхронность, прототипы и др. важные темы. Отличный репозиторий, если хочешь не просто писать код, а понимать, почему он работает именно так. Полезно для роста и закрепления знаний.

Оставляю ссылочку: GitHub 📱


📣 JS Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1912🔥9🤝1
Генерация UUID без сторонних библиотек!

Уникальные ID нужны везде: ключи для данных, идентификаторы сущностей, корреляционные ID, маркеры транзакций. В JS есть нативное решение — crypto.randomUUID().

Самый простой кейс — получить уникальный идентификатор для сущности, события или записи:
const id = crypto.randomUUID();
console.log("UUID:", id);


Каждый вызов возвращает новый UUID.

Иногда нужно быстро создать пачку ID — например, для тестов, сидирования данных или моков:
const ids = Array.from({ length: 5 }, () => crypto.randomUUID());
console.log("Список UUID:", ids);


Такой подход не требует состояния и имеет пренебрежимо малую вероятность коллизий.

UUID удобно сразу добавлять в структуру данных — например, при создании объектов в памяти или перед сохранением в БД:
const user = { name: "Alice", id: crypto.randomUUID() };
console.log("Пользователь:", user);


UUID часто используют для трассировки запросов и событий в логах — особенно в асинхронном коде и микросервисах:
function withCorrelationId(fn) {
const correlationId = crypto.randomUUID();
return fn(correlationId);
}

withCorrelationId((cid) => {
console.log(`[${cid}] start request`);
// бизнес-логика
console.log(`[${cid}] end request`);
});


Такой ID позволяет связать все логи одного запроса, даже если он проходит через несколько уровней или сервисов.

🔥 UUID — это идентификаторы, а не security-токены для авторизации. Отлично подходят для логирования, тестовых данных и структур хранения

📣 JS Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍87🤝1
Как корректно показывать относительное время в интерфейсе?

Очень частая задача: показать относительное время, “только что”, “3 часа назад”, “через 2 дня”.

В JS есть нативный и локализованный API - Intl.RelativeTimeFormat:
new Intl.RelativeTimeFormat(locale, options);


Он сам знает грамматику языка и формы слов:
rtf.format(-1, 'hour'); // «час назад»
rtf.format(-2, 'hour'); // «2 часа назад»


Поддерживает second | minute | hour | day | week | month | year и работает одинаково во всех локалях:
new Intl.RelativeTimeFormat('en').format(-1, 'day'); // yesterday
new Intl.RelativeTimeFormat('de').format(3, 'day'); // in 3 Tagen


Идеально ложится в логику UI:
const diff = Math.round((date - Date.now()) / 60000);
rtf.format(diff, 'minute');


🔥 Intl.RelativeTimeFormat — нативный способ показывать относительное время корректно, локализованно и без библиотек.

📣 JS Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍207🔥7🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Нужно быстро проверить API?

Postman — инструмент для работы с API прямо из VS Code: отправка запросов, просмотр ответов, работа с headers, body, токенами и коллекциями. Удобно тестировать эндпоинты, проверять ответы и разбираться в API ещё до интеграции во фронт. Экономит время и помогает быстрее понять, что приходит с сервера.

📣 JS Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
21🔥13👍7🤝2
📱 Иммутабельные приёмы работы со state!

Шпаргалка по работе с состоянием в JavaScript без мутаций. Примеры показывают, как аккуратно изменять объекты и массивы, создавая новые структуры данных вместо изменения существующих. Такой подход упрощает отслеживание изменений, снижает риск непреднамеренных изменений данных и делает код более понятным при дальнейшей поддержке.

📣 JS Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍158🔥7🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Когда нужно быстро показать свой код коллегам!

Live Share — позволяет делиться сессией VS Code в реальном времени: другой человек видит твой проект, может перемещаться по файлам, писать код, запускать команды и помогать с отладкой, даже если у него нет такого же окружения.

📣 JS Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍11🔥9