Ваша Всратость
Продолжаю допиливать страничку на Глитче
Вывод:
Базовый readFile что в обычном исполнении, что в промисовой обертке не умеет адекватно работать с бинарниками. Тем более - с тяжелыми бинарниками >> 100кБ весом. Надо юзать createReadStream + pipe + обработчик on-open/on-error
Вывод:
Базовый readFile что в обычном исполнении, что в промисовой обертке не умеет адекватно работать с бинарниками. Тем более - с тяжелыми бинарниками >> 100кБ весом. Надо юзать createReadStream + pipe + обработчик on-open/on-error
У глитча как хостинга две проблемы - задержка перед "прогревом" приложения и относительно древняя (16-ая) версия Ноды. Есть FlyIo, там нужны некоторые познания в докере, чтобы написать контейнер, но это проще, чем с нуля поднимать машину и вешать на нее всю инфру.
Что касается проблемы с подгрузкой изображений, то это никоим образом с хостингом не связано, дело в нюансах того, как Нода обрабатывает и отдает клиенту бинарники.
Но тут разобраться не особо сложно, похожим образом Нода работает с POST-запросами, а с их обработкой на стороне бэкенда я уже имел дело. И если совсем тяжко, то можно вкрутить express, у него такие вещи идут из коробки, но мне интересно, что Нода делает под капотом на низком уровне
Собственно, сайт и есть js-приложение, которое исполняется нодой и порождает сервак в минимальной конфигурации. А далее все определяется тем, чего от сайта хотят.
Можно:
- Прикрутить серверное кэширование, чтобы наиболее востребованные данные не дергать всякий раз из базы/файловой системы. Производительность!
- Наделать и запараллелить воркеров для вычислительно-емких задач (у меня где-то валялась самопальная рисовалка фракталов, например)
- Перекинуть рендеринг на сторону бэка, если СЕОшники спокойно жить не дают (но имхо это от лукавого, и достаточно JSON-LD)