Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.8K subscribers
2.78K photos
191 videos
42 files
5.11K links
Все самое полезное для фронтенда в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/77178ed4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
⭐️ Замыкания: когда теория не помогает

Все знают, что такое closure. Но почему тогда обработчики событий выводят не то, а React работает с устаревшим state?

➡️ Разбираем классические баги с замыканиями — от циклов с var до утечек памяти.

🐸 Библиотека фронтендера

#under_hood #js
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👏3
🛒 Black Friday от Proglib.academy!

Только до 30 ноября — скидка 40% на ВСЕ курсы.

Пора добавить в корзину не носки, а новые скиллы: Python, математика для Data Science, AI, алгоритмы и структуры данных, ML.

🎓 Выбирай курс, который реально двинет тебя в карьере, и учись со скидкой.

👉 Учиться со скидкой
🥰5
This media is not supported in your browser
VIEW IN TELEGRAM
🙃 2025 год, а тултипы всё ещё живут своей жизнью

Сделал подсказку для кнопки — работает идеально, пока не появится футер, скролл или resize. И вот тултип уже уехал за экран.

Нашли статью, где сравнивают три подхода:

🈂️ от «сделать быстро» до «сделать правильно»
🈂️ с готовыми примерами, live demo
🈂️ и CSS Anchor Positioning — пока экспериментальное API (только Chromium)

🔗 Ссылка на статью

💬 А вы как решаете позиционирование тултипов?

🐸 Библиотека фронтендера

#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
4🥰3🤔2
This media is not supported in your browser
VIEW IN TELEGRAM
🕺 AnimatiSS — коллекция CSS-анимаций

Библиотека готовых keyframe-анимаций: bounce, fade, shake, blur, jello и другие эффекты.

Можно посмотреть демо на странице и скопировать код нужной анимации. Всё на чистом CSS, легковесно.

📎 Ссылка

🐸 Библиотека фронтендера

#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤩2👍1
🧩 Как исправить любой баг — когда даже ИИ сдался

Классическая история: всё работает, пока не добавишь один невинный fetch().

Claude несколько раз уверенно объявлял: «готово, всё исправил» — но баг оставался. Так родилась статья о настоящем процессе отладки:

📍 Как находить минимальный репро,
📍 Когда стоит менять подход,
📍 И почему без «well-founded recursion» в отладке можно застрять навсегда.

Карточки выше — краткий конспект, а оригинал обязательно стоит прочитать 📎

🐸 Библиотека фронтендера

#blueprint
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥53🥱2🔥1
🫥 Как я перестал бороться с TypeScript

После того случая я перестал спорить с TypeScript. Решил внедрить его хотя бы частично — просто чтобы понять, действительно ли он чего-то стоит. И вот тут началось самое интересное.

🧽 На проекте был модуль оплаты. Мелочь: функция принимала price, а я случайно передал туда строку из инпута. JS, конечно, не возмутился — просто сложил две строки:


function calcTotal(price) {
return price + 2000
}

calcTotal("4000") // "40002000»


На проде чек вырос в два раза, клиент — в гневе. А я — с новыми седыми волосами.

С TypeScript такого бы не случилось:


function calcTotal(price: number) {
return price + 2000
}
// Argument of type 'string' is not assignable to parameter of type 'number’


После этого я посмотрел на TS по-другому. Он не просто проверяет типы — он ловит ошибки до того, как они становятся проблемами.

Поначалу раздражает:

«Зачем всё это?»
«Слишком строго!»
«Лишний бойлерплейт!»


А потом замечаешь: автодополнение стало умнее, рефакторинг — безопаснее, новые разработчики быстрее разбираются в коде.

🤨 Теперь я воспринимаю TypeScript не как обузу, а как коллегу, который делает код-ревью мгновенно и честно.

🐸 Библиотека фронтендера

#code_battle
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰5👍1🔥1