Telegram Web
CodeRoll | Frontend
Вопрос с собеседования: Что такое DOM? Объектная Модель Документа (DOM) является программным интерфейсом для HTML, XML и SVG документов. Это обеспечивает структурированное представление документа (дерева), и определяет способ, по которому структура может…
Вопрос с собеседования:

Что такое Virtual DOM? Как он работает?

Virtual DOM - это абстракция HTML DOM, которая выборочно отображает поддеревья узлов на основе изменений состояния. Он обеспечивает минимальное количество манипуляций с DOM, чтобы поддерживать ваши компоненты в актуальном состоянии.

Подробнее по теме:
раз, два, три

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования:

Как можно оптимизировать загрузку внешних ресурсов на странице?

— Уменьшите количество HTTP-запросов
— Используйте поддомены для параллельного скачивания
— Используйте кэш браузера
— Используйте CDN для загрузки популярных JavaScript библиотек
— Используйте Gzip-сжатие

Почитать подробнее

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
Продвинутые концепции языка JavaScript и ООП [2023]

Этот продвинутый курс по JavaScript охватывает ООП, асинхронность, Event Loop, модульность, структуры данных и сборку. Он требует базовых знаний JS, HTML и CSS.

👀 Глянуть курс

#js
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования:

Что такое canvas в HTML 5?

Это HTML элемент, использующийся для рисования графики средствами языков программирования (обычно это JavaScript). Он может, к примеру, использоваться для рисования графов, создания коллажей или простой (и не очень) анимации. Изображения в правой части статьи являются примерами использования , примеры их создания приводятся в этой статье.
Статья

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#html
Please open Telegram to view this post
VIEW IN TELEGRAM
choose the plan

#hehe
Чистый код: фундаментальное руководство по JavaScript

Статья о принципах чистого кода с 10 примерами кода JS и TS, которые иллюстрируют принципы

👀 Посмотреть, почитать

#js
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования:

Что такое HTTPS?

HTTPS (HyperText Transfer Protocol Secure) — расширение протокола HTTP для поддержки шифрования в целях повышения безопасности. Данные в протоколе HTTPS передаются поверх криптографических протоколов SSL или TLS. В отличие от HTTP с TCP-портом 80, для HTTPS по умолчанию используется TCP-порт 443

Почитать подробнее

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
6 инструментов, которые облегчают работу веб-разработчику

BundlePhobia
Быстро оценивайте размер npm-пакетов, прежде чем добавлять их в проект. Поможет избежать перегрузки приложения лишними зависимостями и держать его быстрым.
👉 https://bundlephobia.com

Polypane
Браузер для веб-разработчиков с поддержкой всех экранов и устройств в одном окне. Отлично подходит для тестирования адаптивности и доступности.
👉 https://polypane.app

CSS Grid Generator
Легкий способ создать сложные макеты на CSS Grid за пару минут. Просто укажите нужное количество строк и столбцов — и код готов!
👉 https://cssgrid-generator.netlify.app

CodeSandbox
Онлайн-редактор для быстрого прототипирования на React, Vue, Angular и других фреймворках. Удобно для тестирования компонентов и мелких проектов.
👉 https://codesandbox.io

Sizzy
Браузер, заточенный под тестирование на множестве устройств одновременно. Идеален для кроссбраузерной проверки, поддерживает отладку и сразу показывает, как страница выглядит на разных экранах.
👉 https://sizzy.co

Can I Use
Быстро проверяйте поддержку фич HTML, CSS и JavaScript в разных браузерах. Прекрасный способ убедиться, что ваш код работает везде.
👉 https://caniuse.com

Каждый из этих инструментов экономит время и помогает создавать более качественные и производительные веб-приложения👨‍💻

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования:

Расскажите про тег keygen

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

Подробнее —
раз, два

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
Браузер для фронтенд-разработчиков

Polypane позволяет одновременно просматривать сайт на разных экранах, тестировать доступность и контрастность, синхронизировать скроллинг и клики между всеми экранами, поддерживает hot-reload для фреймворков вроде React и Vue, а также предоставляет данные по SEO и производительности.

👀 Потыкать браузер

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования:

Что такое архитектурный паттерн MVP?

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

Признаки презентера:
Двухсторонняя коммуникация с представлением;
Представление взаимодействует напрямую с презентером, путем вызова соответствующих функций или событий экземпляра презентера;
Презентер взаимодействует с View путем использования специального интерфейса, реализованного представлением;
Один экземпляр презентера связан с одним отображением.


Подробнее — раз, два, три, четыре

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
👨‍💻 Tabler Icons — легковесные иконки для ваших проектов

Набор из более чем 4300 современных SVG-иконок с минималистичным дизайном. Они быстро загружаются, легко настраиваются по размеру, цвету и толщине линий, что делает их отличным выбором для использования в React, Vue и других фреймворках. Набор полностью бесплатный и подходит для коммерческих проектов. Благодаря Tabler Icons интерфейс становится более профессиональным, а интеграция занимает всего несколько минут.

👀 Посмотреть иконки

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
date-fns — удобная JS-библиотека для работы с датами

Легковесная библиотека для работы с датами и временем в JavaScript. Она позволяет обрабатывать даты без лишних зависимостей и сложностей, как в других библиотеках (например, Moment.js).

В чём удобство библиотеки:
Она легкая — модульная структура: импортируешь только нужные функции.
Современная — работает с нативными объектами Date.
Мощная — более 200 функций для форматирования, парсинга, вычислений, локализации и других операций с датами.
Поддержка таймзон — через дополнение date-fns-tz.

Подойдёт, когда нужно быстро работать с датами и важна производительность и модульность

👀 Посмотреть поближе

#js
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования:

Что такое инкапсуляция?

Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующие этими данными, и защищает и то и другое от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким способом, создается объект.

Почитать подробнее на Хабре

Ставь ❤️если знаешь ответ
Если нет — ставь 💅

#web
Please open Telegram to view this post
VIEW IN TELEGRAM
Hero Patterns

Онлайн-коллекция готовых к использованию SVG-фонов, которые легко интегрировать в веб-проекты. Можно быстро находить и использовать стильные и легкие фоны в формате SVG и настраивать их под конкретные проекты

👀Посмотреть поближе

#front
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🎨 Дизайн-системы: Создание масштабируемых UI-компонентов

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

1) Консистентность
Использование единого стиля и компонентов улучшает восприятие бренда и упрощает разработку.

2) Масштабируемость
Дизайн-системы позволяют легко добавлять новые элементы и поддерживать большие проекты.
3)Ускорение разработки

Готовые компоненты и шаблоны сокращают время разработки и тестирования.

Как создать дизайн-систему?

Определите основные элементы
Начните с типографики, цветовой палитры, сетки и базовых компонентов (кнопки, формы и т.д.).

Создайте библиотеку компонентов
Используйте инструменты, такие как Storybook или Figma, для документирования и визуализации компонентов.

Интегрируйте в проект
Реализуйте компоненты в коде с использованием React или других фреймворков, сохраняя их универсальность и настраиваемость.


💡 Полезные ресурсы:
Storybook Documentation
Atomic Design by Brad Frost


Создание дизайн-системы позволяет обеспечить качество и масштабируемость интерфейсов на всех уровнях разработки. Это важный шаг для профессиональной работы над крупными проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое атрибут key? Для чего он нужен?

Key помогает React определять, какие элементы были изменены, добавлены или удалены. Key нужен для лучшего определения порядка элементов в списке.

Key всегда должен присваивается на верхнем уровне:

Правильно:


const howUseKey = () => {
const array = [1, 2, 3];
return (
<div>
{array.map((item) => (
<div key={item}>{item}</div>
))}
</div>
);
};


Неправильно (Приглядитесь к its a trap):



const howNotUseKey = () => {
const array = [1, 2, 3];
return (
<div>
{array.map((item) => (
<div className="its a trap">
<div key={item}>{item}</div>
</div>
))}
</div>
);
};



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

Более подробно про key можете прочитать здесь
2025/07/05 06:00:34
Back to Top
HTML Embed Code: