Size: a a a

Node.js — русскоговорящее сообщество

2020 February 05

V

Vint in Node.js — русскоговорящее сообщество
Sergey 🛸
Зачем это в асинхронном приложение?
Не знаю. Мне вот не надо) И вопросы, собственно, не ко мне.
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Неужели ты пытаешься угадать как работает cluster?
источник

V

Vint in Node.js — русскоговорящее сообщество
А вообще, не важно, как работают и балансируются процессы ноды, главное не забывать о graceful shutdown процессов. Его надо писать самому, местами очень project-specific.
источник

V

Vint in Node.js — русскоговорящее сообщество
Sergey 🛸
Неужели ты пытаешься угадать как работает cluster?
Не пытаюсь, но вдруг угадал? Где бонус взять? О чём речь вообще?
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
О том что за built-in smarts, а не о том чем знаменить ноду в балансировке или как делать graceful shutdown
источник

V

Vint in Node.js — русскоговорящее сообщество
У тебя не было этого вопроса. Если есть, что дополнить - давай.
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Я пока не вижу ничего про built-in smarts, нечего дополнять
источник

V

Vint in Node.js — русскоговорящее сообщество
Sergey 🛸
Я пока не вижу ничего про built-in smarts, нечего дополнять
А я вижу, что этот маркетинговый awesome появился аж в 2013-м и всё. А магии никакой на самом деле нет.
Но можно спросить автора rr-логики, что же он имел в виду.
источник

a

asc11cat in Node.js — русскоговорящее сообщество
источник

GS

Grigorii K. Shartsev in Node.js — русскоговорящее сообщество
Спасибо
источник

D

D M in Node.js — русскоговорящее сообщество
Доброй ночи, делаю сейчас бэк на ноде для приложения на андроиде. В приложении будет возможность зарегаться вводя почту пароль имя и т.д. А еще должна быть возможность авторизоваться через google.
В базе лежит табличка users (id, name, email, pass, ...)
Если пользователь авторизуется через google (мне на сервер придет токен гугла), то каким образом мне создавать и хранить юзера в базе? Как авторизовывать... И как лучше endpoint-ы сделать. Сейчас /register для регистрации, /login для обычного логина через логин пароль, /login/google для авторизации (регистрации если аккаунт не был создан) через гугл токен. Может что почитать чтобы лучше с этим разобраться?
источник

ИК

Игорь Корнелли in Node.js — русскоговорящее сообщество
D M
Доброй ночи, делаю сейчас бэк на ноде для приложения на андроиде. В приложении будет возможность зарегаться вводя почту пароль имя и т.д. А еще должна быть возможность авторизоваться через google.
В базе лежит табличка users (id, name, email, pass, ...)
Если пользователь авторизуется через google (мне на сервер придет токен гугла), то каким образом мне создавать и хранить юзера в базе? Как авторизовывать... И как лучше endpoint-ы сделать. Сейчас /register для регистрации, /login для обычного логина через логин пароль, /login/google для авторизации (регистрации если аккаунт не был создан) через гугл токен. Может что почитать чтобы лучше с этим разобраться?
для гугла я перенаправляю на свой сервер токен, там уже через ноду забираю все с гугла, создаю пользователя и отправляю эти данные обратно со своим токеном, потому что гугловский быстро тухнет.
источник

ИК

Игорь Корнелли in Node.js — русскоговорящее сообщество
вообще конечно в идеале иметь SSO, где будут вязаться аккаунты из разных источников
источник

AS

Alexandr Shumakov in Node.js — русскоговорящее сообщество
Есть у кого пример платформы, куда интегрируются разного рода сервисы?
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Alexandr Shumakov
Есть у кого пример платформы, куда интегрируются разного рода сервисы?
Express
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Алексей Карташов
т.е. изначально есть группа роутов, упрощенно что-то типа такого:

import Router from '@koa/router';

export default function setupRoutes(config = {}) {
 const router = new Router(config);

 router.get('/', ctx => {
   // ...
 });

 router.post('/users/:id', ctx => {
   // ...
 })

 return router;
}

где-то снаружи вызывается эта setupRoutes и вернувшиеся роуты маунтятся на веб-сервер.

но вот как внутри эти роутов вызвать сервисы из сервисного слоя, при условии, что делать это надо через inversify? прокидывать container внутрь setupRoutes и уже там делать что-то типа такого?

import { TYPES } from '~/services';

export default function setupRoutes(container, config = {}) {
 // ...

 router.post('/users/:id', async ctx => {
   const user = ctx.body;
   // validation here...

   const usersService = container.get(TYPES.UsersService);
   await usersService.createUser(ctx.body);
   // ...
 })

 return router;
}

Но ведь тогда di превращается в Service Locator, что как бы антипаттерн и такого же результата я могу достичь и без inversify.

Такой подход норм вообще? Или что-то всё-таки не так в моих размышлениях?
делают так: указывают в конструкторе (у тебя это setupRoutes) конкретные зависимости.

* https://github.com/inversify/inversify-express-example/blob/master/Basic/controller/user.ts
* https://dev.to/msplatam/how-to-use-inversifyjs-and-utils-with-nodejs-typescript-2pn

еще есть чат про архитектуру — @oop_ru
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
делают так: указывают в конструкторе (у тебя это setupRoutes) конкретные зависимости.

* https://github.com/inversify/inversify-express-example/blob/master/Basic/controller/user.ts
* https://dev.to/msplatam/how-to-use-inversifyjs-and-utils-with-nodejs-typescript-2pn

еще есть чат про архитектуру — @oop_ru
спасибо за ответ!
да, я видел эти пакеты от inversify-я. но лично мне ближе к телу коа) но не суть)

Из этой же серии вот такое решение:
https://github.com/typestack/routing-controllers

Но что-то мне такой подход не очень нравится.
Да и не факт, что оно заведётся на бабелевских декораторах
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
я на js пишу - на ts писать что-то для продакшна я пока не готов)
источник

АК

Алексей Карташов in Node.js — русскоговорящее сообщество
ну и в процессе изучения class-based контроллеров у меня возник ещё вопрос - как внедрять сервисы в мидлвари?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Алексей Карташов
спасибо за ответ!
да, я видел эти пакеты от inversify-я. но лично мне ближе к телу коа) но не суть)

Из этой же серии вот такое решение:
https://github.com/typestack/routing-controllers

Но что-то мне такой подход не очень нравится.
Да и не факт, что оно заведётся на бабелевских декораторах
можно и без декораторов все делать. просто указывать зависимости в конструкторе. правда зачем тогда inversify...
источник