Будущее карьеры разработчика
Внезапно не про веб, а про профессию в целом.
Маттео Коллина (легенда) поделился своим видением, что изменится в нашей работе и в карьерных возможностях будущих новичков.
• Фундаментальные знания стали ещё важнее. Так как LLM может взять на себя написание кода, кто-то должен ревьюить то, что оно напишет. И заранее можно эффективнее задачи ставить, если чётко формулировать, со знанием дела.
• Стажировки — самый правильный способ вкатиться в IT. Джуны с рынка не интересны, компаниям интереснее брать мотивированных новичков, которых можно обучить тому самому фундаменту. Чтобы с LLM работать эффективнее. Рынок сейчас принадлежит компаниям, правила устанавливают они.
• Индивидуальное решение сделать всё проще, универсальное не всегда нужно. Я уже сейчас иногда для себя вайбкодю то, что мне поможет решить текущую задачу разово, а не пытаюсь адаптировать универсальные инструменты. И такого будет всё больше.
Но вообще, что забавно, я и раньше знакомым, которые хотели в айти, рекомендовал то же самое: обучиться базе (онлайн или офлайн, в интернете полно бесплатных материалов), найти ментора и/или попробовать попасть на стажировку (куда угодно, лишь бы опыт промышленный получить), собирать пет-проекты под свои нужды. Просто теперь эти рекомендации ещё более актуальны.
Сейчас бы ещё интеграцию какую-нибудь вставить, что вообще-то у нас есть стажировки, приходите. Но вы и так их найдёте, если захотите поработать где-нибудь рядом со мной :)
https://adventures.nodeland.dev/archive/the-future-of-the-software-engineering-career/
Внезапно не про веб, а про профессию в целом.
Маттео Коллина (легенда) поделился своим видением, что изменится в нашей работе и в карьерных возможностях будущих новичков.
• Фундаментальные знания стали ещё важнее. Так как LLM может взять на себя написание кода, кто-то должен ревьюить то, что оно напишет. И заранее можно эффективнее задачи ставить, если чётко формулировать, со знанием дела.
• Стажировки — самый правильный способ вкатиться в IT. Джуны с рынка не интересны, компаниям интереснее брать мотивированных новичков, которых можно обучить тому самому фундаменту. Чтобы с LLM работать эффективнее. Рынок сейчас принадлежит компаниям, правила устанавливают они.
• Индивидуальное решение сделать всё проще, универсальное не всегда нужно. Я уже сейчас иногда для себя вайбкодю то, что мне поможет решить текущую задачу разово, а не пытаюсь адаптировать универсальные инструменты. И такого будет всё больше.
Но вообще, что забавно, я и раньше знакомым, которые хотели в айти, рекомендовал то же самое: обучиться базе (онлайн или офлайн, в интернете полно бесплатных материалов), найти ментора и/или попробовать попасть на стажировку (куда угодно, лишь бы опыт промышленный получить), собирать пет-проекты под свои нужды. Просто теперь эти рекомендации ещё более актуальны.
https://adventures.nodeland.dev/archive/the-future-of-the-software-engineering-career/
adventures.nodeland.dev
The Future of the Software Engineering Career
A few weeks ago, I wrote about the human in the loop and why review is now the bottleneck in software development. That post triggered a lot of...
👍29❤8🤔4🤣4🥴3🐳2💯2
NES.css
Нашёл визуальное наслаждение. CSS-библиотеку, которая превращает интерфейс в 8-битную игру. Олдскулы радуются.
Проект, к сожалению, не обновлялся с 2021 года. Но это не мешает вдохновиться и форкнуть, если очень нужно.
https://nostalgic-css.github.io/NES.css/
Нашёл визуальное наслаждение. CSS-библиотеку, которая превращает интерфейс в 8-битную игру. Олдскулы радуются.
Проект, к сожалению, не обновлялся с 2021 года. Но это не мешает вдохновиться и форкнуть, если очень нужно.
https://nostalgic-css.github.io/NES.css/
nostalgic-css.github.io
NES.css
NES-style CSS Framework | ファミコン風CSSフレームワーク
❤24🎉9❤🔥2🔥2
Книга ‘Accessibility for Everyone’
У меня эта книга есть в бумажном виде довольно давно. Крайне полезный источник знаний про доступность для веба и не только. Спасибо Лоре Калбаг.
Несмотря на то, что книге уже 9 лет, знания из книги во многом всё ещё актуальные. Да, появились WCAG 3, новые законы и акты о доступности. И в момент написания книги не было LLM-агентов, которым можно скормить гайдлайны, чтобы они помогали писать хороший код. Но для погружения в тему — самое то.
Собственно, откуда вдруг пост про книгу 9-летней давности. Она стала бесплатной в электронном виде. Превратить HTML в удобный для чтения формат на ваших устройствах, если веб-версии недостаточно, поможет гугление или джипитишение.
https://accessibilityforeveryone.site/
У меня эта книга есть в бумажном виде довольно давно. Крайне полезный источник знаний про доступность для веба и не только. Спасибо Лоре Калбаг.
Несмотря на то, что книге уже 9 лет, знания из книги во многом всё ещё актуальные. Да, появились WCAG 3, новые законы и акты о доступности. И в момент написания книги не было LLM-агентов, которым можно скормить гайдлайны, чтобы они помогали писать хороший код. Но для погружения в тему — самое то.
Собственно, откуда вдруг пост про книгу 9-летней давности. Она стала бесплатной в электронном виде. Превратить HTML в удобный для чтения формат на ваших устройствах, если веб-версии недостаточно, поможет гугление или джипитишение.
https://accessibilityforeveryone.site/
accessibilityforeveryone.site
Accessibility For Everyone by Laura Kalbag
Read the book online for free.
1👍29❤9🔥1🥴1
Browser Score
Страничка от Лии Веру, которая проверяет, какие фичи CSS ваш браузер поддерживает. Раньше это называлось CSS3 Test, но CSS3 — устаревший термин, даже в вакансиях вижу его всё реже.
Практическое применение у него есть полезное как минимум для процессов поддержки. Можно просить пользователя, у которого что-то визуально сломалось, открыть страницу и через девтулзы сделать её скриншот полностью (если пользователь знает, что такое девтулзы). Это всё равно проще, чем пытаться на машине разработчика имитировать все браузеры мира.
https://browserscore.dev/
Страничка от Лии Веру, которая проверяет, какие фичи CSS ваш браузер поддерживает. Раньше это называлось CSS3 Test, но CSS3 — устаревший термин, даже в вакансиях вижу его всё реже.
Практическое применение у него есть полезное как минимум для процессов поддержки. Можно просить пользователя, у которого что-то визуально сломалось, открыть страницу и через девтулзы сделать её скриншот полностью (если пользователь знает, что такое девтулзы). Это всё равно проще, чем пытаться на машине разработчика имитировать все браузеры мира.
https://browserscore.dev/
❤29😁3🥴3🐳2🤨1😐1
Flexbox Masonry Layout
Ибрахим Бендебка предлагает решить задачу masonry-раскладки на флексах при помощи математики. Буквально берёт и раскладывает важные составляющие флексов на формулы и высчитывает нужные размеры для всех элементов, чтобы они красиво выкладывались в горизонтальную плитку.
На самом деле получился не совсем masonry, а только очень частный его случай. И на узких экранах подход ломается. Но для реализации фотогалереи с превьюшками, честно говоря, идея очень интересная, к тому же не нуждающаяся в JavaScript — всё на CSS-переменных и небольших `atan2`-хаках.
Советую вчитаться в демки всем любителям математики в интерфейсах.
https://frontendmasters.com/blog/flexbox-masonry-layout-explained-with-math/
Ибрахим Бендебка предлагает решить задачу masonry-раскладки на флексах при помощи математики. Буквально берёт и раскладывает важные составляющие флексов на формулы и высчитывает нужные размеры для всех элементов, чтобы они красиво выкладывались в горизонтальную плитку.
На самом деле получился не совсем masonry, а только очень частный его случай. И на узких экранах подход ломается. Но для реализации фотогалереи с превьюшками, честно говоря, идея очень интересная, к тому же не нуждающаяся в JavaScript — всё на CSS-переменных и небольших `atan2`-хаках.
Советую вчитаться в демки всем любителям математики в интерфейсах.
https://frontendmasters.com/blog/flexbox-masonry-layout-explained-with-math/
Frontend Masters
Flexbox Masonry Layout (Explained with Math)
We’re going to get into building a somewhat unusual layout. It’s going to be multiple rows of differently sized elements, each with a known aspect ratio (like images), which span the full and exact width of the container.
👍19🤣8❤2🥴1💯1
Два круга, одна стрелка и Anchor Positioning
Темани Афиф продолжает экспериментировать с различными свежими API, чтобы исследовать их пользу на практике.
Задача: соединить два круга стрелкой. Круги можно двигать при помощи JS. Для усложения над стрелкой нужно выводить расстояние между кругами, без JS. И двигать круги можно вообще как угодно. Темани по шагам, демка за демкой приходит к реализации.
А потом ради интереса реализует на CSS алгоритм нахождения кратчайшего пути в графе. Потому что может.
Когда-то давно у меня был доклад с названием «CSS — язык программирования». Кажется, пора с него сдуть пыль и переделать под современные реалии.
https://frontendmasters.com/blog/two-circles-one-arrow-and-anchor-positioning/
Темани Афиф продолжает экспериментировать с различными свежими API, чтобы исследовать их пользу на практике.
Задача: соединить два круга стрелкой. Круги можно двигать при помощи JS. Для усложения над стрелкой нужно выводить расстояние между кругами, без JS. И двигать круги можно вообще как угодно. Темани по шагам, демка за демкой приходит к реализации.
А потом ради интереса реализует на CSS алгоритм нахождения кратчайшего пути в графе. Потому что может.
Когда-то давно у меня был доклад с названием «CSS — язык программирования». Кажется, пора с него сдуть пыль и переделать под современные реалии.
https://frontendmasters.com/blog/two-circles-one-arrow-and-anchor-positioning/
Frontend Masters
Two Circles, One Arrow, and Anchor Positioning
In a previous series of articles, we studied a classic use case of anchor positioning: Tooltips. In this article, we will explore a less common use case that is a great example of the power of this new feature and modern CSS in general.
🤯15❤10👍4🔥3
Шрифт-график Datatype
Крайне интересная находка. Вариативный шрифт Datatype, который превращает инструкции текстом в графики. Например,
Из минусов вижу только то, что копировать такой текст, как и читать его скринридером, будет тем ещё приколом. И если доступность починить довольно легко, то с копированием не придумал, что можно сделать.
https://franktisellano.github.io/datatype/
Крайне интересная находка. Вариативный шрифт Datatype, который превращает инструкции текстом в графики. Например,
{l:15,45,90,30,75,20,85,95} — линейный график, {b:30,70,50,90} — диаграмма столбиками, {p:65} — круговая диаграмма. Собсна, пока всё. Вся магия в лигатурах.Из минусов вижу только то, что копировать такой текст, как и читать его скринридером, будет тем ещё приколом. И если доступность починить довольно легко, то с копированием не придумал, что можно сделать.
https://franktisellano.github.io/datatype/
franktisellano.github.io
Datatype — variable font that turns text into charts
An OpenType variable font that turns simple text expressions into inline charts. No JavaScript, no images — just type.
4👍25🔥8🤔7❤2❤🔥1
Axios скомпрометирован
В блоге Socket подробно разбирается свежий взлом супер-популярного пакета Axios. Рассказывают, как он затронул экосистему и что делать, чтобы подобные атаки вас не задевали.
Для начала, обязательно проверьте, есть ли у вас где-то версия
Затем убедитесь, что нигде в пайплайне не используете npx — в нём у вас контроль минимальный. К слову, npx часто используют для работы с MCP, привет современной разработке. Если npx ну очень нужен, перейдите на
А потом внимательно прочитайте статью и прислушайтесь к советам из неё. Кстати, ещё можно перейти на pnpm, он по умолчанию более требовательный к любым зависимостям.
https://socket.dev/blog/hidden-blast-radius-of-the-axios-compromise
В блоге Socket подробно разбирается свежий взлом супер-популярного пакета Axios. Рассказывают, как он затронул экосистему и что делать, чтобы подобные атаки вас не задевали.
Для начала, обязательно проверьте, есть ли у вас где-то версия
1.41.1 в зависимостях и в зависимостях зависимостей. Важно не просто найти подстроку, но и проверить разрешённые диапазоны типа ^1.13.5.Затем убедитесь, что нигде в пайплайне не используете npx — в нём у вас контроль минимальный. К слову, npx часто используют для работы с MCP, привет современной разработке. Если npx ну очень нужен, перейдите на
--no --offline.А потом внимательно прочитайте статью и прислушайтесь к советам из неё. Кстати, ещё можно перейти на pnpm, он по умолчанию более требовательный к любым зависимостям.
https://socket.dev/blog/hidden-blast-radius-of-the-axios-compromise
Socket
The Hidden Blast Radius of the Axios Compromise - Socket
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.
⚡15😱6❤🔥3❤1😁1🤩1
Что на самом деле важно в разработке?
Видео выходного дня. Вова Гриненко на ЯЛФ в этом году прочитал шикарный доклад про то, что так или иначе волнует каждого разработчика. Философское размышление с добротной порцией фирменного юмора.
https://youtu.be/nBbTeDUYgyU
Видео выходного дня. Вова Гриненко на ЯЛФ в этом году прочитал шикарный доклад про то, что так или иначе волнует каждого разработчика. Философское размышление с добротной порцией фирменного юмора.
https://youtu.be/nBbTeDUYgyU
YouTube
Что на самом деле важно в разработке? / Владимир Гриненко
Это доклад с конференции «Я 💛 Фронтенд» 2026 года. Спикер — Владимир Гриненко, предприниматель, экс-CTO Яндекс ID.
«Я видел такое, что вам и не снилось. Netscape Navigator и Internet Explorer 4 на Windows 98, деплой по FTP под рутом, вайбкодинг на белковых…
«Я видел такое, что вам и не снилось. Netscape Navigator и Internet Explorer 4 на Windows 98, деплой по FTP под рутом, вайбкодинг на белковых…
👍11❤10🌚5
Калькулятор метрик шрифта для font-size-adjust
Есть такое замечательное и мощное свежее свойство для шрифтов,
Попробую объяснить на примере:
• Допустим, у вас есть шрифт Roboto.
• Его прописные буквы по высоте составляют 0.713 от размера шрифта.
• Его строчные буквы по высоте составляют 0.531 от размера шрифта.
• Получается, если размер шрифта — 72px, то
Теперь, если вам нужно на момент загрузки шрифта Roboto показать фолбек системным шрифтом, вы можете написать
Откуда я взял числа для вычислений? По ссылке ниже. Простая страничка, работает сугубо на клиенте. Загрузили шрифт — получили метрики. Удобно. Вот бы ещё PWA из неё собрать — вообще счастье было бы.
https://clagnut.com/sandbox/font-size-adjust.html
Есть такое замечательное и мощное свежее свойство для шрифтов,
font-size-adjust. Оно позволяет задавать отношение некоторого размера из свойств шрифта к самому размеру шрифта.Попробую объяснить на примере:
• Допустим, у вас есть шрифт Roboto.
• Его прописные буквы по высоте составляют 0.713 от размера шрифта.
• Его строчные буквы по высоте составляют 0.531 от размера шрифта.
• Получается, если размер шрифта — 72px, то
cap-height будет 51.336px, а ex-height — 38.232px.Теперь, если вам нужно на момент загрузки шрифта Roboto показать фолбек системным шрифтом, вы можете написать
font-size-adjust: ex-height 0.531 — и строчки после загрузки прыгать не будут. Или если в одной строке нужно показать два разных шрифта зачем-то, то тоже можно сделать красиво.Откуда я взял числа для вычислений? По ссылке ниже. Простая страничка, работает сугубо на клиенте. Загрузили шрифт — получили метрики. Удобно. Вот бы ещё PWA из неё собрать — вообще счастье было бы.
https://clagnut.com/sandbox/font-size-adjust.html
🔥42❤6❤🔥3👍1🌚1
Под капотом нового фронтенда MDN
Если вы всё ещё читаете актуальную документацию на MDN, а не просите совсем всё делать вашу LLM («Вы, чего, и конфеты за меня есть будете?»), то могли заметить, что у MDN обновился фронтенд: типографика, иконки, стили. На самом деле, это произошло ещё в августе прошлого года.
В статье Лео МакАрдл рассказывает, что скрывается под капотом у этого нового фронтенда. Интересно почитать, как устроен самый популярный портал с документацией для веб-разработчиков.
• Много веб-компонентов. Простых и сложных. С хорошими примерами, как их применять в современном фронтенде.
• Rspack для сборки. Свежатинка на замену Webpack. Значительно улучшился DX.
• Мощная кроссбраузерность. Потому что не могут выдать «прастити, Safari не поддерживаем». Но при этом с опорой на Baseline.
• Markdown для контента. Который потом сложно, но интересно превращается в полноценные страницы с обвязкой.
• Современный CSS там, где он уместен. Видел, как pepelsbey использовал нативную вложенность селекторов в пулл-реквестах.
• Интерактивные демки на многих страницах.
• Всё это лежит на GitHub, то есть можно подсмотреть и вдохновиться.
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
Если вы всё ещё читаете актуальную документацию на MDN, а не просите совсем всё делать вашу LLM («Вы, чего, и конфеты за меня есть будете?»), то могли заметить, что у MDN обновился фронтенд: типографика, иконки, стили. На самом деле, это произошло ещё в августе прошлого года.
В статье Лео МакАрдл рассказывает, что скрывается под капотом у этого нового фронтенда. Интересно почитать, как устроен самый популярный портал с документацией для веб-разработчиков.
• Много веб-компонентов. Простых и сложных. С хорошими примерами, как их применять в современном фронтенде.
• Rspack для сборки. Свежатинка на замену Webpack. Значительно улучшился DX.
• Мощная кроссбраузерность. Потому что не могут выдать «прастити, Safari не поддерживаем». Но при этом с опорой на Baseline.
• Markdown для контента. Который потом сложно, но интересно превращается в полноценные страницы с обвязкой.
• Современный CSS там, где он уместен. Видел, как pepelsbey использовал нативную вложенность селекторов в пулл-реквестах.
• Интерактивные демки на многих страницах.
• Всё это лежит на GitHub, то есть можно подсмотреть и вдохновиться.
https://developer.mozilla.org/en-US/blog/mdn-front-end-deep-dive/
MDN Web Docs
Under the hood of MDN's new frontend | MDN Blog
You may have spotted that MDN has a new frontend. There's plenty happening under the surface, so let's unpack the technologies we chose, the architectural decisions we made, and why we did a rebuild at all.
1❤57👍16🎉7
CSS-анимации как state-машины
В свежем выпуске «Веб-стандартов» обсуждали крайне интересную статью от Патрика Бросета про то, как использовать анимации для хранения истории работы со страницей.
Простая задача: если пользователь наводит мышку на элемент сейчас или наводил в прошлом, хранить это знание и использовать для каких-нибудь полезных визуализаций. На JavaScript такое делается просто. А вот если на чистом CSS?
Решение потрясающее:
Если не до конца понятно, что здесь происходит, почитайте объяснение в статье. Или послушайте подкаст. Но само по себе такое решение рядом с container queries и нативными
https://patrickbrosset.com/articles/2026-03-09-using-css-animations-as-state-machines-to-remember-focus-and-hover-states-with-css-only/
В свежем выпуске «Веб-стандартов» обсуждали крайне интересную статью от Патрика Бросета про то, как использовать анимации для хранения истории работы со страницей.
Простая задача: если пользователь наводит мышку на элемент сейчас или наводил в прошлом, хранить это знание и использовать для каких-нибудь полезных визуализаций. На JavaScript такое делается просто. А вот если на чистом CSS?
Решение потрясающее:
.track-hover {
--was-hovered: false;
animation: track-hover .00001s linear forwards paused;
}
.track-hover:hover {
animation-play-state: running;
}
@keyframes track-hover {
to { --was-hovered: true; }
}
Если не до конца понятно, что здесь происходит, почитайте объяснение в статье. Или послушайте подкаст. Но само по себе такое решение рядом с container queries и нативными
if в CSS позволяет добавить в вёрстку новый слой: не только текущее состояние страницы, но и прошлое, влияющее на настоящее.https://patrickbrosset.com/articles/2026-03-09-using-css-animations-as-state-machines-to-remember-focus-and-hover-states-with-css-only/
Patrick Brosset
Patrick - Using CSS animations as state machines to remember focus and hover states with CSS only
I discovered this CSS-only trick to store the past <code>:focus</code> or <code>:hover</code> state of any element. Without JavaScript, you can style elements depending on whether they were ever focused or hovered. Here's how it works.
🔥27🤯16❤3👍2🥴2❤🔥1
Выбор диапазона дат на CSS
Если совсем уж честно, то не на чистом CSS, в этом особого смысла нет. Клики всё-таки обрабатываются небольшим скриптом. Но пример в статье довольно компактный и даже, вроде как, доступный.
Основная магия спрятана здесь.
Селектор
В статье же интересный лакончиный пример того, как подсветить даты, которые расположены между двумя выбранными чекбоксами.
https://css-tricks.com/selecting-a-date-range-in-css/
Если совсем уж честно, то не на чистом CSS, в этом особого смысла нет. Клики всё-таки обрабатываются небольшим скриптом. Но пример в статье довольно компактный и даже, вроде как, доступный.
Основная магия спрятана здесь.
.isRangeSelected {
:nth-child(1 of :has(:checked)) ~ :not(:nth-child(2 of :has(:checked)) ~ li) {
background-color: rgb(228 239 253);
}
}
Селектор
:nth-child(N of .selector) позволяет выбирать подмножество в списке детей. Это открывает приятные возможности по стилизации сложных списков, WYSIWYG-текста и в прочих случаях. Например, вы можете стилизовать каждый второй параграф p в тексте, где между параграфами есть заголовки.В статье же интересный лакончиный пример того, как подсветить даты, которые расположены между двумя выбранными чекбоксами.
https://css-tricks.com/selecting-a-date-range-in-css/
CSS-Tricks
Selecting a Date Range in CSS | CSS-Tricks
A clever approach for selecting multiple dates on a calendar where the :nth-child()'s “n of selector” syntax does all the heavy lifting... even in the JavaScript.
🔥28🤔4❤🔥2👍2❤1
Forwarded from mefody.work
Какие метрики интересны бизнесу, какие – вам, а какие – никому
Видео выходного дня.
Полторы недели назад на Podlodka Teamlead Crew читал доклад про то, как выстроить систему метрик, которая будет не бесполезна, а вести к каким-то результатам. Андрей Смирнов пригласил поделиться опытом, а у меня как раз давно было желание систематизировать знания по различным подходам.
Вообще тема, конечно, не самая простая. Универсальных советов попросту нет. Несмотря на то, что я попытался в докладе раскрыть тему, как почти любую метрику привязать к самому важному для бизнеса (деньгам), днём ранее Серёжа Попов в своём докладе совершенно справедливо заметил, что не всегда так нужно делать.
Но одну мысль хочу закрепить: метрики должны помогать достигать результатов, а не мешать людям работать.
https://youtu.be/cNhIeA8ZG6o
Видео выходного дня.
Полторы недели назад на Podlodka Teamlead Crew читал доклад про то, как выстроить систему метрик, которая будет не бесполезна, а вести к каким-то результатам. Андрей Смирнов пригласил поделиться опытом, а у меня как раз давно было желание систематизировать знания по различным подходам.
Вообще тема, конечно, не самая простая. Универсальных советов попросту нет. Несмотря на то, что я попытался в докладе раскрыть тему, как почти любую метрику привязать к самому важному для бизнеса (деньгам), днём ранее Серёжа Попов в своём докладе совершенно справедливо заметил, что не всегда так нужно делать.
Но одну мысль хочу закрепить: метрики должны помогать достигать результатов, а не мешать людям работать.
https://youtu.be/cNhIeA8ZG6o
YouTube
Доклад: Какие метрики интересны бизнесу, какие – вам, а какие – никому / Никита Дубко (Яндекс)
Разработку, менеджмент и бизнес, чтобы не делать ерунду, важно синхронизировать. Для синхронизации удобно использовать некие метрики, которые будут признаком успеха. Но практика показывает, что найти те самые метрики, которые понятны и удобны всем сторонам…
❤17👍5🔥2🎉1🌚1
Никогда больше не теряйте заполненные формы
Аарона Густафсона, видимо, сильно достало, что иногда заполняешь форму, нечаянно уходишь со страницы (внезапный переход назад из-за скролла по тачпаду, нетерпеливый Cmd+W, игривый кот прошёлся по клавиатуре) — и всё, заполняй заново.
Поэтому он собрал веб-компонент
https://www.aaron-gustafson.com/notebook/never-lose-form-progress-again/
Аарона Густафсона, видимо, сильно достало, что иногда заполняешь форму, нечаянно уходишь со страницы (внезапный переход назад из-за скролла по тачпаду, нетерпеливый Cmd+W, игривый кот прошёлся по клавиатуре) — и всё, заполняй заново.
Поэтому он собрал веб-компонент
form-saver, который сохраняет всё в localStorage и восстанавливает поля формы, если вдруг случилась перезагрузка. Забирайте, если вам такое нужно.https://www.aaron-gustafson.com/notebook/never-lose-form-progress-again/
Aaron Gustafson
Never Lose Form Progress Again
Few things are more annoying than losing your progress halfway through a form. Maybe the browser crashes. Maybe the tab gets closed. Maybe your kid yells from the other room and you come back three hours later wondering why you ever thought now was a good…
2👏25❤10👍9🌚3🔥1
<input>, слайды доклада
Только что прочитал на Dump доклад про тег
Пока готовился, узнал пару новых интересных фактов. Имхо, самый сложный и неоднозначный тег в HTML.
Прикладываю слайды. А когда появится видео, выложу и его сюда.
https://mefody.dev/talks/input/
Только что прочитал на Dump доклад про тег
<input>. Напомню, в 2019 году у меня был доклад <a>, в 2020 — <img>. Самое время обновить список.Пока готовился, узнал пару новых интересных фактов. Имхо, самый сложный и неоднозначный тег в HTML.
Прикладываю слайды. А когда появится видео, выложу и его сюда.
https://mefody.dev/talks/input/
🔥42👍27❤11❤🔥4
Scroll-Driven Animations
Джош Комо продолжает радовать нас интерактивными уроками по крутым возможностям современного веба. На этот раз он добрался до анимаций, привязанных к скроллу. Это когда на экране что-то двигается и появляется по мере того, как пользователь скроллит страницу.
Напомню, в 2026 вполне себе можно использовать Animation Timeline API для таких задач, чтобы не тянуть на клиент жирные библиотеки. Для Firefox пока придётся подключить полифил, но он есть.
https://www.joshwcomeau.com/animation/scroll-driven-animations/
Джош Комо продолжает радовать нас интерактивными уроками по крутым возможностям современного веба. На этот раз он добрался до анимаций, привязанных к скроллу. Это когда на экране что-то двигается и появляется по мере того, как пользователь скроллит страницу.
Напомню, в 2026 вполне себе можно использовать Animation Timeline API для таких задач, чтобы не тянуть на клиент жирные библиотеки. Для Firefox пока придётся подключить полифил, но он есть.
https://www.joshwcomeau.com/animation/scroll-driven-animations/
Joshwcomeau
Scroll-Driven Animations • Josh W. Comeau
The new Animation Timeline API allows us to create dynamic scroll animations without any JavaScript! It’s honestly a very lovely API, and in this blog post, we’ll explore some of the super cool things we can do with it.
❤30👍8
Горячий код в V8
Настя Котова у себя в телеграм-канале продолжает разбираться в глубинах Node.js и V8. В этот раз задалась интересным вопросом: что же такое «горячий код» для V8? Один и тот же код может превращаться в итоге в разные инструкции внутри движка, причём скорость выполнения этих инструкций тоже может значительно отличаться. Потому что на старте он «холодный», а чем больше движок собирает статистики про выполнение, тем лучше может его оптимизировать.
В этом полезно разбираться:
• если вы пишете бенчмарки и удивляетесь, почему они каждый раз выдают разные результаты;
• ваш проект дошёл до стадии оптимизации производительности на уровне подстраивания под движок (может быть важно на высоконагруженных проектах);
• при работе с облачными функциями (вопрос денежки);
• для общего развития.
https://telegra.ph/Goryachij-kod-v-V8-chto-ehto-znachit-04-05
Настя Котова у себя в телеграм-канале продолжает разбираться в глубинах Node.js и V8. В этот раз задалась интересным вопросом: что же такое «горячий код» для V8? Один и тот же код может превращаться в итоге в разные инструкции внутри движка, причём скорость выполнения этих инструкций тоже может значительно отличаться. Потому что на старте он «холодный», а чем больше движок собирает статистики про выполнение, тем лучше может его оптимизировать.
В этом полезно разбираться:
• если вы пишете бенчмарки и удивляетесь, почему они каждый раз выдают разные результаты;
• ваш проект дошёл до стадии оптимизации производительности на уровне подстраивания под движок (может быть важно на высоконагруженных проектах);
• при работе с облачными функциями (вопрос денежки);
• для общего развития.
https://telegra.ph/Goryachij-kod-v-V8-chto-ehto-znachit-04-05
Telegraph
Горячий код в V8: что это значит?
Мы часто слышим такие термины как «горячий код», особенно когда говорим про JIT-компиляцию. Но что стоит за этой концепцией с точки зрения устройства компиляторов, в частности, внутри V8? В этой статье я разберу, как именно V8 решает, что код «горячий», по…
👍15❤4🔥3
Много маленьких страниц
Джим Нильсен делится интересной идеей под названием LLMs —(L)ots of (L)ittle ht(M)l page(S) . Суть в том, чтобы почти не использовать JS, отказаться от SPA, а каждый экран сделать маленькой страницей. Да, каждая модалка или таблица с фильтром — отдельная страница.
В статье разбирается паттерн меню. Кликаешь на бургер — открывается страница с меню. Жмёшь на крестик — тут уже JS делает
Сначала ощущается такой подход странно. Крайне непривычно. Но спустя какое-то время мне идея всё-таки приглянулась.
Всё упирается в то, чтобы изначально UX продумать так, чтобы каждое действие и было отдельным экраном. Если присыпать это всё CSS View Transitions, сделать лёгкие кэшируемые страницы только с необходимым, то работать ведь будет быстро. Добавим сюда сервис-воркеры и Speculation Rules API — можно добиться ощущения мгновенности. Для статических сайтов — ну очень хорошо.
https://blog.jim-nielsen.com/2026/small-html-pages/
Джим Нильсен делится интересной идеей под названием LLMs —
В статье разбирается паттерн меню. Кликаешь на бургер — открывается страница с меню. Жмёшь на крестик — тут уже JS делает
history.back(), небольшое читерство.Сначала ощущается такой подход странно. Крайне непривычно. Но спустя какое-то время мне идея всё-таки приглянулась.
Всё упирается в то, чтобы изначально UX продумать так, чтобы каждое действие и было отдельным экраном. Если присыпать это всё CSS View Transitions, сделать лёгкие кэшируемые страницы только с необходимым, то работать ведь будет быстро. Добавим сюда сервис-воркеры и Speculation Rules API — можно добиться ощущения мгновенности. Для статических сайтов — ну очень хорошо.
https://blog.jim-nielsen.com/2026/small-html-pages/
Jim Nielsen’s Blog
Reminder: You Can Stitch Together Lots of Little HTML Pages With Navigations For Interactions
I wrote about building websites with LLMs — (L)ots of (L)ittle ht(M)l page(s) — and I think it’s time for a post-mortem on that approach:
😐24❤11👍8🌚5⚡1🤔1🎉1💯1
История ffmpeg
Видео невыходного дня. Интересный ресёрч на тему того, как небольшая опенсорс библиотека стала основой для огромного числа других проектов. И какие люди за этим стоят. Если что, вы пользуетесь ffmpeg каждый день, даже если не знаете про это.
https://youtu.be/Ww8MzcBJUd4
Видео невыходного дня. Интересный ресёрч на тему того, как небольшая опенсорс библиотека стала основой для огромного числа других проектов. И какие люди за этим стоят. Если что, вы пользуетесь ffmpeg каждый день, даже если не знаете про это.
https://youtu.be/Ww8MzcBJUd4
YouTube
Как один француз перевернул всю медиа-индустрию // История FFmpeg
Вся гигантская видеоиндустрия — от YouTube и Netflix до TikTok — держится на одной программе. Программе, написанной в обычной парижской квартире с целью разрушить монополию корпораций на видео. Это история FFmpeg. В этом видео мы погрузимся в историю создания…
💯23❤16👍14🔥4
Анимированный фокус на View Transitions
Думаю, вы видели такой паттерн, когда кольцо фокуса (обводка, которая рисуется вокруг сфокусированных элементов интерфейса) перемещается по странице плавно, с анимацией. Не резко перескакивает, как это делает браузер, а аккуратно перетекает. Для такого часто используются JS-библиотеки, которые играют в «угадай координату» и двигают по сути абсолютно спозиционированный элемент по странице.
Крис Койер пробует сделать версию попроще. Пускай во время перехода фокуса включается View Transition: включаем новое кольцо на новом элементе, старое выключаем, запускаем анимацию. Звучит интересно, и кода требует прям мало.
К сожалению, сделать хорошо не получилось:
• Во-первых, в единственном более-менее рабочем решении пришлось расставить дочерний
• Во-вторых, управление фокусом идёт на уровне JS, а это уже риски что-то не учесть (браузер умеет это лучше, не пытайтесь его имитировать).
• В-третьих, если текст ссылки содержит перенос (то есть находится на двух строках сразу), то визуально всё неприлично разломано.
В комментариях к статье приложили демку с решением на Anchor Positioning. Там проблемы похожие, хотя лишний
В общем, присмотреться к способу двигать что-то анимированно по странице новыми апишками точно стоит. А вот применять такое к фокусу — лучше не надо, рендеринг текста сложнее, чем просто коробочка с буквами. К сожалению, тут я скорее за то, чтобы использовать JS-библиотеки, проверенные временем.
https://frontendmasters.com/blog/animating-focus-with-view-transitions/
Думаю, вы видели такой паттерн, когда кольцо фокуса (обводка, которая рисуется вокруг сфокусированных элементов интерфейса) перемещается по странице плавно, с анимацией. Не резко перескакивает, как это делает браузер, а аккуратно перетекает. Для такого часто используются JS-библиотеки, которые играют в «угадай координату» и двигают по сути абсолютно спозиционированный элемент по странице.
Крис Койер пробует сделать версию попроще. Пускай во время перехода фокуса включается View Transition: включаем новое кольцо на новом элементе, старое выключаем, запускаем анимацию. Звучит интересно, и кода требует прям мало.
К сожалению, сделать хорошо не получилось:
• Во-первых, в единственном более-менее рабочем решении пришлось расставить дочерний
span в каждом интерактивном элементе. А хотелось бы вёрстку не править.• Во-вторых, управление фокусом идёт на уровне JS, а это уже риски что-то не учесть (браузер умеет это лучше, не пытайтесь его имитировать).
• В-третьих, если текст ссылки содержит перенос (то есть находится на двух строках сразу), то визуально всё неприлично разломано.
В комментариях к статье приложили демку с решением на Anchor Positioning. Там проблемы похожие, хотя лишний
span уже не нужен, и это радует.В общем, присмотреться к способу двигать что-то анимированно по странице новыми апишками точно стоит. А вот применять такое к фокусу — лучше не надо, рендеринг текста сложнее, чем просто коробочка с буквами. К сожалению, тут я скорее за то, чтобы использовать JS-библиотеки, проверенные временем.
https://frontendmasters.com/blog/animating-focus-with-view-transitions/
Frontend Masters
Animating Focus with View Transitions
The big idea here is animating the focus ring around literally-focused elements on web pages. Like the :focus (or :focus-visible) styles, either the default or your own.
👍7🥴4💔4❤2🤨2