Skip to content

Commit 4ae7e9e

Browse files
authored
Merge branch 'vvscode:master' into master
2 parents 12920f1 + ecc0c34 commit 4ae7e9e

File tree

7 files changed

+48
-13
lines changed

7 files changed

+48
-13
lines changed

lessons/lesson04/01.md

+1-8
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ API браузера для работы с веб страницей и ее э
7676

7777
- `document.getElementById`
7878
- `document.getElementsByTagName`
79+
- `document.getElementsByClassName`
7980
- `document.querySelector`
8081
- `document.querySelectoAll`
8182

@@ -161,14 +162,6 @@ console.log(JSON.parse(localStorage.getItem("value2"))); // { name: 'Bob' }
161162

162163
Важно помнить, что если значения нет - вы получите `null` и десериализация сломается. Поэтому перед вызовом `parse` нужно проверять данные.
163164

164-
<!-- v -->
165-
166-
В разработке принято писать на уровне интерфейсов (абстракций), а не реализаций. То есть вы должны знать ЧТО делает функция или модуль, но не КАК.
167-
168-
Когда вы начинаете использовать детали реализации - это называется "протекающая абстракция".
169-
170-
<!-- v -->
171-
172165
### Вопросы?
173166

174167
<!-- v -->

lessons/lesson04/02.md

+9-5
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ function doSomething() {
119119

120120
const promise = doSomething();
121121
promise.then(successCallback, failureCallback);
122+
promise.then(successCallback).catch(failureCallback);
122123
```
123124

124125
<!-- v -->
@@ -161,17 +162,20 @@ calculateSomethingAsyncWithPromise(x)
161162
```
162163

163164
<!-- v -->
165+
[Top-level await](https://github.com/tc39/proposal-top-level-await).
164166

165-
**НО!** сейчас `await` работает только в `async` функциях.
166-
167-
Хотя мы все ждем [Top-level await](https://github.com/tc39/proposal-top-level-await).
168-
167+
```js [1-30]
168+
const x = 2;
169+
const result = await calculateSomethingAsyncWithPromise(x);
170+
const secondResult = await calculateSomethingElseAsyncWithPromise(result);
171+
console.log(secondResult);
172+
```
169173
<!-- v -->
170174

171175
Краткий итог:
172176

173177
- некоторый функции нужно вызывать с ключевым словом `await`
174-
- `await` работает только внутри функций, которые помечены как `async`
178+
- `await` работает только внутри функций, которые помечены как `async` и в top-level
175179

176180
Подробнее мы будем разбирать на занятии про асинхронность
177181

lessons/lesson05/homework2.md

+5
Original file line numberDiff line numberDiff line change
@@ -16,3 +16,8 @@ https://www.codewars.com/kata/56eff1e64794404a720002d2
1616
https://www.codewars.com/kata/56d931ecc443d475d5000003
1717
https://www.codewars.com/kata/56d9c274c550b4a5c2000d92
1818
https://www.codewars.com/kata/5507309481b8bd3b7e001638
19+
20+
### Критерии принятия
21+
22+
- студент сбросил в чат профиль со своими именем и фамилией
23+
- в профиле решены требуемые задачи

lessons/lesson13/ht.md

+9
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,12 @@
1111
- 1 страница для онлайн чата (пользователь может указать свое имя, ввести текст сообщения и видеть список сообщений от других пользователей в списке со скролом) - только разметка, без функционала.
1212
- сделать пуллреквест для отображения изменений
1313
- к описанию пуллреквеста приложить ссылку на просмотр страницы (с использованием [rawgithack](https://raw.githack.com/))
14+
15+
### Критерии принятия
16+
17+
- создан новый репозиторий
18+
- в открытом Pull Request видна вся выполненная работа
19+
- настроены линтеры и github actions
20+
- сверстаны нужные страницы, структура страниц соотвествует требованиям
21+
- нет серьезных замечаний по реализации (как верстки, как и настройке проекта)
22+
- к Pull Request приложена сслыка (ссылки) на превью через githack

lessons/lesson19/ht.md

+9
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,12 @@
1010
- покрыть тестами (не менее 80%)
1111
- добавить линтеры и workflow для проверок (в тч проверку на минимальное покрытие)
1212
- PR с кодом отправить в ЛК
13+
14+
### Критерии принятия
15+
16+
- Настроен новый репозиторий (линтеры, автоматизации)
17+
- сделан PR отражающий сделанные изменения
18+
- реализована функция `getNextGeneration()`
19+
- код описан типами Typescript и покрыт тестами
20+
- покрытие кода не менее 80% (установлено требование через coverageThreshold и тесты на CI проходят эту проверку)
21+
- нет серьезных нареканий к реализации

lessons/lesson20/ht.md

+7
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,10 @@
1414
- реализовать приложение ""Игра Жизнь"" на языке Typescript https://ru.wikipedia.org/wiki/%D0%98%D0%B3%D1%80%D0%B0_%C2%AB%D0%96%D0%B8%D0%B7%D0%BD%D1%8C%C2%BB
1515
- ссылку на задеплоенную страницу и на пуллреквест сбросить в чат по дз
1616
- настроить jest и написать тесты на приложение
17+
18+
### Критерии принятия
19+
20+
- Выполняются стандартные требования (PR, линтеры, автоматизации)
21+
- Игра жизнь реализует стандартный функционал + изменение скорости и размера поля
22+
- Нет серьезных нареканий по реализации
23+
- Код покрыт тестами (с покрытием не ниже 60%)

lessons/lesson28/ht.md

+8
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,11 @@
1313
- фильтрация задач (по тексту, дате, статусу, тегам)
1414

1515
- Реализовать преложенный интерфейс с использованием в качестве хранилища (две реализации) - locasStorage - firebase
16+
17+
### Критерии принятия
18+
19+
- Выполняются стандартные требования (PR, линтеры, автоматизации)
20+
- Предложен интерфейс (с описанием на Typescript), который позволяет делать CRUD и фильтрацию
21+
- Предложеный интерфейс закладывает гибкость для смены реализации
22+
- Предоставлены 2 реализации интерфейса (на базе синхронного и асинхронного хранилищ)
23+
- Нет серьезных замечаний по качеству решения

0 commit comments

Comments
 (0)