Открытый вебинар «Обзор возможностей Node.js» 08.10.2018 в 20:00 | OTUS

Курсы

Программирование
PHP Developer. Basic
-50%
Специализация PHP Developer iOS Developer. Professional Golang Developer. Professional Python Developer. Basic iOS Developer. Basic Архитектура и шаблоны проектирования MS SQL Server Developer Highload Architect Специализация C++ Developer Cloud Solution Architecture Специализация Java-разработчик Android Developer. Professional Программист С Специализация Fullstack developer VR/AR - разработчик Microservice Architecture Software Architect Team Lead Web-разработчик на Python Unity Game Developer. Professional Базы данных Алгоритмы и структуры данных Разработчик программных роботов (RPA) на базе UiPath и PIX Kotlin Backend Developer React.js Developer Node.js Developer Flutter Mobile Developer Symfony Framework C# Developer. Basic Unreal Engine Game Developer Groovy Developer
Специализации Курсы в разработке Подготовительные курсы Подписка
+7 499 938-92-02
Проходил 8 октября 2018 года в 20:00

Открытый вебинар курса «Разработчик JavaScript»
Обзор возможностей Node.js

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

Node.js — это асинхронная среда исполнения JavaScript, в основе которой находятся такие понятия как «Event Loop» и событийно-ориентированная архитектура. Платформа Node.js и стандартный пакетный менеджер NPM позволяет создавать эффективные приложения для различных предметных областей — от Web и до Machine Learning.

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

Занятие будет полезно для разработчиков, желающих узнать о серверном JavaScript.
Для запуска примеров и программ нужно установить Node.js https://nodejs.org/en/download/.
Преподаватель
Александр Коржиков

Запись

О курсе

JavaScript Developer. Professional
96 000 ₽
5 месяцев
Начало 29 сентября

Вы научитесь решать на 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;
применять техники языка, которые помогут при изучении фреймворков.
29 сентября, 20:00 — 21:30
Лектор: Александр Коржиков
Домашние задания: 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"] - это максимальная по пересечениям группа. Можно видеть, что первый массив пересекается со всеми остальными, и потому результат является всем множеством значений.


Ресурсы:
- https://akshanshweb.files.wordpress.com/2018/04/screenshot-from-2018-04-21-10-06-12.png?w=720
- https://dzone.com/articles/machinex-understanding-fp-tree-construction
- https://www.softwaretestinghelp.com/fp-growth-algorithm-data-mining/
- https://www.mygreatlearning.com/blog/understanding-fp-growth-algorithm/
- https://zims-en.kiwix.campusafrica.gos.orange.com/wikibooks_en_all_maxi/A/Data_Mining_Algorithms_[…]/Frequent_Pattern_Mining/The_FP-Growth_Algorithm

---

Задание 2.

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

sum(1)(2)(3)....(n)() === 1 + 2 + 3 + ... + n
Возможности современного JavaScript
после занятия вы сможете:
решать специфичные для браузерной разработки задачи на языке JavaScript;
освоить и вспомнить теорию, которая будет базисом для последующих уроков;
попрактиковаться с технологиями AJAX, WebSocket, Promise.
6 октября, 20:00 — 21:30
Лектор: Арсений Высоцкий
JavaScript - Работа с браузером
после занятия вы сможете:
решать специфичные для браузерной разработки задачи на языке JavaScript;
работать с Chrome Dev Tools.
10 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 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.
13 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Test Driven Development
после занятия вы сможете:
разбирать примеры.
17 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 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 - EventLoop - Timers
после занятия вы сможете:
ориентироваться в понятии EventLoop и особенностях работы Timers;
использовать классы, объекты и функции модуля Streams;
работать c HTTP запросами в Node.
20 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 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 - Processes
после занятия вы сможете:
работать с дочерними процессами в Node;
различать корректные и ошибочные техники при написании; серверного JavaScript кода.
24 октября, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 1
ДЗ
Работа с потоками в NodeJS*. * - задача со звездочкой. Сдается при желании.

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

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

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

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

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

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

Для проверки решения, скрипт необходимо запустить командой
$ node --max-old-space-size=50 script.js

---

https://strongloop.com/strongblog/practical-examples-of-the-new-node-js-streams-api/
Основные концепции Node - Modules
после занятия вы сможете:
использовать require, exports и ES6 Imports для экспорта и импорта зависимостей.
27 октября, 20:00 — 21:30
Лектор: Николай Лапшин
Web-сервер с Express
после занятия вы сможете:
использовать стандартнтую библиотеку Node.js для веб сервера;
разбираться и понимать структуру и концепции Express - middlewares, templates, routing;
создавать приложения с использованием Express;
обрабатывать ошибки в Node.js приложениях.
31 октября, 20:00 — 21:30
Лектор: Андрей Осипук
Возможности MongoDB
после занятия вы сможете:
подключать и использовать различные дистрибутивы mongodb в node.js приложении;
создавать и понимать концепции коллекций, документов и полей;
писать CRUD-операции запросы к данным;
понимать общие возможности фильтраций в mongodb (limit, skip, поддокументы).
3 ноября, 20:00 — 21:30
Лектор: Николай Лапшин
Расширенные функции MongoDB - Aggregation Framework
понимать и использовать Aggregation Framework - map/reduce;
настраивать и администрировать MongoDB.
7 ноября, 20:00 — 21:30
Лектор: Николай Лапшин
Построение Rest API с Express, Mongoose
добавлять общие стандарты создания API;
объяснить REST, принципы построения API;
использовать ORM - Mongoose;
реализовывать CRUD операции с Mongoose, Express и MongoDB;
проанализировать технологии аутентификации в веб приложениях.
10 ноября, 20:00 — 21:30
Лектор: Николай Лапшин
Основы GraphQL
после занятия вы сможете:
понимать и работать с GraphQL и основными концепциями.
14 ноября, 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` документов.

Приложение должно содержать тесты для всех точек доступа.
Сборка проекта, CI
понимать и использовать общие концепции CI/CD;
17 ноября, 20:00 — 21:30
Лектор: Арсений Высоцкий
Деплой проекта, CD
использовать Node.js приложение в Docker контейнере;
подключать БД;
настраивать деплоймент приложений в облако.
работать с логами.
определять требования к серверу;
21 ноября, 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;
1 декабря, 20:00 — 21:30
Лектор: Кирилл Коломбет
Webpack
после занятия вы сможете:
настраивать Webpack;
различать Parcel и Rollup;
понимать, что такое и как использовать babel;
использовать eslint
5 декабря, 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 }]
}]
}
Service Workers
после занятия вы сможете:
понимать и использовать Service Workers API
8 декабря, 20:00 — 21:30
Лектор: Маргарита Образцова
Инструменты и технологии JS тестирования, BDD (Behavior-Driven Development )
- Применять BDD
- Понимать метрики и возможности тестирования
- Использовать инструменты браузерного интеграционного и юнит тестирования
12 декабря, 20:00 — 21:30
Лектор: Арсений Высоцкий
Введение в TypeScript
после занятия вы сможете:
различать TypeScript и JavaScript, использовать преимущества статической типизации;
писать и понимать код на языке TypeScript, разрабатывать приложения в полноценном объектно-ориентированном стиле.
15 декабря, 20:00 — 21:30
Лектор: Кирилл Коломбет
Домашние задания: 1
ДЗ
Перевести проект на TypeScript. Можно использовать свой репозиторий или любой опенсерсовый проект, например
- https://github.com/korzio/djv/tree/ts
Особенности TypeScript
после занятия вы сможете:
проанализировать специальные особенности TypeScript;
разбираться в Namespaces, Generics, Decorators, Type Definitions, Metadata;
применять типы и декораторы.
19 декабря, 20:00 — 21:30
Лектор: Кирилл Коломбет
PWA
после занятия вы сможете:
понимать и использовать подход PWA.
22 декабря, 20:00 — 21:30
Лектор: Николай Лапшин
React
Мы подробно изучим стэк технологий React. Рассмотрим особенности синтаксической шаблонизации JSX, особенности передачи данных и хранения состояния с помощью state и props. Разберем свойства компонентного подхода для декомпозиции React приложений, жизненный цикл и типы компонент, например, High-Order Components. Изучим шаблон проектирования Flux и его реализацию на примере библиотеки Redux. Будем настраивать и оптимизировать приложения с Server-Side Rendering.
Основы React и JSX
после занятия вы сможете:
настроить себе окружение для работы с React и использовать его;
применять синтаксис JSX;
создавать простые приложения на React.
26 декабря, 20:00 — 21:30
Лектор: Кирилл Коломбет
Компоненты React - Lifecycle, State & Props
после занятия вы сможете:
разрабатывать полноценные React-компоненты в различных стилях;
понимать жизненный цикл компонент;
использовать Lifecycle API для управления компонентами приложения;
моделировать состояние через state / props.;
корректно управлять данными React приложения.
29 декабря, 20:00 — 21:30
Лектор: Арсений Высоцкий
Паттерны проектирования React (Higher-Order Components)
после занятия вы сможете:
свободно декомпозировать компоненты;
делать переиспользуемые контейнеры children;
переиспользовать state-логику и лайфсайкл- хуки через HOC;
написать умные компоненты с конфигурируемым отображением через render pro.
9 января, 20:00 — 21:30
Лектор: Арсений Высоцкий
Обзор современных возможностей React
после занятия вы сможете:
разбираться в техниках и использовать различные hooks.
12 января, 20:00 — 21:30
Лектор: Андрей Осипук
Состояние приложения - Flux и Redux
после занятия вы сможете:
отличать основные понятия однонаправленной архитектуры Flux;
ориентироваться и использовать возможности redux - создавать actions, reducers, а также применять redux в связке в React.
использовать Redux в React приложениях.
16 января, 20:00 — 21:30
Лектор: Кирилл Коломбет
Routing в React - Оптимизация приложения
после занятия вы сможете:
создавать систему routing для React приложений, использовать библиотеку react-router;
использовать специальные возможности библиотеки для оптимизации отрисовки.
19 января, 20:00 — 21:30
Лектор: Кирилл Коломбет
Домашние задания: 1
ДЗ
Routing для приложения погоды. Реализовать компонент фильтра и поиска городов.
Данные по городам сохранять в браузерном хранилище.
Добавить страницу погоды по конкретному городу.
При переходе на нее должен меняться url, показываться информация на несколько дней вперед.
Подготовка React Приложения к Production, Best Practices
после занятия вы сможете:
эффективно разрабатывать приложения на React, учитывая последние тенденции в разработке front-end;
использовать Advanced React;
применять на практике Best-Practices разработки на React.
23 января, 20:00 — 21:30
Лектор: Кирилл Коломбет
Микросервисная архитектура и аспекты SSR
после занятия вы сможете:
понимать, что такое микросервисная архитектура во FrontEnd;
различать подходы проектирования приложений;
понимать различия в реализации архитектур веб приложений.
26 января, 20:00 — 21:30
Лектор: Дамир Рысаев
Angular
Подробно изучим язык TypeScript и преимущества его использования. Разберем паттерн проектирования Observable на базе библиотеки RxJS. Научимся работать с фреймворком Angular - создавать компоненты и формы, управлять Routing, использовать Dependency Injection для сервисов, а также тестировать и собирать приложения с помощью Webpack.
Введение в Angular
после занятия вы сможете:
настроить себе окружение IDE, а также скачать зависимости и библиотеки, коммандные утилиты для TypeScript и создания проектов для работы с Angular;
различать TypeScript и JavaScript;
писать и понимать код на языке TypeScript.
30 января, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Компоненты и директивы
после занятия вы сможете:
декомпозировать макет страницы на компоненты;
различать директивы и компоненты во фреймворке Angular;
создавать простые директивы и компоненты.
2 февраля, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Observables - RxJS
после занятия вы сможете:
отличать основные понятия паттерна;
применять шаблон проектирования Observables, используя библиотеку RxJS.
6 февраля, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Сервисы и состояние приложения
после занятия вы сможете:
создавать сервисы для получения, отправки и хранения данных для приложений Angular;
разбираться в особенностях шаблона проектирования Dependency Injection и его имплементации в Angular.
9 февраля, 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;
описывать валидацию и другие функции для элементов форм.
13 февраля, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Routing, тестирование и сборка в Angular
после занятия вы сможете:
создавать Routing систему для приложений, используя внутренние подходы Angular - такие как Router, router-outlet и другие;
применять хэндлеры навигации Guards.
писать и запускать тесты для приложений Angular;
настраивать сборку приложений Angular;
использовать возможность сборки Server-side Rendering.
16 февраля, 20:00 — 21:30
Лектор: Юрий Дворжецкий
Домашние задания: 1
ДЗ
Routing для приложения запоминания иностранных слов. Реализовать `UI` приложения
- Создать компоненты для добавления текста/слов в словарь
- Разработать компоненты и формы для тренировки запоминания слов
- Добавить экран настройку приложения, сохранять состояние

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

Vue
В этом модуле мы сосредоточимся на Vue - современном и популярном FrontEnd фреймворке. Мы рассмотрим особенности шаблонизации и создания динамических приложений на Vue. Разберем возможности и жизненный цикл компонент, хранения состояния. Изучим инструменты Vuex и Vue CLI. Будем настраивать и оптимизировать сборку приложений с Server-Side Rendering.
Альтернатива большим фреймворкам - Обзор SvelteJS
после занятия вы сможете:

- понимать основные преимущества и цели фреймворка;
- запускать проект и понимать синтаксис SvelteJS;
- настраивать сборку с Rollup;
20 февраля, 20:00 — 21:30
Основы Vue
после занятия вы сможете:
настроить себе окружение IDE, зависимости и библиотеки для создания проектов и работы с Vue;
создавать простейшие приложения используя Vue.
23 февраля, 20:00 — 21:30
Лектор: Юрий Тимофеев
Компоненты, шаблонизатор и формы
после занятия вы сможете:
объяснить синтаксис шаблонизаторы;
создавать компоненты, описывать атрибуты элементов.
27 февраля, 20:00 — 21:30
Лектор: Юрий Тимофеев
Routing и Vue3
после занятия вы сможете:
описывать routing для Vue приложений;
основы Vue3
2 марта, 20:00 — 21:30
Лектор: Юрий Тимофеев
Домашние задания: 1
ДЗ
Структура & Routing для приложения "Устный счет". Подготовить общую структуру приложения - компоненты контейнеры для страниц приложения.
Сделать первую страницу приложения - форму настроек.
Реализовать второй экран - игру "калькулятор".
Настроить переходы по страницам приложения.
Advanced Vue - Vuex
после занятия вы сможете:
применять анимацию в компонентах;
создавать плагины;
разбираться в тонкостях Change Detection.
6 марта, 20:00 — 21:30
Лектор: Юрий Тимофеев
Проектная работа
Заключительный месяц курса посвящен проектной работе. Это то, чем интересно заниматься студенту на базе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

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

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

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

Александр Коржиков
Dev IT Engineer ING Group (Нидерланды)
Опытный программист, Senior Web Developer, тимлид, ментор и автор технических статей по JavaScript. Специалист по Frontend, программирует на JavaScript, начиная с 2010 года.

Работал в компаниях Tinkoff Bank (Москва), «Альпари», Comindware, Backbase (Амстердам) и других. С 2017 года — Dev IT Engineer в международной финансовой корпорации ING Group (Нидерланды). Занимается проектированием и поддержкой процессов web-разработки.

Среди реализованных проектов — JSON Schema Validator Library — самая быстрая JavaScript-библиотека для проверки объектов на соответствие определениям JSON.

Образование: степень магистра в Московском государственном университете им. М. В. Ломоносова (факультет вычислительной математики и кибернетики, кафедра автоматизации научных исследований).
Преподаватель курсов:
JavaScript Developer. Professional