Gor
=)
Анатолий
Кстати, раз пошла такая пьянка, мож кто вдруг сталкивался
Анатолий
библиотека sharp картинки которая
она может работать с пайпом
const transformable = sharp().resize(200);
readable.pipe(transformable).pipe(writable);и есть библиотека aws s3 официальная, которая собственно принимает потоки на загрузку
И вот если я ей даю обычный поток (файла к примеру) оно норм работает и загружает, а если я даю потом с пайпом transformable то оно просто виснет и все, вообще ничего не происходит им ожет так висеть очень долго, я не дожидался окончания собственно
Анатолий
может быть кто-то сталкивался с таким?
Анатолий
он в таком режиме превращается в дуплекс
Анатолий
но тем не менее что-то происходит не так, и я не могу понять что
Анатолий
собственно это выглядит у меня так:
const transformable = sharp().resize(200);
const stream = readable.pipe(transformable);
s3.upload(stream);я подозреваю что в цепочке дело, она обрывается и происходит неестественный переход от пайпов к другим действиям, но моих знаний не хватает чтоб понять что к чему
Sergey
добавить дебаггер внутрь пайпа?
Sergey
или transformable
Sergey
и протыкать?
Анатолий
мой дебагер не входит внутрь библиотек, но transformable при дебаге выглядит как нормальный стрим, судя по свойствам
Анатолий
и stream в итоге тоже
сomorsiс
попробовать заменить для начала s3.upload на запись в локал файл
Sergey
Анатолий
это норм идея, попробую, спасибо
Анатолий
насчет пайпа во вритейбл, это в офф документации описано как маст хев, и я даже не думал что оно может не работать
Анатолий
+ люди в интернетах пайпили на res експрессовский
Анатолий
и типа работало
Анатолий
Это на столько частный случай, что я думал может у кого была идентичная задача, я пытался на лету ресайз картинки сделать и сразу закинуть в с3
Анатолий
именно потоками через шарп
сomorsiс
Анатолий
я не пробовал 😊
Анатолий
но без с3 мне не нужно
Анатолий
Это самая важная часть
сomorsiс
это для определения того что именно отвалилось
Анатолий
я ща попробую
сomorsiс
добавь еще обработку колбека в upload потом, мб там ошибку напишет
сomorsiс
s3.upload({Body: stream}, (err, data) => console.log(err, data))
Анатолий
не, я ща попробую пайпить из ридейбла через шарп во вритейбл
Анатолий
с с3 точно не работает, у меня обработчики ошибок на каждый пук навешаны
Анатолий
паранойя на высшем уровне
Анатолий
так вот, пайпы классические работают шикарно
Анатолий
делов с3 + шарп
Анатолий
однозначно
Combot
combot.org/chat/-1001041204341
Анатолий
Анатолий
я влез в топ, нужно просто чаще текст набирать
Анатолий
на первом месте крутой чувак, 8 собщений и 10% активности в чате
🖤
посоветуйте гайд, как к приложению на node/express прикрутить Vue ? Интересует организация проекта, как папочки устроить и фреймворки подружить.
🖤
Кажется, нашел что мне нужно - https://ssr.vuejs.org/ru/
🖤
Я что-то почитал, и мне уже не кажется, что нужен Vue 😐
🖤
Я просто думаю обойтись handlebars
Alexandr
Народ, кто-нибудь использует express или koa с реактом в качестве серверного шаблонизатора?
Alexandr
я прост вроде все настроил, но вот когда дело дошло до глобальных переменных, то с ними в реакте чет сложно. Мне всего-то нужна возможность определять глобальные переменные для текущего юзера и текущего роута, чтобы не кидать их постоянно через пропсы.
Alexandr
кстати по поводу хендлбарс - по сравнению реактом это треш)
Igor
Попробуй кидать через контекс в реакте
Igor
И никаких глобальных переменных не надо
🖤
Что посоветуете сделать с логгированием? На локалке логи или в консоль или в файл fs.append , а вот если на хероку задеплоить, то там что лучше использовать?
Alexandr
да мне советовали контекст, я чет глянул на него. Как я понял там обязательно нужно определять пропТайпс в родителе и там где будешь использовать контекст + нужен метод getChildContext. Мне показалось это слишком много кода. Для парочки глобальных переменных) Это ведь на каждой странице надо определять всю эту шушеру.
Igor
Igor
И кода там не так уж много. Все делается за 5-10 мин. Можешь написать декоратор или компонент высшего порядка, который будет прокидывать в целевой элемент пропсы из контекста
Alexandr
хмм, спс, попробую разобраться
🖤
Deleted
Deleted
winston для форматированного вывода лога в аутпут
morgan чтобы таскать логи из запросов express’a
Deleted
если покрутить можно направить morgan в winston
shoo
почему в ноде foreach может не отрабатывать ?
Igor
Быть этого не может
Vitaliy
shoo
shoo
ну эвэйт это уже так написал, вдруг поможет ))
shoo
вот форичем прохожусь и не удаляет
shoo
массив объектов
Igor
Await убери
shoo
так без него и было, не робит
Igor
Foreach возвращает undefined, зачем ьам await?
shoo
Igor
И в ошибку ничего не падает?
shoo
нет))
shoo
возвращает так, как будто и не было форича
Vitaliy
Попробуй return Rooms.map(el ...)
Igor
Вообще, ты пытаешься мутировать данных
shoo
пробовал с мапом)) тоже самое
Igor
Igor
Не удаляй элементы в мапе, а верни новый массив