ulbitv.ru - Продвинутый Frontend. В Production на React

Описание
Курс отличного качества, весит более 52 ГБ.
Курс идеально подойдет 2 категориям людей:
- Люди, которые в данный момент ищут работу или близки к этому.
- Действующие junior или middle разработчики, которые хотят повысить профессиональный уровень.
Конфигурация
Полная конфигурация проекта с нуля (Webpack). Настроим React, Typescript, Babel, scss, css modules, также настроим тестовую среду, jest, rtl, storybook, loki, webdriwer IO. Большое кол-во плагинов, лоадеров + граммотная декомпозиция конфига.
UI
Библиотека компонентов. Более 15 UI компонентов, включая модальные окна с порталами, выпадающие списки\меню, сайдбар, кнопки с разными темами, скелетоны, аватары, вертикальные и горизонтальные стеки и тд. Будем писать как свои решения так и опробуем headless библиотеки. Все компоненты будем делать доступными и семантичными.
Архитектура
Архитектура. Модули. Декомпозиция. Бизнес сущности. Слабая связанность и переиспользование.
Оптимизация
Оптимизация. Перерисовки и как с ними бороться. Анализ размера бандла. Использование бандл анализаторов. Асинхронные компоненты. Асинхронные Redux редюссеры. Reducer manager и создание небольшой библиотечки по внедрению асинхронных редюсеров. Изоляция модулей. Throttle и debounce. Инъекция эндпоинтов для лучшего code splitting.
Реальные задачи
Решение большого кол-ва задач из реальной разработки (фильтры, поиск, сортировки, бесконечные ленты, многоблочные страницы, комментарии и тд). Похоже на то, что было в фундаментальном курсе, но в разы больше и сделано технически интереснее.
Темы и стили
CSS модули и темизация. Создадим правильную структуру стилей и внедрим 3 цветовые темы нашего приложения (темная, светлая, оранжевая). Организуем стили так, что внедрить новую тему будет стоить 5 минут. Адаптивный дизайн интерфейса.
Сторибук и скриншотные тесты
С нуля настроим Storybook и будем описывать story case для каждого компонента и всех его состояний. Научимся делать скриншотные тесты, что позволит делать регрессионое тестирование нашего интерфейса.
Unit и RTL тесты
С нуля настроим тестовую среду для unit jest тестов и тестов на компоненты с помощью React Testing Library. Будем тестировать каждый разработанный модуль (селекторы, async thunks, редюсеры, компоненты).
e2e тестирование
В самом конце разработки покроем разработанные модули E2E тестами.
Линтинг
Настроим под себя code-style, в частности настроим ESlint и stylelint. Для eslint реализуем самописный плагин в виде отдельного npm пакета, который будет проверять правильность модульных импортов (относительные или абсолютные).
Ошибки
Научимся правильно обрабатывать ошибки и реализуем ErrorBoundary. Посмотрим на практике как он работает.
Роутинг
React-router-dom V6. Конечно в нашем приложении будет несколько страниц, этим никого не удивишь. Настроим доступы для этих страниц, по авторизованности, либо по ролям. Также для сохранения минимального размера бандла научимся выносить страницы в отдельные чанки.
i18n
Научимся работать с интернационализацией. Внедрим в интерфейс два языка (русский и английский). Также научимся разбивать переводы на чанки и подгружать их порциями, чтобы не увеличивать размер бандла.
TypeScript
С нуля настроим TS (tsconfig), подружим его с вебпаком, поработаем с union типами, в общем тайпскрипта будет много.
Bebel
Настроим Babel и в качестве тренировки подключим плагинчик, который будет автоматически извлекать ключи для переводов из кода и добавлять в JSON файлики. Также реализуем свой собственный плагин, который будет удалять лишний для нас код из Production сборки.
СI/CD и pre-commit хуки
Настроим простейший ci pipeline, который будет прогонять за нас 3 вида тестов, делать сборку проекта, сторибука, прогонять код на линтеры. Также настроим pre commit хуки с помощью husky.
Нормализцаия данных
Также уделим внимание нормализации данных. Поговорим про саму концепцию и реализуем пример в коде. Поработаем с EntityAdapter.
Виртуализация
При работе со списками важно не забыть про Perfomance. Поработаем с виртуальными списками, на примере посмотрим как можно повысить производительность.
Инфраструктура
Инфраструктуру настроим таким образом, чтобы и сам проект, и тестовое окружение, и сторибук умели использовать все фичи и работать как единное целое. (ts, css modules, глобальные переменные сборки и тд).
Рефакторинг
В конце разработки мы проанализируем получившийся код и постараемся его отрефакторить, разберем слабые места, исправим их и поймем на конкретных примерах, как стоит декомпозировать и изолировать модули в приложении.
Запросы и работа с данными
Вся работа с данными будет осуществляться с помощью Redux toolkit. Первую часть курса мы будем работать в классическом стиле и для работы с АПИ будем использовать axios инстанс, который заинжектим в асинк thunks. Также, для того чтобы понять и опробовать разные подходы к концу курса мы опробуем RTK query. Научимся асинхронно инжектить новые эндпоинты, чтобы сохранять размер бандла минимальным (code splitting).
Отчеты
Для скриншотных/юнит/компонентных тестов научимся генерировать удобные отчеты, с помощью которых отслеживать работу тестов станет проще.
Кодогенерация
Реализуем свой скрипт, который будет генерировать нам фичи\сущности со всей структурой папок и файлов, в которых будет уже все необходимое содержимое.
Процесс разработки
В ходе разработки мы решим большое количество проблем, в живом формате будем искать решение, изучать документацию, правильно составлять запросы для поиска решения проблемы.
Миграция на React 18
В конце разработки мигрируем проект с 17 на 18 версию реакта.
Дебаг
Научимся использовать различные дебаг инструменты: вкладка network, application в браузере, девтулзы реакта, редакса, бандланализаторы и тд.
Кольцевые зависимости и babel плагин
Поговорим о кольцевых зависимостях, научимся их находить, а также реализуем свой babel плагин, который будет удалять лишний код из сборки.
🛑 Авторизуйтесь или зарегистрируйтесь и Вы получите ссылку не только на почту, но и на странице товара.
🤔 Есть сомнения в инфопродукте? В качестве гарантии можем отправить дополнительные скриншоты, любой видео файл или сделать запись с экрана содержимого на облаке.
🔆 Нашли дешевле в другом месте? Сделаем цену ещё ниже чем там где вы нашли!
✍🏻 По всем вопросам, в том числе с оплатой и получением - писать в Telegram (кликабельно), в чат на сайте (в нижнем правом углу) или на почту admin@coursx.net Мы всегда на связи!
Поделиться страницей
Часто задаваемые вопросы
Другие инфопродукты
Гарантируем быструю доставку заказа на ваш Email.
Гарантируем самые низкие цены. Сделаем цену ниже если нашли дешевле.
Заказы принимаются круглосуточно!
Безопасная оплата и получение заказа.