Открытый вебинар «Обзор возможностей SvelteJS» 05.12.2019 в 20:00 | OTUS
Проходил 5 декабря 2019 года в 20:00

Открытый вебинар
Обзор возможностей SvelteJS

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

Фреймворк Svelte вызывает большое внимание в сообществе из-за своего революционного подхода и невероятной скорости работы.
На этом уроке мы:
- разберемся как писать приложения на Svelte;
- ответим на вопрос: почему Svelte даёт выигрыш в скорости и в размере бандла?
- посмотрим на экосистему и решения традиционных задач веб-разработки.
Преподаватель
Михаил Кузнецов

Запись

О курсе

JavaScript Developer. Professional
133 000 ₽ 119 700 ₽
5 месяцев
Начало 27 декабря

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

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

Курс подойдет разработчикам с опытом программирования на JS, которые знакомы с основами верстки на HTML и CSS. Знания помогут …

Программа курса
Модуль 1
Актуальные Возможности JavaScript
Модуль 2
Node.js
Модуль 3
Vue.js
Модуль 4
Angular
Модуль 5
React.js
Модуль 6
Проектная работа
Актуальные Возможности JavaScript
Мы рассмотрим основные возможности современного и традиционного JavaScript, стандарт EcmaScript 6+, Templates, асинхронные паттерны Promise, Async Await, переменные, замыкания, функции, наследование и классы. Разберем особенности браузерного API и спецификаций Web Components на примере библиотеки Lit-HTML. Обсудим главные принципы и возможности Node.js, а также NPM для управления зависимостями и автоматизации задач.
Введение в курс: знакомство с программой, командой курса
познакомиться с преподавателями и программой курса, понимать как она построена и какие полезные навыки получит студент;
понять основные возможности языка JavaScript;
применять техники языка, которые помогут при изучении фреймворков.
27 декабря, 20:00 — 21:30
Лектор: Алексей Кадочников
Домашние задания: 1
ДЗ
Deep Equal Function. Необходимо разработать функцию deepEqual, которая будет проводить глубокое сравнение между переданными объектами actual и expected. Под глубоким сравнением понимается то, что собственные свойства дочерних объектов также рекурсивно сравниваются. Если объекты не идентичны, вывести ошибку с путем до неидентичного свойства (например, используя нотацию JSON Path - $.store.book.author). Идеальную функцию сравнения написать невозможно, поэтому постарайтесь реализовать самые важные моменты:
- Рекурсия останавливается, когда найдено отличие
- Сравниваются собственные итерируемые свойства, без учета прототипа
- Важно реализовать сравнение примитивных свойств, итерирование массивов и объектов

```js
const obj1 = {
a: {
b: 1,
},
};

const obj2 = {
a: {
b: 2,
},
};

const obj3 = {
a: {
b: 1,
},
};

deepEqual(obj1, obj1);
// OK

deepEqual(obj1, obj2);
// Error: a.b

deepEqual(obj1, obj3);
// OK
```

Дополнительные материалы:
- https://nodejs.org/api/assert.html#assertdeepequalactual-expected-message
Асинхронные паттерны
решать специфичные для браузерной разработки задачи на языке JavaScript;
освоить и вспомнить теорию, которая будет базисом для последующих уроков;
попрактиковаться с Promise.
13 января, 20:00 — 21:30
Введение в Node.js и NPM
запускать приложения на платформе Node;
писать и запускать тесты для серверного JavaScript;
работать с пакетным менеджером NPM;
управлять зависимостями и автоматизировать задачи с помощью package.json.
15 января, 20:00 — 21:30
Домашние задания: 1
ДЗ
Tree Node.js File System. Напишите `NodeJS` скрипт `tree` для вывода списка файлов и папок файловой системы.

Приложение должно принимать аргумент каталога для анализа и флаг `--depth, -d` с номером глубины директорий.
Результатом является вывод данных в структурированном виде дерева, аналогично упражнению Tree Function.
Вызовы файловой системы должны быть асинхронными.
Например, при вызове скрипта с аргументом ./node, вывод может быть следующим:

```bash
tree ./node -d 2
node
├── cluster
│ └── index.js
├── domain
│ ├── error.js
│ ├── flow.js
│ └── run.js
├── errors
│ ├── counter.js
│ └── try-catch.js
└── worker
└── index.js

4 directories, 7 files
```

Пожалуйста, прикрепите ссылку на Pull Request в вашем репозитории на Github.
Работа с браузером
вспомнить, как работает DOM API и Events;
работать с Chrome Dev Tools;
решать специфичные для браузерной разработки задачи на языке JavaScript.
20 января, 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, добавить юнит тесты для функции

Пожалуйста, прикрепите ссылку на Pull Request в вашем репозитории на Github.
Web Components
ориентироваться в веб спецификациях Custom Elements и Shadow DOM;
создавать custom elements, используя встроенные браузерные возможности;
использовать HTML Template для шаблонизации компонент;
использовать особенности Lit-HTML для создания приложений;
объяснить принципы Polymer.
22 января, 20:00 — 21:30
Лектор: Алексей Кадочников
Bulid tools: Vite, Webpack, Rollup
обсудить как работает Vite;
обсудить как работает Webpack;
различать Parcel и Rollup;
обсудить, что такое и как использовать babel;
использовать eslint.
27 января, 20:00 — 21:30
Node.js
Этот модуль о серверной среде JavaScript. Мы разберем ключевые особенности Node.js - EventLoop, модули и потоки. Мы научимся строить API, используя фреймворк Express, подходы REST и GraphQL. Поговорим о WebAssembly и общих практиках при работе с процессами и ошибками. В конце мы подведем резюме стэка технологий Node.js
Основные концепции Node - Modules
использовать require, exports и ES6 Imports для экспорта и импорта зависимостей.
29 января, 20:00 — 21:30
Стандартная библиотека Node - EventLoop - Timers
ориентироваться в понятии EventLoop и особенностях работы Timers;
использовать классы, объекты и функции модуля Streams;
работать c HTTP запросами в Node.
3 февраля, 20:00 — 21:30
Лектор: Алексей Кадочников
Домашние задания: 1
ДЗ
Работа с потоками в NodeJS. Используйте модуль streams для программы простой индексации текста.
Она должна:
- Читать текстовый файл переданный в аргументах к скрипту
- Разделять входные данные на отдельные слова, разделенные разделителем (пробел, символ новой строки)
- Фильтровать не-текстовые символы (например, ',')
- Индексировать текст в вектор - массив чисел. Позиция в массиве представляет порядок всех входных слов, отсортированных в алфавитном порядке. Значение - это количество появлений определенного слова в тексте.
- Вывести результирующий вектор в файл.

Примеры:
- `a c b b` -> потенциальное промежуточное представление `{ a: 1, b: 2, c: 1 } -> [1, 2, 1]`
- `ab cb bss b` -> `[1, 1, 1, 1]`
- `ab, cb, bss, cb, b, cb` -> `[1, 1, 1, 3]`
- `alex, alex, juan, dima` -> `[2, 1, 1]`

Желательно использовать потоки для всех шагов программы.

---

https://strongloop.com/strongblog/practical-examples-of-the-new-node-js-streams-api/


Пожалуйста, прикрепите ссылку на Pull Request в вашем репозитории на Github.
Web-сервер с Express
использовать стандартнтую библиотеку Node.js для веб сервера;
разбираться и понимать структуру и концепции Express - middlewares, templates, routing;
создавать приложения с использованием Express;
обрабатывать ошибки в Node.js приложениях.
5 февраля, 20:00 — 21:30
Построение Rest API с Express
добавлять общие стандарты создания API;
объяснить REST, принципы построения API;
проанализировать технологии аутентификации в веб приложениях.
10 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode - Backend - Шаг 1 - Проектирование и разработка RESTful API. **Клон LeetCode**

В блоке Node.js мы создадим приложение, аналогичное LeetCode для подготовки технических скиллов. Оно хранит различные задачи по программированию, которые часто задают на собеседованиях в крупных технологических компаниях. Пользователи могут решать задачи, отправлять свои решения и проверять их на корректность. Кроме того, на платформе есть обсуждения, где пользователи могут обсудить различные подходы к решению задач, а также учебные материалы и мок-интервью.

- Приложение ДОЛЖНО:
- хранить задачи, у которых есть описание, примеры входных и выходных данных, уровень сложности, теги (например, "алгоритмы", "структуры данных", "динамическое программирование"), дополнительные материалы (файлы, ссылки)
- предоставлять возможность логина и логаута
- содержать роли пользователей (пользователь, администратор, интервьюер) и проверять, имеет ли пользователь определенные разрешения в системе; пользователи должны иметь оставлять комментарии к задачам и обсуждать возможные решения; пользователи могут оценивать задачи, что помогает другим участникам понять сложность и интересность задачи; нтервьюер должен иметь возможность видеть профиль пользователей, редактировать их рейтинг; интервьюеры могут добавлять, редактировать и удалять задачи, теги или категории.
- содержать REST API для управления ресурсами приложения
- использовать базу данных для хранения информации о задачах, пользователях

- Приложение МОЖЕТ:
- быть построено на `ExpressJS, Fastify` или `NestJS`
- использовать PostgreSQL
- иметь дополнительные функции, такие как поиск по сайту по запросу, загрузка файлов и т. д.

Проектирование и разработка API приложения Клон LeetCode

- Используйте описание приложения LeetCode
- Опишите модель данных, которые вы планируете использовать, добавьте описание проекта в свободном формате в README.md
- Определите endpoints API, коды ответов, типы данных и примеры с использованием https://editor.swagger.io,импортируйте и сохраните файл с техническим описанием (см примеры https://www.udemy.com/developers/affiliate/, https://developer.github.com/v3/users/, https://docs.gitlab.com/ee/api/issues.html)
- Напишите тесты для API
- Разработать RESTful API. API должен позволить создавать, просматривать, обновлять и удалять информацию о задачах и пользователях. Тесты из прошлого шага должны проходить.
- Выберите и реализуйте стратегию авторизации, а также регистрации новых пользователей.
Введение в TypeScript
различать TypeScript и JavaScript, использовать преимущества статической типизации;
писать и понимать код на языке TypeScript, разрабатывать приложения в полноценном объектно-ориентированном стиле.
12 февраля, 20:00 — 21:30
Лектор: Алексей Кадочников
Особенности TypeScript
проанализировать специальные особенности TypeScript;
разбираться в Namespaces, Generics, Decorators, Type Definitions, Metadata;
применять типы и декораторы.
17 февраля, 20:00 — 21:30
Лектор: Алексей Кадочников
Web-сервер с Nest.js
создавать приложения на Nest.js;
объяснить для чего нужны декораторы в Javascript/TypeScript;
объяснить, что такое Dependency Injection.
19 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode - Backend - Шаг 2 - Мигрируйте приложение на TypeScript. Мигрируйте приложение на `TypeScript` (включая тесты https://www.npmjs.com/package/ts-jest, модель для БД и т.д.). Возможно использовать NestJS. После выполнения задания проект должен содержать необходимые конфигурации (package.json scripts, tsconfig.json, ...) и проходить этап TypeScript компиляции без ошибок.
Введение в язык SQL, PostgreSQL
подключать и создавать базу данных с PostgreSQL;
познакомиться с языком SQL;
научиться работать с реляционной базой данных.
24 февраля, 20:00 — 21:30
Работа с PostgreSQL и TypeORM
подключать и создавать базу данных с PostgreSQL;
использовать ORM TypeORM в Express.
26 февраля, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode - Backend - Шаг 3 - Подключить БД. - Спроектируйте и создайте структуру БД с помощью PostgreSQL (например, с использованием TypeORM)
- БД должно хранить задачи, пользователей и другие ресурсы приложения
- Приложение должно работать с БД, запрашивать и хранить сущности из нее
Node.js и Docker
запустить и использовать Node.js приложение с docker;
рассмотреть основы docker;
подключать БД.
3 марта, 20:00 — 21:30
Сборка и деплой проекта, CI/CD
понимать и использовать общие концепции CI/CD;
настраивать деплоймент приложений в облако;
работать с логами;
определять требования к серверу.
5 марта, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode - Backend - Шаг 4 - Докер и деплой. - Создайте и добавьте определение Dockerfile для вашего приложения
- Создайте и добавьте конфигурацию docker-compose для запуска БД и проекта вместе локально
- Создайте рабочий процесс Github Actions pipeline для установки (или другой CI/CD), сборки докера и тестирования проекта
- Разверните ваш проект с помощью Vercel или альтернатив (Vercel: https://vercel.com/, Netlify: https://www.netlify.com/, Fly: https://fly.io/)
Консультация по ДЗ
получить ответы на вопросы по ДЗ и по курсу.
10 марта, 20:00 — 21:30
Vue.js
В этом модуле мы сосредоточимся на Vue - современном и популярном FrontEnd фреймворке. Мы рассмотрим особенности шаблонизации и создания динамических приложений на Vue. Разберем возможности и жизненный цикл компонент, хранения состояния. Изучим инструменты Vuex и Vue CLI. Будем настраивать и оптимизировать сборку приложений с Server-Side Rendering.
Основы Vue3
настроить себе окружение IDE, зависимости и библиотеки для создания проектов и работы с Vue;
создавать простейшие приложения используя Vue;
рассмотреть основы Vue3.
19 марта, 20:00 — 21:30
Лектор: Алексей Кадочников
Компоненты и шаблоны
обсудить и использовать синтаксис шаблонизатора;
создавать компоненты, описывать атрибуты элементов;
применять SFC.
24 марта, 20:00 — 21:30
Лектор: Алексей Кадочников
Управление компонентами
управлять передачей сообщениями между компонентами;
организовывать приложения из многих взаимодействующих
компонентов.
26 марта, 20:00 — 21:30
Лектор: Алексей Кадочников
Домашние задания: 1
ДЗ
Клон LeetCode - Vue - Шаг 1 - Компоненты. В разделе Vue одна самостоятельная работа - создать веб-интерфейс для платформы, предоставляющей задачи по программированию, Клон LeetCode. Приложение должно работать на базе созданного API.

Основные требования и описание приложения:
- Главная страница: Отображение списка задач с возможностью фильтрации по сложности, категории и популярности.
- Страница задачи: Отображение описания задачи, примеров входных и выходных данных, а также интерактивного редактора кода для написания и отправки решения.
- Обратная связь: Раздел комментариев под каждой задачей, где пользователи могут обсуждать решения и задавать вопросы.
- Профиль пользователя: Отображение статистики пользователя, решенных задач и рейтинга.

Технологии:
- Vue.js
- Желательно, TypeScript
- Для стилей можно использовать Bootstrap, Tailwind CSS или Material-UI. Желательно, чтобы интерфейс корректно отображался на различных устройствах, включая мобильные телефоны и планшеты.

Состояние приложения - Vuex и Pinia
различать преимущества центрального уравления стейтом;
добавить State Management приложению Vue;
написать гетер, экшен и мутацию;
писать данные в State из компонентов.
31 марта, 20:00 — 21:30
Лектор: Алексей Кадочников
Routing
описывать routing для Vue приложений.
2 апреля, 20:00 — 21:30
Лектор: Алексей Кадочников
Домашние задания: 1
ДЗ
Клон LeetCode - Vue - Шаг 2 - Routing. В разделе Vue одна самостоятельная работа - создать веб-интерфейс для платформы, предоставляющей задачи по программированию, Клон LeetCode. Приложение должно работать на базе созданного API.

Основные требования и описание приложения:
- Главная страница: Отображение списка задач с возможностью фильтрации по сложности, категории и популярности.
- Страница задачи: Отображение описания задачи, примеров входных и выходных данных, а также интерактивного редактора кода для написания и отправки решения.
- Обратная связь: Раздел комментариев под каждой задачей, где пользователи могут обсуждать решения и задавать вопросы.
- Профиль пользователя: Отображение статистики пользователя, решенных задач и рейтинга.

Технологии:
- Vue.js
- Желательно, TypeScript
- Для стилей можно использовать Bootstrap, Tailwind CSS или Material-UI. Желательно, чтобы интерфейс корректно отображался на различных устройствах, включая мобильные телефоны и планшеты.
Advanced Vue
применять анимацию в компонентах;
создавать плагины;
разбираться в тонкостях Change Detection.
7 апреля, 20:00 — 21:30
Лектор: Алексей Кадочников
Консультация по ДЗ
получить ответы на вопросы по ДЗ и по курсу.
9 апреля, 20:00 — 21:30
Лектор: Алексей Кадочников
Angular
Подробно изучим язык TypeScript и преимущества его использования. Разберем паттерн проектирования Observable на базе библиотеки RxJS. Научимся работать с фреймворком Angular - создавать компоненты и формы, управлять Routing, использовать Dependency Injection для сервисов, а также тестировать и собирать приложения с помощью Webpack
Введение в Angular
настроить себе окружение IDE, а также скачать зависимости и библиотеки, коммандные утилиты для TypeScript и создания проектов для работы с Angular;
различать TypeScript и JavaScript;
писать и понимать код на языке TypeScript.
14 апреля, 20:00 — 21:30
Лектор: Виталий Бобров
Компоненты и директивы
декомпозировать макет страницы на компоненты;
различать директивы и компоненты во фреймворке Angular;
создавать простые директивы и компоненты.
16 апреля, 20:00 — 21:30
Лектор: Виталий Бобров
Signals
изучить сигналы, применить на практике.
21 апреля, 20:00 — 21:30
Лектор: Виталий Бобров
Создание и управление формами в Angular
создавать формы, используя техники Dynamic Forms, Reactive Forms;
описывать валидацию и другие функции для элементов форм.
23 апреля, 20:00 — 21:30
Лектор: Виталий Бобров
Домашние задания: 1
ДЗ
Клон LeetCode CMS - Angular - Шаг 1 - Компоненты и формы. - Создать основные компоненты и формы для CMS платформы.
- Управление задачами: Разработайте компоненты для добавления, редактирования и удаления задач. Каждая форма должна включать поля для названия, описания, примеров входных и выходных данных, уровня сложности и тегов.
- Управление тегами: Создайте компоненты и формы для добавления, редактирования и удаления тегов.
- Управление пользователями: Разработайте компоненты для просмотра списка пользователей и формы для редактирования их ролей.
- Для стилей рекомендуется использовать Angular Material или Bootstrap.
Observables - RxJS
отличать основные понятия паттерна;
применять шаблон проектирования Observables, используя библиотеку RxJS.
28 апреля, 20:00 — 21:30
Лектор: Виталий Бобров
Сервисы и состояние приложения
создавать сервисы для получения, отправки и хранения данных для приложений Angular;
разбираться в особенностях шаблона проектирования Dependency Injection и его имплементации в Angular.
30 апреля, 20:00 — 21:30
Лектор: Виталий Бобров
Routing, тестирование и сборка в Angular
создавать Routing систему для приложений, используя внутренние подходы Angular - такие как Router, router-outlet и другие;
применять хэндлеры навигации Guards;
писать и запускать тесты для приложений Angular;
настраивать сборку приложений Angular;
использовать возможность сборки Server-side Rendering.
5 мая, 20:00 — 21:30
Лектор: Виталий Бобров
Домашние задания: 1
ДЗ
Клон LeetCode CMS - Angular - Шаг 2 - Routing. Реализовать управление состоянием приложения и маршрутизацию для CMS платформы

- Маршрутизация: Реализуйте маршруты для компонент, созданных в первой части задания.
- Состояние приложения: Используйте NgRx или другие библиотеки управления состоянием, совместимые с Angular, для управления данными задач, тегов и пользователей.
- Добавить routing, ссылки на страницы и переходы между компонентами приложения.
- Добавить и актуализировать тесты для компонент приложения.
- Безопасность: Реализуйте систему аутентификации и авторизации для доступа к CMS. Только администраторы должны иметь доступ к этой системе.


Пожалуйста, прикрепите ссылку на Pull Request в вашем репозитории на Github.
Консультация по ДЗ
получить ответы на вопросы по ДЗ и по курсу.
7 мая, 20:00 — 21:30
Лектор: Виталий Бобров
React.js
Мы подробно изучим стэк технологий React. Рассмотрим особенности синтаксической шаблонизации JSX, особенности передачи данных и хранения состояния с помощью state и props. Разберем свойства компонентного подхода для декомпозиции React приложений, жизненный цикл и типы компонент, например, High-Order Components. Изучим шаблон проектирования Flux и его реализацию на примере библиотеки Redux. Будем настраивать и оптимизировать приложения с Server-Side Rendering, а также освоим идею микрофронтенд архитектуры
Обзор React
настроить себе окружение для работы с React и использовать его;
применять синтаксис JSX;
создавать простые приложения на React;
разрабатывать полноценные React-компоненты в различных стилях;
применять жизненный цикл компонент;
использовать Lifecycle API для управления компонентами приложения;
моделировать состояние через state / props.;
корректно управлять данными React приложения.
19 мая, 20:00 — 21:30
Hooks в React
разбираться в техниках и использовать различные hooks.
21 мая, 20:00 — 21:30
Higher-Order Components, Custom Hooks и другие паттерны React
свободно декомпозировать компоненты;
делать переиспользуемые контейнеры children;
переиспользовать state-логику и лайфсайкл- хуки через HOC;
написать умные компоненты с конфигурируемым отображением через render pro.
26 мая, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode Interviews - React - Шаг 1 - Компоненты. Создать основные компоненты и формы для приложения платформы:
- Страница задачи: Создайте компонент для отображения деталей задачи, включая описание, примеры и интерактивный редактор кода.
- Управление задачей: Разработайте компонент для редактирования задания. Каждая форма должна включать поля для названия, описания, примеров входных и выходных данных, уровня сложности и тегов.
- Управление пользователями: Разработайте компонент для отображения профиля пользователя, редактирования рейтинга пользователя.
Состояние приложения с Redux и Mobx
эффективно разрабатывать приложения на React, учитывая последние тенденции в разработке front-end;
использовать Advanced React;
применять на практике Best-Practices разработки на React.
28 мая, 20:00 — 21:30
Routing в React - Оптимизация приложения
создавать систему routing для React приложений, использовать библиотеку react-router;
использовать специальные возможности библиотеки для оптимизации отрисовки;
ленивая загрузка страниц при работе с React.
2 июня, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode Interviews - React - Шаг 2 - Routing. Добавьте следующие страницы и реализуйте маршрутизацию между всеми страницами
- Список задач. Должна быть возможность добавлять теги прямо в списке. Ссылка в элемент списка должна вести на страницу задачи.
- Список пользователей. Должна быть возможность видеть и редактировать рейтинг пользователя прямо в списке. Ссылка в элемент списка должна вести на страницу профиля пользователя.
Для управления состоянием рекомендуется использовать redux или mobx.
Архитектура фронтенд приложений - микрофронтенды
понимать, что такое микросервисная архитектура во FrontEnd;
различать подходы проектирования приложений;
понимать различия в реализации архитектур веб приложений.
4 июня, 20:00 — 21:30
Современные рендеринг фреймворки и аспекты SSR
различать подходы проектирования приложений; использовать Next.js или Remix для быстрого старта SSR; использовать плюсы стэка React для создания кросс; платформенных приложений.
9 июня, 20:00 — 21:30
Домашние задания: 1
ДЗ
Клон LeetCode Interviews - SSR. - Реализуйте SSR для страниц списков приложения технических интервью, используя Next.js или Remix
Проектная работа
Заключительный месяц курса посвящен проектной работе. Это то, чем интересно заниматься студенту на базе знаний, полученных на курсе.
При этом не обязательно закончить его за месяц. В процессе написания по проекту можно получить консультации преподавателей.

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


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

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

Михаил Кузнецов
Fullstack developer и тимлид в Zalando, Germany
Проектирует и поддерживает процессы WEB-разработки. Опыт в разработке - более 10 лет. Консультировал по разработке, занимался популяризацией фронтенд-фреймворка Vue и SvelteJS.

Кроме JavaScript, имеет опыт разработки на Python и Java. С 2017 года выступал на множестве конференций, включая Frontend Conf Moscow, JSNation, Vue conference и др.


Образование: Xимфак МГУ.

Otus Certificated Educator
Преподаватель курсов:
JavaScript Developer. Professional
Запланируй обучение с выгодой!
Получи скидку 10% на все курсы ноября и декабря до 16.11 →