Открытый вебинар «CSS препроцессоры» 09.07.2018 в 20:00 | OTUS
⚡ Подписка на курсы OTUS!
Интенсивная прокачка навыков для IT-специалистов!
Подробнее

Курсы

Программирование
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
PHP Developer. Professional Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Scala-разработчик PHP Developer. Basic Архитектура и шаблоны проектирования iOS Developer. Professional MS SQL Server Developer Golang Developer. Professional Vue.js разработчик C++ Developer. Professional JavaScript Developer. Basic Java Developer. Professional Highload Architect C++ Developer. Basic JavaScript Developer. Professional Базы данных Unity Game Developer. Basic React.js Developer Flutter Mobile Developer Разработчик IoT Подготовка к сертификации Oracle Java Programmer (OCAJP) iOS Developer. Basic Супер-интенсив "Tarantool" Специализация Java-разработчик
Инфраструктура
MongoDB
-30%
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Administrator Linux. Professional
-26%
Network engineer Administrator Linux. Advanced Cloud Solution Architecture Внедрение и работа в DevSecOps Дизайн сетей ЦОД PostgreSQL Базы данных Супер-практикум по работе с протоколом BGP Разработчик IoT Экcпресс-курс «ELK» Супер-интенсив "Tarantool" Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker» Основы Windows Server
Корпоративные курсы
Безопасность веб-приложений MongoDB
-30%
Разработчик чат-ботов и приложений для виртуальных ассистентов
-15%
Разработчик программных роботов (RPA) на базе UiPath и PIX
-27%
Agile Project Manager Руководитель поддержки пользователей в IT
-10%
Компьютерное зрение Внедрение и работа в DevSecOps Дизайн сетей ЦОД IT-Recruiter Пентест. Практика тестирования на проникновение Супер-практикум по работе с протоколом BGP Game QA Engineer Разработчик IoT Экcпресс-курс «ELK» Enterprise Architect Экспресс-курс «CI/CD или Непрерывная поставка с Docker и Kubernetes» Экспресс-курс «Введение в непрерывную поставку на базе Docker» Вебинар CERTIPORT
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Проходил 9 июля 2018 года в 20:00

Открытый вебинар Разработчик JavaScript
CSS препроцессоры

Открытый вебинар онлайн

На открытом вебинаре расскажем как настроить и использовать LESS и SASS/SCSS для ускорения профессиональной вёрстки, а также разберемся в возможностях и особенностях препроцессоров, что позволит эффективно использовать Mobile-first вёрстку, БЭМ и UI фреймворки.
Преподаватель
Юрий Дворжецкий

Запись

О курсе

JavaScript Developer. Professional
80 000 ₽
Начало в сентябре

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

 

Для кого этот курс?

  • Для разработчиков, хорошо знакомых с основами JavaScript, которые хотят углубиться в возможности языка и стать …
Программа курса
Модуль 1
JavaScript
Модуль 2
Node.js
Модуль 3
Современный Стэк JavaScript
Модуль 4
React
Модуль 5
Angular
Модуль 6
Vue
Модуль 7
Проектная работа
JavaScript
Мы рассмотрим основные возможности современного и традиционного JavaScript, стандарт EcmaScript 6+, Templates, асинхронные паттерны Promise, Async Await, переменные, замыкания, функции, наследование и классы. Разберем особенности браузерного API и спецификаций Web Components на примере библиотеки Lit-HTML. Обсудим главные принципы и возможности Node.js, а также NPM для управления зависимостями и автоматизации задач. Мы научимся использовать Test-Driven Development при решении практических задач.
Введение в курс Modern JavaScript Frameworks
после занятия вы сможете:
познакомиться с преподавателем и с программой курса, понимать как она построена и какие полезные навыки они получат;
объяснить основные возможности языка JavaScript;
применять техники языка, которые помогут при изучении фреймворков.
Домашние задания: 1
ДЗ
Задача про список рекомендаций maxItemAssociation. *Это задание является достаточно сложным, однако может быть интересно тем, кто хочет попробовать свои силы с реальными примерами из реальных собеседований*.
Если вы хотите попробовать решить менее сложную задачу, внизу можно найти задание 2. Решение любого из заданий достаточно для зачета этого ДЗ.

Задание 1.

Написать функцию maxItemAssociation(), получающую исторические данные покупок пользователей и возвращающую максимальный список рекомендаций.

Входные данные - массив исторических покупок пользователей [["a", "b"], ["a", "c"], ["d", "e"]]. То есть пользователь 1 купил "a" и "b". Пользователь 2 купил продукты "a", "c". Пользователь 3 купил продукты "d", "e".
Надо найти максимальную группу рекомендаций. Группа рекомендаций - это продукты, которые был куплены другими пользователями при условии, если они пересекаются с исходным списком.
Если количество рекомендаций в группах одинаковое - вернуть первую группу, из отсортированных в лексикографическом порядке.

Решение:
Группа рекомендаций 1 - ["a", "b", "c"]. Покупка "a" содержится в списке 2, поэтому весь список 2 может быть добавлен в рекомендации.
Группа рекомендаций 2 - ["d", "e"].

Ответ: ["a", "b", "c"].

Пример 2:

Входные данные: [
["q", "w", 'a'],
["a", "b"],
["a", "c"],
["q", "e"],
["q", "r"],
]

Ответ ["a", "b", "c", "e", "q", "r", "w"] - это максимальная по пересечениям группа. Можно видеть, что первый массив пересекается со всеми остальными, и потому результат является всем множеством значений.

---

Задание 2.

Написать функцию sum, которая может быть исполнена любое количество раз с не `undefined` аргументом.
Если она исполнена без аргументов, то возвращает значение суммы всех переданных до этого значений.

sum(1)(2)(3)....(n)() === 1 + 2 + 3 + ... + n
Возможности современного JavaScript
после занятия вы сможете:
решать специфичные для браузерной разработки задачи на языке JavaScript;
освоить и вспомнить теорию, которая будет базисом для последующих уроков;
попрактиковаться с технологиями AJAX, WebSocket, Promise.
JavaScript - Работа с браузером
после занятия вы сможете:
решать специфичные для браузерной разработки задачи на языке JavaScript;
работать с Chrome Dev Tools.
Домашние задания: 1
ДЗ
promiseReduce - работа с асинхронными функциями. Пример использования

```javascript
var fn1 = () => {
console.log('fn1')
return Promise.resolve(1)
}

var fn2 = () => new Promise(resolve => {
console.log('fn2')
setTimeout(() => resolve(2), 1000)
})

function promiseReduce(asyncFunctions, reduce, initialValue) {
/*
* Реализация
*/
}

promiseReduce(
[fn1, fn2],
function (memo, value) {
console.log('reduce')
return memo * value
},
1
)
.then(console.log)
```

Вывод в консоль

```
fn1
reduce
fn2
reduce
2
```
Введение в Node - Пакетный менеджер NPM и возможности package.json
после занятия вы сможете:
запускать приложения на платформе Node;
писать и запускать тесты для серверного JavaScript;
работать с пакетным менеджером NPM;
управлять зависимостями и автоматизировать задачи с помощью package.json.
Test Driven Development
после занятия вы сможете:
разбирать примеры.
Домашние задания: 1
ДЗ
getPath - поиск уникального селектора. Написать алгоритм и функцию `getPath()`, находяющую уникальный css-селектор для элемента в документе.
Уникальный селектор может быть использован `document.querySelector()` и возвращать исходный элемент.

Так чтобы `document.querySelectorAll()`, вызванный с этим селектором, не должен находить никаких элементов, кроме исходного.

```javascript
$0 // HTMLElement
getPath($0) // => "body div.someclass ul li:first-child"
```

Использовать TDD, добавить юнит тесты для функции
Node.js
Этот модуль о серверной среде JavaScript. Мы разберем ключевые особенности Node.js - EventLoop, модули и потоки. Мы научимся строить API, используя фреймворк Express, подходы REST и GraphQL. Поговорим о WebAssembly и общих практиках при работе с процессами и ошибками. В конце мы подведем резюме стэка технологий Node.js
Основные концепции Node - Modules
после занятия вы сможете:
использовать require, exports и ES6 Imports для экспорта и импорта зависимостей.
Стандартная библиотека Node - EventLoop - Timers
после занятия вы сможете:
ориентироваться в понятии EventLoop и особенностях работы Timers;
использовать классы, объекты и функции модуля Streams;
работать c HTTP запросами в Node.
Домашние задания: 1
ДЗ
tree - вывод списка файлов и папок файловой системы. Напишите `NodeJS` скрипт `tree` для вывода списка файлов и папок файловой системы.
Результатом работы должен быть объект с массивами `{ files, folders }`.
Вызовы файловой системы должны быть асинхронными.
Скрипт принимает входной параметр - путь до папки.
Добавить возможность выполнять этот скрипт через команду `npm run tree -- path`

Пример

```
foo/
├── bar/
│├── bar1.txt
│├── bar2.txt
│└── baz/
├── f1.txt
└── f2.txt
```

При вызове с путем `foo/` скрипт должен вернуть структуру:

```json
{
"files": [
"foo/f1.txt",
"foo/f2.txt",
"foo/bar/bar1.txt",
"foo/bar/bar2.txt"
],
"dirs": [
"foo",
"foo/bar",
"foo/bar/baz"
]
}
```
Node Best Practices - Streams - Errors - Processes
после занятия вы сможете:
работать с дочерними процессами в Node;
различать корректные и ошибочные техники при написании; серверного JavaScript кода.
Домашние задания: 1
ДЗ
Работа с потоками в NodeJS*. * - задача со звездочкой. Сдается при желании.

Необходимо отсортировать большой файл со случайными целыми числами, размером 100 МБ, в условиях ограниченной оперативной памяти - 50 МБ. Решение должно быть построено с использованием потоков.

Для решения задачи можно использовать алгоритм “Сортировка слиянием”.
Процесс можно разделить на 3 этапа.

Этап 0
Любым удобным вам способом создаем исходный файл с числами размером 100 МБ.

Этап 1
Исходный файл с числами необходимо разбить на несколько файлов поменьше, предварительно отсортировав их независимо друг от друга.

Этап 2
Необходимо создать механизм чтения чисел сразу из нескольких файлов (потоков).
Читать данные из потоков следует по принципу pause/resume.

Этап 3
Необходимо создать цикл, который будет работать с данными сразу из всех потоков.
Такой цикл будет прерван только тогда, когда будут полностью прочитаны все файлы.
В цикле следует искать наименьшее значение и записывать его в итоговый файл.
1 итерация = 1 число

Для проверки решения, скрипт необходимо запустить командой
$ node --max-old-space-size=50 script.js
Web-сервер на JavaScript - Стек MEAN - Express - MongoDB
после занятия вы сможете:
создавать простые приложения с использованием библиотеки Express, а также базы данных MongoDB.
29 июля, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Построение Rest API
после занятия вы сможете:
добавлять общие стандарты создания API;
объяснить REST, принципы построения API;
проанализировать технологии аутентификации в веб приложениях.
2 августа, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Основы GraphQL
после занятия вы сможете:
работать с GraphQL и основными концепциями.
5 августа, 20:00 — 21:30
Домашние задания: 1
ДЗ
Домашняя работа для `Занятие "GraphQL Server"`. На выбор одна из следующих задач:

---

Часть 1.
Написать схему GraphQL для примера веб-приложения e-commerce shop:
до 3 балла - какие сущности (минимум 3, можно больше), какие у них поля, какие обязательные какие нет
до 4 баллов - какие запросы/мутации понадобятся (минимум 4, можно больше)

Часть 2.
до 5 баллов - развернуть локально graphQL + nodejs или воспользоваться одним из веб демо (graphqlbin), перенести полностью или частично написанную в Части 1 схему.
Результатом работы будет ссылка на онлайн демо или репозиторий.

---

// ИЛИ

Написать `NodeJS Rest API` приложение для сохранения `RSS` рассылок.
В приложении должно быть следующие точки доступа
- Создание рассылки по `URL`. При успешном добавлении приложение будет запрашивать `RSS` рассылку, парсить `XML` и сохранять документы в базу данных.
- Показ списка всех добавленных `URL` рассылок.
- Показ всех сохраненных из `RSS` документов.

Приложение должно содержать тесты для всех точек доступа.
Возможности GraphQL в реальности
после занятия вы сможете:
объяснить про специальные возможности GraphQL;
построить сложные схемы и запросы.
проанализировать сложности: нагрузка, безопасность, N+1.
9 августа, 20:00 — 21:30
Сборка и деплой проекта, CI/CD
понимать и использовать общие концепции CI/CD
определять требования к серверу
настраивать деплоймент приложений в облако
12 августа, 20:00 — 21:30
Современный Стэк JavaScript
В этом блоке мы рассматриваем свежие, но уже зарекомендовавшие себя темы из мира JavaScript. Познакомимся со спецификацией Web Components, и научимся использовать библиотеку Lit-Element, построенную вокруг этой технологии.
SvelteJS - новая большая вещь в мире фронтенда, и мы обязательно должны ее попробовать. TypeScript - стандарт отрасли, поэтому мы начинаем его изучать и практиковать как можно раньше в курсе в FullStack JavaScript разработчик.
Web Components
после занятия вы сможете:
ориентироваться в веб спецификациях Custom Elements и Shadow DOM;
создавать custom elements, используя встроенные браузерные возможности;
использовать HTML Template для шаблонизации компонент.
использовать особенности Lit-HTML для создания приложений;
объяснить принципы Polymer;
23 августа, 20:00 — 21:30
Лектор: Кирилл Коломбет
Webpack
после занятия вы сможете:
настраивать Webpack;
различать Parcel и Rollup;
понимать что такое и как использовать babel;
использовать eslint
26 августа, 20:00 — 21:30
Лектор: Маргарита Образцова
Домашние задания: 1
ДЗ
Custom Elements Tree. С помощью Custom Elements создать приложение для показа дерева с помощью компонентов my-tree и my-leaf. Компоненты должны получать данные о структуре поддерева от родительского элемента. Используйте Shadow DOM при отрисовке компонент. Можно также использовать для реализации Lit-Element, Lit-HTML или Polymer.

Пример структуры

{
"id": 1,
"items": [{
"id": 2,
"items": [{ "id": 3 }]
}]
}
PWA
после занятия вы сможете:
понимать и использовать подход PWA.
30 августа, 20:00 — 21:30
Лектор: Маргарита Образцова
Service Workers
после занятия вы сможете:
понимать и использовать Service Workers API
6 сентября, 20:00 — 21:30
Лектор: Маргарита Образцова
Функциональное программирование в JavaScript
после занятия вы сможете:
разбираться в основах функционального программирования и спецификах применения паттернов функционального программирования в JavaScript.
2 сентября, 20:00 — 21:30
Лектор: Маргарита Образцова
Введение в TypeScript
после занятия вы сможете:
различать TypeScript и JavaScript, использовать преимущества статической типизации;
писать и понимать код на языке TypeScript, разрабатывать приложения в полноценном объектно-ориентированном стиле.
9 сентября, 20:00 — 21:30
Лектор: Кирилл Коломбет
Домашние задания: 1
ДЗ
Перевести проект на TypeScript. Можно использовать свой репозиторий или любой опенсерсовый проект, например
- https://github.com/korzio/djv/tree/ts
Особенности TypeScript
после занятия вы сможете:
проанализировать специальные особенности TypeScript;
разбираться в Namespaces, Generics, Decorators, Type Definitions, Metadata;
применять типы и декораторы.
13 сентября, 20:00 — 21:30
Лектор: Кирилл Коломбет
React
Мы подробно изучим стэк технологий React. Рассмотрим особенности синтаксической шаблонизации JSX, особенности передачи данных и хранения состояния с помощью state и props. Разберем свойства компонентного подхода для декомпозиции React приложений, жизненный цикл и типы компонент, например, High-Order Components. Изучим шаблон проектирования Flux и его реализацию на примере библиотеки Redux. Будем настраивать и оптимизировать приложения с Server-Side Rendering.
Основы React и JSX
после занятия вы сможете:
настроить себе окружение для работы с React и использовать его;
применять синтаксис JSX;
создавать простые приложения на React.
16 сентября, 20:00 — 21:30
Компоненты React - Lifecycle, State & Props
после занятия вы сможете:
разрабатывать полноценные React-компоненты в различных стилях;
понимать жизненный цикл компонент;
использовать Lifecycle API для управления компонентами приложения
моделировать состояние через state / props.
корректно управлять данными React приложения.
20 сентября, 20:00 — 21:30
Паттерны проектирования React (Higher-Order Components)
после занятия вы сможете:
свободно декомпозировать компоненты Делать переиспользуемые контейнеры children;
переиспользовать state-логику и лайфсайкл- хуки через HOC;
написать умные компоненты с конфигурируемым отображением через render pro.
23 сентября, 20:00 — 21:30
Обзор современных возможностей React
после занятия вы сможете:
разбираться в техниках и использовать различные hooks.
27 сентября, 20:00 — 21:30
Состояние приложения - Flux и Redux
после занятия вы сможете:
отличать основные понятия однонаправленной архитектуры Flux;
ориентироваться и использовать возможности redux - создавать actions, reducers, а также применять redux в связке в React.
использовать Redux в React приложениях.
30 сентября, 20:00 — 21:30
Routing в React - Оптимизация приложения
после занятия вы сможете:
создавать систему routing для React приложений, использовать библиотеку react-router;
использовать специальные возможности библиотеки для оптимизации отрисовки.
4 октября, 20:00 — 21:30
Домашние задания: 1
ДЗ
Routing для приложения погоды. Реализовать компонент фильтра и поиска городов.
Данные по городам сохранять в браузерном хранилище.
Добавить страницу погоды по конкретному городу.
При переходе на нее должен меняться url, показываться информация на несколько дней вперед.
Подготовка React Приложения к Production, Best Practices
после занятия вы сможет:
эффективно разрабатывать приложения на React, учитывая последние тенденции в разработке front-end;
использовать Advanced React;
применять на практике Best-Practices разработки на React.
7 октября, 20:00 — 21:30
Angular
Подробно изучим язык TypeScript и преимущества его использования. Разберем паттерн проектирования Observable на базе библиотеки RxJS. Научимся работать с фреймворком Angular - создавать компоненты и формы, управлять Routing, использовать Dependency Injection для сервисов, а также тестировать и собирать приложения с помощью Webpack.
Введение в Angular
после занятия вы сможет:
настроить себе окружение IDE, а также скачать зависимости и библиотеки, коммандные утилиты для TypeScript и создания проектов для работы с Angular;
различать TypeScript и JavaScript;
писать и понимать код на языке TypeScript.
18 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Компоненты и директивы
после занятия вы сможет:
декомпозировать макет страницы на компоненты;
различать директивы и компоненты во фреймворке Angular;
создавать простые директивы и компоненты.
21 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Observables - RxJS
после занятия вы сможет:
отличать основные понятия паттерна;
применять шаблон проектирования Observables, используя библиотеку RxJS.
25 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Сервисы и состояние приложения
после занятия вы сможет:
создавать сервисы для получения, отправки и хранения данных для приложений Angular.
разбираться в особенностях шаблона проектирования Dependency Injection и его имплементации в Angular.
28 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 1
ДЗ
Структура приложения для запоминания иностранных слов. Приложение для запоминания иностранных слов.
В этом приложении пользователь сможет добавлять слова для изучения, проходить тесты для запоминания слов.
Это Single Page Application состоит из 3 страниц:
- Последние добавленные слова (Recently Added)
- Упражнениями (Go)
- Настройки (Settings)
На главном экране, на странице Recently Added пользователь видит список последних добавленных слов, может добавить новое слово в словарь.

На странице упражнений пользователь занимается тестированием своих знаний. Ему показывается слово на одном языке, и он должен написать его перевод на другой язык. Если перевод правильный, слово засчитывается, иначе показываем ошибку. Мы начнем с двух языков - русского и английского, будем расширять возможности приложения по мере написания программы.

На странице настроек пользователь выбирает языки, количество слов в упражнении, отводимое на упражнение время.

Навигация по страницам происходит с помощью ссылок в верхней части страниц, каждой странице соответствует отдельный url.

---

Декомпозировать приложение для запоминания иностранных слов.
Создать структуру и компоненты контейнеры приложения.

Создать сервисы для работы с текстом
- Сервис перевода слова - должен запрашивать перевод через API (например, https://tech.yandex.com/translate/, https://mymemory.translated.net/)
- Сервис хранения словаря - небольшая обертка для управления словарем с помощью `localStorage`
- Сервис добавления слов - должен разбивать текст на отдельные слова, запрашивать их перевод и сохранять в словарь для приложения.

Сервисы должны общаться с помощью библиотеки `RxJS`.
Создание и управление формами в Angular
после занятия вы сможет:
создавать формы, используя техники Dynamic Forms, Reactive Forms;
описывать валидацию и другие функции для элементов форм.
1 ноября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Routing, тестирование и сборка в Angular
после занятия вы сможет:
создавать Routing систему для приложений, используя внутренние подходы Angular - такие как Router, router-outlet и другие;
применять хэндлеры навигации Guards.
писать и запускать тесты для приложений Angular;
настраивать сборку приложений Angular;
использовать возможность сборки Server-side Rendering.
8 ноября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 1
ДЗ
Routing для приложения запоминания иностранных слов. Реализовать `UI` приложения
- Создать компоненты для добавления текста/слов в словарь
- Разработать компоненты и формы для тренировки запоминания слов
- Добавить экран настройку приложения, сохранять состояние

Добавить routing, ссылки на страницы и переходы между компонентами приложения.
Добавить и актуализировать тесты для компонент приложения, настроить universal рендеринг приложения.

Vue
В этом модуле мы сосредоточимся на Vue - современном и популярном FrontEnd фреймворке. Мы рассмотрим особенности шаблонизации и создания динамических приложений на Vue. Разберем возможности и жизненный цикл компонент, хранения состояния. Изучим инструменты Vuex и Vue CLI. Будем настраивать и оптимизировать сборку приложений с Server-Side Rendering.
Введение в SvelteJS
после занятия вы сможете:
объяснить основные преимущества и цели фреймворка;
запускать проект на SvelteJS;
использовать шаблоны и создавать компоненты.
11 ноября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Особенности разработки приложений с SvelteJS
после занятия вы сможете:
создавать Routing для приложений;
описавать стили для проекта под SvelteJS;
тестировать и подготовить проект к production.
15 ноября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Основы Vue
после занятия вы сможете:
настроить себе окружение IDE, зависимости и библиотеки для создания проектов и работы с Vue;
создавать простейшие приложения используя Vue.
18 ноября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Компоненты, шаблонизатор и формы
после занятия вы сможете:
объяснить синтаксис шаблонизаторы;
создавать компоненты, описывать атрибуты элементов.
22 ноября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Routing и модели данных
после занятия вы сможете:
описывать routing для Vue приложений;
создавать формы, связывая шаблоны с моделями.
25 ноября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
ДЗ
Структура & Routing для приложения "Устный счет". Подготовить общую структуру приложения - компоненты контейнеры для страниц приложения.
Сделать первую страницу приложения - форму настроек.
Реализовать второй экран - игру "калькулятор".
Настроить переходы по страницам приложения.
Advanced Vue - Vuex
после занятия вы сможете:
применять анимацию в компонентах;
создавать плагины;
разбираться в тонкостях Change Detection.
29 ноября, 20:00 — 21:30
Лектор: Михаил Кузнецов
Специфика построений приложений c Vue, Best Practices
после занятия вы сможете:
работать с анимацией во Vue.
2 декабря, 20:00 — 21:30
Лектор: Михаил Кузнецов
Домашние задания: 1
ДЗ
Добавление фич в open source проект. На каждый поток мы выбираем репозиторий с каким то проектом или плагином и развиваем его силами студентов курса.
Проектная работа
Заключительный месяц курса посвящен проектной работе. Это то, чем интересно заниматься студенту на базе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.
Вводное занятие по проектной работе. Обзор пройденных фреймворков и технологий
выбрать и обсудить тему проектной работы;
спланировать работу над проектом;
ознакомиться с регламентом работы над проектом;
выделять характеристики проектов и окружения;
решать задачи выбора и сравнения фреймворков, понимать их преимущества и недостатки.
6 декабря, 20:00 — 21:30
Лектор: Александр Коржиков
Домашние задания: 1
ДЗ
Проектная работа. Заключительный месяц курса посвящен проектной работе. Это то, чем интересно заниматься студенту на базе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

Проект должен стать примером кода, который можно показывать потенциальным работодателям.
Консультация по проектам и домашним заданиям
получить ответы на вопросы по проекту, ДЗ и по курсу.
16 декабря, 20:00 — 21:30
Лектор: Александр Коржиков
Защита проектных работ
защитить проект и получить рекомендации экспертов.
30 декабря, 20:00 — 21:30
Лектор: Александр Коржиков

Преподаватель

Юрий Дворжецкий
Lead developer, Luxoft
Ведущий full-stack разработчик, кандидат физико-математических наук.
Программирует с начальных классов, преподаёт со студенчества.

Разрабатывает на разных платформах: большие и маленькие проекты, высоконагруженные и очень красивые, многим известные и совсем специфические.

Влюблён в ОТУС, как в платформу с неограниченными возможностями как для учащихся, так и для преподавателей.
Преподаватель курсов:
JavaScript Developer. Professional
🔥 Выгодные предложения
Подборка курсов, которые можно приобрести по выгодной цене только до конца июля!