Forwarded from Dezzigners
This media is not supported in your browser
VIEW IN TELEGRAM
🧰 Dominant Color Toolk — создаёт цветовые палитры на основе доминирующих оттенков изображения и автоматически применяет их к слоям
Dezzigners
Dezzigners
Forwarded from Node.JS [ru] | Серверный JavaScript
AbortController в Node.js production: сквозные дедлайны, cleanup ресурсов и защита от «висящих» операций
AbortController важен не как таймаут для
Сквозной дедлайн
У HTTP-запроса, джобы или RPC должен быть один бюджет, который прокидывается вниз: handler - сервис - БД - внешний API - stream - timer.
Типичная ошибка
Не ставьте независимые
Abort кооперативен
Он работает только там, где API принимает
Cleanup обязателен
Вывод:
Сильный production-паттерн - один сквозной
AbortController важен не как таймаут для
fetch, а как контракт жизненного цикла операции. В production частая ошибка - клиент уже ушел, SLA истек, а сокеты, стримы и временные файлы продолжают жить.Сквозной дедлайн
У HTTP-запроса, джобы или RPC должен быть один бюджет, который прокидывается вниз: handler - сервис - БД - внешний API - stream - timer.
const client = new AbortController();
req.on('close', () => {
client.abort(new Error('client disconnected'));
});
const signal = AbortSignal.any([
client.signal,
AbortSignal.timeout(1500)
]);
try {
const r = await fetch(reportUrl, { signal });
await pipeline(r.body, createWriteStream(file), { signal });
} finally {
await rm(tmpDir, {
recursive: true,
force: true
}).catch(() => {});
}
Типичная ошибка
Не ставьте независимые
timeout: 1000 в каждом слое. Так запрос легко живет 3+ секунды, хотя общий SLA был 1 секунда. Практический совет: передавайте сверху signal, а локальный меньший бюджет делайте через AbortSignal.any().Abort кооперативен
Он работает только там, где API принимает
signal: fetch, timers/promises, stream.pipeline, часть fs, http, child_process, клиенты БД. Предупреждение: Promise.race() с таймаутом не отменяет реальную работу, он только перестает ждать результат.Cleanup обязателен
abort() не удалит временные файлы, не вернет connection в pool и не снимет listeners. Освобождайте ресурсы в finally и прокидывайте внутрь signal, а не controller.Вывод:
Сильный production-паттерн - один сквозной
AbortSignal, понятный signal.reason и гарантированный cleanup каждой операции.Forwarded from Designdealer
This media is not supported in your browser
VIEW IN TELEGRAM
HONOR представила MagicOS 11.
Если вам показалось, вам не показалось.
Если вам показалось, вам не показалось.
Forwarded from Node.JS [ru] | Серверный JavaScript
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ai.dot(ufna, dev)
Сисьадмин — это врач-маммолог.
А у вас какие гениальные идеи при температуре в 39?
А у вас какие гениальные идеи при температуре в 39?
Forwarded from PSD | Дизайн-пространство
Media is too big
VIEW IN TELEGRAM
Forwarded from Daily Coding 🔥
🛠 Birdview.js - JavaScript-плагин, который позволяет вам уменьшать масштаб страницы и просматривать весь документ в одном окне, после чего вы можете щелкнуть в любом месте, чтобы снова увеличить масштаб и прокрутить вниз прямо до того места, где вы щелкнули.
🌍 Сайт
Daily Coding #инструменты #JavaScript & Max
🌍 Сайт
Daily Coding #инструменты #JavaScript & Max
Forwarded from Node.JS [ru] | Серверный JavaScript
WeakRef, FinalizationRegistry и утечки в нативных коллбэках: ловушки памяти в V8
Node.js и GC V8 делают много работы за нас, но есть сценарии, где автоматическое управление памятью отключается. Особенно когда в дело входят нативные аддоны на C++ с N-API и коллбэки, которые живут дольше, чем само JS-окружение. WeakRef и FinalizationRegistry часто подают как спасение, но на практике это западня, если не понимать деталей.
WeakRef: иллюзия безопасности
WeakRef хранит слабую ссылку на объект и не мешает GC. Выглядит удобно для кэширования, но deref() может вернуть undefined в любой момент:
* Практический совет: никогда не рассчитывай на то, что объект жив после deref().
* Типичная ошибка: думать, что WeakRef продлевает жизнь объекту. Нет, GC может уничтожить его сразу.
FinalizationRegistry: не деструктор
FinalizationRegistry вызывает коллбэк после сборки мусора, но это не гарантированный cleanup:
* Подводный камень: время вызова не определено, и если процесс завершился, коллбэк может не случиться.
* Практический совет: используй FinalizationRegistry только для логирования или диагностики, а не как основной механизм освобождения ресурсов.
Утечки в нативных коллбэках: скрытый убийца
Нативные аддоны с N-API могут захватить JS-коллбэк через napi_ref и забыть его освободить. В результате объект зависает навсегда:
* Production-oriented пример: обработчик событий в long-running процессе, где каждый вызов on создает новую ссылку без очистки.
* Решение: в аддонах используй napi_create_reference с 0 — это слабая ссылка, и явно удаляй ссылку при завершении работы.
Вывод:
Утечки в нативных коллбэках проще предотвратить на этапе проектирования, чем отлавливать с помощью слабых ссылок — дисциплина и явные cleanup-паттерны остаются единственной надежной защитой.
Node.js и GC V8 делают много работы за нас, но есть сценарии, где автоматическое управление памятью отключается. Особенно когда в дело входят нативные аддоны на C++ с N-API и коллбэки, которые живут дольше, чем само JS-окружение. WeakRef и FinalizationRegistry часто подают как спасение, но на практике это западня, если не понимать деталей.
WeakRef: иллюзия безопасности
WeakRef хранит слабую ссылку на объект и не мешает GC. Выглядит удобно для кэширования, но deref() может вернуть undefined в любой момент:
const cache = new Map();
function cachedGet(key, factory) {
let ref = cache.get(key);
if (ref && ref.deref()) return ref.deref();
const obj = factory();
cache.set(key, new WeakRef(obj));
return obj;
}
* Практический совет: никогда не рассчитывай на то, что объект жив после deref().
* Типичная ошибка: думать, что WeakRef продлевает жизнь объекту. Нет, GC может уничтожить его сразу.
FinalizationRegistry: не деструктор
FinalizationRegistry вызывает коллбэк после сборки мусора, но это не гарантированный cleanup:
const registry = new FinalizationRegistry((heldValue) => {
console.log(Cleanup for ${heldValue});
});
registry.register(obj, 'some-id');* Подводный камень: время вызова не определено, и если процесс завершился, коллбэк может не случиться.
* Практический совет: используй FinalizationRegistry только для логирования или диагностики, а не как основной механизм освобождения ресурсов.
Утечки в нативных коллбэках: скрытый убийца
Нативные аддоны с N-API могут захватить JS-коллбэк через napi_ref и забыть его освободить. В результате объект зависает навсегда:
nativeModule.on('data', (msg) => console.log(msg));
// В C++: napi_create_reference(env, callback, 1, &ref);
// И никогда не вызывается napi_delete_reference(ref);* Production-oriented пример: обработчик событий в long-running процессе, где каждый вызов on создает новую ссылку без очистки.
* Решение: в аддонах используй napi_create_reference с 0 — это слабая ссылка, и явно удаляй ссылку при завершении работы.
Вывод:
Утечки в нативных коллбэках проще предотвратить на этапе проектирования, чем отлавливать с помощью слабых ссылок — дисциплина и явные cleanup-паттерны остаются единственной надежной защитой.
Forwarded from PSD | Дизайн-пространство
Media is too big
VIEW IN TELEGRAM
Forwarded from PSD | Дизайн-пространство
Forwarded from Designdealer
Начался прием работ на Russian Design Cup 2026.
Три тура без предварительного отбора, разборы работ от дизайнеров и арт-директоров VK Design Team и денежные призы для лучших участников.
Подать работу на первый этап можно до 5 июля.
russiandesigncup.ru
Три тура без предварительного отбора, разборы работ от дизайнеров и арт-директоров VK Design Team и денежные призы для лучших участников.
Подать работу на первый этап можно до 5 июля.
russiandesigncup.ru
Forwarded from Readymag
Readymag is a no-code design tool for creating standout websites, portfolios, editorials, and more right in your browser. Built by designers, for designers.
🧡 Try Readymag: https://readymag.com/?utm_source=telegram_rm&utm_medium=social&utm_campaign=pinned&utm_content=jun19_26
👉 Follow us on Instagram for fresh updates:
instagram.com/readymag
🧡 Try Readymag: https://readymag.com/?utm_source=telegram_rm&utm_medium=social&utm_campaign=pinned&utm_content=jun19_26
👉 Follow us on Instagram for fresh updates:
instagram.com/readymag
Forwarded from Daily Coding 🔥
🛠 Datadog Database Monitoring (DBM) помогает разработчикам приложений, администраторам баз данных и командам, работающим с платформами, устранять неполадки и оптимизировать медленные и неэффективные запросы в различных средах баз данных, не требуя глубоких знаний в этой области.
🌍 Сайт
Daily Coding #инструменты #SQL & Max
🌍 Сайт
Daily Coding #инструменты #SQL & Max
Forwarded from Цифровой геноцид
Рубрика странные визуализации
Диаграмма, показывающая, как выглядели бы различные лунные затмения при Землях разной формы. Иоганнес Буно, ок. 1711.
Знаменитая гравюра немецкого теолога и педагога Иоганна Буно , опубликованная около 1711 года в книге "Универсальная география"
На гравюре показано, как выглядела бы тень, отбрасываемая Землей на Луну во время затмения, если бы наша планета имела другую форму:
Ряд 1 (Шарообразная Земля): Реальная ситуация. Круглая Земля отбрасывает круглую тень, что мы и видим на Луне.
Ряд 2 (Треугольная Земля): Если бы Земля была трехгранной пирамидой или треугольником, то на Луну проецировалась бы угловатая треугольная тень.
Ряд 3 (Ромбовидная Земля): Земля в форме ромба или куба оставляла бы на лунном диске ромбовидный след.
Ряд 4 (Шестиугольная Земля): Планета в форме гексагона проецировала бы на Луну четкую шестиугольную тень.
https://commons.wikimedia.org/wiki/File:Four_diagrams_of_Solar_eclipses_(1711)_by_Johannes_Buno._Original_from_Library_of_Congress._Digitally_enhanced_by_rawpixel._(50623610866).jpg
Диаграмма, показывающая, как выглядели бы различные лунные затмения при Землях разной формы. Иоганнес Буно, ок. 1711.
Знаменитая гравюра немецкого теолога и педагога Иоганна Буно , опубликованная около 1711 года в книге "Универсальная география"
На гравюре показано, как выглядела бы тень, отбрасываемая Землей на Луну во время затмения, если бы наша планета имела другую форму:
Ряд 1 (Шарообразная Земля): Реальная ситуация. Круглая Земля отбрасывает круглую тень, что мы и видим на Луне.
Ряд 2 (Треугольная Земля): Если бы Земля была трехгранной пирамидой или треугольником, то на Луну проецировалась бы угловатая треугольная тень.
Ряд 3 (Ромбовидная Земля): Земля в форме ромба или куба оставляла бы на лунном диске ромбовидный след.
Ряд 4 (Шестиугольная Земля): Планета в форме гексагона проецировала бы на Луну четкую шестиугольную тень.
https://commons.wikimedia.org/wiki/File:Four_diagrams_of_Solar_eclipses_(1711)_by_Johannes_Buno._Original_from_Library_of_Congress._Digitally_enhanced_by_rawpixel._(50623610866).jpg
Forwarded from Цифровой геноцид
Центры HCI в мире - давно не было рубрики. Сегодня про духовность и HCI
Коллектив центра SPIRITED состоит из исследователей и учёных из самых разных областей, которых объединяет глубокий — как академический, так и личный — интерес к вопросам и проблемам на стыке религии, духовности, дизайна и интерактивных технологий.
https://spiritedhci.org/
Главная цель коллектива — собрать в одном пространстве различных участников: исследователей и дизайнеров HCI, специалистов по религиозным исследованиям, теологов и практикующих, — и установить долгосрочные, устойчивые и трансдисциплинарные отношения.
Что изучают на стыке духовности и проектирования?
Из интересного - внезапно византийские исследования технологий в стиле иеротопии Алексея Лидова, которая изучает сакральные пространства и создание сакральных мест: при помощи ряда технологий и интерфейсов концепции обретают новый смысл. Предлагается создавать ТЕХНОЧАСОВНИ (почти в стиле вархаммера)
Дадим слово авторам идеи:
Техно-часовня Малой Части (T-CLP) вдохновлена Часовней Малой Части, расположенной в святилище Джейн Блаффер Оуэн в Нью-Хармони, штат Индиана, США . Часовня Малой Части — это небольшая часовня, которая в основном используется посетителями святилища для тихой индивидуальной молитвы и медитации. Она была вдохновлена и призвана напоминать посетителям церковь Санта-Мария-дельи-Анджели в Порциункуле — маленькую церковь (примерно 18 × 10,5 футов), которую в 1209 году перестроил святой Франциск Ассизский
https://dl.acm.org/doi/10.1145/3689050.3704954
T-CLP задумана как отдельно стоящее кубическое сооружение с внутренними размерами 12' × 12' × 12' (примерно 3,66 × 3,66 × 3,66 м), состоящее из одного помещения. Здание построено из крупных камней местного карьера, чтобы гармонично вписаться в окружающую застройку Нью-Хармони. Внешний вид лишён украшений — это воспроизводит минималистичную эстетику оригинальной Часовни Малой Части (и Порциункулы до позднейших художественных дополнений фасада) и отражает преобладающую в современной сакральной архитектуре тенденцию к аскетизму
https://robertleeblafferfoundation.org/walking-map-of-blaffer-sanctuary/chapel-of-the-little-portion-attraction/
Вход в пространство осуществляется через простую деревянную дверь с системой доступа через сенсорную панель. При касании панели на ней появляется изображение креста, который посетитель должен обвести пальцем в качестве пароля. После этого дверь открывается с тихим щелчком.
Войдя внутрь, посетитель видит гладкий каменный пол, четыре небольшие (3 фута длиной) передвижные скамьи, простой каменный алтарь (4' высотой × 2' шириной × 2' глубиной) у дальней стены, в котором скрыты процессор и другие системы, необходимые для интерактивных компонентов, а также небольшую чувствительную к давлению коврик для коленопреклонения перед алтарём, также подключённый к системе. Всё пространство освещается белой светодиодной линейной врезной подсветкой (3 дюйма), расположенной в 1 футе от потолка и подключённой к панели управления.
https://dl.acm.org/doi/10.1145/3689050.3704954
Не менее интересно и направление разработок религиозной утвари!
Прототипирование еврейских ритуальных предметов: носимые возможности для намерения и связи
Вместо филакте́рии - пара коробочек из выкрашенной чёрной краской кожи кошерных животных - предлагается - гаджет с с радиоприемником, динамиком и тфилином в разобранном виде.
https://dl.acm.org/doi/epdf/10.1145/3686169.3686193
Отдельным способом работы являются гаджеты для медитаций для удаленки - куда же без них: буддийские ритуальные предметы с умной колонкой https://dl.acm.org/doi/epdf/10.1145/3689050.3704422 Работает он так: это сферический осязаемый интерактивный объект, разработанный специально для буддийской общины (в частности, практикующих Nichiren Buddhism — повторение мантры «Namu Myōhō Renge Kyō»).
Гаджет предназначен для удалённой совместной практики чтения мантр: он помогает членам сообщества чувствовать присутствие друг друга, даже когда они находятся в разных местах (особенно актуально после пандемии, когда Zoom оказался неудовлетворительным).
Список публикаций центра исследований вот тут
https://spiritedhci.org/publication-library/
Коллектив центра SPIRITED состоит из исследователей и учёных из самых разных областей, которых объединяет глубокий — как академический, так и личный — интерес к вопросам и проблемам на стыке религии, духовности, дизайна и интерактивных технологий.
https://spiritedhci.org/
Главная цель коллектива — собрать в одном пространстве различных участников: исследователей и дизайнеров HCI, специалистов по религиозным исследованиям, теологов и практикующих, — и установить долгосрочные, устойчивые и трансдисциплинарные отношения.
Что изучают на стыке духовности и проектирования?
Из интересного - внезапно византийские исследования технологий в стиле иеротопии Алексея Лидова, которая изучает сакральные пространства и создание сакральных мест: при помощи ряда технологий и интерфейсов концепции обретают новый смысл. Предлагается создавать ТЕХНОЧАСОВНИ (почти в стиле вархаммера)
Дадим слово авторам идеи:
Техно-часовня Малой Части (T-CLP) вдохновлена Часовней Малой Части, расположенной в святилище Джейн Блаффер Оуэн в Нью-Хармони, штат Индиана, США . Часовня Малой Части — это небольшая часовня, которая в основном используется посетителями святилища для тихой индивидуальной молитвы и медитации. Она была вдохновлена и призвана напоминать посетителям церковь Санта-Мария-дельи-Анджели в Порциункуле — маленькую церковь (примерно 18 × 10,5 футов), которую в 1209 году перестроил святой Франциск Ассизский
https://dl.acm.org/doi/10.1145/3689050.3704954
T-CLP задумана как отдельно стоящее кубическое сооружение с внутренними размерами 12' × 12' × 12' (примерно 3,66 × 3,66 × 3,66 м), состоящее из одного помещения. Здание построено из крупных камней местного карьера, чтобы гармонично вписаться в окружающую застройку Нью-Хармони. Внешний вид лишён украшений — это воспроизводит минималистичную эстетику оригинальной Часовни Малой Части (и Порциункулы до позднейших художественных дополнений фасада) и отражает преобладающую в современной сакральной архитектуре тенденцию к аскетизму
https://robertleeblafferfoundation.org/walking-map-of-blaffer-sanctuary/chapel-of-the-little-portion-attraction/
Вход в пространство осуществляется через простую деревянную дверь с системой доступа через сенсорную панель. При касании панели на ней появляется изображение креста, который посетитель должен обвести пальцем в качестве пароля. После этого дверь открывается с тихим щелчком.
Войдя внутрь, посетитель видит гладкий каменный пол, четыре небольшие (3 фута длиной) передвижные скамьи, простой каменный алтарь (4' высотой × 2' шириной × 2' глубиной) у дальней стены, в котором скрыты процессор и другие системы, необходимые для интерактивных компонентов, а также небольшую чувствительную к давлению коврик для коленопреклонения перед алтарём, также подключённый к системе. Всё пространство освещается белой светодиодной линейной врезной подсветкой (3 дюйма), расположенной в 1 футе от потолка и подключённой к панели управления.
https://dl.acm.org/doi/10.1145/3689050.3704954
Не менее интересно и направление разработок религиозной утвари!
Прототипирование еврейских ритуальных предметов: носимые возможности для намерения и связи
Вместо филакте́рии - пара коробочек из выкрашенной чёрной краской кожи кошерных животных - предлагается - гаджет с с радиоприемником, динамиком и тфилином в разобранном виде.
https://dl.acm.org/doi/epdf/10.1145/3686169.3686193
Отдельным способом работы являются гаджеты для медитаций для удаленки - куда же без них: буддийские ритуальные предметы с умной колонкой https://dl.acm.org/doi/epdf/10.1145/3689050.3704422 Работает он так: это сферический осязаемый интерактивный объект, разработанный специально для буддийской общины (в частности, практикующих Nichiren Buddhism — повторение мантры «Namu Myōhō Renge Kyō»).
Гаджет предназначен для удалённой совместной практики чтения мантр: он помогает членам сообщества чувствовать присутствие друг друга, даже когда они находятся в разных местах (особенно актуально после пандемии, когда Zoom оказался неудовлетворительным).
Список публикаций центра исследований вот тут
https://spiritedhci.org/publication-library/
SPIRITED Collective
A research community at the intersection of spirituality, religion, and design