Валидация на стороне клиента — это первый шаг в обеспечении безопасности данных, вводимых пользователями, прежде чем они попадут на сервер.
Почему важно:
Как внедрить:
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
В первой части мы обсудили, как ускорить загрузку: сократить запросы, оптимизировать файлы и стили. Теперь время улучшить отзывчивость и плавность.
В карточках рассказываем:
#буст
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
Бигтех уже режет найм разработчиков. Вайб-кодинг повсюду. Джуны не нужны. Но так ли это на самом деле?
Мы хотим разобраться, как ИИ влияет на рынок труда в IT. В реальности, а не в головах CEO или HR. Поэтому приглашаем пройти опрос.
Результаты нашего исследования позволят выяснить, сколько разработчиков потеряли работу из-за ИИ? Какие навыки сейчас ценятся больше всего? Кто зарабатывает больше — те, кто использует ИИ или игнорирует?
👾 Расскажите свою историю, чтобы помочь комьюнити: https://clc.to/aFntFw
Biome — это современный линтер и форматтер для JavaScript и TypeScript, родившийся из проекта Rome. После разделения команды часть разработчиков решила создать новый проект с открытой разработкой и фокусом на стабильности.
Зачем нужен:
Как использовать:
npm install --save-dev @biomejs/biome
npx biome init
npx biome format
Что важно знать:
— Biome не делает сборку кода — его задача: проверять, анализировать и форматировать исходники. Для сборки используйте Vite, Webpack или SWC.
— Проект развивается очень активно, с прозрачным роадмапом и постоянными обновлениями.
— Хорошо подходит для монорепозиториев и крупных проектов, где важна скорость проверок.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Райан Карниато, создатель SolidJS, делится опытом 10 лет работы с этим фреймворком.
Разбор текущего состояния рынка труда в контексте фронтенд-разработки.
Сет и Уэст из Syntax разбираются в условной логике в CSS.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🚨 ИИ уже съел ваше место?
Стоп. Давайте без паники и хайпа.
Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.
Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.
❓Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ
Без буллшита — только цифры и факты. Результаты будут открыты для всех.
📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
Стоп. Давайте без паники и хайпа.
Пока одни кричат «ИИ всех заменит!», другие спокойно получают оффер за оффером. Пока CEO сокращают команды «из-за ИИ», разработчики с нужными скиллами поднимают зарплаты.
Мы копаем глубже твиттеров «экспертов» и собираем данные от тех, кто каждый день коммитит, деплоит, фиксит баги — но в этом нам нужна ваша помощь.
❓Хотим понять:
— Кого действительно уволили и почему
— Как изменились задачи разработчиков
— Где ИИ помогает, а где только мешает
— Какие роли появились, какие исчезли
— Сколько платят тем, кто «дружит» с ИИ
Без буллшита — только цифры и факты. Результаты будут открыты для всех.
📊 Чем больше участников — тем точнее картина. Поделитесь опытом: https://clc.to/aFntFw
Автоматизирует создание нового компонента с папкой, шаблоном, тестами и стилями за один вызов.
npx hygen component new MyComponent
Используется в React, Vue, Next.js, Svelte — где важна единая структура кода.
Зачем это нужно:
— Можно завести несколько шаблонов: для компонентов, хуков, страниц и модулей.
— Для интерактивности используйте
Plop
— он задаёт вопросы и подставляет ответы в шаблон.— Объедините генерацию с
git hooks
или npm run
— тогда новые компоненты будут сразу проходить линтинг и тесты.#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
Подписчик делится своим опытом применения AI-инструментов в фронтенд-разработке.
А какое ваше мнение на этот счет? Делитесь в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
В Svelte уже есть изоляция стилей через scoped CSS, но стоит ли добавлять Tailwind? Этот инструмент был создан для React, чтобы бороться с проблемой «протекания» стилей, которая в Svelte не возникает.
— Быстрая верстка без необходимости писать свой CSS.
— Готовая система цветов, шрифтов, отступов.
— Легко переносить классы и шаблоны между проектами.
— Если команда уже работает с Tailwind — проще не разводить свой CSS‑зоопарк.
— Шаблон может превратиться в мешанину из утилитарных классов.
— Для сложной анимации или кастомных эффектов Tailwind быстро становится неудобным.
— Встроенный scoped CSS в Svelte часто чище и понятнее.
— Чужой код на Tailwind порой тяжело читать и поддерживать.
А вы как думаете? Tailwind в Svelte — мастхэв или излишество? Делитесь в комментариях!
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM