Логово верстальщика – 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
👩‍💻 Итераторы в JavaScript

В этой статье мы раскроем всю мощь и многогранность итераторов JavaScript. Если вам случалось работать с коллекциями данных и задаваться вопросом, есть ли более эффективный и элегантный способ работы с ними, то вы попали по адресу.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Array.diff

Ваша цель в этом ката — реализовать функцию разности, которая вычитает один список из другого и возвращает результат.

Нужно удалить все значения из списка a, которые присутствуют в списке b, сохраняя их порядок.

Пример кода:

array_diff([1,2],[1]) == [2]

Если значение присутствует в b, все его вхождения должны быть удалены из другого:
array_diff([1,2,2,2,3],[2]) == [1,3]

Решение задачи🔽


function array_diff(a, b) {
return a.filter(item => !b.includes(item));
}

// Примеры использования:
console.log(array_diff([1, 2], [1])); // [2]
console.log(array_diff([1, 2, 2, 2, 3], [2])); // [1, 3]
console.log(array_diff([1, 2, 2], [1])); // [2, 2]
console.log(array_diff([1, 2, 2], [])); // [1, 2, 2]
console.log(array_diff([], [1, 2])); // []
Please open Telegram to view this post
VIEW IN TELEGRAM
🪄 Волшебство веб-разработки: создаем цифровую страну чудес

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Toggle Pill

Набор переключателей с разными стилями анимаций. Сделан на чистом CSS.

Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 15 сайтов для экономии времени разработчика

Хотите больше времени на новые интересные задачи, решение сложных проблем или просто уходить с работы вовремя? Эти 15 сайтов помогут вам существенно ускорить процесс разработки.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Чистая архитектура фронтенда

Принципы и методы, такие как SOLID, KISS, DRY и DDD, помогут разработать более чистую архитектуру фронтенда. Следование правилам создания компонентов с учетом бизнес-логики обеспечит предсказуемую поддержку кода.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 6 ключевых шаблонов проектирования в React

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 17 незаменимых веб-приложений для ускорения работы над проектом

Собрали лучшие веб-приложения для работы с изображениями, логотипами, анимацией, шрифтами, README-файлами и многим другим.

Читать...
Please open Telegram to view this post
VIEW IN 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