@nodejs_ru

Страница 667 из 2748
Alex
20.03.2017
16:01:27
совет-то ок

но ему нужно открыть соединение в хендлере роута

Alexander
20.03.2017
16:01:46
Чёрт, серьёзно. Ведь у меня могут подключиться несколько пользователей и у каждого своё подключение...

Alex
20.03.2017
16:01:48
т к коннстринг приедет от клиента

Google
Alexander
20.03.2017
16:02:40
Я думал завести переменную, которая будет хранить строку подключения, но тогда получается, что она будет переписываться...

Alex
20.03.2017
16:02:42
парни, есть какой-нить бойлерплейт нормальный с нормальным? require('./db') app()

Max
20.03.2017
16:02:44
В чем проблема создать один объект, хранящий коннект, и передавать его, когда он нужен?

Alex
20.03.2017
16:02:52
а то мы не объясним

потому что у него разные коннекты

и разные connectionString

Alex
20.03.2017
16:03:14
А, ну если так, то самый прямой путь - открывать соединение при каждом запросе. Не самый эффективный способ, но и не так, чтобы сильно страшно. Тем более, насколько я понимаю, цель учебная) Потом поймешь, как соединения лучше кэшировать.

Max
20.03.2017
16:03:18
Конект стринг?

А

Ты уже написал

Alex
20.03.2017
16:03:42
но ему нужно открыть соединение в хендлере роута

т к коннстринг приедет от клиента

Max
20.03.2017
16:03:59
Пропустил этот момент

Google
Alex
20.03.2017
16:04:35
у тебя какая-то авторизация будет?

Alex
20.03.2017
16:04:56
А, ну если так, то самый прямой путь - открывать соединение при каждом запросе. Не самый эффективный способ, но и не так, чтобы сильно страшно. Тем более, насколько я понимаю, цель учебная) Потом поймешь, как соединения лучше кэшировать.
тут штука в том, что соединение штука всё же дорогая, и ты не можешь (или не хочешь) кэшировать, условно, 1000 коннектов к базе/базам. Т.е. у твоего коннекта более сложный жизненный цикл будет.

Поэтому открывай каждый раз при новом коннекте от пользователя. Потом разберешься как сделать правильно

Alex
20.03.2017
16:07:24
вопрос

Alexander
20.03.2017
16:07:31
у тебя какая-то авторизация будет?
Не. Это приложение для зачёта по Базам данных в универе

Alex
20.03.2017
16:07:34
а зачем клиентам вводить строку подключения вручную?

а по*** ваще

лепи че хочешь

главное отчет

открывай коннекшн в хендлере - норм

это будет только препод смотреть

Alexander
20.03.2017
16:08:31
а зачем клиентам вводить строку подключения вручную?
Студент может работать с БД основной, а может со своей личной

Alex
20.03.2017
16:09:34
ну тогда наверное проще знать вообще какие могут быть коннекшн стринги, хранить их в массиве, на старте открыть все, а юзер будет выбить в <select> теге что он хочет

патамучта тыщу коннекшенов никто не делает никогда нигде кроме универа там делают там можно)

можно потом этот вариант оптимизировать - хранить тот же массив строк и к нему сопоставить коннекшены. если строка есть, а коннекшена нет (null например), то быстренько его поднимаем и дальше храним и переиспользуем

Alex
20.03.2017
16:15:11
варик

у нас преподы хранили ответы к тестам в базе дать студентам самим вводить коннстринг и попасть в преподскую базу - ^^

Google
Alexander
20.03.2017
16:28:55
Только вот как дать каждому поключению уникальный токен? Юзать socket.io?

Nikita
20.03.2017
16:58:01
Надо тестировать апи. Т.е запускать нечто, что делало бы запросы и проверялo результаты. Есть какой-нибудь другой путь, кроме как использовать нативны http или chai-http https://github.com/chaijs/chai-http?

Kanat
20.03.2017
17:11:10
как написать в чат код чтоб красиво получилось?

Roman
20.03.2017
17:12:14
Дай ссылку на pastebin

Kanat
20.03.2017
17:13:05
Дай ссылку на pastebin
Неет, когда в чат код отправляешь, имею ввиду телеграм

Roman
20.03.2017
17:14:09
Красиво не получится, но можешь использовать три символа ` вначале и конце

Nikita
20.03.2017
17:51:09
какой же ебучий это passport

Dmitry
20.03.2017
17:56:31
что в нем конкретно не нравится??

Nikita
20.03.2017
18:30:20
Ух. Начнем с того, что я на самом деле отчасти сам виноват. Когда добавил в статик метод для модели mongoose, который вместо _id искал по id и ничего не находил. Потом оказывается у меня chai-http не отправлял username и password поля.. При этом паспорт никак мне не сигнализировал об этих ошибках. Вот и всио :с Я просто не знал где их искать(ошибки)

Dmitry
20.03.2017
18:37:14
вроде у методов passport.authenticate и passport.authorize есть коллбэки на ошибки. Я давно его использовал, тем не менее запомнил что почти всё пришлось заворачивать в try/catch и пробрасывать ошибки наверх. Но это общая проблема кода на коллбэках

Nikita
20.03.2017
18:37:29
где в доке https://github.com/jaredhanson/passport сказано, что passport.authenticate принимает вторым аргументов в том числе обьект с ключем successReturnToOrRedirect: '/profile'? :с

Почему для того, чтобы проверить залогинен ли пользователь надо ставить отдельный пакет connect-ensure-login и об этом так же нет в доке

Nikita
20.03.2017
18:38:50
Я честно говоря даже понять не могу, работает ли у меня сейчас обработчики для роутов от паспорта или нет. Пока буду разбираться почему chai-http не шлет пост дату

Dmitry
20.03.2017
18:38:56
дока ужасная, согласен

Nikita
20.03.2017
18:39:37
Почему не было сказано сразу, что к монгусу есть еще один пакет? :с Дефолтный пример с доки ведет лишь на просто пример к експрессу

Вобщем хз. Мне надо было быстро накидать авторизацию и регистрацию для тестового, а я промучался с этим больше, чем закладывал

Я понимаю, что необходимо будет сделать соль и хеш для паролей, если это не тестовая, но не вижу об этом упоминания в доке :с

Вобщем может вся проблема только в доке..

Dmitry
20.03.2017
18:42:04
не знаю как щас, но полгода назад какой-либо альтернативы пасспорту для ноды не было вообще :(

чтобы поддерживал (пусть модулями) столько провайдеров авторизации

Google
Alex
20.03.2017
20:20:40
а какие альтернативы паспорту есть сейчас?

Stanislav
20.03.2017
20:21:35
водительское удостоверение

Alex
20.03.2017
20:22:17
require('passport-moryaka')

AlexMist
20.03.2017
21:19:10
Это вообще нормально ? В sequelize js модель со связями в JSON перегонять вручную нужно ?

?

Admin
ERROR: S client not available

Denis
20.03.2017
21:58:38
А кто что для валидации использует? Например, пришёл POST или GET запрос, который надо обработать прежде, чем спроксировать во внутренний сервис.

Denis
20.03.2017
21:58:59
Django Forms :D

Denis
20.03.2017
21:59:32
Оу

Есть ссылка на API под рукой?)

Denis
20.03.2017
21:59:58
API чего?

Если что - можно конечно повесить django rest framework вроде API и валидировать через него но это херня)

(оффтоп про питон)

Denis
20.03.2017
22:03:12
Да не обязательн овешать

Python это тот же JS

Просто взять идею можн)

Denis
20.03.2017
22:41:18
joi
Норм) Мы тут внезапно очень похожий запилили

equicolor
21.03.2017
02:00:01
ajv норм

https://github.com/epoberezkin/ajv

Google
Дмитрий
21.03.2017
03:05:42
joi не нравится своим императивным подходом, всё на функциях, не получится просто так вынести валидацию например в json

Поэтому ajv)

Denis
21.03.2017
03:52:04
В каких кейсах может потребоваться валидация по JSON? :)

JSON Schema вроде не оч подходит для валидации в реальной жизни

Alex
21.03.2017
06:59:39
JSON Schema вроде не оч подходит для валидации в реальной жизни
смотря какие кейсы. JsonSchema прекрасно подходит для валидации _структуры_ документа

Для валидации контента (ну, там, длина пароля, например), нужно что-то еще использовать. Ну или использовать formats из JSON Schema (хотя, это и не все позволяет проверить)

Сергей
21.03.2017
07:20:50
JSON Schema вроде не оч подходит для валидации в реальной жизни
конфиги валидировать шикарно вон вебпак же юзает

Дмитрий
21.03.2017
07:21:40
++

Dreamerinnoise
21.03.2017
07:22:37
В каких кейсах может потребоваться валидация по JSON? :)
Посмотрите как вебпак конфиг проверяет

Сергей
21.03.2017
07:23:57
у меня есть знакомые чуваки, которые валидируют входящие данные REST API на сервере

Pavel
21.03.2017
07:26:07
юзаем swagger (openAPI теперь) это по сути RESTful платформа на основе JSON Schema

Сергей
21.03.2017
07:30:29
Разве не JSON API?
не https://www.openapis.org/

Это разумно :) А что используют?
костыльно немного я не помню какой пакет для валидации юзали хотели сваггер, но не перешли ещё

Mikhail
21.03.2017
08:02:16
Юзаем самопис поверх raml схемы

Страница 667 из 2748