Включено в курс
Чему вы научитесь
- Создавать модульные и легко расширяемые фронтенд-приложения
- Правильно разделять приложения на слои и строить зависимости между ними
- Структурировать состояние приложения оптимальным способом
- Использовать теорию автоматов для описания происходящих процессов в коде
Описание
Несмотря на обилие различных фреймворков и способов разработки фронтенд приложений, существуют фундаментальные принципы, которые используются повсеместно и практически не меняются. Они касаются разбиения приложения на слои (например, MVC), выделения состояния и его организации, работы с текстами, контроля данных форм. Этот курс рассказывает о том, как строить архитектуру приложения без привязки к конкретным решениям и их особенностям.
Уроки курса
-
2
Состояние приложения
Познакомиться с концепцией отделения данных программы от представления (внешнего вида страницы) -
3
Комплексное состояние
Изучить лучшие практики по организации структуры сложного состояния -
4
Отрисовка (рендеринг) состояния
Рассмотреть разные стратегии обновления представления на основе данных -
5
Состояние отображения (UI State)
Познакомиться с понятием UI-состояние и научиться правильно его организовывать не смешивая с данными приложения -
6
Процессы и автоматы, их описывающие
Научиться видеть корневые процессы и строить состояние на их основе -
10
Организация текстов интерфейса
Научиться правильно хранить, обрабатывать и выводить надписи и тексты на сайте -
11
Инициализация приложения
Узнать как правильно разделять приложения на различные стадии работы -
12
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже
Впечатления

В очередной раз пришлось изрядно посидеть, по-перебирать варианты, переписать. Задание в целом показалось проще предыдущего за исключением того, что наибольшая сложность оказалась именно в том, что прежде всего необходимо было понять, что именно необходимо хранить в библиотеке i18next и уже традиционно - как корректно оформить state, чтобы можно было реализовать логику.
С оформлением state видимо необходимо решить множество подобных задач и посмотреть много чужого кода, чтобы понят наилучшие подходы по его организации. Т.к. у меня с этим по прежнему проблемы.
В целом спасибо за курс. Он оказался достаточно требовательным в плане времени и усидчивости и научил - в немного стрессовом режиме искать варианты решения, перечитывать, спрашивать, прокручивать в голове разные варианты, подходы, практики, иногда даже отбрасывать последовательность и логичность и писать любой код "лишь бы просто сработало как нужно")
Чего не хватало? - Больше теории о том, как правильно подходить к организации state, потому что всё остальное уже много раз практиковалось.
https://ru.hexlet.io/code_reviews/245227 (если возможно получить обратную связь или указание на самые проблемные места, буду крайне благодарен).
А теперь нужно внимательно изучить решение учителя :)

Упражнение супер! Да и весь этот курс. Для меня, как новичка, стало понятно, что программирование фронтенда - это прям весьма и весьма не просто. С выделением состояния конечно нелегко. Наверное нужно больше практики. Спасибо!

Это было что-то, так долго я еще не мучился))
Только один вопрос: почему не написали, как в ридми к другим упражнениям, что будет очень много кода .... и он будет похож на программу запуска космического корабля)))
С виду показалось все просто: получил данные, отсортировал, отрисовал грид, получил селектор для прослушки, кликнул для отрисовки новой сортировки и .... (упс!) .... началось самое интересное...
Зато теперь на всю жизнь запомню куда можно ставить лисенер и как рисовать грид, ну и танцы с сортировкой "host" / "hostname" тоже в копилку опыта и знаний.
В общем, круто! Через боль и унижение - к знаниям!)) Спасибо автору за задание, а участникам - за комменты, очень помогли в поиске решения.

Два дня после работы решал это задание и вот уже 22:30, пора ложиться спать, из последних сил заканчиваю, перечитываю задание, проверяю все в браузере вроде работает правильно, первый раз отправляю на проверку и все тесты прошли!
Это просто офигенное ощущение! Завтра буду изучать решение учитателя а пока что огромное Спасибо!
З.Ы. Ревью

Задание - огонь!
Эта задача не сложная алгоритмически, но довольно объемная. На решение потребуется время и это хорошая прокачка.
Глубоко осознал вступление к заданию:). Работал 2 дня, чтобы сделать черновой вариант, который пройдет все тесты. Было интересно.
Обязательно рассмотрю решение учителя и модернизирую функционально свой черновик на 160 строчек:))
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

