Запутался в CSS-фреймворках? Мы собрали ТОП-10 самых крутых инструментов, которые реально экономят время на фронтенде. От тяжеловеса Bootstrap до минималистичного Milligram – разобрали плюсы каждого и объяснили, когда что использовать.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Современный веб-дизайн требует глубокого понимания возможностей CSS. Мы расскажем о 25 передовых CSS-техниках, которые помогут вам создавать стильные, функциональные и производительные веб-сайты, соответствующие последним трендам.
Читать...
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
Frontend developer (React/crypto)
Frontend-разработчик
React Frontend-разработчик (на верстку креативных сайтов)
Please open Telegram to view this post
VIEW IN TELEGRAM
Debounce — это техника оптимизации, которая позволяет контролировать, как часто функция будет вызываться при повторяющихся событиях. Это полезно для обработки событий, таких как ввод текста или изменение размера окна, чтобы уменьшить нагрузку на производительность.
function debounce(func, delay) {
let timeout;
return function(...args) {
clearTimeout(timeout);
timeout = setTimeout(() => func.apply(this, args), delay);
};
}
// Использование debounce
const handleResize = debounce(() => {
console.log('Окно изменилось!');
}, 300);
window.addEventListener('resize', handleResize);🗣️ В этом примере обработчик событий на родительском элементе обрабатывает клики по дочерним элементам, включая добавленные динамически. Это упрощает код и повышает производительность.
Please open Telegram to view this post
VIEW IN TELEGRAM
React разработчик
• TypeScript, WebSockets, React, Effector, Express• от 150 000 до 250 000 ₽ | 3 года опытаReact Native разработчик
• React Native, React, Redux, Flutter, PHP, Laravel, Next.js, C#, TypeScript, JavaScript• от 140 000 до 160 000 ₽ | 3 года опытаMiddle Fullstack Developer
• React, Vue.js, Webpack, TypeScript, Node.js, MongoDB• от 3 800 до 5 500 $ | 5 лет опытаPlease open Telegram to view this post
VIEW IN TELEGRAM
Статья объясняет технику делегирования событий в веб-разработке, показывая, как использование одного слушателя на родительском элементе упрощает управление событиями и повышает производительность.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите функцию, которая принимает массив и возвращает объект, где ключи — это уникальные элементы массива, а значения — количество их вхождений.
Пример:
const input = [1, 2, 2, 3, 4, 3, 5, 3];
const result = countFrequency(input);
console.log(result);
// Ожидаемый результат: {1: 1, 2: 2, 3: 3, 4: 1, 5: 1}
Решение задачи
function countFrequency(array) {
return array.reduce((acc, item) => {
acc[item] = (acc[item] || 0) + 1;
return acc;
}, {});
}
// Пример использования:
const input = [1, 2, 2, 3, 4, 3, 5, 3];
const result = countFrequency(input);
console.log(result);
// Ожидаемый результат: {1: 1, 2: 2, 3: 3, 4: 1, 5: 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
Один файл, который может изменить все: полное руководство по tsconfig.json. Разбираем каждый параметр и его влияние на разработку, сборку и поддержку TypeScript-проектов.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Middle+ Frontend developer (React) СберНПФ
• TypeScript, JavaScript, React, Webpack• Уровень дохода не указан | 2 года опытаSenior Fullstack developer
• JavaScript, TypeScript, Node.js, React• Уровень дохода не указан | Senior/Lead уровеньReact.js Developer
• React, React Native, TypeScript, Redux, Sass, CSS, HTML, REST, JSON, Node.js• от 5 000 $ | 5 лет опытаPlease open Telegram to view this post
VIEW IN TELEGRAM
Изучение React без прочной базы JavaScript похоже на строительство дома без фундамента. В этой статье разберем 8 ключевых концепций, которые помогут тебе уверенно чувствовать себя в React-разработке и писать качественный код.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
z-index управляет тем, как элементы накладываются друг на друга в трёхмерном пространстве веб-страницы. Элементы с большим значением z-index будут отображаться поверх тех, у которых значение меньше.
z-index: 1:.element1 {
position: relative;
z-index: 1;
}
.element2 {
position: relative;
z-index: 2;
}🗣 Важно помнить, что свойство z-index работает только с элементами, у которых установлено позиционирование (position: relative, absolute, fixed или sticky).
Please open Telegram to view this post
VIEW IN TELEGRAM
Руководитель группы разработки
• Git, Docker, PHP, Laravel, React, CI/CD, Управление разработкой, Управление людьми, Ведение переговоров• Уровень дохода не указан | Требуемый опыт не указанFullstack TeamLead
• PHP, Laravel, Python, CI/CD, Управление разработкой• до 400 000 ₽ | от 6 лет опытаРуководитель web-разработки
• Git, Docker, PHP, Laravel, React, CI/CD, Управление разработкой, Управление людьми, Ведение переговоров• Уровень дохода не указан | Требуемый опыт не указанPlease open Telegram to view this post
VIEW IN TELEGRAM
Часто приходится анализировать множество URL-адресов. Частично для их проверки, а также для нормализации или извлечения определённых частей из URL. API URL в браузерах позволяет это делать, но его эргономика не идеальна.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Ты решил проблему через копипасту кода с форума или GitHub? Быстро, но опасно.
Please open Telegram to view this post
VIEW IN TELEGRAM
Senior Frontend Developer (Team Lead)
PHP Developer
PixiJS Frontend Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассмотрим распространенные ошибки которые допускают разработчики при работе с tailwind и пути их решения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте карточку, которая содержит изображение и текст, выровненный по нижнему краю карточки. Карточка должна иметь фиксированную высоту, и текст всегда должен находиться у нижней границы.
Ожидаемое поведение:
• Изображение занимает верхнюю часть карточки.• Текст закреплён внизу карточки, даже если изображение маленькое.Решение задачи
<div class="card">
<img src="https://via.placeholder.com/150 " alt="Placeholder Image" class="card-img">
<div class="card-text">Текст внизу карточки</div>
</div>
.card {
width: 200px;
height: 300px;
display: flex;
flex-direction: column;
justify-content: space-between;
border: 1px solid#ccc ;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.card-img {
width: 100%;
height: auto;
max-height: 70%; /* Ограничиваем высоту изображения */
}
.card-text {
padding: 10px;
background-color:#f9f9f9 ;
text-align: center;
}
Please open Telegram to view this post
VIEW IN TELEGRAM