22 Feb 2026, 18:04 UTC≈2,330 views45 reactionsread 8 August 2026 Когда height: 100% чуть-чуть поломало вёрстку 🙈
Я делала простую сетку: контейнер display: grid, строки — grid-template-rows: repeat(n, auto), в одной ячейке был элемент, которому я прописала height: 100%, чтобы он «растянулся красиво». В Chrome всё было отлично, а вот в Safari макет разъехался. ☹️
Сначала показалось: «ну вот, опять баг браузера». Но если копнуть глубже, окажется, что никакой мистики: всё упирается…
👍23🔥16custom 54471838289698596944❤2
20 Feb 2026, 16:15 UTC≈1,810 views30 reactions5 Starsread 8 August 2026 Разбираемся с Proxy в JavaScript 👨🏫
Proxy — посредник между кодом и объектом. Он перехватывает операции (чтение, запись, вызов, перечисление) и даёт тебе шанс изменить реакцию на эти действия — через набор обработчиков (так называемых ловушек)
const p = new Proxy(target, handler);
Как же это работает?
1️⃣ Создаёте реальный объект target;
2️⃣ Пишете handler — объект с функциями-перехватчиками (get, set, apply…
❤14🔥7👍5✍4
17 Feb 2026, 16:32 UTC≈1,430 views31 reactionsread 8 August 2026 Compression Streams API — нативный gzip/deflate прямо в браузере 🤔
Недавно снова вспомнила про Compression Streams API — и это тот случай, когда платформа уже умеет то, ради чего раньше тянули библиотеку. 🤭
Это встроенное потоковое API для сжатия и распаковки данных в форматах gzip и deflate. Работает поверх Streams, то есть данные обрабатываются по частям, без загрузки всего в память.
Если коротко: теперь можно с…
🔥21custom 52402809821452120877custom 54471838289698596943
9 Feb 2026, 14:23 UTC≈1,500 views31 reactionsread 8 August 2026 Почему бизнес-логику не стоит писать в UI-компонентах 🧐
Часто вижу один и тот же паттерн: небольшой компонент, пара условий — и через несколько фич он превращается в монстра, который и отображает, и решает, и общается с API, и ещё немного «магии» делает. 🤯 В итоге вместо чистого UI у нас — куча скрытой логики, которую потом тяжело поддерживать.
🧩 Как же так получается?
Сначала всё выглядит логично: дедлайн, фича м…
👍19🔥9custom 52402809821452120873
6 Feb 2026, 17:23 UTC≈1,330 views22 reactions1 Starread 8 August 2026 Как неочевидные импорты превращают проект в клубок зависимостей 😨
На бумаге — простое правило: модуль импортирует только то, что ему положено.
На практике — его иногда нарушают. И последствия оказываются внезапными и дорогими.
Пару раз в жизни я меняла локальный метод в сервисе, будучи уверена, что трогаю только свой модуль. Но в проде падала функциональность в совершенно другой части продукта. 😅
Причина оказалась …
🔥11✍6❤4🤪1
2 Feb 2026, 17:45 UTC≈1,480 views27 reactions1 Starread 8 August 2026 «Хочу стиль для p в header, но не хочу повышать специфичность» 😎
Иногда самая тривиальная задача — задать стиль для p внутри header — перерастает в бесконечную гонку селекторов. Вы пишете header p { … }, кто-то добавляет .text { … }, вы усложняете селекторы, и проект медленно погружается в «адские» веса CSS. 😞 К счастью, есть аккуратный и очень полезный приём — использовать :where()
🧩 Что делает :where():
:where()…
❤🔥15🔥5👍3👻3❤1
29 Jan 2026, 16:46 UTC≈1,400 views27 reactionsread 8 August 2026 Photo
Связность и сцепленность: как написать код, который не боишься менять 🧩
Представьте проект как дом. Комнаты — это модули и компоненты. В хорошем доме каждая комната имеет своё назначение: кухня для готовки, спальня для сна, ванная для гигиены. Если в одной комнате стоит плита, кровать и стиральная машина, жить неудобно — это низкая связность: элементы внутри модуля занимаются разными вещами. 😏
Двери и коридоры — эт…
👍17custom 54471838289698596946❤🔥3🔥1
27 Jan 2026, 17:35 UTC≈1,230 views24 reactions1 Starread 8 August 2026 Разбираемся с Feature-based архитектурой 🤩
Feature-based архитектура организует код по бизнес-фичам, а не по техническим слоям, благодаря чему изменения локализуются, команды работают автономнее, а кодовая база остаётся понятной по мере роста продукта.
Feature-based архитектура строится вокруг идеи локализации контекста: каждая фича оформляется как самостоятельный модуль, внутри которого находится всё необходимое д…
👍16❤🔥7❤1
21 Jan 2026, 15:25 UTC≈1,300 views29 reactionsread 8 August 2026 Разбираемся с CSR (Client-Side Rendering) 👨🏫
Client-Side Rendering (CSR) — это подход к рендерингу, при котором сервер отдаёт минимальный HTML-каркас, а весь интерфейс и основная логика формируются уже в браузере пользователя с помощью JavaScript. Браузер загружает скрипты, выполняет код и строит DOM на клиенте.
Главное преимущество CSR — интерактивность после инициализации. Интерфейс начинает работать плавно и от…
👍20❤8❤🔥1
19 Jan 2026, 15:21 UTC≈1,320 views21 reactionsread 8 August 2026 INP: как измеряется отзывчивость страницы 🤨
Иногда сайт загружается быстро, контент появляется почти сразу, но пользоваться им всё равно не очень приятно. Клик срабатывает с задержкой, поле ввода реагирует не сразу, интерфейс как будто «думает». Формально всё загрузилось, но ощущение отзывчивости — так себе. 😥
Именно такие ситуации описывает INP (Interaction to Next Paint).
INP — это метрика, которая показывает, н…
🔥11✍5👍4🙏1
14 Jan 2026, 14:36 UTC≈1,470 views32 reactions4 Starsread 8 August 2026 Как сделать «скрытый, но находимый» контент? 🔍
Представьте: у вас длинная страница с FAQ, аккордеонами и сворачиваемыми разделами. Пользователь нажимает Ctrl/Cmd+F, вводит слово — и... браузер ничего не показывает, потому что нужный текст спрятан в свернутом аккордеоне. Раздражает? 😔
Для таких случаев есть hidden="until-found" — атрибут, который позволяет визуально скрывать контент, но оставлять его доступным для …
👍22❤6custom 54471838289698596944
30 Dec 2025, 15:00 UTC≈1,660 views76 reactions1 Starread 8 August 2026 Сейчас все подводят итоги, и я долго думала — писать ли тоже. Чем честнее смотришь на год, тем легче принять: он был непростым для канала. Активность немного просела, многие планы отложились, а фокус всё чаще уходил в личные дела. Иногда просто не хватало времени и сил проявляться так, как хотелось — и это тоже часть истории, хотя принять это было непросто. 😒
Вместе с тем год подарил много хорошего: были разобраны и…
❤56👍11🤗9
Showing the 12 most recent of 17 posts we hold for @katerina_profrontend. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.