Склеивайте множество синхронных обновлений в одно! Иногда функция может вызываться десятки раз за один проход синхронного кода. Можно накопить изменения и запланировать обработку один раз: const pending = new Set(); function update(id) { pending.add(id); scheduleFlush(); } queueMicrotask() выполнит flush после текущего синхронного кода, но до перехода к следующей macrotask : function flush() { scheduled = false;…
JavaScript Ready | Программирование
Авторский канал по разработке на JavaScript. Ресурсы, обучения, задачи, шпаргалки. Ежедневно информация пополняется! Cотрудничество: @energy_c
Динамика подписчиков
с 20 июля 2026 по 28 сентября 2026 · минимум 7 770 · максимум 8 189
Кто рекламировался за полгода
Рекламных размещений с маркировкой не найдено.
Публикации
📂 Напоминалка для работы с async/await! Например, await приостанавливает выполнение текущей async -функции до завершения Promise , а try...catch позволяет удобно обрабатывать возникающие ошибки. На картинке — основной синтаксис async/await , принцип его работы, сравнение с цепочками .then() и другие полезные моменты. Сохрани, чтобы не потерять! 📣 JS Ready | #ресурс
Получаем только изменённые поля объекта! При изменении состояния приложения можно сравнить предыдущую и текущую версию объекта, чтобы определить только обновлённые значения. Такой diff позволяет отделить изменившиеся поля от тех, которые остались без изменений, и использовать только актуальные данные для дальнейшей обработки. const oldUser = { name: "Alex", age: 30, role: "developer" }; const newUser = { name:…
📱 Event Sourcing: состояние как история событий! Event Sourcing меняет привычный подход к хранению данных: вместо перезаписи текущего состояния система сохраняет последовательность событий, из которых это состояние можно восстановить. В этом посте: • Разберём, почему в Event Sourcing состояние становится производным; • Отделим команды от событий и поймём их разные роли; • Реализуем восстановление состояния через…
Array.prototype.fill() — заполнение массивов и особенности работы со ссылками! Array.prototype.fill() — часто используемый метод, который заменяет элементы массива указанным значением. Он изменяет исходный массив и применяется при подготовке структур данных, создании массивов фиксированной длины и инициализации состояний. Пример: const numbers = new Array(5).fill(0); console.log(numbers); // [0, 0, 0, 0, 0] Метод…
📂 Шпаргалка по Spread и Rest! Одинаковый синтаксис ... , но разные задачи: Spread раскрывает элементы и свойства, а Rest собирает оставшиеся значения в массив или объект. На картинке — различия, синтаксис и примеры использования Spread и Rest при работе с массивами, объектами и функциями. Сохрани как краткую памятку! 📣 JS Ready | #ресурс
📂 Напоминалка по архитектурным концепциям! Например, балансировщик нагрузки распределяет входящий трафик между серверами, кэширование снижает нагрузку на базу данных, а очереди сообщений позволяют сервисам работать асинхронно и меньше зависеть друг от друга. На картинке — 12 архитектурных концепций, которые полезно знать разработчику: от CDN и API Gateway до шардинга, consistent hashing и автомасштабирования.…
JavaScript умеет освобождать ресурсы сам, без finally! Когда код временно открывает ресурс, соединение, файл, lock или подписку — его обязательно нужно закрыть даже при ошибке. Обычно для этого пишут try / finally : const connection = openConnection(); try { await connection.query(sql); } finally { connection.close(); } Современный JS поддерживает явное управление ресурсами. Объект может определить Symbol.dispose ,…
📂 Напоминалка по тестированию API! Например, Smoke Testing проверяет, что критичные эндпоинты вообще доступны, а Contract Testing помогает убедиться, что запросы и ответы по-прежнему соответствуют API-контракту. На картинке — 9 основных видов API-тестирования: от функциональных и интеграционных тестов до нагрузочного, security- и fuzz-тестирования. Сохрани, чтобы не потерять! 📣 JS Ready | #ресурс
Создаём индекс данных из массива для быстрого поиска через Map! При работе с данными из API часто требуется получать элементы массива по идентификатору. Самый простой вариант — использовать find() , но при большом количестве повторных поисков такой подход приводит к постоянному перебору коллекции. Например, поиск пользователя по id : const users = [ { id: 1, name: "Alex" }, { id: 2, name: "John" } ]; const user =…