Skip to content

Commit 0b87021

Browse files
committed
Update Readme
1 parent 333e4b2 commit 0b87021

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

Readme.md

+23-23
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212

1313
## ToDo
1414

15-
Работать будем на примере проекта `dev.to` из прошлого задания.
15+
Работать будем на примере проекта `dev.to`, как и в прошлом задании.
1616

1717
Ресурсы:
1818

1919
- https://github.com/FiloSottile/mkcert - инструмент для настройки локальных сертификатов одной командой
2020
- https://www.nginx.com/blog/nginx-1-13-9-http2-server-push/ - настройка `http2-server-push` в `NGinx`.
2121
- https://github.com/surma/http2-push-detect - утилита для проверки `server-push`
22-
- http://railscasts.com/episodes/357-adding-ssl?view=asciicast - старый, но очень понятный `RailsCast`
22+
- http://railscasts.com/episodes/357-adding-ssl?view=asciicast - старый, но очень понятный `RailsCast` про `ssl`
2323

2424
### Шаг 1. Настроить сертификат для локального HTTPS
2525

@@ -86,7 +86,7 @@ server {
8686
Картинки из меню: `connect.svg`, `bell.svg`, `menu.svg` – заинлайнены.
8787
Картинки `stack.svg` и `lightning.svg` – нет.
8888

89-
Попробуйте перезагружать эту страницу и посмотреть как рендерятся эти картинки при перезагрузке.
89+
Попробуйте перезагружать эту страницу с эмуляцией медленного соединения и посмотреть как рендерятся эти картинки при перезагрузке.
9090

9191
Дальше, давайте попробуем двинуться в сторону подхода `HTTP/2` и не будем инлайнить `svg`, а подключим их как обычные картинки.
9292

@@ -128,18 +128,36 @@ Receiving pushed resource: /assets/lightning.svg
128128

129129
Теперь поэксперементируйте, попробуйте включать и выключать `server-push` для тех или иных картинок и оцените, как это сказывается на их рендеринге.
130130

131+
## Bonus 1. Аудит dev.to
132+
133+
Теперь, когда у вас сформировалась интуиция по работе с `HTTP/2` и `server-push`, постройте и проанализируйте отчёт `WebPageTest` для сайта `dev.to` (на проде).
134+
135+
Видите ли вы какие-то возможности использовать возможности `HTTP/2` для оптимизации `dev.to`, исходя из отчётов `WPT`?
136+
137+
## Bonus 2. Falcon HTTP/2
138+
139+
Сервер `Falcon` https://github.com/socketry/falcon утверждает, что может сервить `Rails`-приложения и из коробки поддерживает `HTTP/2`.
140+
141+
Попробуйте настроить работу `dev.to` с `server-push` для `Falcon`.
142+
143+
Сделайте сравнительный бенчмарк `puma` и `falcon` на примере главной страницы `dev.to`.
144+
145+
## Как сдать задание
146+
147+
Нужно сделать `PR` в этот репозиторий с вашими изменениями кода `dev.to` для использования `server-push`, конфигом `NGinx`, ссылкой на сравнение `HAR`-файлов и описанием.
148+
131149
### Шаг 5. Измерение эффекта сделанных изменений
132150

133151
Сравним вариант с `server-push` и с обычными картинками без инлайнинга и без пуша.
134152

135-
Для этого воспользуемся `sitespeed.io` (подробнее расскажу об этом мощном инструменте в лекции №6)
153+
Для этого воспользуемся `sitespeed.io` (**подробно расскажу об этом мощном инструменте в лекции №6**)
136154

137155
#### 5.1 Анализ без `server-push`
138156

139157
Выполните анализ версии без `server-push` и без `inline`:
140158

141159
```
142-
docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io:9.8.1 --mobile -n 5 --preUrl https://host.docker.internal/ https://host.docker.internal/
160+
docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io --mobile -n 5 --preUrl https://host.docker.internal/ https://host.docker.internal/
143161
144162
# --mobile - мобильный вид
145163
# -n 5 - 5 повторов
@@ -164,24 +182,6 @@ docker run --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io:9.8.1 --mobil
164182

165183
На `filmstrip` и `video` также можно увидеть, что `server-push` картинки действительно появляются заметно раньше.
166184

167-
## Bonus 1. Аудит dev.to
168-
169-
Теперь, когда у вас сформировалась интуиция по работе с `HTTP/2` и `server-push`, постройте и проанализируйте отчёт `WebPageTest` для сайта `dev.to` (на проде).
170-
171-
Видите ли вы какие-то возможности использовать возможности `HTTP/2` для оптимизации `dev.to`, исходя из отчётов `WPT`?
172-
173-
## Bonus 2. Falcon HTTP/2
174-
175-
Сервер `Falcon` https://github.com/socketry/falcon утверждает, что может сервить `Rails`-приложения и из коробки поддерживает `HTTP/2`.
176-
177-
Попробуйте настроить работу `dev.to` с `server-push` для `Falcon`.
178-
179-
Сделайте сравнительный бенчмарк `puma` и `falcon` на примере главной страницы `dev.to`.
180-
181-
## Как сдать задание
182-
183-
Нужно сделать `PR` в этот репозиторий с вашими изменениями кода `dev.to` для использования `server-push`, конфигом `NGinx`, ссылкой на сравнение `HAR`-файлов и описанием.
184-
185185
### Чеклист для сдачи задания
186186

187187
- [x] Реализация `server-push` для указанных в задании картинок

0 commit comments

Comments
 (0)