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

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

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
👩‍💻 Обрабатываем ошибки в React: полное руководство

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Управление памятью JavaScript: как избежать утечек памяти и повысить производительность

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 ISBN-10

Идентификаторы ISBN-10 состоят из десяти цифр. Первые девять символов - это цифры 0-9. Последняя цифра может быть от 0 до 9 или X, чтобы указать значение 10.

Номер ISBN-10 действителен, если остаток при делении суммы произведений цифр и их позиций на 11 равен 0.

Алгоритм:

ISBN: 1 1 1 2 2 2 3 3 3 9
Позиция: 1 2 3 4 5 6 7 8 9 10
Это действительный ISBN, потому что:
(1*1 + 1*2 + 1*3 + 2*4 + 2*5 + 2*6 + 3*7 + 3*8 + 3*9 + 9*10) % 11 = 0

Пример кода:

validISBN10("1112223339") => true
validISBN10("048665088X") => true
validISBN10("1234512345") => false
validISBN10("XXXXXXXXXX") => false
validISBN10("048665088XZ") => false


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

function validISBN10(isbn) {
if (isbn.length !== 10) {
return false;
}

let sum = 0;
for (let i = 0; i < 10; i++) {
let char = isbn[i];
let value;

if (i === 9 && char === 'X') {
value = 10;
} else if (char >= '0' && char <= '9') {
value = parseInt(char, 10);
} else {
return false;
}

sum += value * (i + 1);
}

return sum % 11 === 0;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Проблемы экспорта по умолчанию в модулях JavaScript

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 BCMath: Новая функция bcdivmod

bcdivmod может быть использован в случаях, когда необходимо получить частное и остаток от деления, и избавляет от необходимости вызывать функции bcdiv и bcmod по отдельности.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Что такое замыкания (closures) в JavaScript?

Замыкания позволяют функции запоминать переменные из своей внешней области видимости даже после завершения выполнения внешней функции.

function makeCounter() {
let count = 0;
return function() {
return ++count;
};
}

const counter = makeCounter();
console.log(counter()); // 1
console.log(counter()); // 2


🗣️ Замыкания полезны для создания функций с внутренним состоянием, например, счётчиков или настройки приватных данных.


🖥 Подробнее тут
Please open Telegram to view this post
VIEW IN TELEGRAM
🦕 7 HTML-привычек, которые выдают в тебе динозавра

Пора устроить генеральную уборку в твоем HTML. Мы нашли 7 устаревших приемов, которые кричат: «Я застрял в прошлом!» Разберем каждый и найдем современную замену. Готов к обновлению?

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Не торопись с решением — сначала пойми проблему

Часто бросаешься писать код, как только видишь баг? Это может только усугубить проблему.

👉 Совет: прежде чем исправлять что-то, остановись и задай себе вопросы: «Что именно не работает?», «Как должно работать?», «Какие могут быть причины?». Иногда лучшим решением будет не патчить код, а пересмотреть сам подход.
Please open Telegram to view this post
VIEW IN TELEGRAM
➡️ Главные ошибки новичков-фронтендеров в HTML

Рассказываем про частые ошибки в HTML и о том, как их избежать. Добавляйте в закладки!

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Наследование в CSS

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔎 Подборка вакансий для джунов

Frontend-разработчик
🟢Vue 3, Nuxt, Tailwind, Ant-design, Framework7, TypeScript
🟢от 130 000 ₽ | 1–3 года

Frontend Developer (Vanilla Javanoscript) / Фронтенд-разработчик
🟢Vanilla JavaScript, HTML, CSS, Node.js
🟢от 90 000 ₽ | 1–3 года

Frontend-разработчик
🟢HTML, CSS, JavaScript, Bootstrap 5.2+, jQuery 3.5.1+
🟢от 50 000 ₽ | 1–3 года
Please open Telegram to view this post
VIEW IN TELEGRAM
🔝 Эффективные способы реализации паттерна Singleton в JavaScript и TypeScript

Рассказываем о лучших подходах к созданию паттерна Singleton в JavaScript и TypeScript. Также обсудим его плюсы и возможные недостатки при использовании в проектах.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Предоставление определения типа для CSS с @property

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
😈 Разработчики dzen.ru, что с вами не так?

Статья о сайте дзен, точнее об отсутсвии простого и известного фунционала на нём, который есть почти на каждом форуме. В статье много боли и вопросов, почему так могло произойти. Подключайтесь, будем выяснять вместе.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 String ends with?

Завершите решение так, чтобы оно возвращало значение true, если переданный первый аргумент (строка) заканчивается 2-м аргументом (также строкой).

Пример кода:

solution('abc', 'bc') // returns true
solution('abc', 'd') // returns false


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

function solution(str, ending) {
return ending === '' || str.slice(-ending.length) === ending;
}

// Примеры использования
console.log(solution('abc', 'bc')); // возвращает true
console.log(solution('abc', 'd')); // возвращает false
console.log(solution('abc', '')); // возвращает true
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Откройте для себя весь потенциал AbortController

В этой статье я расскажу об одном из стандартных API JavaScript, о котором, вы, возможно не слышали. Это AbortController.

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Тонкая настройка текстовых полей

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

Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Две мощные техники: CSS Reset и normalize.css

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

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