@nodejs_ru

Страница 2683 из 2748
Kool
14.10.2018
14:38:05
Не путай steam с thread.
в ноджс тред один

Дмитрий
14.10.2018
14:38:24
в ноджс тред один
Начинается...

Дмитрий
14.10.2018
14:38:51
а есть смысл сравнивать napajs vs воркеры из 10.5?
Есть. Возможно тупо считать числа напа будет быстрее. Но надо проверять

Google
Alexander
14.10.2018
14:39:50
а есть смысл сравнивать napajs vs воркеры из 10.5?
Воркеры нативные, napa - костыли ©

Nurik
14.10.2018
14:39:52
Если достаточно child_process, то зачем napa? В чём фишка брать более сложное решение вместо более простого?
Это требование работадателя, и потом, постоянно форкать процессы это тоже не очень быстро.

Дмитрий
14.10.2018
14:40:00
в ноджс тред один
1 есть napajs 2 есть worker threads за флагом в 10 ноде 3 есть эмуляции потоков на child_process

Kool
14.10.2018
14:40:24
это всего лишь дубликат процесса

Дмитрий
14.10.2018
14:40:49
это всего лишь дубликат процесса
В 10 ноде настоящие потоки

Alex
14.10.2018
14:40:50
Vsevolod
14.10.2018
14:41:06
Воркеры нативные, napa - костыли ©
Ну, беглый поиск не дал сравнения, бенчей, подобного + воркеры пока экспериментальные и не достигли готовности

Kool
14.10.2018
14:41:37
так зачем тут мультитред

можно обычными стримами получать данные и налету их обрабатывать и выплёвывать

Дмитрий
14.10.2018
14:42:32
Kool
14.10.2018
14:42:58
Придет к тебе два запроса и event loop встанет
тут уже от архитектуры зависит

Google
Kool
14.10.2018
14:43:06
задачи про 2 запроса не было :)

Дмитрий
14.10.2018
14:44:00
тут уже от архитектуры зависит
Не зависит ничего от архитектуры. Если у тебя в запросе 10 секунд подсчета данных, то как бы ты не ебался, в один поток нормально это работает не будет. Нужны либо потоки, либо микросервисы

задачи про 2 запроса не было :)
Отлично. Выйдет одноплльзовательская система

Nurik
14.10.2018
14:44:48
Можно не постоянно форкать, а тот же пул обеспечить
Да, я так и делаю и решение вполне годное. Но как я и сказал, это требование работадателя, не знаю как у них там, возможно есть нюансы.

Alex
14.10.2018
14:45:40
будет
Но с большим напрягом Слишком большим

Kool
14.10.2018
14:45:51
у ноды априори асинхронная природа

так что сделать неблокирующие операции достаточно просто

Alex
14.10.2018
14:46:51
Дмитрий
14.10.2018
14:47:14
у ноды априори асинхронная природа
Иногда нужно делать расчеты которые занимают event loop на продолжительное время. Если все что вы делаете в ноде это иногда ходите в бд, то конечно вам потоки не нужны. Но иногда бывают немного другие задачи

Vsevolod
14.10.2018
14:47:45
А в некоторых случаях лучше делать нативные аддоны

Kool
14.10.2018
14:47:58
Дмитрий
14.10.2018
14:48:54
декомпозировать
И толку. Еще раз если не при двух, так при трех запросах все встанет. Разницы нет

Alex
14.10.2018
14:48:54
декомпозировать
Можешь пример привести? Это же просто, как ты утверждаешь

Nurik
14.10.2018
14:52:47
декомпозировать
Не нужно путать cpu bound и io bound задачи. Распараллеливать вычисления нужно и можно, используя примитивы языка/платформы (треды, грин треды и т.д.). CPU -bound задачи всегда блочат евентлуп.

Nurik
14.10.2018
14:53:54
А мы о чем?
Это о вопросе декомпозиции 2+2

Дмитрий
14.10.2018
14:54:27
Это о вопросе декомпозиции 2+2
Мне надо сделать это два миллиона раз. Что тут декомпозировать? Взял цикл и считаешь...

Google
Nurik
14.10.2018
14:55:06
Мне надо сделать это два миллиона раз. Что тут декомпозировать? Взял цикл и считаешь...
Ну ок, но ты же понимаешь, что ты заблокируешь эвентлуп пока цикл будет работать ?

Дмитрий
14.10.2018
14:55:45
Ну ок, но ты же понимаешь, что ты заблокируешь эвентлуп пока цикл будет работать ?
Именно поэтому, сейчас для такой задачи я использую отдельный контейнер с нодой, который не жалко.

Мог бы использовать потоки. Но 10 года пока не lts

Nurik
14.10.2018
14:58:31
Мог бы использовать потоки. Но 10 года пока не lts
Это я согласен. Именно поэтому child_process или napajs в моем случае. И контроллируемый форкфлоу вычислений.

У меня задача именно вычислений. Я ставлю машину с 12 ядрами и перевариваю числа на 12 потоках.

Umren
14.10.2018
15:29:03
мультитреды, вычисления и прочее - это же не про ноду ;-D возьмите гоу..

Umren
14.10.2018
16:26:34
А чо "гоу", можно с/с++/rust/asm/etc
Можно rust, остальное из списка в руках среднего разработчика опасно

Vsevolod
14.10.2018
16:30:22
Можно rust, остальное из списка в руках среднего разработчика опасно
Современный C++ тоже довольно безопасный, если хотя бы чуть-чуть вникнуть

Тем более в рамках аддона к ноде, где далеко углубляться в язык нет особого смысла

Alex
14.10.2018
16:32:22
Можно rust, остальное из списка в руках среднего разработчика опасно
Мой посыл не про это был А про то, что незачем советовать Х вместо У

Umren
14.10.2018
16:33:15
Alex
14.10.2018
16:34:43
Y не решает всех задач в мире на бекенде
Да Но ведь ты не зная задач сразу заявил - а давайте Х вместо

енот
14.10.2018
17:08:40
помогите с тестами, пожалуйста учусь писать только https://gist.github.com/chemax/69cf1e2a91dd5c1c789f9f6b51ec7646 console это результат не пойму на что оно ругается, как правильно? пытаюсь просто проверить что страница 200ок отдает.

енот
14.10.2018
17:28:19
Тоесть это вам ни о чем не говорит «app.address is not a function»?
нет. у меня такой строчки кода нет, я не понимаю откуда это вылезло.

так, стоп

а, не, всё равно не понимаю

Google
Anna
14.10.2018
17:29:15
ребят вопрос не по теме, но не знаю у кого бы еще спросить. стоит только убунту могу ли я еще одну к нему ОС поставить? Конкретно Phoenix OS, но думаю это без разницы

енот
14.10.2018
17:29:28
всё, врубился

вот олень

Trilium
14.10.2018
17:41:30
Anna
14.10.2018
17:45:42
но может глючить конечно. но попробовать стоит.

Trilium
14.10.2018
17:59:44
чтобы очень по-быстрому попробовать - https://www.osboxes.org/phoenix-os/#phoenix-26-vbox это уже установленные образы, вам нужно только скачать и запустить в virtualbox или vmware

Anna
14.10.2018
18:01:40
супер! ?

пробую

Sergei
14.10.2018
18:04:44
Maxim
14.10.2018
18:47:25
Привет! Нужно запилить фичу в проекте - сделать айдишник сущности меньше 10 символов. Юзаю монгуз и там их явно больше. Нашёл 2: https://www.npmjs.com/package/uniqid https://www.npmjs.com/package/shortid Какую юзать посоветует? на вид делают +/- одно и тоже

Maxim
14.10.2018
18:50:25
Nanoid!
спасибо! - а в чём его бенефит против двух остальных?

Дмитрий
14.10.2018
18:51:20
Maxim
14.10.2018
18:51:37
Её Ситник написал
сорри - я не в курсах кто это

Её Ситник написал
дак стоп - https://www.npmjs.com/package/shortid - он там тоже соавтор =)

но по его твиттеру вижу что топовый чувак

Дмитрий
14.10.2018
18:53:43
но по его твиттеру вижу что топовый чувак
Так и есть. Если серьезно, я понятия не имею в чем там плюсы и минусы

Maxim
14.10.2018
18:54:16
Так и есть. Если серьезно, я понятия не имею в чем там плюсы и минусы
наверное всётаки шорт-айди - они там в ридми не просто так упомянули что с монгочкой юзать можно

Google
Maxim
14.10.2018
18:54:42
эх блин - это +1 индекс на каждую коллекцию)

Eщё такой вопрос - как правильно через PM2 поменять process.env.UV_THREADPOOL_SIZE ?

я пока сам не оценил всю тупость вопроса)

Alex
14.10.2018
19:07:30
Прив, в файле создаю объект бд Если я несколько раз подключу этот файл из разных модулей - я правильно понимаю, что объект бд будет один и тот же?

Maxim
14.10.2018
19:08:03
по сути модуль в ноде - это что-то схожее на замыкание )

можешь проексперементировать и присвоить этому объекту какое-то свойство - таймстем - и прочекать его везде где рекваеришь модуль

Yan
14.10.2018
19:13:52
Что общего у модуля с замыканием?

Cenator
14.10.2018
19:18:29
Nikolay
14.10.2018
19:18:43
Что общего у модуля с замыканием?
Например то, что каждый модуль в итоге в функцию заворачивается

Cenator
14.10.2018
19:19:03
Если ты про cjs то да, в функцию завернут

esm по другому

Nikolay
14.10.2018
19:19:15
угу

Yan
14.10.2018
19:19:30
Надо почитать

Nikolay
14.10.2018
19:19:40
есм это статик экспорт которые?

Alex
14.10.2018
19:28:49
Боже, шаблонизаторы офигенны

Cenator
14.10.2018
19:29:05
Alex
14.10.2018
19:31:54
А логику в шаблонизаторы неправильно выносить?

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