Please open Telegram to view this post
VIEW IN TELEGRAM
😁19😢1🌚1
Обычно мы пишем:
p + p { margin-top: 1em; }
Но em завязан на размер шрифта, а не на высоту строки.
В итоге при изменении line-height вертикальный ритм ломается.
p + p {
margin-block-start: 1lh;
}
1lh = текущая высота строки элемента.1rlh = высота строки корневого элемента (root line height).Теперь отступы живут в ритме текста, а не в пикселях. Типографика становится гибкой, гармоничной и адаптивной.
#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10🥰3🔥2
Кажется, const защищает данные. Но это не так.
Фиксирует ссылку на значение, а не само значение. По спецификации
(ECMAScript §13.3.1.1), переменная, объявленная через const, не может быть переназначена.
const user = { name: "Alex" };
user = {}; // TypeError
user.name = "Bob"; // работает
Сам объект остаётся в памяти по той же ссылке.
Object.freeze(user);
user.name = "Carol"; // не изменится
const защищает ссылку, а не содержимое.
Чтобы зафиксировать данные — используйте
Object.freeze() или иммутабельные копии ({...obj}).#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱8❤7🥰2👍1
🥰5
Что вернёт код на картинке выше
Массив вроде есть, но что хранится в array[0]…
#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱11🥰5👍1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁12🥰3
Новая директива — "use no memo" — отключает оптимизацию React Compiler.
Полезно, если что-то ломается после включения компилятора или нужно быстро изолировать баг.
function MyComponent() {
"use no memo";
// ...
}
— Полностью исключает функцию из оптимизации.
— Срабатывает даже при режиме all.
— Аналог — "use no forget".
— Должна стоять первой в функции.
— Только одинарные или двойные кавычки (не бэктики).
— Временное решение, не постоянный паттерн.
❤️ — Да, работает быстро
👍 — Пока изучаю
#readme #react
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤5😢3🥰2🥱2
После выхода React Server Components в Next 15 разработчики жаловались — клиентская навигация стала ощущаться тяжелее.
Теперь Vercel исправил это: в игру вступили Cache Components — новая система частичного предрендера и умного префетча.
#under_hood #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥4🥰2😢1
This media is not supported in your browser
VIEW IN TELEGRAM
Google тихо вкатил в Chrome 143 локальные AI-возможности: теперь браузер умеет распознавать язык и переводить текст прямо на устройстве, без внешних сервисов.
— LanguageDetector мгновенно определяет язык текста локально.
— Translator создаёт пару “source → target” и переводит прямо в браузере.
— При первом запуске модель (1–2 ГБ) скачивается один раз и кешируется.
— Весь процесс — полностью приватный и офлайн.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9👍4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Когда фронт уже готов, а сервера ещё нет — выручает n:point. Он работает как мок-бэкенд: сохраняете JSON, получаете API.
— Принимает JSON и выдаёт ссылку как API
— Проверяет структуру и поддерживает CORS
— Позволяет менять данные и работать вместе
fetch('https://api.npoint.io/your-id')
.then(res => res.json())
.then(data => console.log(data))
— Прототипы, демо, pet-проекты
— Моки и конфиги, когда Firebase — перебор
#stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤2👍2
Каждый влияет на скорость, SEO и даже на то, видит ли пользователь хоть что-то, пока грузится JS.
— как браузер решает, кто рендерит страницу — он или сервер;
— почему CSR «просыпается» с белого экрана;
— где SSG выигрывает даже у SSR;
— и как Next.js позволяет комбинировать стратегии в одном проекте.
#blueprint
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍1