Как автоматизированные инструменты помогают улучшить доступность приложения?
Существует две категории инструментов, которые могут быть использованы для определения проблем с доступностью приложения:
Инструменты статического анализа
"Линтеры", вроде ESLint, могут использоваться совместно со специальными плагинами, например, eslint-plugin-jsx-a11y для анализа React-проектов на уровне компонентов. Статические анализаторы выполняются очень быстро, поэтому "цена" их использования невелика, а преимущества очевидны.
Инструменты браузера
Браузерные инструменты анализа доступности контента, такие как aXe и Google Lighthouse, осуществляют автоматическую проверку на уровне всего приложения. Они могут обнаружить более "реалистичные" проблемы, поскольку браузеры имитирую поведение пользователя, взаимодействующего со страницей.
Существует две категории инструментов, которые могут быть использованы для определения проблем с доступностью приложения:
Инструменты статического анализа
"Линтеры", вроде ESLint, могут использоваться совместно со специальными плагинами, например, eslint-plugin-jsx-a11y для анализа React-проектов на уровне компонентов. Статические анализаторы выполняются очень быстро, поэтому "цена" их использования невелика, а преимущества очевидны.
Инструменты браузера
Браузерные инструменты анализа доступности контента, такие как aXe и Google Lighthouse, осуществляют автоматическую проверку на уровне всего приложения. Они могут обнаружить более "реалистичные" проблемы, поскольку браузеры имитирую поведение пользователя, взаимодействующего со страницей.
Какая из перечисленных команд позволяет переключиться с одной ветки на другую в git?
Anonymous Quiz
10%
git diff
85%
git checkout
2%
git push
3%
git pull
This media is not supported in your browser
VIEW IN TELEGRAM
Как работать с JS / CSS / Node.js / SQL в 2021 году
Языки эволюционируют. Поиск и изучение новых фишек отнимает у опытных web-разработчиков до 10 часов в неделю.
Вы же хотите дорасти до тимлида? Значит, нужно повышать квалификацию.
С подпиской на @sWebDev достаточно 5 минут в день, чтобы узнавать новые трюки JS / CSS / Node.js / SQL.
@sWebDev — это быстрые тесты, примеры кода и актуальные решения, которые сделают вас самым подготовленным сотрудником компании.
Языки эволюционируют. Поиск и изучение новых фишек отнимает у опытных web-разработчиков до 10 часов в неделю.
Вы же хотите дорасти до тимлида? Значит, нужно повышать квалификацию.
С подпиской на @sWebDev достаточно 5 минут в день, чтобы узнавать новые трюки JS / CSS / Node.js / SQL.
@sWebDev — это быстрые тесты, примеры кода и актуальные решения, которые сделают вас самым подготовленным сотрудником компании.
Что такое хуки в React? В чем заключаются преимущества их использования?
Хуки - это встроенные функции, которые позволяют использовать состояние и методы жизненного цикла внутри функциональных компонентов.
Правила использования хуков
1. нельзя использовать внутри циклов, условий или вложенных функций
2. можно использовать либо внутри компонентов, либо внутри других хуков (в том числе, пользовательских, "кастомных", custom)
Основные хуки
useState()
useEffect()
useContext()
Дополнительные (продвинутые)
useReducer()
useCallback()
useMemo()
useRef()
useImperativeHandle()
useLayoutEffect()
useDebugValue()
Преимущества хуков
1. С ними легче работать, их легче тестировать (как отдельные функции компонентов), они делают код чище, улучшают его читаемость - сложная логика может быть вынесена в "кастомный" хук
2. Позволяют разделять сложную логику на маленькие функции, используемые внутри компонентов
3. Повышают уровень "переиспользуемости" кода
4. Позволяют распределять логику между компонентами через пользовательские хуки
Являются более податливыми к перемещениям в дереве компонентов
Хуки - это встроенные функции, которые позволяют использовать состояние и методы жизненного цикла внутри функциональных компонентов.
Правила использования хуков
1. нельзя использовать внутри циклов, условий или вложенных функций
2. можно использовать либо внутри компонентов, либо внутри других хуков (в том числе, пользовательских, "кастомных", custom)
Основные хуки
useState()
useEffect()
useContext()
Дополнительные (продвинутые)
useReducer()
useCallback()
useMemo()
useRef()
useImperativeHandle()
useLayoutEffect()
useDebugValue()
Преимущества хуков
1. С ними легче работать, их легче тестировать (как отдельные функции компонентов), они делают код чище, улучшают его читаемость - сложная логика может быть вынесена в "кастомный" хук
2. Позволяют разделять сложную логику на маленькие функции, используемые внутри компонентов
3. Повышают уровень "переиспользуемости" кода
4. Позволяют распределять логику между компонентами через пользовательские хуки
Являются более податливыми к перемещениям в дереве компонентов
Только уникальные
Создайте функцию, которая будет определять, содержит ли строка только уникальные символы.
Строка может содержать любой из 128 ASCII символов. Символы чувствительны к регистру.
Примеры:
Создайте функцию, которая будет определять, содержит ли строка только уникальные символы.
Строка может содержать любой из 128 ASCII символов. Символы чувствительны к регистру.
Примеры:
hasUniqueChars(" nAa")
false Потому что присутствует два пробела hasUniqueChars("abcdef")
true hasUniqueChars("aA")
true - чувствительна к регистру hasUniqueChars("++-")
false Пристутствует два +Стейт компонента в реакт
Anonymous Quiz
14%
Содержит props, которые были переданы из родительского компонента.
81%
Содержит данные, специфичные для этого компонента. Когда он меняется, компонент рендерится повторно.
4%
Позволяет получить доступ к DOM-нодам или React-элементам, созданным в методе render()
1%
Позволяет группировать children компонента без добавления дополнительных нодов в DOM
Сколько внешних элементов может содержаться в JSX-выражении?
JSX-выражение должно содержать только один внешний (родительский) элемент. Например:
JSX-выражение должно содержать только один внешний (родительский) элемент. Например:
const headings = (Обратите внимание: для предотвращения рендеринга лишних DOM-элементов можно воспользоваться компонентом <React.Fragment></React.Fragment> или его сокращенной версией (<></>). Сокращенная версия работает не во всех вспомогательных инструментах.
<div id = "outermost-element">
<h1>Заголовок</h1>
<h2>Еще один заголовок</h1>
</div>
)
Что такое LocalStorage и SessionStorage?
Веб-хранилище - это данные, хранящиеся локально в браузере пользователя.существует 2 типа веб-хранилищ: LocalStorage и SessionStorage.
В них вы можете хранить информацию в формате ключ-значение. Ключ и значение – это всегда строки.
Отличие между этими хранилищами сводится только к периоду времени, в течение которого они могут хранить данные, помещенные в них:
SessionStorage – выполняет это в течение определённого промежутка времени (сессии). Закрытие вкладки или браузера приводит их к удалению. При этом данные в SessionStorage сохраняются при обновлении страницы.
LocalStorage – осуществляет это в течение неограниченного времени. Они сохраняются при перезагрузке браузера и компьютера. Их длительность хранения ничем не ограничена. Но, хоть эти данные могут храниться бесконечно в браузере, обычный пользователь может их очень просто удалить, например выполнив очистку истории (при включенной опции «файлы cookie и другие данные сайтов»).
Веб-хранилище - это данные, хранящиеся локально в браузере пользователя.существует 2 типа веб-хранилищ: LocalStorage и SessionStorage.
В них вы можете хранить информацию в формате ключ-значение. Ключ и значение – это всегда строки.
Отличие между этими хранилищами сводится только к периоду времени, в течение которого они могут хранить данные, помещенные в них:
SessionStorage – выполняет это в течение определённого промежутка времени (сессии). Закрытие вкладки или браузера приводит их к удалению. При этом данные в SessionStorage сохраняются при обновлении страницы.
LocalStorage – осуществляет это в течение неограниченного времени. Они сохраняются при перезагрузке браузера и компьютера. Их длительность хранения ничем не ограничена. Но, хоть эти данные могут храниться бесконечно в браузере, обычный пользователь может их очень просто удалить, например выполнив очистку истории (при включенной опции «файлы cookie и другие данные сайтов»).
Как правильно обновить стейт в классовом React компоненте?
Anonymous Quiz
17%
this.setState("keywords", value)
76%
this.setState({keywords: value})
7%
this.setState(["keywords", value])
Что такое порталы (portals)?
Порталы предоставляют быстрый и удобный способ рендеринга дочернего компонента в узле DOM, находящимся за пределами иерархии DOM родительского компонента.
Обычно, компонент рендерит дерево элементов (как правило, с помощью JSX). React-элемент определяет, как должен выглядеть DOM родительского компонента.
1. Дочерний компонент передается узлу, находящемуся в другом поддереве
2. По умолчанию таким узлом является document.body, но им может быть любой существующий DOM-элемент
3. Поддерживается рендеринг на стороне сервера
4. Массивы не требуется оборачивать в div или React.Fragment
Случаи использования
1. Модальные окна
2. Всплывающие подсказки
3. Раскрывающиеся меню
4. Виджеты и т.д.
Порталы предоставляют быстрый и удобный способ рендеринга дочернего компонента в узле DOM, находящимся за пределами иерархии DOM родительского компонента.
Обычно, компонент рендерит дерево элементов (как правило, с помощью JSX). React-элемент определяет, как должен выглядеть DOM родительского компонента.
ReactDOM.createPortal(child, container)Возможности
1. Дочерний компонент передается узлу, находящемуся в другом поддереве
2. По умолчанию таким узлом является document.body, но им может быть любой существующий DOM-элемент
3. Поддерживается рендеринг на стороне сервера
4. Массивы не требуется оборачивать в div или React.Fragment
Случаи использования
1. Модальные окна
2. Всплывающие подсказки
3. Раскрывающиеся меню
4. Виджеты и т.д.
HTTP/2 in Action (2019)
Данное руководство рассматривает HTTP/2, один из основных сетевых протоколов. Вы узнаете про то, как разрабатывался данный протокол, про обратную совместимость, основные характеристики и приемы работы с ним. Также в конце вас ждет небольшой обзор HTTP/3, который должен выйти совсем скоро.
Данное руководство рассматривает HTTP/2, один из основных сетевых протоколов. Вы узнаете про то, как разрабатывался данный протокол, про обратную совместимость, основные характеристики и приемы работы с ним. Также в конце вас ждет небольшой обзор HTTP/3, который должен выйти совсем скоро.
React and React Native (2020)
React и React Native, инновационные фреймворки для разработки пользовательского интерфейса, созданы для написания качественных кроссплатформенных мобильных и веб-приложений. Данная книга была обновлена, чтобы соответствовать последней версии React. Поработав с книгой, вы сможете быстро создавать новые проекты. Для комфортного чтения необходимы знания JavaScript.
React и React Native, инновационные фреймворки для разработки пользовательского интерфейса, созданы для написания качественных кроссплатформенных мобильных и веб-приложений. Данная книга была обновлена, чтобы соответствовать последней версии React. Поработав с книгой, вы сможете быстро создавать новые проекты. Для комфортного чтения необходимы знания JavaScript.
This media is not supported in your browser
VIEW IN TELEGRAM
Посмотрите, как пишут код уровня Senior Frontend в Google или Uber
На собеседованиях и среди коллег обсуждают не работоспособность вашей программы, а то, как она написана.
Чтобы ваш код выглядел достойно и опрятно, опытные FrontEnd-разработчики создали канал @seniorFront.
— примеры лучших решений во Frontend-разработке
— тесты на проверку знаний, чтобы сравнить свой уровень с уровнем конкурентов
— статьи по JS, HTML, CSS за 2020
В каком проекте примените навыки, полученные после подписки на @seniorFront?
На собеседованиях и среди коллег обсуждают не работоспособность вашей программы, а то, как она написана.
Чтобы ваш код выглядел достойно и опрятно, опытные FrontEnd-разработчики создали канал @seniorFront.
— примеры лучших решений во Frontend-разработке
— тесты на проверку знаний, чтобы сравнить свой уровень с уровнем конкурентов
— статьи по JS, HTML, CSS за 2020
В каком проекте примените навыки, полученные после подписки на @seniorFront?
Что такое CSS переменные и как их использовать?
CSS переменные - это сущности, хранящие конкретные значения, которые можно повторно использовать в документе.
Их можно использовать, чтобы убрать дублирования в вашей таблице стилей.
Чтобы объявить переменную, вам сначала нужно решить, в какой области должна быть переменная. Если вы хотите, чтобы она была доступна глобально, просто определите её в псевдоклассе
CSS переменные - это сущности, хранящие конкретные значения, которые можно повторно использовать в документе.
Их можно использовать, чтобы убрать дублирования в вашей таблице стилей.
Чтобы объявить переменную, вам сначала нужно решить, в какой области должна быть переменная. Если вы хотите, чтобы она была доступна глобально, просто определите её в псевдоклассе
:root
:root {
--main-color: #ff6f69;
}
Для получения доступа к переменной, нужно использовать функцию var() и передать имя переменной в качестве первого параметра. #noscript {
color: var(--main-color);
}
Функция var поддерживает второй параметр - значение, которое будет использоваться, если переменная, переданная первым параметром, не определена: #noscript {
color: var(--main-color, black);
}
Вы также можете создавать переменные с локальной областью видимости. .alert {
--alert-color: #ff6f69;
}