14 августа 2017 года запускается новый курс ориентированный на frontend разработку на технологии React. Преподаватель курса – Артем Самофалов, программист с богатым опытом коммерческой разработки стартапов.
Прием заявок до 7 августа
Отбор в группу до 11 августа
Старт школы 14 августа
React – это фреймворк для создания отзывчивых пользовательских интерфейсов.
Для кого предназначен курс
Программа рассчитана на студентов и выпускников (аспирантов и молодых специалистов) инженерных и математических специальностей, а также уже работающих программистов.
Требования к слушателям
Это продвинутый курс разработчика, поэтому для поступления в школу вы должны знать основы Javascript и иметь опыт программирования.
Стоимость участия - 5000 руб
Количество мест ограничено, отбор будет проходить в два этапа - онлайн и личные собеседования.
Формат обучения
Курс будет проходить в вечернее время, с 19:00 до 21:00, два занятия в неделю. Общая продолжительность курса 6 недель. Для обучения потребуется ноутбук.
Трудоустройство
По результатам курса отличившимся будет предложено место в команде SMENA, а так же будет оказана помощь в подготовке к трудоустройству в другие компании.
Результат обучения
После прохождения курса у вас в портфолио будет разработанное веб-приложение на React.
Программа курса
Знакомство с React.
Virtual DOM, быстрое обновление DOM страницы. Что такое JSX, основы работы с JSX. Компонентный подход разработки. Три синтаксиса для компонентов: Stateless components, ES2015-классы и React.createClass.
Основы работы с React.
Жизненный цикл: React-компонента от инициализации до unmount. Связь с DOM с помощью refs. Потоки данных: props и state. Оптимизируем наше приложение с shouldComponentUpdate. Использование сторонних компонентов.
Хранение состояния с помощью Redux.
Основные принципы Redux. Redux — функциональный подход к управлению данными. Actions и Reducers, как чистые функции. Redux dev tools, возможности для мониторинга приложений. React-redux для связи компонентов с логикой.
Роутинг на фронтенде: React-router.
Зачем нужен роутинг и как он устроен, проектируем структуру приложения. Настраиваем вложенные роуты. Выбираем и настаиваем history для нашего приложения. Объеденяем react-router и Redux. Авторизация в react-router. Навигация в приложении.
Асинхронная работа с сообщениями Redux.
Side-effects в Redux: создание и использование Middlewares. Асинхронные actions в Redux. Варианты реализации асинхронных actions в Redux. Middleware в Redux. Упрощение работы с помощью redux-actions.
Управление side эффектами, redux-saga, redux-thunk, redux middlewares.
Сравнение redux-saga, redux-thunk и redux middlewares для работы с сайд эффектами. Что такое генераторы в js, принципы работы. Управление сообщениями с помощью redux-saga. Использование основных инструментов redux-saga: fork, takeLast, call, select и put. Организация генераторов redux-saga.
Тестирование приложения.
Основные принципы методологии TDD и BDD. Использование jest. Зачем нужно snapshoot тестирование, и как его правильноиспользовать. Используем enzyme для детальной проверки состояния компонент.
Использование сторонних библиотек.
lodash: упрощаем работу с коллекциями данных. moment: удобная работа со временем. redux-form: основная библиотека для работы с формами, нормализация и валидация данных. Material-ui: быстрое прототипирование UI.
Дополнительные темы.
Prettier: Автоматическое редактирование кода. Eslint: настраиваем единый code style для проекта. Webpack: принципы работы сборщика проектов, как правильно собирать css, js, fonts и images. Babel и полифилы: используем последние стандарты js во всех браузерах.
Преподаватель курса
Артем Самофалов
Я хочу рассказать о том, как ведется профессиональная разработка под React, осветить момент тестирования приложений, общие вопросы использования различных библиотек. Основная цель расширить кругозор и разобрать в деталях существующий стек технологий современного фронтенда.
Для нас образовательные проекты это поиск новых знакомств и возможностей роста, как для студентов так и преподавателей. SMENA SCHOOL – это не коммерческая история, мы планируем развитие по другим направлениям и готовы к сотрудничеству с новыми разработчиками, которые хотят развиваться, учить и учиться, менять и расти самому.
Константин Чернышков
Технический директор SMENA и организатор школы
Запись на обучение
Мы помогаем молодым талантам раскрыть свой потенциал. Если вам интересны современные подходы в разработке программного обеспечения – не упустите свой шанс влиться в ряд профессиональных frontend-разработчиков.