Заметки по стримингу m.vk.com

Tatiana Leonteva
yepstepz

Немного ссылок и текста для доклада.

Слайды 10-18, про kPHP и что это такое: видео

Слайды 21-30. Дока developer.mozilla про Transfer Encoding: chunked (Далее TEC)

Слайды 31-16.

  • Node посылает TEC если не указано обратного

  • Node для чанков использует .write() + .end(). Express использует send(). Чем отличается? Стаковерфлоу (спойлер: express.send() = write() + end()).

  • У php есть методы php::flush и php::ob_flush https://stackoverflow.com/a/4191417

Слайды 36-39. Про то, как решали проблемы на бекенде с TEC

Слайд 41. Еще раз, доклад Александра Кирсанова про устройство VK и про kPHP. Ссылка.

Слайд 53-60. В докладе упоминаю скрипты с атрибутами async, defer. На всякий, прикладываю напоминание.

Слайды 61-77. Мы используем Webpack для того чтобы собирать скрипты в определенном порядке, а для подключения к странице используем самоличный Static Manager (далее – SM). SM отдает строку, которая вставляется в <head>.

Слайд 90. Персонаж из игры The Alumnus of Darkness.

Слайд 96-100. Инструмент webpagetest

Слайды 105-109.

  • В докладе часто упоминаются HTTPHeader’ы

  • В пхп хэдеры проставляются в коде через функцию header(). В доке по ссылке пример с хэдерами с редиректами, которые вызывали наибольшую фрустрацию при разработке.

Слайд 111. Дока по мета-тегу с редиректом

Слайд 124. Кто такие VK Tester’ы которые тестирует фичи до того как они попадут в прод? Ответ здесь.

Слайд 148. Про ReportingAPI для Хромиума. Как логировать краши браузера.

Слайд 157. Как ускоряли мобильную версию m.vk.com. Ссылка на доклад.

Слайд 158. Концепция web vitals из доклада.

Слайды 161-175. Когда график идет вниз – это хорошо! Время уменьшается. Слева шкала в секундах.

Слайд 194. GraphQL + Relay. Почитать про Relay: https://relay.dev/

Слайд 198.

Презентация: https://yepstepz.io/codefest-05-24/CodeFest_may_2024_Leonteva.pdf