Библиотека фронтендера | Frontend, JS, JavaScript, React.js, Angular.js, Vue.js
22.8K subscribers
2.32K photos
136 videos
38 files
4.73K links
Все самое полезное для фронтенда в одном канале.

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

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

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

РКН: https://gosuslugi.ru/snet/67a5b6884689c2151c820bb4
加入频道
😄 Оптимизация загрузки сайта: что мешает скорости и как это устранить

Вы можете сделать идеальный интерфейс, но все потеряется, если страница загружается слишком медленно. Пользователь не будет ждать — он просто закроет вкладку.

В карточках рассказываем:

➡️ Как сократить количество сетевых запросов и избавиться от лишних файлов

➡️ Почему важно правильно расставить стили и скрипты

➡️ Какие форматы изображений дают меньший вес

➡️ Как собрать проект так, чтобы браузер начал работу раньше

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

🔗 Полный текст — по ссылке

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😱 Завтра цена на курс «AI-агенты для DS» вырастет

Пока вы думаете — другие уже покупают. Что вы теряете, откладывая решение? Как минимум — 10 000 рублей, именно столько вы переплатите завтра. Как максимум — шанс войти в топ-1% дата-сайентистов, которые умеют строить AI-агенты.

🎓 Чему вы научитесь на курсе:
— адаптировать LLM под разные предметные области и данные
— собирать свою RAG-систему: от ретривера и реранкера до генератора и оценки качества
— строить AI-агентов с нуля — на основе сценариев, функций и взаимодействия с внешней средой

Решение за вами.

👉 Купить курс по старой цене
😐 Что мы загадали в ребусе

Пишите ваш вариант в комментариях — и не забудьте скрыть под спойлером ✏️

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🟣 Подборка материалов по интеграции фронтенда с бэкендом через GraphQL

Представляем статьи, видео и инструменты для эффективного использования GraphQL, которые помогут улучшить взаимодействие между фронтендом и бэкендом.

➡️ Введение в GraphQL: ключевые аспекты и преимущества

➡️ Как работать с подписками GraphQL для реального времени: руководство по настройке подписок в GraphQL с Apollo Client

➡️ Apollo Client + React: видеообзор, показывающий, как настроить Apollo Client в React-приложении для работы с GraphQL

➡️ GraphQL для фронтенд-разработчика: введение в основы

➡️ Внедрение GraphQL на фронтенде без переломов

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 Вопрос на внимательность

У вас форма, куда пользователь может ввести текст. Вы вставляете этот текст так, как на картинке.

➡️ Пользователь ввёл:

<img src=x onerror=alert(1)>


Что произойдет

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

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰 Топ-вакансий для фронтендеров за неделю

Senior JavaScript developer — от 300 000 ₽, удаленно (Москва)

JS-разработчик — удаленно (Москва)

Разработчик 3D-продукта (JS/WebGL) — от 130 000 до 145 000 ₽ , гибрид (Екатеринбург)

Vue Frontend-разработчик (Senior) — от 270 000 ₽, удаленно

Angular Developer — от 230 000 ₽, удаленно (Москва)

➡️ Еще больше топовых вакансий — в нашем канале Javascript jobs

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

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Как реализовать безопасный ввод с помощью валидации на стороне клиента

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

Почему важно:

📍 Защищает от XSS и SQL-инъекций

📍 Предотвращает отправку некорректных данных

📍 Повышает UX за счет быстрой обратной связи

Как внедрить:

1. Делаем проверку на пустое поле:


const form = document.querySelector('form');
const input = document.querySelector('input[name="username"]');

form.addEventListener('submit', (event) => {
if (!input.value.trim()) {
event.preventDefault();
alert('Поле не может быть пустым!');
}
});


2. Проверяем корректность email:


const emailInput = document.querySelector('input[name="email"]');

form.addEventListener('submit', (event) => {
const email = emailInput.value;
const regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/;

if (!regex.test(email)) {
event.preventDefault();
alert('Введите корректный email!');
}
});


3. Ограничиваем длину пароля:


const passwordInput = document.querySelector('input[name="password"]');

form.addEventListener('submit', (event) => {
if (passwordInput.value.length < 6) {
event.preventDefault();
alert('Пароль должен быть не менее 6 символов!');
}
});


4. Используем атрибуты HTML5 для валидации:


<form>
<input type="email" name="email" required>
<input type="password" name="password" minlength="6" required>
<button type="submit">Отправить</button>
</form>


5. Экранируем пользовательский ввод для защиты от XSS:


function escapeHtml(text) {
const element = document.createElement('div');
if (text) {
element.innerText = text;
element.textContent = text;
}
return element.innerHTML;
}

const userInput = '<script>alert("XSS")</script>';
const safeInput = escapeHtml(userInput);
console.log(safeInput);


💡 Применение этих методов поможет обезопасить вводимые данные и защитить приложение от популярных угроз.

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Оптимизация интерфейса: как сделать сайт более отзывчивым и плавным

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

В карточках рассказываем:

➡️ Как контролировать работу DOM и избежать лишних перерисовок

➡️ Почему важно правильно работать с событиями и изменениями

➡️ Как асинхронность помогает избежать блокировки интерфейса

➡️ Как добиться плавности без фреймворков и сложных решений

💡 Используя даже несколько из этих методов, вы заметно улучшите отзывчивость интерфейса.

🔗 Полный текст — по ссылке

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
💔AI vs Developer: who wins?

Бигтех уже режет найм разработчиков. Вайб-кодинг повсюду. Джуны не нужны. Но так ли это на самом деле?

Мы хотим разобраться, как ИИ влияет на рынок труда в IT. В реальности, а не в головах CEO или HR. Поэтому приглашаем пройти опрос.

Результаты нашего исследования позволят выяснить, сколько разработчиков потеряли работу из-за ИИ? Какие навыки сейчас ценятся больше всего? Кто зарабатывает больше — те, кто использует ИИ или игнорирует?

👾 Расскажите свою историю, чтобы помочь комьюнити: https://clc.to/aFntFw
⚙️ Инструмент недели: как заменить ESLint и Prettier одним пакетом

Biome — это современный линтер и форматтер для JavaScript и TypeScript, родившийся из проекта Rome. После разделения команды часть разработчиков решила создать новый проект с открытой разработкой и фокусом на стабильности.

Зачем нужен:

🔵 Один инструмент вместо нескольких — Biome заменяет связку ESLint + Prettier, и при этом быстрее их обоих.

🔵 Максимальная скорость — благодаря Rust лентинг и форматирование выполняются мгновенно, даже на больших репозиториях.

🔵Официально выпускает и поддерживает свой плагин для VSCode. Линтинг и автофиксы работают прямо во время набора кода.

🔵 Умеет форматировать JSON, YAML и TOML, а не только JS/TS.

Как использовать:

1️⃣ Установите Biome в проект:


npm install --save-dev @biomejs/biome


2️⃣ Инициализируйте конфиг:

npx biome init


3️⃣ Проверьте и отформатируйте код:


npx biome format


4️⃣ Установите официальный плагин VSCode — подсказки и автоисправления будут работать прямо в редакторе.

5️⃣ Добавьте Biome в pre-commit хуки через Husky или lint-staged — чтобы код всегда проходил проверку до пуша.

Что важно знать:

— Biome не делает сборку кода — его задача: проверять, анализировать и форматировать исходники. Для сборки используйте Vite, Webpack или SWC.

— Проект развивается очень активно, с прозрачным роадмапом и постоянными обновлениями.

— Хорошо подходит для монорепозиториев и крупных проектов, где важна скорость проверок.

🔗 Анонс последней версии

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

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM