Size: a a a

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

2020 March 28

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Сергей Пограничный
Господа, подскажите best practices работы с базой и работой в mw. У меня есть ряд middlewares они передаются в разные router объекты и делают что-то с базой  - методами объекта db : Database. Подключение к базе обусловлено временем жизни этого объекта. Как всем middlewares красиво общаться с базой не создавая новых подключений? Сейчас я некрасиво передаю им db во время
modulde.exports = (function(){(db) => { router definitions }})()
через server.js, но мне кажется так не делают. Создавать инстанс подключения в отдельном процессе и общатсья emitter'ом или глобальный объект делать?
best practices — это не использовать мидлвары
источник

V

Victor in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
best practices — это не использовать мидлвары
и ноду тогда уж
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
Pavel Shakhov (pongo)
best practices — это не использовать мидлвары
А что использовать?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Сергей Пограничный
А что использовать?
из контроллера вызывать интерактор, который делает работу и возвращает ответ. интерактор обращается к базе через репозитории
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
А если у меня не MVC архитектура?
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
А в интеракторе будет mw опять да? Можно boilerplate увидеть того, о чем вы говорите?
источник

И

Илья | 😶 in Node.js — русскоговорящее сообщество
Сергей Пограничный
А что использовать?
.net core как вариант
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Сергей Пограничный
А в интеракторе будет mw опять да? Можно boilerplate увидеть того, о чем вы говорите?
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Сергей Пограничный
А если у меня не MVC архитектура?
а какая?
источник

СП

Сергей Пограничный in Node.js — русскоговорящее сообщество
Спасибо
источник

PS

Pavel Shakhov (pongo) in Node.js — русскоговорящее сообщество
Сергей Пограничный
А в интеракторе будет mw опять да? Можно boilerplate увидеть того, о чем вы говорите?
мидлвар вообще не будет. разве что кроме встроенных в экспресс или приближенных к этому
источник

E

Envy in Node.js — русскоговорящее сообщество
Сергей, ещё раз большое спасибо за помощь. Понял, о чём вы говорили, совсем из головы вылетело, что попади в indexOf условная 'a', он вернёт индекс самой первой 'a' в строке, а не индекс итерируемой 'a', удалось добиться корректной работы
источник

A

Aleksandr in Node.js — русскоговорящее сообщество
Есть 2 функции getFirstData
getPrevData) как стартануть их одновременно в разных потоках?
источник

S🛸

Sergey 🛸 in Node.js — русскоговорящее сообщество
Aleksandr
Есть 2 функции getFirstData
getPrevData) как стартануть их одновременно в разных потоках?
Создать два воркера и запустить в них
источник

а

артем новиков in Node.js — русскоговорящее сообщество
значит нужно создать 2 файла? сюда впихнуть рабочий код
источник

а

артем новиков in Node.js — русскоговорящее сообщество
import { parentPort } from 'worker_threads';

parentPort.on('message', () => {
const numberOfElements = 100;
const sharedBuffer = new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT * numberOfElements);
const arr = new Int32Array(sharedBuffer);

for (let i = 0; i < numberOfElements; i += 1) {
  arr[i] = Math.round(Math.random() * 30);
}

parentPort.postMessage({ arr });
});
источник

а

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

а

артем новиков in Node.js — русскоговорящее сообщество
а этот файл запускать ? import path from 'path';

import { runWorker } from '../run-worker';

const worker = runWorker(path.join(__dirname, 'worker.js'), (err, { arr }) => {
if (err) {
  return null;
}

arr[0] = 5;
});

worker.postMessage({});
источник

а

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

а

артем новиков in Node.js — русскоговорящее сообщество
Второй способ — создать воркер и настроить обработчики для события message. Каждый раз при запуске это событие выполняет свою работу и отправляет результат обратно в родительский поток, который сохраняет воркер для последующего использования.э
источник