Кнопка с анимированным эффектом при наведении. Сделана на CSS, SVG и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Frontend Developer (Vue/React)
• HTML, SCSS, TailwindCSS, JavaScript, TypeScript, Node.js• от 200 000 ₽ | 3–6 летFrontend разработчик
• React, JavaScript, TypeScript• Уровень дохода не указан | 3–6 летFrontend разработчик senior (тех.лид)
• React, JavaScript, Next.js, HTML, CSS• Уровень дохода не указан | 3–6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
• Как сделать резюме, которое дойдёт до работодателя. Фильтры ATS в 2025 году
• Ошибайся смело: жизненные уроки из мира machine learning
• Как учиться во взрослом возрасте: 7 советов, проверенных на практике
• Нейросети, чат-бот и диджитал-адаптация: цифровые инструменты внутрикома
• Долгосрочная стабильность vs. карьерная мобильность
Please open Telegram to view this post
VIEW IN TELEGRAM
В руководстве рассматриваются такие шаблоны работы с DOM на JavaScript, как выбор правильного querySelector, кэширование элементов и улучшение обработки событий.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Content Security Policy (CSP) — это механизм безопасности, ограничивающий источники загружаемого контента на веб-странице. CSP помогает предотвращать атаки XSS и другие угрозы, задавая правила через HTTP-заголовок или
<meta>.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; noscript-src 'self' https://apis.example.com;">
<noscript>Пример CSP</noscript>
</head>
<body>
<noscript src="https://apis.example.com/library.js"></noscript>
<noscript>
// Этот скрипт выполнится, так как он разрешен
console.log("Скрипт из разрешенного источника работает.");
</noscript>
<noscript>
// Этот скрипт нарушит политику CSP, так как он inline
alert("Inline скрипт заблокирован!");
</noscript>
</body>
</html>
🗣️ В этом примере политика CSP разрешает загрузку ресурсов только с того же домена ('self') и скриптов с определенного внешнего источника. Inline-скрипты и неразрешенные ресурсы будут заблокированы, повышая безопасность приложения.
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
Каждый раз, когда начинаешь изучать новый фреймворк или язык, кажется, что информации слишком много?
Please open Telegram to view this post
VIEW IN TELEGRAM
Поскольку все уведомления E_STRICT были преобразованы в E_NOTICE начиная с PHP 8.0, в PHP 8.4 константа E_STRICT объявлена устаревшей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Иногда важно знать, поддерживается ли функция браузером или нет, чтобы можно было что-нибудь предпринять. Возможно, загрузить полифилл или просто выбрать другой подход. В статье рассматриваются новые возможности браузеров и тесты их поддержки браузером.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Определите функцию, которая принимает целочисленный аргумент и возвращает логическое значение true или false в зависимости от того, является ли целое число простым.
Натуральное число, большее 1, у которого нет положительных делителей, кроме 1 и самого себя.
Требования
• Вы можете предположить, что вам будет предоставлен целочисленный ввод.
• Вы не можете предполагать, что целое число будет только положительным. Вам • также могут быть даны отрицательные числа ( или 0 ).
Пример кода:
is_prime(1) /* false */
is_prime(2) /* true */
is_prime(-1) /* false */
Решение задачи
function isPrime(num) {
if (num <= 1) {
return false;
}
if (num === 2) {
return true; // 2 - единственное четное простое число
}
if (num % 2 === 0) {
return false; // исключаем все четные числа, кроме 2
}
// Проверка делимости от 3 до квадратного корня из num
for (let i = 3; i <= Math.sqrt(num); i += 2) {
if (num % i === 0) {
return false;
}
}
return true;
}
// Примеры использования
console.log(isPrime(1)); // false
console.log(isPrime(2)); // true
console.log(isPrime(-1)); // false
console.log(isPrime(17)); // true
console.log(isPrime(18)); // false
Please open Telegram to view this post
VIEW IN TELEGRAM
• Черт тебя возьми, CSS. Часть 3
• Как мы перенесли web-сервис в Телеграм Mini Apps
• PostHog для UX-дизайнера: от анализа данных до повышения зарплаты
• Пример создания Full Stack проекта, используя функциональное тестирование как инструмент дизайна
• Где взять энергию? Эпидемия выгорания айтишников
Please open Telegram to view this post
VIEW IN TELEGRAM
XML – один из самых популярных расширяемых языков разметки. В небольшом обзоре рассказываем о редакторах, которые позволяют работать с ним наиболее эффективно.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Учитывая массив целых чисел любой длины, верните массив, в котором единица добавлена к значению, представленному массивом.
Массив не может быть пустым. Допускаются только неотрицательные однозначные целые числа. Возвращайте null для недопустимых входных данны
Пример кода:
upArray([2,3,9]) => [2,4,0]
upArray([4,3,2,5]) => [4,3,2,6]
upArray([1,-9]) => null
Решение задачи
function upArray(arr) {
if (arr.length === 0 || arr.some(num => num < 0 || num > 9)) {
return null;
}
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i] < 9) {
arr[i]++;
return arr;
}
arr[i] = 0;
}
arr.unshift(1);
return arr;
}
// Примеры использования функции
console.log(upArray([2, 3, 9])); // => [2, 4, 0]
console.log(upArray([4, 3, 2, 5])); // => [4, 3, 2, 6]
console.log(upArray([1, -9])); // => null
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик Junior/Middle
Frontend developer (React)
Junior+ Fullstack разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом руководстве мы создадим компонент ввода тегов с автозаполнением, используя React JS без сторонних библиотек.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Независимо от уровня внимательности и количества написанных тестов всегда что-то может пойти не так. Рассмотрим обработку ошибок в React: что делать при их появлении, как их выявить и устранить.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Если вы разрабатывали приложения, то могли сталкиваться с такой проблемой, как утечка памяти. В сегодняшней статье мы расскажем об управлении памятью в JS и о том, как не допустить ее утечек.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Идентификаторы ISBN-10 состоят из десяти цифр. Первые девять символов - это цифры 0-9. Последняя цифра может быть от 0 до 9 или X, чтобы указать значение 10.
Номер ISBN-10 действителен, если остаток при делении суммы произведений цифр и их позиций на 11 равен 0.
Алгоритм:
ISBN: 1 1 1 2 2 2 3 3 3 9
Позиция: 1 2 3 4 5 6 7 8 9 10
Это действительный ISBN, потому что:
(1*1 + 1*2 + 1*3 + 2*4 + 2*5 + 2*6 + 3*7 + 3*8 + 3*9 + 9*10) % 11 = 0
Пример кода:
validISBN10("1112223339") => true
validISBN10("048665088X") => true
validISBN10("1234512345") => false
validISBN10("XXXXXXXXXX") => false
validISBN10("048665088XZ") => falseРешение задачи
function validISBN10(isbn) {
if (isbn.length !== 10) {
return false;
}
let sum = 0;
for (let i = 0; i < 10; i++) {
let char = isbn[i];
let value;
if (i === 9 && char === 'X') {
value = 10;
} else if (char >= '0' && char <= '9') {
value = parseInt(char, 10);
} else {
return false;
}
sum += value * (i + 1);
}
return sum % 11 === 0;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Модули JavaScript — способ организации кода в многократно используемые компоненты, используемые совместно в разных файлах и проектах. Модули можно импортировать и экспортировать с помощью двух различных методов: экспорта по умолчанию и именованного экспорта. Рассмотрим экспорт по умолчанию и причины, по которым следует избегать его использования в модулях JavaScript.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
• Базовое программирование, или Почему джуны не могут пройти к нам собеседование
• Я стал аналитиком, потому что не смог быть программистом
• Какие именно админы нужны на российском рынке и как получать больше разработчика
• Рецензия на книгу «MySQL. Сборник рецептов. 4-е издание»
• Чек-лист тестировщика в финансовой компании
Please open Telegram to view this post
VIEW IN TELEGRAM