Forwarded from Dezzigners
This media is not supported in your browser
VIEW IN TELEGRAM
🧰 Tooltip Creator — поможет быстро добавить комментарии и подсказки поверх готовых экранов
Dezzigners
Dezzigners
Forwarded from PSD | Дизайн-пространство
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ai.dot(ufna, dev)
Правильное решение проблем в фентезийном мире.
Бтв, обожаю этот канал нейромультов, там прям клёво автор по стилю стал делать, и сюжетка огонь.
Бтв, обожаю этот канал нейромультов, там прям клёво автор по стилю стал делать, и сюжетка огонь.
Forwarded from PSD | Дизайн-пространство
Media is too big
VIEW IN TELEGRAM
Forwarded from PSD | Дизайн-пространство
До конца 2026 года дизайнеров интерфейсов станет намного меньше
Статья рассказывает о том, как автор перестал получать запросы на разработку интерфейсов за последний год. Он делится своими мыслями и наблюдениями по этому поводу
Читать на дизайнерс | #статья
Статья рассказывает о том, как автор перестал получать запросы на разработку интерфейсов за последний год. Он делится своими мыслями и наблюдениями по этому поводу
Читать на дизайнерс | #статья
Forwarded from Daily Coding 🔥
🛠 Study - это инструмент для тестирования AB, разработанный таким образом, чтобы быть понятным, минималистичным и гибким. Библиотека работает как в браузерных, так и в серверных средах, поддерживает несколько драйверов хранилища и имеет понятный, хорошо документированный API.
🌍 Сайт
Daily Coding #инструменты #тестирование & Max
🌍 Сайт
Daily Coding #инструменты #тестирование & Max
Forwarded from PSD | Дизайн-пространство
This media is not supported in your browser
VIEW IN TELEGRAM
M6 - crypto venture capal fund
Forwarded from Node.JS [ru] | Серверный JavaScript
SharedArrayBuffer без Atomics: гонка, которую не видно
Когда два worker_thread пишут в один SharedArrayBuffer, состояние памяти может разрушиться без видимых исключений. Особенно это заметно на ARM: вместо ожидаемых 0xFF00FF00 и 0x00FF00FF получается 0x0000FFFF — байты частично обновляются и перемешиваются. Частая ошибка — думать, что «просто запись» в SharedArrayBuffer безопасна без Atomics.
Почему это ломается
Два воркера одновременно пишут в соседние ячейки Uint32Array. Кэш-линии процессора конфликтуют, и результат — частичное обновление. В production это проявляется как расходящиеся данные или краши без явной причины. Диагностика сложна: console.log с двоичным выводом может показать мусор, но только постфактум.
Как диагностировать
Вставь Atomics.load() для проверки — он вернет актуальное значение и выявит «битые» данные. Но без Atomics.store() запись остается неатомарной.
Лечение: только Atomics
Используй
Типичная ошибка
Игнорировать атомарность на write-heavy сценариях. «Оптимизация» без Atomics кончится багом, который воспроизводится через раз. Не пытайся экономить на синхронизации — это ломает production.
Вывод: При конкурентной записи в SharedArrayBuffer из разных воркеров используй только целочисленные Atomics-методы — любая другая запись гарантирует state corruption на уровне памяти.
Когда два worker_thread пишут в один SharedArrayBuffer, состояние памяти может разрушиться без видимых исключений. Особенно это заметно на ARM: вместо ожидаемых 0xFF00FF00 и 0x00FF00FF получается 0x0000FFFF — байты частично обновляются и перемешиваются. Частая ошибка — думать, что «просто запись» в SharedArrayBuffer безопасна без Atomics.
Почему это ломается
Два воркера одновременно пишут в соседние ячейки Uint32Array. Кэш-линии процессора конфликтуют, и результат — частичное обновление. В production это проявляется как расходящиеся данные или краши без явной причины. Диагностика сложна: console.log с двоичным выводом может показать мусор, но только постфактум.
Как диагностировать
Вставь Atomics.load() для проверки — он вернет актуальное значение и выявит «битые» данные. Но без Atomics.store() запись остается неатомарной.
Atomics.load(buffer, index) — первый шаг к обнаружению гонки. Если видишь неожиданные значения, проблема точно в синхронизации.Лечение: только Atomics
Используй
Atomics.store, Atomics.load, Atomics.exchange — это единственный надежный способ. Подходят только целочисленные массивы: Int32Array, Uint32Array, BigInt64Array. Float не поддерживается. Для сложных структур применяй Atomics.compareExchange и спин-лок:const lock = new Int32Array(sab, 0, 1);
while (!Atomics.compareExchange(lock, 0, 0, 1)) {
// spin
}
// работа с shared данными
Atomics.store(lock, 0, 0);
Atomics.isLockFree() для Int32 возвращает true — это быстрее мьютексов. Ошибка: попытка обойти Atomics через Buffer.writeInt32LE или DataView — это не атомарно, особенно на разных ядрах.Типичная ошибка
Игнорировать атомарность на write-heavy сценариях. «Оптимизация» без Atomics кончится багом, который воспроизводится через раз. Не пытайся экономить на синхронизации — это ломает production.
Вывод: При конкурентной записи в SharedArrayBuffer из разных воркеров используй только целочисленные Atomics-методы — любая другая запись гарантирует state corruption на уровне памяти.
Forwarded from ai.dot(ufna, dev)
Мелкомягкие режут кажется единственную студию, у которой все было хорошо.
Единственную НУЖНУЮ студию там у этих мелкомягких.
Пора ли уходить с гитхаба в знак протеста? Они покусились на святое! Где мои ДЛЦ для дума??!
https://www.techtimes.com/articles/318653/20260618/zenimax-layoffs-begin-id-software-doom-developers-face-xbox-reset-cuts.htm
Единственную НУЖНУЮ студию там у этих мелкомягких.
Пора ли уходить с гитхаба в знак протеста? Они покусились на святое! Где мои ДЛЦ для дума??!
https://www.techtimes.com/articles/318653/20260618/zenimax-layoffs-begin-id-software-doom-developers-face-xbox-reset-cuts.htm
Tech Times
ZeniMax Layoffs Begin: id Software and Doom Developers Face Xbox Reset Cuts
ZeniMax layoffs have reportedly begun, with sources warning cuts at Bethesda parent will be deeper than expected. Developers at id Software, MachineGames, and Arkane Lyon are not considered safe under the Xbox Reset — only Fallout and Elder Scrolls teams…
Forwarded from ai.dot(ufna, dev)
У кого-то клод плещет такими словами как "гоча", у меня — "заземлиться".
Каждый раз тянет на грядки. Я бы выращивал помидоры!
Каждый раз тянет на грядки. Я бы выращивал помидоры!
Forwarded from PSD | Дизайн-пространство
Как мы сделали NFT для сотрудников, или Конструктор эмоций в мире чётких процессов
Узнай, как HR Tech команда Альфы создала инновационную «Открыточную» для доставки эмоций сотрудникам. Следи за Машей, лидером стрима, и их удивительными успехами!
Читать на дизайнерс | #статья
Узнай, как HR Tech команда Альфы создала инновационную «Открыточную» для доставки эмоций сотрудникам. Следи за Машей, лидером стрима, и их удивительными успехами!
Читать на дизайнерс | #статья
Forwarded from Daily Coding 🔥
🛠 PKG - CLI-приложение, позволяющее упаковывать Node.js проекты в исполняемые файлы и запускать их на компьютерах, на которых даже не установлен Node. Оно работает кроссплатформенно и поддерживает Linux, Windows, macOS и FreeBSD.
🌍 Сайт
Daily Coding #инструменты #NodeJS & Max
🌍 Сайт
Daily Coding #инструменты #NodeJS & Max
Forwarded from Dezzigners
🧰 Clean Gradients — этот плагин решает проблему в два клика: добавляет три промежуточные точки с цветом, чтобы вернуть градиенту сочность
Dezzigners
Dezzigners