Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js – Telegram
Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.6K subscribers
2.96K photos
215 videos
50 files
5.24K links
Все самое полезное для фронтенда в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
🎨 Визуальная шпаргалка по CSS

Сайт, который должен быть в закладках у каждого фронтендера.

Фишки:

— Иллюстрации для каждого свойства
— Удобные коллекции: Flexbox, Grid, Animations, Typography
— Быстрый поиск по свойствам
— Идеально для освежить память перед собесом

Особенно полезно для объяснения CSS джунам — показали картинку, и не нужно рисовать на доске 😄

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

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

#readme #css
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥2🥰2
🛎 Типы данных в JavaScript: база, без которой ломается логика

Большинство «странных» багов в JS начинаются не с фреймворков, а с типов данных. Непонимание разницы между примитивами и объектами приводит к ошибкам в сравнениях, мутации данных и поведении функций.

ℹ️ Выше — короткие карточки с базовой картиной типов данных в JavaScript. Это минимум, который нужно понимать, чтобы код был предсказуемым сегодня и поддерживаемым завтра.

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

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

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52🥰2
🧑‍💻 Flexbox без калькулятора

3 элемента
flex: 1 0 100px
Контейнер 500px

Какой будет offsetWidth одного блока?

❤️ — 100px
😁 — 166.66px (или ~167px)
👾 — 500px
🌚 — 0px

📍 Навигация: [Вакансии]

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

#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
😁164🥰1🌚1👾1
frontend-fundamentals cheatsheet.pdf
58.6 MB
📎 Шпаргалка по фронтенду

Сжатый конспект ключевых тем и механизмов современной фронтенд-разработки.

🗳 Объяснения, примеры и практические заметки — для быстрого повторения, работы и подготовки к собеседованиям.

📍 Навигация: [Вакансии]

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

#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🥰32🌚1
⚛️ React: правильный useEffect с setInterval

Типичная ошибка — класть состояние в зависимости эффекта, который сам его обновляет.

Плохо

count в зависимостях → useEffect пересоздаёт setInterval каждую секунду.

Правильно

Функциональное обновление → интервал создаётся один раз, состояние всегда актуально.

Правило из документации:

Если новое состояние зависит от предыдущего — используйте функциональное обновление.
useEffect не должен перезапускаться из-за собственного setState.


📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

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

#hotfix #react
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3🥰3
🔌 JavaScript-фичи, о которых многие не знают

Недавно наткнулись на то, что Safari в марте этого года добавил поддержку Iterator helpers. А ведь это реально полезная штука — позволяет делать цепочки трансформаций массивов без создания промежуточных копий.

🔤 Ещё несколько моментов, которые удивили:

array.at(-1) вместо array[array.length - 1]

structuredClone() вместо танцев с JSON.stringify/parse

У Set появились нормальные операции типа union() и intersection()


🔗 В статье собраны 9 таких фич часть новые, часть просто малоизвестные. Например, про callback в replaceAll() или про то, что Promise.withResolvers() избавляет от странного паттерна с промисами.

📍 Навигация: [Вакансии]

🎁 Новогодняя акция: 3 курса по цене 1
🤝 Помощь с выбором курса

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

#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
6🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Фронтенд-разработчик, пора выходить за рамки обычного чат-бота 🧠

Пользователи ждут от интерфейсов автономности. Мы научим вас строить AI-агентов, которые умеют принимать решения, сохранять контекст и надёжно интегрироваться в ваш продукт.

Чему вы научитесь:

интеграции через n8n для связи фронтенда с мощными AI-сценариями через визуальные воркфлоу;
основам RAG для того, чтобы ваш агент давал точные ответы на базе внешних данных;
контролю стейта в LangGraph для создания надёжных диалоговых систем, которые не «тупят»;
обсервабилити в LangSmith для отладки поведения нейросети в режиме реального времени.

Сделайте свой проект по-настоящему умным.

Записаться на курс
4😁2
✏️ Подробное объяснение вчерашней задачи

Правильный ответ: 😁 — 166.66px (или ~167px)

🅰️ Разбор flex-свойств:

flex: 1 0 100px = flex-grow: 1, flex-shrink: 0, flex-basis: 100px

flex-grow: 1 — элемент может расти

flex-shrink: 0 — элемент НЕ может сжиматься

flex-basis: 100px — базовый размер 100px


🅰️ Расчёт распределения:

Ширина контейнера: 500px

Базовый размер всех элементов: 3 × 100px = 300px

Свободное пространство: 500px - 300px = 200px

Распределение на 3 элемента: 200px ÷ 3 ≈ 66.66px каждому

Финальный размер каждого элемента: 100px + 66.66px ≈ 166.66px


🔎 Ключевые моменты:

🅱️ min-width: 0 сбрасывает автоматический min-width для flex-элементов (по умолчанию = auto)

🅱️ Однако flex-shrink: 0 запрещает сжатие, поэтому элемент не может стать меньше flex-basis

🅱️ Свободное пространство есть, поэтому элементы растут благодаря flex-grow: 1

🅱️ Все три элемента получают равные доли свободного пространства

📍 Навигация: [Вакансии]

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

#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🥰21