
- Главная
- Каталог
- Интернет технологии
- Будни разработчика
Будни разработчика
Всё о разработке вообще и фронтенде в частности: лучшие статьи, фишки, баги браузеров и личный опыт автора
Статистика канала
vec2 p=(FC.xy-r*.5)/r.y*mat2(8,-6,6,8),v;for(float i,f=3.+snoise2D(p+vec2(t*7.,0));i++<50.;o+=(cos(sin(i)*vec4(1,2,3,1))+1.)*exp(sin(i*i+t))/length(max(v,vec2(v.x*f*.02,v.y))))v=p+cos(i*i+(t+p.x*.1)*.03+i*vec2(11,9))*5.;o=tanh(pow(o/1e2,vec4(1.5)));
{}
Это валидный код шейдера на GLSL для приложения Twigl: https://twigl.app/?ol=true&ss=-OGqcXbWDIJun2QTR4Cm
Они буквально конкуренты Shadertoy, и тот и другой — онлайн-инструменты для мгновенной проверки и рисования шейдеров на языке GLSL.
Вот, кстати, пример на Shadertoy: https://www.shadertoy.com/view/XX3fDH
В этом варианте ещё и камера дрожит.
Красиво? Не то слово!
#shader #glsl #3d:has(:not()) от :not(:has())?
На самом деле, если тупо воспользоваться логикой английского языка — легко ошибиться.
Разработчики браузера для, простите, разработчиков —Polypane — ведут свой блог с разными мелкими фишками, и сегодня — вот такая, как раз об этом.
📌 :has(:not())
Выбирает элементы, которые содержат определённые дочерние элементы, но не содержащие другие.
.card:has(:not(img)) {
background: lightblue;
}
{}
🔹 Выберет .card, если внутри есть любой элемент, кроме <img>.
📌 :not(:has())
Выбирает элементы, не содержащие определённый дочерний элемент.
.card:not(:has(img)) {
background: lightcoral;
}
{}
🔹 Выберет .card, если внутри вообще нет <img>.
🏁 Итого:
:has(:not(img)) проверяет, есть ли что-то, кроме <img>.
:not(:has(img)) проверяет, что <img> вообще нет.
Ну а в статье всё то же самое, только чуть подробнее.
Не ошибайтесь, котаны.
#css #has #not// MARK: Something, и этот самый Something будет виден на карте.
В идеале, конечно, не стоит развозить свой код на несколько экранов, но прежде чем разбивать — надо ж распознать, верно? :)
#vscode #minimap #бородачNoto Color Emoji как основной шрифт, он используется даже для обычного текста, хотя покрывает только эмодзи. Для всех остальных символов браузер каждый раз ищет подходящий fallback-шрифт. В процессе layout он пересчитывает размеры текста, переносы строк и позиции элементов, и делает это много раз подряд.
В норме такие пересчёты почти ничего не стоят, но в Safari здесь есть просадка, из-за которой всё резко замедляется. В итоге одна строка с emoji-шрифтом может увеличить время layout в десятки или даже сотни раз.
Минимальный пример:
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji" rel="stylesheet">
<style>
body {
font-family: "Noto Color Emoji";
}
</style>
<button>Click ❤️</button>
{}
Если не ставить emoji-шрифт основным, а оставить его только в конце списка как fallback, проблема исчезает. В оригинальной статье есть ещё детали про поиск причины и минимизацию примера — стоит почитать: https://allenpike.com/2026/a-broken-heart/
Ну и официальный issue: https://bugs.webkit.org/show_bug.cgi?id=305636
Потрясающая хрень, конечно. На пустом месте.
#css #emoji #svg #performance
// ❌ BAD: Effect attempts to emulate remount behavior
function VideoPlayer({ videoId }) {
useEffect(() => {
loadVideo(videoId);
}, [videoId]);
}
// ✅ GOOD: key forces clean remount
function VideoPlayer({ videoId }) {
useMountEffect(() => {
loadVideo(videoId);
});
}
function VideoPlayerWrapper({ videoId }) {
return <VideoPlayer key={videoId} videoId={videoId} />;
}
{}
Это настолько чисто, элегантно и понятно — что удивляешься, почему это не стало общим паттерном.
Впрочем, дело за вами, котаны.
#react #useeffect #articleОтзывы канала
всего 24 отзыва
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Будни разработчика — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 14.5K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 24.3, количество отзывов – 24, со средней оценкой 4.8.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 2517.48 ₽, а за 226 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий