Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
21.2K subscribers
3.62K photos
326 videos
86 files
5.89K links
Все самое полезное для фронтенда в одном канале.

Наши курсы: https://clc.to/WV2U4g

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
Download Telegram
🤨 Как заставить AI-агента не ломать архитектуру, а нормально писать код?

Мы привыкли общаться с ИИ промптами, но для автономных систем это путь к бесконечным циклам и сливу бюджета. Чтобы убрать хаос, инженеры переходят на Spec-Driven Development (SDD).

Вот как этот подход меняет работу агента на практике:

🔹Контракт вместо текста. Сначала пишется строгая спецификация (JSON-схема/OpenAPI) и автотесты. Агент зажат в рамки интерфейсов, за которые физически не может выйти.
🔹Контроль на шагах. Внутри петли Think-Act-Observe агент сверяет действия со спецификацией.
🔹Саморефлексия. Если ИИ нарушил типы или «додумал» лишнее, тест падает. Агент получает ошибку в контекст и сам правит код, не выходя за рамки ТЗ.

Это лишь база того, как укротить ИИ-разработку. Если вы хотите глубоко внедрить эту методологию, научиться проектировать архитектурные контракты и собирать отказоустойчивые системы — оставляйте заявку на наш новый курс по Spec-Driven Development. Стартуем совсем скоро🙂
🥰3
⭐️ Подборка материалов по работе с состояниями в Vue

В этой подборке мы сосредоточимся на использовании watch и watchEffect в Vue.js для отслеживания изменений в данных и выполнения действий в ответ на эти изменения.

1. Watch и WatchEffect на практике — примеры самых часто используемых компонентов вместе с наблюдателями.

2. Работа с состоянием во Vue и React — отличия, использование, как перекликаются между двумя фреймворками.

3. watch vs watchEffect — когда использовать какой подход

4. Как выбрать библиотеку для управления состоянием — преимущества и недостатки Vuex и Pinia, а также советы по выбору подходящего инструмента для вашего проекта.

5. watchEffect — введение в watchEffect, который автоматически отслеживает все реактивные зависимости внутри своей функции.

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

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

#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
3🥰3🙏1🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
🔥 200+ лучших ресурсов для веб-разработчиков — всё в одном месте

Если устали каждый раз искать хорошие библиотеки, сервисы или статьи — сохраните эту подборку.

Внутри:

🈂️ обучающие материалы и документация
🈂️ UI-библиотеки и компоненты
🈂️ CSS- и JavaScript-инструменты
🈂️ API и полезные сервисы
🈂️ хостинги и платформы для деплоя
🈂️ браузерные расширения
🈂️ генераторы, онлайн-инструменты и многое другое


Проект регулярно обновляется, а все материалы доступны как на сайте, так и на GitHub 🔗

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

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

#stack
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍2🔥2🥰1
⚡️ ECMAScript 2026 официально принят: что нового в JavaScript

В новой версии стандарта появилось сразу несколько полезных возможностей:

🅰️ Array.fromAsync() — превращает асинхронный итератор в массив без for await.

🅰️ Error.isError() — безопасная проверка, действительно ли объект является ошибкой.

🅰️ Math.sumPrecise() — более точное сложение чисел с плавающей точкой.

🅰️ Base64 и Hex для Uint8Array — встроенные методы кодирования и декодирования без сторонних библиотек.

🅰️ Iterator.concat() — объединение нескольких итераторов одной строкой.

🅰️ Улучшения JSON.parse() — доступ к исходному тексту значения, что упрощает работу с BigInt и очень большими числами.

🅰️ Map.getOrInsert() — добавляет значение только при отсутствии ключа, избавляя от привычной связки has() + set().

Большинство нововведений небольшие, но они делают код заметно чище и постепенно избавляют от вспомогательных утилит.

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

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

#release_digest #javascript
Please open Telegram to view this post
VIEW IN TELEGRAM
15🥰3
Media is too big
VIEW IN TELEGRAM
🔥 Не называйте любого продвинутого чат-бота «ИИ-агентом»!

Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru, наглядно разбирает уровни абстракции ИИ-продуктов и убирает путаницу в понятиях.

Что внутри видео:

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

Начните создавать агентные системы с нашего бесплатного демо-урока. Всего за 2 часа разберем внутреннее устройство агента, научим его чинить свой собственный код и сохранять контекст после перезапуска.

🔗 Забрать бесплатный демо-урок
🥰4
🎮 Создание пользовательского хука useFormStatus

Проблема: повторное использование логики состояния формы может привести к дублированию кода и усложнению поддержки.

Решение: в книге «Learn React Hooks, 2nd Edition» автор предлагает создать пользовательский хук useFormStatus для инкапсуляции логики состояния формы, что позволяет повторно использовать её в разных компонентах.

Пример кода:


import { useState } from 'react';

function useFormStatus() {
const [isSubmitting, setIsSubmitting] = useState(false);
const [error, setError] = useState(null);

const submit = async (action) => {
setIsSubmitting(true);
try {
await action();
} catch (err) {
setError(err);
} finally {
setIsSubmitting(false);
}
};

return { isSubmitting, error, submit };
}

function LoginForm() {
const { isSubmitting, error, submit } = useFormStatus();

const handleSubmit = () => {
submit(async () => {
// Асинхронная отправка данных
});
};

return (
<form onSubmit={handleSubmit}>
<button type="submit" disabled={isSubmitting}>
{isSubmitting ? 'Submitting...' : 'Submit'}
</button>
{error && <p>{error.message}</p>}
</form>
);
}


Преимущества:

— Инкапсуляция логики состояния формы.
— Повторное использование кода.
— Упрощение компонентов форм.

🔤 Еще больше полезных книг — в нашем канале @progbook

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

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

#readme
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🥰2
🤔 Что изменится после того, как пользователь введёт текст в <input>?

❤️ — атрибут value
🔥 — свойство value

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

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

#code_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥205
🤑 Function Declaration vs Expression — в чём разница

В JavaScript одну и ту же функцию можно объявить по-разному — и это влияет на поведение кода.

В карточках разобрали:

😗 Чем отличается function declaration от function expression
😗 Почему одна работает до строки, а другая — падает с ошибкой
😗 Какой пример можно привести на собеседовании

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

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

#read_watch
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
7🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
💡 Коллекция эффектных переключателей темы

Нашли open-source подборку анимаций для переключения светлой и тёмной темы.

🔵 Внутри — разные переходы, которые можно изучить, адаптировать и использовать в своих интерфейсах.

Хороший источник идей, если обычный toggle уже кажется слишком скучным.

🔗 Ссылка на GitHub

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

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

#stack
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰6👍4🔥1
🤔 Вопрос с собеседования

Почему нельзя вызывать Hooks внутри if, for или switch?

👇 Правильный ответ (нажми, чтобы прочитать):

React определяет каждый Hook по порядку его вызова, а не по имени.

Если в одном рендере Hook вызвался, а в следующем — нет (например, из-за if), порядок нарушится. Тогда React начнет сопоставлять состояния и эффекты не тем Hook’ам, что приведет к ошибкам и непредсказуемому поведению.

💡 Запомните правило:

Hooks всегда должны вызываться на верхнем уровне компонента или собственного Hook’а — без условий, циклов и switch. Если логика зависит от условия, проверку нужно делать внутри Hook’а.

👍 — знал/а
🔥 — стало понятнее

💼 Щелкаешь такие задачи как орешки? Найди проект с достойной зарплатой тут

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

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

#career_merge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8🥰2
💡 6 принципов современного React Data Grid

Хороший Data Grid помогает быстрее находить информацию, снижает количество ошибок и остается отзывчивым даже при работе с большими объемами данных.

Вот что считается хорошей практикой:

Условное форматирование вместо лишнего текста
Цвета, бейджи и иконки позволяют мгновенно увидеть статус, предупреждение или критичное значение.


Дизайн-токены вместо хардкода цветов
Цвета, отступы и типографика должны наследоваться от общей дизайн-системы, а не быть разбросаны по CSS.


Поддержка dark mode
Таблица должна одинаково хорошо выглядеть в светлой и темной теме, сохраняя контраст и читаемость.


Виртуализация + легкие CSS-классы
Для больших наборов данных виртуализируйте строки и избегайте тяжелых инлайновых стилей и лишних перерисовок.


Доступность по умолчанию
Поддержка клавиатурной навигации, Screen Reader, фокус-состояний и достаточного контраста — уже базовое требование.


Адаптивность
На планшетах и небольших экранах таблица должна корректно менять ширину колонок, сохраняя удобство работы.


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

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

#blueprint #react
Please open Telegram to view this post
VIEW IN TELEGRAM
7🥰2🔥1
🚀 Уже завтра стартует новый поток курса «ИИ-агенты»!

Мы собрали мощнейший состав преподавателей. Учить вас проектировать архитектуру и собирать продакшн-агентов будут инженеры и исследователи из топовых IT-компаний.

Старт уже завтра!

Сомневаетесь, подойдет ли вам программа и подача? Начните с бесплатного демо-урока!

Всего за 2 часа вы заглянете под капот ИИ-агента, поймете, чем мышление модели отличается от ее ответа, и научите систему чинить собственный код. Это идеальный способ протестировать нашу платформу перед покупкой.

🔗 Пройти демо-урок и занять место на курсе
🥰3👍1🔥1
Почему tooltip больше не обязательно писать на JavaScript

Еще недавно для tooltip, dropdown и popover почти всегда подключали Popper.js или похожие библиотеки. Теперь большую часть этой работы берет на себя браузер благодаря CSS Anchor Positioning.

🔗 В карточках разбираем, как это работает под капотом, что такое Anchor и Target, как браузер автоматически выбирает лучшую позицию для всплывающего элемента и почему эта технология может заменить целый класс JS-решений.

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

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

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

#under_hood #css
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🥰31