Собрали лучшие веб-приложения для работы с изображениями, логотипами, анимацией, шрифтами, README-файлами и многим другим.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Крутая кнопка с RGB подсветкой и эффектом при наведении. Сделана на чистом CSS.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Рассказываем, почему Vue не только не уступает самому популярному инструменту для разработки фронтенда, но и во многом его превосходит.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом задании наша цель — написать функцию, которая проверяет игру крестики-нолики на выирыш. Предположим, что поле для игры представлено в виде массива 3x3, где значение равно 0, если ячейка пуста, 1, если это «X», и 2, если это «O»,
Пример кода:
isSolved([[0,0,1],
[0,1,2],
[2,1,0]]) => -1
Мы хотим, чтобы наша функция возвращала:
-1, если есть пустые места,
1, если "X" выиграли,
2, если "О" выиграли,
0, если это ничья.
Решение задачи
function isSolved(board) {
const checkLine = (a, b, c) => {
if (a === b && b === c) {
return a;
}
return 0;
};
// Проверка всех строк
for (let i = 0; i < 3; i++) {
const result = checkLine(board[i][0], board[i][1], board[i][2]);
if (result !== 0) return result;
}
// Проверка всех столбцов
for (let i = 0; i < 3; i++) {
const result = checkLine(board[0][i], board[1][i], board[2][i]);
if (result !== 0) return result;
}
// Проверка диагоналей
let result = checkLine(board[0][0], board[1][1], board[2][2]);
if (result !== 0) return result;
result = checkLine(board[0][2], board[1][1], board[2][0]);
if (result !== 0) return result;
// Проверка на наличие пустых клеток
for (let i = 0; i < 3; i++) {
for (let j = 0; j < 3; j++) {
if (board[i][j] === 0) return -1;
}
}
// Если нет выигрыша и нет пустых клеток, то это ничья
return 0;
}
// Примеры использования:
console.log(isSolved([[0,0,1], [0,1,2], [2,1,0]])); // -1
console.log(isSolved([[1,1,1], [0,1,2], [2,1,0]])); // 1
console.log(isSolved([[2,2,2], [0,1,2], [2,1,0]])); // 2
console.log(isSolved([[1,2,1], [2,1,2], [2,1,1]])); // 0
Please open Telegram to view this post
VIEW IN TELEGRAM
• JavaScript в гугл-таблицах: скрипты для расчета мультивалютной корзины
• Реализация доступности веб-приложений с помощью Flutter
• Мой ТОП-5 лучших CSS-in-JS решений
• Лучшие открытые курсы для изучения PHP с нуля
• Как создать бесшовную текстуру на angular без инструкций и примеров
Please open Telegram to view this post
VIEW IN TELEGRAM
💥 17 убийственных сайтов для веб-разработчиков
Хранение под рукой полезных сайтов – хороший способ повышения производительности труда для дизайнера или веб-разработчика. Разберем некоторые из лучших инструментов, способных уменьшить объем вашей повседневной рутины.
Читать...
Хранение под рукой полезных сайтов – хороший способ повышения производительности труда для дизайнера или веб-разработчика. Разберем некоторые из лучших инструментов, способных уменьшить объем вашей повседневной рутины.
Читать...
Руководство по созданию компонента автодополнения с учетом всех требований доступности.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Крайне стильная кнопка скачивания с анимацией при нажатии. Сделана на SVG, CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Раскройте для себя уникальные аспекты двух мощных технологий - React.js и React Native. Это позволит вам в полной мере оценить потенциал универсальной React-библиотеки. Кроме того, вы узнаете, легко ли веб-разработчику React освоить разработку React Native.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Некоторые свойства CSS более затратны, чем другие, с точки зрения производительности. При неправильном использовании они могут замедлить работу вашей веб-страницы и сделать ее менее отзывчивой для пользователей.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
JavaScript — сложный язык со множеством неожиданных вывертов. В этой статье мы рассмотрим особенности JavaScript, способные по-настоящему озадачить.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Завершите метод/функцию таким образом, чтобы она преобразовала слова, разделенные тире или подчеркиванием, в camel casing. Первое слово в выходных данных должно быть заглавным только в том случае, если исходное слово было заглавным. Следующие слова всегда должны быть написаны с заглавной буквы.
Пример кода:
"the-stealth-warrior" gets converted to "theStealthWarrior"
"The_Stealth_Warrior" gets converted to "TheStealthWarrior"
Решение задачи
function toCamelCase(str) {
return str.replace(/[-_](.)/g, (_, char) => char.toUpperCase());
}
// Примеры использования
console.log(toCamelCase("the-stealth-warrior")); // "theStealthWarrior"
console.log(toCamelCase("The_Stealth_Warrior")); // "TheStealthWarrior"
Please open Telegram to view this post
VIEW IN TELEGRAM
Советы по написанию короткого, лаконичного и чистого кода на JavaScript
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом руководстве вы создадите приложение, которое генерирует динамический анимированный текст с помощью API Giphy с ReactJS.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Карточки с интересным эффектом при наведении. Сделаны на CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этом руководстве представлены самые популярные библиотеки React 2024 года. Они помогают настраивать и оформлять приложения, управлять состоянием, получать данные, выполнять маршрутизацию и аутентификацию. С их помощью вы сможете создавать полноценные мобильные и веб-приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Технические основы СЕО для программистов: что нужно знать о мета-тегах, микроразметке, UX/UI, карте сайта, коде 404, подзаголовках.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Оптимизация производительности является ключевым аспектом разработки веб-приложений, особенно когда речь идет о работе с большими объемами данных. Именно такая задача была поставлена перед фронтенд-разработчиками IT Test. Рассказываем, как оптимизировать код и найти баланс между производительностью и читаемостью.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Возьмите 2 строки s1 и s2, включающие только буквы от a до z. Верните новую отсортированную строку, максимально длинную, содержащую различные буквы - каждая из которых берется только один раз - исходящие из s1 или s2.
Пример кода:
a = "xyaabbbccccdefww"
b = "xxxxyyyyabklmopq"
longest(a, b) -> "abcdefklmopqwxy"
a = "abcdefghijklmnopqrstuvwxyz"
longest(a, a) -> "abcdefghijklmnopqrstuvwxyz"
Решение задачи
function longest(s1, s2) {
// Объединяем строки
let combined = s1 + s2;
// Преобразуем строку в массив, используя Set для удаления дубликатов
let uniqueChars = [...new Set(combined)];
// Сортируем массив
uniqueChars.sort();
// Преобразуем обратно в строку и возвращаем результат
return uniqueChars.join('');
}
// Примеры использования
let a = "xyaabbbccccdefww";
let b = "xxxxyyyyabklmopq";
console.log(longest(a, b)); // "abcdefklmopqwxy"
a = "abcdefghijklmnopqrstuvwxyz";
console.log(longest(a, a)); // "abcdefghijklmnopqrstuvwxyz"
Please open Telegram to view this post
VIEW IN TELEGRAM