#web_worker — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #web_worker, aggregated by home.social.
-
ИграКОД: Генератор судоку на TypeScript: почему найти решение проще, чем доказать единственность
Главная ошибка наивного генератора судоку — проверять, что решение существует, но не проверять, что оно единственное. Вот почти заполненное поле: 534..8912 672195348 198342567 859..1423 426853791 713924856 961537284 287419635 345286179 solve() быстро заполнит четыре пропуска. Только завершений здесь два: цифры 6 и 7 можно переставить, не нарушив ни строку, ни столбец, ни блок. countSolutions(puzzle, 2) останавливается после второго решения и возвращает 2 . Это не демонстрационная картинка. Та же строка из 81 символа лежит в solver.spec.ts , тест так и называется: «контрпример из лида действительно имеет два решения». Я реализовал три стратегии поиска, а MRV и propagation дополнительно сравнил на наборах задач. Ещё измерил две операции: получение первого решения и доказательство того, что второго решения нет. Вторая вызывается после каждой попытки убрать подсказку, поэтому она в основном определяет цену генерации. React, Web Worker и тесты появятся дальше как обвязка этого поиска, а не как отдельные темы. Это первый выпуск рубрики «ИграКОД» — про алгоритмы через запускаемые мини-игры. Ранее в цикле выходили материалы про useEffect , any , перенос TypeScript на Go , варианты архитектуры React-магазина и мы собирали и разбирали комбайн .
https://habr.com/ru/articles/1065276/
#TypeScript #судоку #алгоритмы #backtracking #MRV #propagation #генерация_судоку #React #Web_Worker #тестирование
-
Lighthouse 100 / 100: как мы повесили GTM, GA4, Яндекс.Метрику и Clarity на статический сайт — и не уронили скорость
Когда маркетологи хотят всё: сырые данные в GA4, запись сессий в Метрике, хитмапы в Clarity и при этом «Lighthouse 100» в PageSpeed Insights — приходится изобретать. Расскажу, как мы это сделали на небольшом проекте и во что это обошлось по времени и нервам. Проект — нишевый агрегатор российских хостинг-провайдеров. Более 120 страниц в sitemap, 31 статья, десятки категорий услуг, живые цены, сравнения. Стек: Astro 6 + Strapi 5 + Tailwind 4, плюс Partytown, PostgreSQL, Nginx и обычный VPS на Ubuntu. Сайт собирается в статику во время билда, никакого SSR в рантайме нет. На desktop — Lighthouse 100 / 100 / 100 / 100. На mobile с жёстким throttling (4x slow CPU) — 99 / 100 / 100 / 100. В реальных условиях и по Chrome UX Report — 100 везде. LCP на desktop — 0,5 секунды, на mobile throttled — 1,7 секунды. CLS — ноль. TBT — 10 ms на мобильном и 0 ms на десктопе.
https://habr.com/ru/articles/1042228/
#Astro #Strapi #Tailwind_CSS #Partytown #Lighthouse #Core_Web_Vitals #Web_Worker #GTM #performance #SSG