DevNotes Live
6 subscribers
84.3K photos
12K videos
195 files
35.4K links
Автоматический агрегатор IT ресурсов в Telegram (@devnotes_robot)
Информация: https://t.me/devnotes_live/121
Download Telegram
Forwarded from Shock Design
Forwarded from Новые шрифты
Granbrax Italic

Free for personal use.

⬇️Download: https://t.me/ZIP_Files/772
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from UI_UX inspiration
Мобильное приложение Web3 кошелька

Категория: #кошелёк
Язык: #en 

https://.com/shots/23297648-Web3-Wallet-Mobile-App-Crypzone
Forwarded from Frontender's notes [ru]
💬 Event Loop в Node.js VS в браузере

Многие считают, что event loop в Node.js и браузере работает одинаково. Однако, несмотря на общие черты, существуют важные различия, которые влияют на асинхронное поведение и производительность приложения. Разобравшись с этими различиями, можно писать более эффективный асинхронный код и избежать лагов и задержек. Давайте разберемся, что именно отличает работу event loop в этих двух средах.

Браузер: всё о пользовательском интерфейсе

В браузере event loop сосредоточен на работе с пользовательским интерфейсом (UI). Его основная задача — обеспечить плавность рендеринга, быстроту реакции на события, выполнение JavaScript и обработку Web APIs.

В процессе работы с UI браузер использует несколько типов очередей задач. Это microtasks, такие как обработка Promise и queueMicrotask, и macrotasks, в которые попадают setTimeout, setInterval и MessageChannel. Также есть отдельная фаза для рендеринга. Браузер обязан поддерживать плавность UI, поэтому между макротасками он обязательно вставляет фазу рендеринга, что позволяет минимизировать задержки при обновлении интерфейса.

Node.js: event loop от libuv

В Node.js event loop работает на основе библиотеки libuv, которая используется для асинхронных операций, таких как работа с файловой системой, сетью и другими I/O операциями. В отличие от браузера, в Node.js есть несколько фаз, которые позволяют эффективно управлять этими операциями.

Node.js использует шесть фаз, включая Timers (setTimeout, setInterval), Poll (обработка I/O операций), Check (setImmediate) и другие. Основное отличие заключается в том, что Node.js управляет низкоуровневыми операциями с системой, такими как файлы и сеть, в то время как браузер сосредоточен на рендеринге и UI. Это позволяет Node.js быть более гибким в обслуживании серверных запросов и файловых операций.

Где начинается путаница

Существует несколько распространенных недопониманий между setTimeout и setImmediate. В браузере нет метода setImmediate, в то время как в Node.js он выполняется в фазе Check, а setTimeout — в фазе Timers. Это может привести к путанице, особенно при переносе кода между Node.js и браузером.

Также стоит отметить различие в работе microtasks. В браузере микротаски выполняются сразу после каждого макротаска, а в Node.js они выполняются после каждой фазы event loop, что позволяет их более эффективно управлять и избегать блокировки цикла.

Ещё одним важным отличием является рендеринг

В Node.js нет рендеринга, так как он работает в серверной среде и не требует обновления визуальной части. В браузере, наоборот, рендеринг влияет на порядок выполнения задач и может вызвать задержки, если не правильно управлять этим процессом.

Например, repaint может произойти между macrotask, microtask и снова macrotask, что важно учитывать при оптимизации производительности в браузере.

Что важно помнить разработчику

• В Node.js основное внимание уделяется I/O операциям, таким как работа с файлами, сетью и процессами. Эти задачи добавляют свои очереди и обрабатываются в разных фазах event loop.
• В браузере event loop синхронизирован с частотой кадров, что критически важно для обеспечения плавности UI.
• Microtasks в Node.js ведут себя агрессивнее, особенно process.nextTick, который может заблокировать переход между фазами event loop, если заспамить его слишком большим количеством задач.
• setImmediate и setTimeout — это не одно и то же. Порядок их выполнения в Node.js зависит от контекста и фазы event loop, в которой они находятся.


📌 Знание этих различий позволяет избежать лагов и писать эффективный асинхронный код, который будет работать предсказуемо как в браузере, так и в серверной среде Node.js.

🚪 Frontender's notes
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from UX Live 🔥
Абсолютно что угодно последние 5 лет
Forwarded from Denis Sexy IT 🤖
This media is not supported in your browser
VIEW IN TELEGRAM
Плюсы автономных машин:
Может показать сцену преступления как можно ближе

Минусы автономных машин:
Может показать сцену преступления как можно ближе
Forwarded from Shock Design
3D-композиции интерьеров, в которых большое внимание уделяется натуральным природным материалам
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
Forwarded from Shock Design
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация жестов.

• Cветлая и тёмная темы.

#Animation

Открыть в Figma
Forwarded from UI_UX inspiration
Мобильное приложение для управления финансами

Категория: #финансы
Язык: #en

https://.com/shots/25897675-Vaulta-Finance-Mobile-App

✉️
Forwarded from Новые шрифты
Black Crow

Black Crow — это сильное семейство шрифтов без засечек, идеально подходящее для проектов, требующих мощного и выразительного шрифта. Шрифт включает в себя прописные и строчные буквы, цифры, знаки препинания, акценты для многоязычной поддержки, лигатуры и переливы. В комплект входят несколько вариаций веса, от тонкого до очень жирного.

Написание: #Латиница #Кириллица
Формат файлов: #otf

Ссылка: Скачать шрифт
Минутка керамики:

Подборка для нашего канала работ с зимнего фестиваля керамики 4ceramics в Москве.

Обратите внимание, что фестиваль уже скоро.

6-7 декабря 2025 г., 12:00-20:00
Amber Plaza, Москва, Краснопролетарская, 36
Вход свободный, 0+

4ceramics — крупнейший в России фестиваль керамики, объединяющий весь спектр керамической индустрии: от производителей и поставщиков до лучших авторских брендов и мастерских со всей страны.