Исправили баги с
@variant и падения на Windows — релиз полностью про стабильность.Добавили расширенные возможности util.deprecate(), улучшили обработку localStorage, стабилизировали type-stripping и обновили движок V8.
Добавили поддержку импорта через
process.getBuiltinModule() и поправили работу API c tsconfig.Появился новый параметр incrementalRendering для постепенного рендеринга.
#release_digest
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥1
В Chrome 142 появилась мощная фича — range syntax для container style queries и функции
if(). Теперь CSS может сравнивать числа и принимать решения на лету.Что это значит на практике:
Раньше мы могли проверять только конкретные значения. Теперь — сравнивать: больше, меньше, равно.
Контейнер с кастомной яркостью. CSS сам решает, какой цвет текста использовать:
#container {
--lightness: 10%;
color: if(
style(--lightness < 50%): white;
style(--lightness >= 50%): black
);
}
Если фон темный (< 50%) — текст белый. Светлый — чёрный. Автоматически!
CSS проверяет размер шрифта и подбирает оптимальную жирность:
font-weight: if(
style(1em < 32px): 100;
style(1em > 32px): 900
);
Маленький текст — тонкий шрифт. Большой — жирный. Для читаемости.
Главное:
✅ Работает с custom properties
✅ Работает с
attr() из HTML ✅ Сравнивает разные единицы (px, em, 😵
✅ Поддерживает все числовые типы CSS
Поддержка: Chrome 142+
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🥰3❤2🥱1
Когда начинаешь использовать новые CSS-фичи ❔
Anonymous Poll
2%
Сразу с feature detection
16%
Когда поддержка >75%
16%
Когда Safari поддержит
34%
Не использую, пока не в stable
32%
Вообще не слежу — работает и ладно
🥰5👍1
AllFrontend.pdf
58.6 MB
Этот документ объединяет ключевые темы, техники и механизмы, которые лежат в основе современной фронтенд-разработки.
#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12❤6
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14🥰3
Раньше для плавной анимации между состояниями приходилось городить свои анимации и тащить JS-утилиты. Теперь достаточно одного вызова API + немного CSS.
document.startViewTransition(() => { /* обновляем DOM */ }) делает снимок DOM «до» и «после», а браузер сам строит плавный переход между ними.
Элементы с одинаковым view-transition-name анимируются как связанные: старое состояние плавно превращается в новое.
✨ Идеально для:
- переходов между страницами
- раскрытия карточек
- галерей и модальных окон
- лёгких SPA без фреймворков
⚠️ Поддержка:
Same-document переходы (SPA):
- Chrome 111+, Edge 111+
- Safari 18+
- Firefox 144+
Cross-document переходы (MPA):
- Chrome 126+, Edge 126+
- Safari 18.2+
- Firefox — пока не поддерживается
Используйте как прогрессивное улучшение: в старых браузерах будет обычная навигация.
#readme #js #css
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🥰2👍1
🚀 В IT ценится не перфекционизм, а движение вперёд, и если вы давно откладывали обучение — самое время начать.
❤️ Proglib Academy продлевает розыгрыш MacBook Pro 14 до 30 ноября!
Что нужно:
⚡️ выбрать курс;
⚡️ пройти минимум две недели обучения (можно за два вечера);
⚡️ написать куратору #розыгрыш;
⚡️ забрать макбук.
🎓 Курсы, которые участвуют
👉 Участвовать
❤️ Proglib Academy продлевает розыгрыш MacBook Pro 14 до 30 ноября!
Что нужно:
⚡️ выбрать курс;
⚡️ пройти минимум две недели обучения (можно за два вечера);
⚡️ написать куратору #розыгрыш;
⚡️ забрать макбук.
🎓 Курсы, которые участвуют
👉 Участвовать
👍5
👍6❤2
🔥 Каверзный вопрос с собеса
Метод
🔍 Что происходит на самом деле:
➕ radix = 0 означает автоопределение системы счисления:
• если строка начинается с '0x' или '0X' → основание = 16
• во всех остальных случаях → используется основание = 10
Поэтому '1' интерпретируется как десятичная.
➕ системы счисления с основанием 1 не существует => Nan
➕ '11' в двоичной системе — это 3₁₀ => 3
❇️ parseInt('11', 2) парсит всю строку как двоичную, потому что она корректна полностью.
Распространённый миф — будто бы берётся только первый символ; это неверно.
✅ Как исправить:
Или проще:
🐸 Библиотека фронтендера
#career_merge #middle
Метод
.map() передаёт в колбэк три аргумента: текущий элемент, индекс и исходный массив. Функция parseInt принимает: строку и radix — основание системы счисления. Поэтому индекс массива попадает в radix.
parseInt('1', 0)
• если строка начинается с '0x' или '0X' → основание = 16
• во всех остальных случаях → используется основание = 10
Поэтому '1' интерпретируется как десятичная.
parseInt('7', 1)
parseInt('11', 2)
Распространённый миф — будто бы берётся только первый символ; это неверно.
['1', '7', '11'].map(str => parseInt(str))
Или проще:
['1', '7', '11'].map(Number)
#career_merge #middle
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🤩3❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21💯4❤2
🚀 AbortController — как правильно отменять запросы
➡️ Проблема (1 картинка):
Пользователь быстро переключает вкладки или вводит текст в поиске. Старые запросы продолжают работать и могут перезаписать актуальные данные.
➡️ Решение (2 картинка):
Отменяйте предыдущие запросы через AbortController
Что это даёт:
🟢 Нет race condition — обновляется только последний запрос
🟢 Браузер действительно отменяет запрос на уровне сети
🟢 Код без лишних флагов вроде isCancelled
🟢 Работает с API, которые поддерживают AbortSignal (fetch, Axios ≥0.22, React Query)
Когда применять:
— Автодополнение и live-поиск
— Переключение вкладок и фильтров
— Отмена запросов при размонтировании компонента
— Повторные запросы в useEffect при изменении зависимостей
⚠️ Важные детали:
controller.abort() можно вызывать многократно — это безопасно
Отмена происходит на стороне клиента — запрос может дойти до сервера
После abort() новые запросы с тем же controller не сработают (создавайте новый)
Поддержка:
🟣 Fetch API — нативно
🟣 Axios ≥ 0.22 — через signal
🟣 React Query — через queryFn
🐸 Библиотека фронтендера
#hotfix #react
Пользователь быстро переключает вкладки или вводит текст в поиске. Старые запросы продолжают работать и могут перезаписать актуальные данные.
Отменяйте предыдущие запросы через AbortController
Что это даёт:
Когда применять:
— Автодополнение и live-поиск
— Переключение вкладок и фильтров
— Отмена запросов при размонтировании компонента
— Повторные запросы в useEffect при изменении зависимостей
⚠️ Важные детали:
controller.abort() можно вызывать многократно — это безопасно
Отмена происходит на стороне клиента — запрос может дойти до сервера
После abort() новые запросы с тем же controller не сработают (создавайте новый)
Поддержка:
#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🥰4❤3
Vue 3 использует Proxy, чтобы отслеживать изменения данных и обновлять только те части интерфейса, которые зависят от изменённых свойств.
#under_hood
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍2
🎓 Экспресс-курс «Математика для Data Science» стартует 4 декабря
Этот курс для вас, если вы:
🧑💻 Программист
Когда нужно понять, что происходит «под капотом» ML-алгоритмов.
📊 Начинающий DS / аналитик / студент
Чтобы закрыть теорию, подтянуть фундамент и собрать портфолио.
📈 Смежный специалист
Чтобы уверенно работать с моделями, статистикой и гипотезами.
🎁 Сейчас лучший момент стартовать:
— скидка 40% на курс до конца ноября
— можно пройти бесплатный тест на знание основ математики
👉 Записаться на курс
Этот курс для вас, если вы:
🧑💻 Программист
Когда нужно понять, что происходит «под капотом» ML-алгоритмов.
📊 Начинающий DS / аналитик / студент
Чтобы закрыть теорию, подтянуть фундамент и собрать портфолио.
📈 Смежный специалист
Чтобы уверенно работать с моделями, статистикой и гипотезами.
🎁 Сейчас лучший момент стартовать:
— скидка 40% на курс до конца ноября
— можно пройти бесплатный тест на знание основ математики
👉 Записаться на курс
🔥6
Какие веб-анимации быстрые, какие тормозят браузер, и почему безопаснее всего анимировать transform и opacity. Помогает быстро выбирать плавные анимации без лишней нагрузки.
Когда useTransition реально улучшает плавность интерфейса, а когда только усложняет код.
Какие идеи позволили сделать сборку мусора быстрее и менее заметной для пользователя.
#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5🥰2❤1