Telegram Web
😄 Оптимизация загрузки сайта: что мешает скорости и как это устранить

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

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

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

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

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

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

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

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

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

#буст
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
2025/06/19 12:24:39
Back to Top
HTML Embed Code: