Логово верстальщика – Telegram
Логово верстальщика
8.03K subscribers
996 photos
48 videos
4 files
1.71K links
Канал для верстальщиков с инфой о HTML и CSS, а так же JavaScript на уровне верстальщиков.

Канал на бирже - https://telega.in/c/webdevlair

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Fancy Glowing Button

Крутая кнопка с RGB подсветкой и эффектом при наведении. Сделана на чистом CSS.

Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
🆚 6 фич, которые реализованы во Vue лучше, чем в React

Рассказываем, почему 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
💥 17 убийственных сайтов для веб-разработчиков

Хранение под рукой полезных сайтов – хороший способ повышения производительности труда для дизайнера или веб-разработчика. Разберем некоторые из лучших инструментов, способных уменьшить объем вашей повседневной рутины.

Читать...
👩‍💻 Доступный автокомплит с нуля на JavaScript

Руководство по созданию компонента автодополнения с учетом всех требований доступности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Download the Matrix

Крайне стильная кнопка скачивания с анимацией при нажатии. Сделана на SVG, CSS и JavaScript.

Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Основные различия между React.js и React Native

Раскройте для себя уникальные аспекты двух мощных технологий - React.js и React Native. Это позволит вам в полной мере оценить потенциал универсальной React-библиотеки. Кроме того, вы узнаете, легко ли веб-разработчику React освоить разработку React Native.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Как оптимизировать дорогостоящие CSS-свойства

Некоторые свойства CSS более затратны, чем другие, с точки зрения производительности. При неправильном использовании они могут замедлить работу вашей веб-страницы и сделать ее менее отзывчивой для пользователей.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Неожиданные особенности JavaScript

JavaScript — сложный язык со множеством неожиданных вывертов. В этой статье мы рассмотрим особенности JavaScript, способные по-настоящему озадачить.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Convert string to camel case

Завершите метод/функцию таким образом, чтобы она преобразовала слова, разделенные тире или подчеркиванием, в 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 должен быть проще: 10 приемов современного разработчика

Советы по написанию короткого, лаконичного и чистого кода на JavaScript

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Учебное пособие по Giphy API: как сгенерировать анимированный текст в формате GIF с помощью ReactJS

В этом руководстве вы создадите приложение, которое генерирует динамический анимированный текст с помощью API Giphy с ReactJS.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Card Mouse Hover Effect

Карточки с интересным эффектом при наведении. Сделаны на CSS и JavaScript.

Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Топ библиотеки React 2024 года

В этом руководстве представлены самые популярные библиотеки React 2024 года. Они помогают настраивать и оформлять приложения, управлять состоянием, получать данные, выполнять маршрутизацию и аутентификацию. С их помощью вы сможете создавать полноценные мобильные и веб-приложения.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
💡 SEO для разработчиков: что нужно знать программистам в 2024 году

Технические основы СЕО для программистов: что нужно знать о мета-тегах, микроразметке, 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
👩‍💻 Two to One

Возьмите 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
Почему стоит задуматься о разработке статических сайтов

Каждый создатель сайта стремится сократить время загрузки веб-страниц, повысить показатель конверсии, вовремя отловить ошибки рендеринга, избежать проблем, связанных с обслуживанием сайтов. Если все перечисленное - ваша головная боль, стоит задуматься о разработке статических сайтов.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM