Frontend-разработчик React (middle+/senior)
• JavaScript, React, TypeScript, Node.js, CI/CD (GitLab), Unit-тестирование• Уровень дохода не указан | от 3 летFullStack разработчик
• React, TypeScript, JavaScript, HTML, CSS, Node.js, API, Git• Уровень дохода не указан | от 3 летSenior Frontend Developer VUE.js
• JavaScript, Vue.js, TypeScript, адаптивная верстка, дизайн мобильных приложений, Figma, Nuxt.js, веб-разработка• от 3 000 до 4 000 $ | от 5 летPlease open Telegram to view this post
VIEW IN TELEGRAM
• «Сбер» режет косты
• Все, пора увольняться: что я поняла после работы в токсичных командах
• Чем Cloud-инженер отличается от DevOps-инженера и что между ними общего
• Правда или вымысел? Разоблачаем мифы о профессии технического писателя
• 5 видов усталости в IT… и не только
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
Что нового в CSS появилось в 2024 году и уже поддерживается во всех браузерах? Быстрый обзор свежих фишек, которые можно начинать использовать в 2025 году.
Читать...
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
Когда долго работаешь над фичей, замыливается взгляд. Ошибки могут быть очевидными, но ты их просто не замечаешь.
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend Engineer - JavaScript
Angular Developer
Angular Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Как правило, кнопки либо нажаты, либо нет. Но при условии, что обеспечена доступность, можно сделать группу радиокнопок внешне похожей на кнопку с несколькими состояниями с помощью CSS-хитростей.
Читать...
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
• HTML и CSS ошибки, влияющие на доступность. Мой опыт и моего незрячего знакомого Ильи. Часть 11
• Вы всё ещё устанавливаете display:none по таймауту? Тогда мы идём к вам
• Парольная защита статичной HTML-страницы на JS
• 9 open source библиотек для вашего следующего проекта
• Модули CSS раскладки — что такое и как готовить
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчики часто сталкиваются с выбором, какие инструменты использовать для своего следующего проекта. Даже если вы серьёзно настроены на разработку продукта, проблема остаётся той же.
В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш проект.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Завершите функцию/метод так, чтобы он возвращал URL с чем-либо после удаления привязки (
#).Пример кода:
"www.codewars.com#about" --> "www.codewars.com"
"www.codewars.com?page=1" -->"www.codewars.com?page=1"
Решение задачи🔽
function removeUrlAnchor(url) {
return url.split('#')[0];
}
// Примеры использования
console.log(removeUrlAnchor("www.codewars.com#about ")); // " www.codewars.com "
console.log(removeUrlAnchor("www.codewars.com?page=1 ")); // " www.codewars.com?page=1 "
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик (React) Junior/Junior+
Junior frontend разработчик (Vue)
Junior Frontend разработчик (Vue\Nuxt)
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
Frontend Developer
• JavaScript, Vue.js, Nuxt.js, TypeScript• от 180 000 ₽ | от 3 лет опытаFrontend developer Vue
• JavaScript, Vue.js, Nuxt.js, HTML, SCSS, Sass, JSON, HTTP, Next.js• от 150 000 ₽ | от 2 лет опытаFrontend-разработчик (Vue.js)
• Vue.js, JavaScript, HTML, TypeScript, Vite• от 180 000 до 250 000 ₽ | Опыт не указанPlease open Telegram to view this post
VIEW IN TELEGRAM
Статья исследует природу цвета, его восприятие и обработку. Рассмотрим дискретизацию, цветовые модели, пространство и причины несоответствия при передаче изображений. Узнайте, что скрывается за HEX-кодами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте кнопку, которая меняет цвет фона и добавляет лёгкую тень при наведении. При обычном состоянии кнопка должна иметь закруглённые углы и немного увеличиваться при наведении для визуального акцента.
Ожидаемое поведение:
• Основной цвет фона кнопки — синий
(#007BFF).• При наведении цвет фона становится темно-синим
(#0056b3), добавляется тень, и кнопка слегка увеличивается.Решение задачи
<button class="styled-button">Нажми меня</button>
.styled-button {
background-color:#007BFF ;
color: white;
padding: 10px 20px;
border: none;
border-radius: 8px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s;
}
.styled-button:hover {
background-color:#0056b3 ;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transform: scale(1.05);
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Наглядный пример того, как с помощью JS API можно создавать нестандартные интерактивные карты. Яндекс Еда опубликовала исследование самых характерных блюд в городах в России и для визуализации использовала решение от API Яндекс Карт. Оно удобно тем, что позволяет легко и быстро настраивать цвета и детальность карты, убирать или добавлять нужную информацию.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Интересная анимация спирального текста. Сделана на CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM