Senior JavaScript developer — от 300 000 ₽, удаленно (Москва)
JS-разработчик — удаленно (Москва)
Разработчик 3D-продукта (JS/WebGL) — от 130 000 до 145 000 ₽ , гибрид (Екатеринбург)
Vue Frontend-разработчик (Senior) — от 270 000 ₽, удаленно
Angular Developer — от 230 000 ₽, удаленно (Москва)
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
Валидация на стороне клиента — это первый шаг в обеспечении безопасности данных, вводимых пользователями, прежде чем они попадут на сервер.
Почему важно:
Как внедрить:
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