@nodejs_ru

Страница 2741 из 2748
Alexander
25.10.2018
22:17:14
я умываю руки.
Вот так бы сразу, ну че ты

Дмитрий
26.10.2018
03:07:28
у меня тут один вопрос есть архитектурный... вот есть у нас експрес, монга - по сути - самописная адвансед админка поверх бдшки... стандартные флов почти на каждый ендпоинт 1. Проверка прав доступа на едпоинт ( jwt ) 2. Вадидация пейлоада 3. Работа с бд (крад) 3. Иногда - чутка бизнесс-логика, статистика там, иногда -бродкаст по сокетах 4. Сериализация аутпута 0. - между всеми этими фазами бегает еррор хендлинг. ------- под всё это есть достаточно хорошие мидлвары / либы, которые можно заврапить в мидлвары только вот я нигде не найду какого-то патерна/подхода/врапера на всё это дело. Хотелось бы разбросать всё это по файлах/папках, и по каких-то признаках "билдить" роуты на старте сервера. Чем-то очень издали напоминает рельсы/ларавель/джанго. Может у кого-то есть что сказать на этот счёт? как можно красиво это обыграть?
AWS ApiGateway + CloudFront + CloudFormation

Гораздо проще будет

Roman
26.10.2018
03:18:53
Без консервантов будет сложнее

Google
Дмитрий
26.10.2018
03:57:39
В поддержке легче, чем куча кода делающая то же самое

Но я не настаиваю)

Roman
26.10.2018
04:27:23
Это типа шутка была: открыл тг, вижу ник + начало последнего сообщения "Без консервантов Гораздо проще..."

Саня
26.10.2018
06:31:40
кто-нибудь использовал auth0 для авторизации пользователей через смс и соц. сети? этот сервис стоит того, чтобы платить по 50т.р. за 50 тыс. пользователей?

Саня
26.10.2018
07:15:21
а кто-нибудь реализовывал авторизацию с помощью fb login для мобильных платформ? есть стандартные библиотеки для проверки access токена, переданного с клиента? passportjs такого вроде не умеет

Alexander
26.10.2018
07:15:44
наверное, кто-нибудь да реализовывал

Victor
26.10.2018
07:17:24
Всем привет

Есть чатик про Jenkins или CI/CD?

some_random_anonymous
26.10.2018
07:20:21
Arthur
26.10.2018
08:25:00
всем привет, знатоки sequelize, помогите плз, бьюсь уже все утро как рыба об лед, не могу понять, че ему надо(( Мне нужно всего лишь включить в where (верхнего уровня) поле из ассоциации. У меня есть модели priceTagsDocuments и priceTags, вторая belongsTo первая, в общем все как обычно. Мне нужно забрать из бд PriceTagsDocuments include-нув priceTags, и чтобы PriceTags.name был like мой фильтр с фронта. И я хоть убей не могу это сделать, как только не пробовал - секвелайз постоянно орет, что missing FROM-clause for table priceTags:( Перечитал весь гугл, перепробовал все что нашел - ничего не помогает. Мне нужно это сделать именно в "верхнем" where, потому что там будут еще другие условия, и они будут через OR. Вот мой код



Google
Arthur
26.10.2018
08:25:23
но сучий секвелайз почему-то пишет WHERE еще ДО LEFT JOIN

Purple
26.10.2018
08:28:06
Include [ { model: mymodel, where { column: { $like: %search%} } ]

Arthur
26.10.2018
08:29:14
да, но мне нужно именно верхнее условие, там еще будут другие фильтры, и нужно чтобы этот фильтр по ассоциации был OR с ними

Yadgar
26.10.2018
08:29:23
Кто с uws работал ?

Антон
26.10.2018
08:31:22
Коллеги, добрый день. Мы с коллегой создаем продукт, который, по нашему мнению, несколько облегчит работу с docker-ом. Для выявления актуальности нашей разработки мы составили небольшой опросник. Если Вам не сложно, просьба ответить на вопросы. Спасибо! https://goo.gl/forms/GbsPoPmk8ca8zGkE3 Публикуется с разрешения @Atassis

Kostya
26.10.2018
08:43:21
Подскажите чатик по сиквелайзу пожалуйста

Konstantin
26.10.2018
08:44:20
ого, даже такое есть. какие узконаправленные чатики

Yaroslav
26.10.2018
08:44:31
Там дока печальная

Некоторые кейсы стоит обсуждать

?Invisible knight?
26.10.2018
09:10:08
Кто знает, как в cms keystone сделать подобное? keystone.populateRelated(courses, 'chapters[lessons[tasks]]')

Yura
26.10.2018
09:16:39
Кто знает, как в cms keystone сделать подобное? keystone.populateRelated(courses, 'chapters[lessons[tasks]]')
Популяцию хочешь сделать? Так кейстоун имеет обычный mongoose под капотом, популяции так же как и в монгусе делаются

Yadgar
26.10.2018
09:25:34
Кто с uws работал ?
ответ: баг пакета при версии node.js >8.12.0

?Invisible knight?
26.10.2018
09:43:45
Популяцию хочешь сделать? Так кейстоун имеет обычный mongoose под капотом, популяции так же как и в монгусе делаются
А как можно сделать эту конструкцию при помощи populateRelated keystone.list('courses').model.find().populate({ path: 'chapters', populate: { path: "lessons", populate: "tasks" } }).exec(function (err, courses) { console.log(courses[0].chapters) });

Casius
26.10.2018
09:52:26
привет всем!!! кто работал с сокетами? можете подсказать как с ноды отправить асинхронный коллбэк и потом его получить

io.on('connection', function (socket) { socket.on('ferret', function (name, fn) { fn('woot'); }); });

Vadim
26.10.2018
09:58:54
вопрос вроде был про emit со стороны сервера и получение callback. Насколько я знаю сервер не может получать callback на свои эмиты, только клиент может получать колбеки на свои эмиты. поправьте пожалуйста если ошибаюсь...

io.on('connection', function (socket) { socket.on('ferret', function (name, fn) { fn('woot'); }); });
здесь как раз вы отвечаете в колбек на запрос от клиента.

Google
Casius
26.10.2018
10:02:17
здесь как раз вы отвечаете в колбек на запрос от клиента.
это из офф доки socket.io, но мне нужено асинхронно ответить

var app = require('http').createServer(handler) var io = require('socket.io')(app); const acknowledge = require('socket.io-acknowledge'); io.use(acknowledge); function handler(req, res) { res.writeHead(200); res.end(); } io.on('connection', (socket) => { socket.on('rabbitmq', async data => { var res = new Promise((resolve, reject) => { setTimeout(() => { resolve(data); }, 6000); }); console.log(await res); return await res; }); }); app.listen(3100, () => { console.log('server is open in http://localhost:3100'); });

есть вот такая вот штука

но на нг приходить ответ null

Vadim
26.10.2018
10:04:40
попробуйте добавить callback: async (data, callback) => {} и в конце делать callback(await res) может так сработает

или если клиент ожидает (err, result) => {} тогда отвечайте callback(null, await res)

Casius
26.10.2018
10:06:19


я так делал

Vadim
26.10.2018
10:06:56
покажите как вы делаете emit с клиента

Casius
26.10.2018
10:07:53


?Invisible knight?
26.10.2018
10:27:29
А что такое populateRelated и в чам отличие между обычным популейтом?
если в моделе есть подобное: modelName.relationship({ ref: '...', refPath: '...', path: '...' }); то пользуются populateRelated

Yura
26.10.2018
10:29:44
Я ж говорю там чистый монгус Глянь доку

?Invisible knight?
26.10.2018
10:30:33
Так в кейстоуне так же делается
populateRelated это функция из keystone

var _ = require('lodash'); module.exports = function populateRelated (rel, callback) { var item = this; if (typeof callback !== 'function') { throw new Error('List.populateRelated(rel, callback) requires a callback function.'); } this.getRelated(rel, function (err, results) { _.forEach(results, function (data, key) { item[key] = data; }); callback(err, results); }, true); };

Сергей
26.10.2018
10:41:24
мерзко

Alexey
26.10.2018
10:51:25
Можете мне разъяснить. Есть допустим приложение на 8 функций и есть проц на 8 ядер. Грубо говоря нода выполнит 8 фнкций на 8 ядрах одновременно, а пхп 8 функций на 1 ядре последовательно

Nikita
26.10.2018
10:51:47
мерзко
хейт ангуляра ?

Google
Alexey
26.10.2018
10:52:21
Нет
А как?

Danila
26.10.2018
10:54:16
А как?
Child processes can be spawned by using our child_process.fork() API, and are designed to be easy to communicate with. Built upon that same interface is the cluster module, which allows you to share sockets between processes to enable load balancing over your cores.

Node.js is single-threaded in order to make the runtime simpler to write. Although Node.js is event-driven, it does not parallelize execution of your program. Only one part of it ever runs at any instant, and the event loop is single threaded.

Danila
26.10.2018
10:57:01
Ты можешь форкать процессы, но один процесс параллелиться не умеет

Alexey
26.10.2018
10:57:52
Чет сложно. А на ноде можно работать с ядрами и оперативной памятью?

Yura
26.10.2018
10:58:22
Чет сложно. А на ноде можно работать с ядрами и оперативной памятью?
Нет Нужна работа с ядрами и оп иди в другие платформы

Danila
26.10.2018
10:59:05
Чет сложно. А на ноде можно работать с ядрами и оперативной памятью?
С ядрами - нет, насколько мне известно. С памятью можешь попробовать через https://github.com/Rob--/memoryjs

Но если ты такой серьёзный господин, то тебе в го или шарпы, я думаю.

Eugene
26.10.2018
10:59:37
кластер по-моему сам балансирует по ядрам спавнутые треды, нет?

Александр
26.10.2018
11:00:18
Alexey
26.10.2018
11:00:25
Но если ты такой серьёзный господин, то тебе в го или шарпы, я думаю.
Смотри нода написана на c++ разве нельяза на плюсах написать модуль для ноды?

Alexey
26.10.2018
11:01:07
Можно
И в итоге будет работать если сделать все правильно?

Eugene
26.10.2018
11:01:15
Модуль ничего не балансирует
не так сказал, имел в виду это по факту прокладка до юниксового форка, а он уже может и раскидывать

но конечно непосредственно управлять балансировкой нельзя

Danila
26.10.2018
11:01:38
И в итоге будет работать если сделать все правильно?
Говорят, там адок с системой сборки и прикручиванию всего этого, но ето не точно

Yura
26.10.2018
11:01:50
И в итоге будет работать если сделать все правильно?
Понятия не имею, может и сработает Но в таком случае может сразу на плюсах писать?

Alexey
26.10.2018
11:02:34
Понятия не имею, может и сработает Но в таком случае может сразу на плюсах писать?
Тоесть взять часть функционала написать на плюсах, а все остальное на ноде, разумно)

Google
Yura
26.10.2018
11:03:22
Тоесть взять часть функционала написать на плюсах, а все остальное на ноде, разумно)
Нет, я хотел сказать пиши сервер на плюсах Не делай из сапога ракету. Нода это сапог и она не предназначена такое делать

Eugene
26.10.2018
11:03:35
если нода не устраивает, может все же в шарп, го или джаву? зачем винегрет?

Zak
26.10.2018
11:03:57
Всем привет. Вопрос по TypeScript. Я немного новичок, поэтому сильно не ругайтесь

Yura
26.10.2018
11:03:59
Тоесть взять часть функционала написать на плюсах, а все остальное на ноде, разумно)
Можешь кластером 8 инстансов ноды запустит Например через pm2

Zak
26.10.2018
11:04:19


Alexey
26.10.2018
11:04:26
Я на го могу написать маленький бложеп, дальше я уроков не нашел

Danila
26.10.2018
11:04:59
Я на го могу написать маленький бложеп, дальше я уроков не нашел
Пишешь по урокам, но хочешь ручками с памятью работать и ядрами?

А ты хорош

Zak
26.10.2018
11:05:09




без TypeScript'a я писал просто app.get('/api/auth', auth, (req, res) => { res.json({ isAuth: true, id: req.user._id }) })

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