Первый интенсив по Redux,

|

Только офлайн, только Киев. 
Старт потока: Всего 20 человек.

Откроем глаза

точкаАВы не знаете Redux
Четырнадцать дней
точкаБВы — эксперт по Redux
Уникальный формат эффективной и быстрой прокачки
50+часов работы с преподавателями и менторами в одном зале
150+часов реальной менторской поддержки
Обучаем только последней версии Redux
Только у нас покрыты всевозможные тонкости Redux
Учебные материалы на английском, украинском и русском языках
Свое личное приложение, в которое влюбится ваш работодатель
Ваш уровень знаний будет выше, чем у многих преподавателей

Расписание интенсива

»
Учимся в офлайне
Теоретический блок
Подготовка к тесту
Тестирование
Разбор сложных вопросов
Практические занятия с преподавателями
Самостоятельная работа
Code Review с менторами
Разбор антипаттернов
10:00 — 22:00
»
Разрабатываем
Самостоятельная работа над своим Redux приложением.
Весь этот период вам доступна постоянная онлайн-поддержка наших менторов в Слаке.
Десять дней вы самостоятельно делаете приложение. По мере завершения определенных блоков задания у вас есть возможность получить code review от наших менторов. Вам смогут подсказать конкретно где и как нужно улучшить свой код.
Индивидуальный график
Подводим итоги
Code Review с менторами
Разбор интересных примеров
Финальное тестирование
Вопросы и ответы
Секретный бонус
Дорожная карта дальнейшего обучения
Секретный бонус
Свободное общение с другими участниками интенсива, преподавателями и менторами.
10:00 — 22:00
Слушаем и запоминаем
Делаем вместе с нами
Делаем сами (но мы вам помогаем :-)
Пора действовать

Авторы курса

Андрей Мулык

  • CTO в компании Lectrum
  • Fullstack Web Developer в компании Ciklum
  • Создатель Frontend Advanced курсов
  • Более 10 лет в IT. Большой опыт преподавания и менторства

Дмитрий Вакациенко

  • Team Lead Frontend Developer в компании Lectrum
  • Четыре года веб-разработки, большой опыт менторства
  • Евангелист React, адепт идеального кода
профессионалы

Структура курса

1.

Проблема управления состоянием в приложении

В современном мире разработки сложность приложений в вебе растет с каждым днём. Интерфейсы, созданные с помощью веб-технологий сейчас используют даже в shell-оболочках, и даже в VR. Исходя из этой тенденции становится очевидно, что менеджмент состояния приложения уже нельзя имплементировать как раньше — старые подходы больше не могут обеспечить стабильную работу современных сложных приложений. В этом уроке мы детально об этом поговорим и перейдём к первым попыткам решения описанных проблем!

2.

Flux как одно из решений

Flux — паттерн для управления потоком данных в вашем приложении. Самая выразительная черта Flux — это то, что данные «текут» в одном направлении. Этот подход в своё время наделал много шума и, в каком-то смысле, даже спровоцировал мини-революцию в мире разработки тем, что несёт в себе совершенно новый и значительно более безопасный способ управления состоянием. Но разработчики быстро поняли что и Flux имеет некоторые недостатки, и стали думать над идеально-точным и бритвенно-острым решением. В этом уроке мы попробуем Flux вживую, и рассмотрим его плюсы и минусы.

3.

Знакомство с Redux Flow

Создатель Redux Дэн Абрамов разобрал Flux по косточкам и создал собственную имплементацию паттерна Flux в виде библиотеки для управления состоянием Redux, при этом учёл и исправил в своём решении большинство проблем, которые присутствовали в Flux. В этом блоке мы коснёмся всего Redux-flow с высоты птичьего полета, после чего начнём детально разбирать каждую его составляющую.

4.

Store как единственный источник правды

Ключевая изюминка Redux — это единая сущность для хранения всего состояния. Эта сущность называется Store. Store ответственен почти за всю механику библиотеки Redux. Мы познакомимся с этим ключевым игроком и детально рассмотрим все его особенности и фишки.

5.

Actions как инструкция к действию

В то время, как Store является «центральным исполнителем», Actions выступают в роли «горючего» для того, чтобы было что исполнять — фактические инструкции о том, «что» сделать, и «как» это сделать. На этом этапе в наш арсенал знаний присоединяться Actions, мы научимся их использовать для того, чтобы давать Store правильные команды, и делать это эффективно!

6.

Reducers как композитор состояний

Еще один важный участник redux-flow — Reducers. Эти меленькие проворные умельцы помогут нашему большому другу Store понимать, какую форму состояния Store должен принять при каждом действии в приложении. Reducer — это некий интерпретатор action для Store. В этом уроке мы разберём каким образом происходит процесс интерпретации.

7.

Middleware и Enhancers

Важная особенность Redux Store — это способность описывать некоторые улучшения в поведении самого Store в виде сторонних инъекций. Middleware и Enhancers помогают расширить функционал Store и Actions. В этом уроке мы под микроскопом научимся ак прокачивать ваш Redux с помощью Middleware и Enhancers, что сделает вашу жизнь лучше!

8.

Подключение React к Redux

Декларативная природа Redux идеально подходит к его использованию вместе с React, хотя Redux можно использовать с любой библиотекой или фреймворком для постройки UI. В этом уроке мы научимся максимально эффективно настраивать связи между двумя сущностями, чтобы получить максимум профита.

9.

Интеграция c react-router-redux

Не редко может возникнуть путаница из-за роутов, вложенных роутов и вложенных-вложенных роутов. Разобраться во всём этом нам поможет React Router, который позволяет маунтить компоненты в любом месте нашего приложения в тот момент когда url совпадает с определенными нами параметрами. В этом уроке мы детально разберём как React Router Redux помогает нам синхронизировать своё состояние с хранилищем Redux, а так же какую выгоду мы можем из этого извлечь.

10.

Компоненты высшего порядка

Redux позволяет существенно расширять функциональные возможности React-компонентов с помощью компонентов высшего порядка, выступающих в качестве обёртки для обычных компонентов. Мы научимся пользоваться компонентами высшего порядка и посмотрим как их лучше использовать, чтобы сделать процесс разработки более интересным.

11.

Концепции функционального программирования

Дэн Абрамов сильно вдохновлялся концепциями функциональных языков программирования. По сути сама библиотека Redux содержит в себе оттенки разных приёмов из других языков функционального программирования. Мы изучим практики, применяемые в библиотеке Redux, а также проложим проекции этих практик на язык JavaScript, который по сути не является функциональным, хотя и позволяет осуществлять некоторые функциональные практики в силу гибкости своей природы.

12.

Улучшенная иммутабельность в Redux

Важная особенность Redux — иммутабельность данных. Многие считают не очень хорошей идеей, с точки зрения производительности, хранить всё состояние приложения в одном гигантском объекте. Конечно же это не так, в силу ссылочной природы объектов в JavaSсript. Мы детально разберём суть иммутабельности, как правильно её использовать, а также научимся некоторым продвинутым практикам!

13.

Redux Saga для работы с асинхронностью

В реальном мире Frontend-разработчик создаёт визуализацию приложения для человеческих глаз. Само приложение — это набор инструкций и данных, которые с помощью этих инструкций преобразовываются в красивый UI. Для того, чтобы эти данные получить нам нужно обратиться к API посредством набора запросов. Мы научимся создавать и обрабатывать запросы к API наиболее эффективным способом, чтобы обеспечить лёгкую разработку приложения в будущем!

14.

Нормализация данных

Очень часто данные к нам на UI приходят в самом разном виде — это может быть объект, массив объектов, массив массивов объектов и многое другое. Форма ответов с данными всегда разная. Следуя лучшим практикам разработки, очень важно содержать данные нашего UI в нормализированном виде, потому как с ростом приложения увеличивается количество данных, хранящихся в состоянии, и очень легко запутаться в ненормализированной форме состояния. Мы научимся приводить форму состояния приложения в нормализированный вид, чтобы сделать наше приложение красивым и структурированным.

15.

Селекторы и мемоизация

Приведение состояния в нормализированный вид открывает возможность получать данные из состояния для их использования на UI ультра-удобным способом с помощью селекторов, которые мы и научимся создавать! Также огромным плюсом будет применение приёма мемоизации в связке с селекторами, чтобы одним выстрелом сделать сразу два полезных дела — получить данные в удобном виде, позаботившись при этом о производительности!

16.

Введение в тестирование

Современные тренды и богатый опыт разработки показывает, что без покрытия приложения тестами далеко не уедешь. Тесты помогают защитить нас от случайных ошибок, которые все мы допускаем. Вспомните, сколько раз вы допускали какую-то ошибку, искали её 10 минут, а затем оказывалось что это всего лишь пропущенная запятая, или что-то подобное? Умножьте 10 минут на количество таких раз, и выйдет весьма себе существенный объём времени. Чтобы защитить себя от таких ошибок мы научимся писать тесты для нашего Redux-приложения, и, кстати, занятие это весьма интересное!

17.

Юнит-тестирование

Юнит-тесты являются одним из центральных подходов написания тестов в разработке — с них всё начинается. Юнит-тест — это как атомарная песчинка в мире тестирования. В этом уроке мы разберём концепцию юнит-тестов на теоретическом уровне, а затем уйдем в глубокую практику и покроем наше приложение юнит-тестами по полной!

18.

Интеграционное тестирование Redux Flow

Интеграционные тесты являются следующим шагом после написания юнит-тестов. Интеграционный тест — это тест нескольких сущностей, связанных вместе. Такой подход тестирования важно применять, потому что иногда случается, что юнит-тестов оказывается недостаточно, ведь в определённые моменты юнит-тесты таки могу оставить незамеченными некоторые программные сценарии. Именно эту уязвимость мы и предотвратим тем, что научимся писать интеграционные тесты!

19.

Тестирование запросов к API. Mock-объекты

Общение UI и сервера — это синергия. Связь между UI и API должна быть крепкой и стабильной в любое время и при любых условиях. Но иногда случаются сбои и причин на то может быть миллион. Ведь грамматическая ошибка в слове на UI, или таймер с неправильным временем, или пускай даже взять ужасный, плохо работающий выпадающий список — это ничто по сравнению с неудавшимся запросом к API, который сломает все приложения. Поэтому важно себя защитить от случайных ошибок путём покрытия запросов к API тестами. Мы научимся создавать Mock-объекты для функций и запросов, а также тестировать запросы в связке с мощными функциями-генераторами, появившимися в ES2015.

весь redux

Выберите удобный формат участия

STANDARD

  • Персональное техническое собеседование перед интенсивом
  • 50 часов офлайн-занятий в Киеве
  • Подробный конспект ко всем темам интенсива
  • Ежедневная онлайн поддержка менторами в общем чате
  • Исходные коды и файлы презентаций
  • Дополнительные материалы для углубленного изучения
  • Закрытое комьюнити выпускников в Slack
  • Собственное приложение по окончанию курса
  • Исходный код референтного приложения
  • Финальное тестирование + разбор всех вопросов
  • Сертификат об окончании курса

Для ранних пташек — 

С 11 июня  —

С 8 октября  —

SELECT

  • Всё, что входит в пакет STANDARD, а также:
  • Собственное приложение с подробным код-ревью
  • 12 месяцев бесплатных обновлений курса
  • Персональный ментор на время обучения
  • Учимся в офлайне, повторяем в онлайне! Отдельный видеокурс по Redux — серия обучающих роликов поможет закрепить знания, полученные на интенсиве. Вы сможете сразу использовать Redux для улучшения своих приложений.

Для ранних пташек —

С 11 июня — 

С 8 октября — 

PREMIUM

  • Всё, что входит в пакет STANDARD и SELECT, а также:
  • Личный куратор на время обучения
  • 3 лайв-кодинг сессии с разбором хороших и плохих практик
  • Индивидуальные skype-занятия с автором курса
  • Урок по Immutable.js — библиотека с иммутабельными коллекциями
  • Мини-курс по Flow — инструмент для строгой типизации JavaScript
  • Персональный разбор
  • Менторская поддержка после окончания курса

Для ранних пташек — 

С 11 июня — 

С 8 октября — 

Чтобы зафиксировать текущую стоимость достаточно оставить заявку и внести предоплаты.
офлайн

Бронирование




Оплачивая услугу, вы даёте согласие на обработку своих персональных данных. Простите за этот скучный текст, но того требует Закон Украины.
Мы ненавидим спам еще больше, чем вы. Никаких нежеланных звонков, смс-сообщений или электронных писем!
Чтобы зафиксировать текущую стоимость достаточно оставить заявку и внести предоплаты.
Оплата производится онлайн с помощью сервиса Fondy. Доступные платежные инструменты:банковские карты Visa, Visa Electron, Mastercard и Maestro любых стран мира, а также Приват24.
Участие в пакете Premium

Ответы на вопросы

Можно ли оплатить курс частями?
Да. Закажите обратный звонок или оставьте заявку на консультацию, мы расскажем вам все подробности.
Выдаётся ли мне сертификат об успешном окончании курса?
Да, все наши выпускники получают сертификат об успешном прохождении курса.
Сколько времени будет длиться один день интенсива?
В среднем один день интенсива будет содержать 10 часов занятий вместе с нами в одном зале. У вас будут небольшие промежуточные и один большой перерыв.
А мне уделят достаточно внимания во время обучения?
Больше, чем где-либо. В вашем распоряжении будет один преподаватель и несколько менторов.
Какими необходимыми навыками я должен обладать перед началом интенсива?
Чтобы не возникало сложностей в процессе обучения, необходимо иметь базовые навыки HTML, CSS, JavaScript и ECMAScript 2015 (ES6), React. После бронирования мы проведём персональное техническое собеседование и поможем закрыть необходимые пробелы в знаниях.
Я очень хорошо знаю Redux и хочу быть у вас ментором.
Обычно, после тестирования оказывается, что вы знаете Redux не так уж и хорошо. Это одна из причин, почему мы сделали этот курс. Если чувствуете в себе силы, позвоните нам и мы протестируем вас. Для менторства требуется не только идеальное знание Redux, но и миллион других навыков для профессионального обучения людей.
Мне вернут деньги если что-то не понравится в курсе?
Мы сильно сомневаемся, что такое может произойти. Если вам что-то не понравилось, то вы сможете попросить возврата оплаченных средств в конце первого дня. Мы вернём вам деньги за вычетом стоимости одного дня обучения.
А меня могут отчислить за неуспеваемость?
Да. Мы сделаем всё возможное чтобы вы стали нашим лучшим выпускником, но если вы будете всячески сопротивляться этому, прекратите посещать занятия и выполнять домашние работы, то нам придётся попрощаться.
Чем вы лучше других?
Во-первых, у нас большая экспертиза в образовании. Во-вторых, наша команда очень фанатично относится к качеству курса и менторской поддержки. В третьих, мы не просто учим, а ежедневно пишем на том стеке, которому обучаем.
У вас остались вопросы или вы сомневаетесь?
Оставьте заявку на получение бесплатной консультации.
Мы с удовольствием вас проконсультируем, дадим совет или просто пообщаемся.
мы открыты вам