V
как в нормальный REST добавить автора? например PUT /posts/{id}/like, обязательным тело делать с ссылкой на автора, а если автора подсунули левого?
это при сохранении, а при получении поста можно флаг сразу пихать, или вообще оставить это на фронт
Aleksand
В редисе?
ну так это другой вопрос, там у автора изначально только БД вроде, если задаться ограничениями то можно искать варианты да
Aleksand
Aleksand
при сохранении проверять все равно надо
так изначально вопрос как это делать оптимально
V
ну так есть 2 задачи - првоерка при сохранении и вывод инфы на фронте
Andrew Kiselev
с одной стороны сохранять в like информацию об авторе поста -- это дублирование данных с другой не сохранять данные - это постоянно делать два раза join
Егор
Всем привет! Начинаю работать над крупным проектом на Redux, использую ноду как прослойку для серверного рендеринга, нормализации данных для клиента, и т.д. У кого был опыт нормализации данных, подготовки стейта для клиента при получении данных из внешних источников? Поделитесь опытом?
Егор
Какие библиотеки используете? Или что-то самописное? Плюсы и минусы, с которыми столкнулись?
Егор
Спасибо
Егор
Только для этого нода и нужна, что бы лишнюю логику убрать с клиента, на сервере все данные подготовить. Или с точки зрения производительности это слишком накладно?
Егор
Я как раз фронтендер, и насчет производительности раньше не сильно заморачивался. Не знаю, насколько операции нормализации на сервере могут сказаться на ней.
Andrew Kiselev
Только для этого нода и нужна, что бы лишнюю логику убрать с клиента, на сервере все данные подготовить. Или с точки зрения производительности это слишком накладно?
я делал несколько проектов мобильные/фронтенд с использоватением этой библиотеки. Для тех нужд было достаточно. Если не будет, то есть другой путь, требующий сущестенно больше времени для изучения материала
Егор
Понял, спасбио
ill-ya
На микросервис json запросы лучше делать axios? Fetch?
Николаич
Как потестить авторизацию через GitHub, если сервер на localhost? Что мне указать в Callback URL?
Николаич
Эм, localhost? :)
ну мысль была такая, но решил сначала уточнить ))
Kons
Не надо бояться экспериментировать ;)
Willy
Парни
Willy
Плохая практика делать динамические страницы на node?
Willy
Вернее на экспрессе
KlonD90
а какие ты хочешь выводить?
Willy
При запросе на site.ru/bugs выводить запрос к БД
Gleb
При запросе на site.ru/bugs выводить запрос к БД
Why not? Ты хочешь для этого запилить Web App на React+Redux+Saga+GraphQL?
Borys
парни а можете объяснить как работает event loop или дать пару ссылок на источники?
CherryTea
Why not? Ты хочешь для этого запилить Web App на React+Redux+Saga+GraphQL?
React+Redux+Saga+GraphQL - это максимум на лендос
Borys
спасибо. очень крамольно будет спросить - возможно есть текст его выступления? даже без перевода? про субтитры на ютубе знаю
Borys
ох. сорри и спасибо!
O.
https://m.youtube.com/watch?v=8cV4ZvHXQL4&feature=youtu.be
Ilya
Ещё почитать про libuv
Ilya
Попробовать с ней поиграть в сях
Sergey
Знай свой инструмент: Event Loop в libuv https://habrahabr.ru/post/336498/
Sergey
там есть куски из libuv, довольно неплохая статья
O.
Вопрос достаточно обширной тематики, но задам. Какие существуют хорошие практики по логированию в проекте? Интересует анализ, хранение (критические ошибки и т.д.).
Gleb
Плюсую по поводу статьи.
O.
Хотя Winston вроде как тяжеловат.
Gleb
Bunyan ещё
Aleksand
Bunyan ещё
benchBunyan*10000: 1355.229ms benchWinston*10000: 2226.117ms benchBole*10000: 291.727ms benchDebug*10000: 445.291ms benchLogLevel*10000: 322.181ms benchPino*10000: 269.109ms
Borys
спасибо за перевод и за ссылки!
O.
pino
Почему раньше не видел 🤔
O.
pino
Спасибо!
Aleksand
Почему раньше не видел 🤔
ну мало кого тревожит скорость логгера, меня тревожит, поэтому я всегда такие пакеты вижу и ищу
O.
ну мало кого тревожит скорость логгера, меня тревожит, поэтому я всегда такие пакеты вижу и ищу
Именно поэтому не использовал Winston, свои "наработки" (в кавычках) были.
Gleb
Спасибо!
Если хочешь, можешь переодически простукивать мне в ЛС, я всё никак не собируюсь выложить на GitHub свой конфиг для EFK.
Gleb
Pino достаточно молодой вроде, надо будет попробовать)
Gleb
Ой, да шо там писать...)
Aleksand
Ой, да шо там писать...)
да, многие берутся за час написать, в итоге выходит херово за неделю
Aleksand
Pino достаточно молодой вроде, надо будет попробовать)
он еще и браузер поддерживает, отличный проект и очень толковый подход у ребят
Gleb
Сейчас уже не айс делать лог в файл, пусть этим внешняя аппа занимается (pm2, docker). Остаётся форматирование, но это такое... Про браузерную поддержу да, не подумал, но не думаю, что это нечто фатально сложное, верно?
Gleb
Окей, после еды полистаю исходники этого вашего pino)
Gleb
Лучше до еды
Хм) Пожалуй) На самом то деле ничего особенного, обычный древненький код. Сериалайзер да pretty-print утилка.
Gleb
Быстрота тупо за счёт маленького функционала. Но согласен, да, что простой как лопата, тем и хорош. Но юзать не буду, я лучше свой велосипед построю 🚲
Kons
На поводке только. А то не вернётся.
Ilya
Gleb
чего конкретно там не хватает?
Да вроде всё есть) Но всё равно потом свой напишу 🚲
Gleb
Но для моих целей мне хватит console и JSON.stringify)
Aleksand
Да вроде всё есть) Но всё равно потом свой напишу 🚲
рационально. ага. то есть быстрее потому что толковее написан просто
Gleb
рационально. ага. то есть быстрее потому что толковее написан просто
А у них есть транспорт во внешние сервисы типа logstash? Накапливание и дамп сразу в Elastic?
Aleksand
А у них есть транспорт во внешние сервисы типа logstash? Накапливание и дамп сразу в Elastic?
это не задача логгера в целом, но там про это написано. есть транспорты
Gleb
это не задача логгера в целом, но там про это написано. есть транспорты
Мм... Окей, значит невнимательно читал) Ок, надо будет посмотреть, мб внедрю куда-нибудь. Но опять же, тут немного вкусовщина, это не то, на чём строит проект.
Gleb
Тебя там скорость превлекает, меня... Ну... Bunyan хорошо звучит 😌
Gleb
он быстрее без потери фич в 5-10 раз. это херня?)
Ещё раз надо бенч проверить, не верю я в такое :)