Логово верстальщика – 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
✔️ ТОП-10 шаблонизаторов для фронтенд-разработки

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Составим слово

Необходимо написать алгоритм для проверки того, может ли заданная строка s быть составлена из двух других строк, part1 и part2.

Ограничение состоит в том, что символы в частях part1 и part2 должны быть в том же порядке, что и в s.

Пример кода:

isMerge('xcyc', 'xc', 'yc') => true
isMerge('codewars', 'code', 'wars') => true
isMerge('More progress', 'More ess', 'pro') => false
isMerge('Making progress', 'Mak pross', 'inggre') => true


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

function isMerge(s, part1, part2) {
if (s.length !== part1.length + part2.length) return false;

const dp = Array(part1.length + 1).fill(true).map(() => Array(part2.length + 1).fill(true));

for (let i = 0; i <= part1.length; i++) {
for (let j = 0; j <= part2.length; j++) {
if (i > 0) dp[i][j] = dp[i][j] && (s[i + j - 1] === part1[i - 1] && dp[i - 1][j]);
if (j > 0) dp[i][j] = dp[i][j] && (s[i + j - 1] === part2[j - 1] && dp[i][j - 1]);
}
}

return dp[part1.length][part2.length];
}

// Примеры использования
console.log(isMerge('xcyc', 'xc', 'yc')); // => true
console.log(isMerge('codewars', 'code', 'wars')); // => true
console.log(isMerge('More progress', 'More ess', 'pro')); // => false
console.log(isMerge('Making progress', 'Mak pross', 'inggre')); // => true
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Создание приложения для отслеживания фильмов с помощью HTML, CSS и JavaScript

Ознакомьтесь с разработкой веб-приложения MovieVerse. Эта удобная платформа позволит пользователю без труда изучать обширную коллекцию постеров к фильмам, добавляя выбранные фильмы в список просмотра.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Fancy Fading Footer

Стильный футер с эффектом блюра. Сделан на чистом CSS.

Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
✔️ Лучшие библиотеки и пакеты Next.js 2024 года для любых потребностей

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

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