Lead React Native Developer
Lead Frontend Developer (React)
Ведущий Motion 3D / Front End Разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
🎨 8 лучших коллекций ресурсов для фронтендеров
Лучшие наборы инструментов, которые содержат все необходимое для современной фронтенд-разработки.
Читать...
Лучшие наборы инструментов, которые содержат все необходимое для современной фронтенд-разработки.
Читать...
Фронтенд-разработчик
Frontend-разработчик
Frontend-разработчик сайтов на WordPress / Верстальщик сайтов / PHP программист
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет ограничения TypeScript 5.7 в работе с расширением типов, демонстрирует проблему интерсекции с одинаковыми свойствами и предлагает утилиту Extend для корректной обработки таких случаев.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает массив и возвращает новый массив, содержащий только уникальные значения из исходного массива.
Пример:
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = getUniqueValues(numbers);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
Решение задачи
function getUniqueValues(arr) {
return [...new Set(arr)];
}
// Пример использования
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = getUniqueValues(numbers);
console.log(uniqueNumbers); // [1, 2, 3, 4, 5]
Please open Telegram to view this post
VIEW IN TELEGRAM
• RUINSWORLD: Многопользовательский шутер с открытым миром для браузера на js/ts, Three и Vue. Бета-версия
• Рецепты TypeScript: простое тестирование типов
• Как я создала приложение, которое решает, что мне есть
• Vite 6.0: Новые возможности и будущее веб-разработки
• Наиболее эффективные методы улучшения Core Web Vitals
Please open Telegram to view this post
VIEW IN TELEGRAM
Как защитить веб-страницы паролем без серверной поддержки? Инструменты StatiCrypt и Portable Secret помогут зашифровать HTML с использованием AES-256. Статические страницы остаются безопасными даже на публичном хостинге.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Создайте простую страницу с таймером обратного отсчёта. Пользователь вводит количество секунд, нажимает кнопку "Старт", и таймер начинает обратный отсчёт до нуля. После окончания таймера на экране отображается сообщение "Время вышло!".
Решение задачи
<input type="number" id="timeInput" placeholder="Введите секунды">
<button id="startButton">Старт</button>
<div id="timer">0</div>
const input = document.getElementById('timeInput');
const button = document.getElementById('startButton');
const timerDisplay = document.getElementById('timer');
let timerId;
button.addEventListener('click', () => {
const seconds = parseInt(input.value, 10);
if (isNaN(seconds) || seconds <= 0) {
timerDisplay.textContent = 'Введите корректное число!';
return;
}
clearInterval(timerId);
let remainingTime = seconds;
timerDisplay.textContent = remainingTime;
timerId = setInterval(() => {
remainingTime -= 1;
if (remainingTime <= 0) {
clearInterval(timerId);
timerDisplay.textContent = 'Время вышло!';
} else {
timerDisplay.textContent = remainingTime;
}
}, 1000);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик junior +
Frontend-разработчик (Vue.js)
Junior React Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Анимированная загрузка в виде точек и куба. Сделана на чистом CSS.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
== и === в JavaScript?В JavaScript операторы
== и === используются для сравнения, но ведут себя по-разному. == выполняет нестрогое сравнение, при котором JavaScript может преобразовать типы данных для сопоставления значений. В отличие от него, === выполняет строгое сравнение, проверяя как значение, так и тип данных, без приведения типов.console.log(5 == '5'); // true, так как '5' преобразуется к числу
console.log(5 === '5'); // false, так как разные типы данных
console.log(null == undefined); // true, при нестрогом сравнении они считаются равными
console.log(null === undefined); // false, строгий оператор учитывает типы данных
🗣️ Использование === рекомендуется для избегания ошибок, связанных с преобразованием типов. Это помогает сделать код более предсказуемым и читаемым.
Please open Telegram to view this post
VIEW IN TELEGRAM
Наставник на онлайн-курс "Frontend-разработчик"
• Angular, HTML, CSS, JavaScript, Node.js, Webpack, JQuery, TypeScript• от 25 000 ₽ на руки | 1–3 годаReact разработчик
• React, Redux, TypeScript, Material-UI, Webpack• Уровень дохода не указан | 1–3 годаMiddle React Developer
• React, Next.js, TypeScript, Effector, TailwindCSS, WebSockets, Семантическая и валидная верстка• от 150 000 ₽ на руки | 1–3 годаPlease open Telegram to view this post
VIEW IN TELEGRAM
Преобразуйте свой CSS с помощью псевдокласса :has(), позволяющего стилизовать элементы на основе их дочерних элементов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте калькулятор, который позволяет выполнять основные арифметические операции (сложение, вычитание, умножение, деление). Пользователь вводит два числа и выбирает операцию из выпадающего списка. Результат отображается автоматически.
Требования:
• Два текстовых поля для ввода чисел.• Выпадающий список для выбора операции.• Динамическое отображение результата при изменении любого из входных значений.Решение задачи
<div>
<input type="number" id="num1" placeholder="Введите первое число">
<select id="operation">
<option value="add">+</option>
<option value="subtract">-</option>
<option value="multiply">×</option>
<option value="divide">÷</option>
</select>
<input type="number" id="num2" placeholder="Введите второе число">
</div>
<div>
<h3>Результат: <span id="result">0</span></h3>
</div>
const num1 = document.getElementById('num1');
const num2 = document.getElementById('num2');
const operation = document.getElementById('operation');
const result = document.getElementById('result');
function calculate() {
const value1 = parseFloat(num1.value) || 0;
const value2 = parseFloat(num2.value) || 0;
let res = 0;
switch (operation.value) {
case 'add':
res = value1 + value2;
break;
case 'subtract':
res = value1 - value2;
break;
case 'multiply':
res = value1 * value2;
break;
case 'divide':
res = value2 !== 0 ? value1 / value2 : 'Ошибка (деление на 0)';
break;
}
result.textContent = res;
}
[num1, num2, operation].forEach(element => {
element.addEventListener('input', calculate);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Как правило, кнопки либо нажаты, либо нет. Но при условии, что обеспечена доступность, можно сделать группу радиокнопок внешне похожей на кнопку с несколькими состояниями с помощью CSS-хитростей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Привет! 👋
Мы нашли канал, на котором каждый день публикуются увлекательные и полезные материалы, которые вы так долго искали!😎
Здесь вы найдёте:
• рецепты кода
• мемы
• интересные статьи и факты
• викторины
• макеты
• иконки
• полезные ссылки
И это еще не всё! Здесь много интересного!
Да-да! Всё в 1 канале!
Подписывайся скорее пока доступ не пропал!🧑💻
Мы нашли канал, на котором каждый день публикуются увлекательные и полезные материалы, которые вы так долго искали!
Здесь вы найдёте:
• рецепты кода
• мемы
• интересные статьи и факты
• викторины
• макеты
• иконки
• полезные ссылки
И это еще не всё! Здесь много интересного!
Да-да! Всё в 1 канале!
Подписывайся скорее пока доступ не пропал!
Please open Telegram to view this post
VIEW IN TELEGRAM
Fullstack TypeScript Developer [Senior]
• TypeScript, Node.js, React, SQL, Kubernetes, Docker• Уровень дохода не указан | Более 6 летFullstack Web Разработчик
• HTML, CSS, JavaScript, Laravel, Vue.js, Nuxt.js, React, TypeScript, MySQL, Redis• от 3 000 $ на руки | 3–6 летSenior FullStack-разработчик
• PHP, Laravel, Vue.js, Redis, MySQL, JavaScript• Уровень дохода не указан | 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
Разработчики часто сталкиваются с выбором, какие инструменты использовать для своего следующего проекта. Даже если вы серьёзно настроены на разработку продукта, проблема остаётся той же.
В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш проект.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
AbortController в JavaScript и зачем он используется?AbortController — это API, который позволяет отменять асинхронные операции, такие как запросы fetch. Это полезно для предотвращения утечек ресурсов и отмены операций, которые больше не нужны.const controller = new AbortController();
const signal = controller.signal;
// Отправляем запрос с возможностью отмены
fetch('https://jsonplaceholder.typicode.com/posts', { signal })
.then(response => response.json())
.then(data => console.log(data))
.catch(err => {
if (err.name === 'AbortError') {
console.log('Запрос был отменён');
} else {
console.error(err);
}
});
// Отмена запроса через 500 мс
setTimeout(() => controller.abort(), 500);
🗣️ В этом примере AbortController отменяет запрос через 500 мс. Это позволяет избежать обработки ненужных данных, если, например, пользователь покинул страницу или отменил действие.
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Front-End (React) разработчик
Senior Frontend Engineer
Руководитель группы разработки (Team lead)
Please open Telegram to view this post
VIEW IN TELEGRAM