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
Frontend-разработчик (React)
• JavaScript, React, Node.js• Уровень дохода не указан | от 3 летQA-инженер (frontend)
• JavaScript, TypeScript, SQL• Уровень дохода не указан | от 2 летSenior Fullstack Developer (Nest / React)
• Node.js, RabbitMQ, TypeScript, MySQL, React, Redux, TypeORM, NestJS• от 3 000 до 4 000 $ | от 6 летPlease open Telegram to view this post
VIEW IN TELEGRAM
Изучение новых относительных единиц измерения CSS основанных на высоте строки и позволяющих отказаться от угадывания вертикального ритма.
Смотреть…
Please open Telegram to view this post
VIEW IN TELEGRAM
throttle в JavaScript и зачем он используется?Throttle — это техника ограничения частоты вызова функции до определённого интервала времени. Это полезно для обработки часто происходящих событий, таких как прокрутка или изменение размеров окна, не перегружая производительность.function throttle(func, delay) {
let lastCall = 0;
return (...args) => {
const now = Date.now();
if (now - lastCall >= delay) {
lastCall = now;
func(...args);
}
};
}
const handleScroll = throttle(() => {
console.log('Прокрутка страницы');
}, 1000);
window.addEventListener('scroll', handleScroll);🗣️ В этом примере функция handleScroll вызывается не чаще одного раза в секунду, даже если пользователь прокручивает страницу интенсивно. Throttle помогает оптимизировать производительность и уменьшить количество вызовов функции.
Please open Telegram to view this post
VIEW IN TELEGRAM
Chapter Lead Angular Frontend разработки
• Angular, TypeScript, RxJS, NgRx, REST API, WebSockets, CI/CD, Git, Docker• Уровень дохода не указан | от 5 лет опытаTeam Lead Frontend (Управление перспективных проектов)
• React, TypeScript, JavaScript, HTML, CSS (SCSS), REST API, JSON, JWT, Nivo, Highcharts, Chart.js, axios, Fluent UI, final-form, i18next, Jotai, Mitt, React Query, Tanstack Table, Vite• Уровень дохода не указан | от 4 лет опытаTeamlead Frontend (Vue)
• CSS, JavaScript, HTML, Vue.js• Уровень дохода не указан | более 5 лет опытаPlease open Telegram to view this post
VIEW IN TELEGRAM
В нашем руководстве по обновлению React 19 мы поделились пошаговыми инструкциями по обновлению вашего приложения до React 19. В этом посте мы расскажем о новых возможностях React 19 и о том, как их можно использовать.
Читать...
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
💾 6 главных технологий для хранения данных в браузереВедущий инженер RxDB провел комплексный анализ и сравнение шести основных технологий хранения данных в браузере – от классических Cookies до современных WASM SQLite, оценивая их функциональность, производительность и потенциал для оптимизации.
Читать...
Создайте поле ввода и кнопку, которые позволяют добавлять задачи в список. Каждая задача в списке должна иметь кнопку для её удаления.
Ожидаемое поведение:
• Введите текст задачи в поле ввода и нажмите кнопку "Добавить".• Задача появляется в списке ниже с кнопкой "Удалить" рядом с ней.• Нажатие на кнопку "Удалить" удаляет соответствующую задачу из списка.Решение задачи
<div>
<input type="text" id="taskInput" placeholder="Введите задачу">
<button id="addTaskButton">Добавить</button>
</div>
<ul id="taskList"></ul>
const taskInput = document.getElementById('taskInput');
const addTaskButton = document.getElementById('addTaskButton');
const taskList = document.getElementById('taskList');
addTaskButton.addEventListener('click', () => {
const taskText = taskInput.value.trim();
if (taskText === '') return; // Не добавляем пустую задачу
const li = document.createElement('li');
li.textContent = taskText;
const deleteButton = document.createElement('button');
deleteButton.textContent = 'Удалить';
deleteButton.style.marginLeft = '10px';
deleteButton.addEventListener('click', () => li.remove());
li.appendChild(deleteButton);
taskList.appendChild(li);
taskInput.value = ''; // Очищаем поле ввода
});
Please open Telegram to view this post
VIEW IN TELEGRAM
• Почему я не готовлюсь к алгоритмическому интервью
• 7 популярных библиотек Vue 3 UI-компонентов, которые заслуживают внимания
• Жаркий спор по теме Masonry в CSS
• Разница между ранним и поздним связыванием
• Расширения VSCode для комфортной работы с проектами
Please open Telegram to view this post
VIEW IN TELEGRAM
HTML-элемент search — это контейнер, представляющий части веб-страницы с функциональностью поиска.
Читать…
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите метод, который принимает массив последовательных букв в качестве входных данных и возвращает недостающую букву в массиве.
Вы всегда получите действительный массив. И в нем всегда будет отсутствовать ровно одна буква. Длина массива всегда будет составлять не менее 2.
Пример кода:
['a','b','c','d','f'] -> 'e'
['O','Q','R','S'] -> 'P'
Решение задачи🔽
function findMissingLetter(array) {
for (let i = 0; i < array.length - 1; i++) {
// Если разница в кодах символов между текущей и следующей буквой больше 1
if (array[i].charCodeAt(0) + 1 !== array[i + 1].charCodeAt(0)) {
// Возвращаем пропущенную букву
return String.fromCharCode(array[i].charCodeAt(0) + 1);
}
}
throw new Error("No missing letter found");
}
// Примеры использования:
console.log(findMissingLetter(['a','b','c','d','f'])); // 'e'
console.log(findMissingLetter(['O','Q','R','S'])); // 'P'
Please open Telegram to view this post
VIEW IN TELEGRAM