@electron_ru

Страница 29 из 177
Sheldhur
17.05.2017
13:30:48
но я тогда потрачу время на обращение к базе

Aleksey
17.05.2017
13:30:50
во первых промис до завершения не позволит остальному коду что то делать в о вторых почитай https://habrahabr.ru/company/mailru/blog/269465/

Google
Aleksey
17.05.2017
13:31:09
плюс цепочки промисов

ты попробуй

Sheldhur
17.05.2017
13:31:25
уже было :)

Сергей
17.05.2017
13:31:32
ты попробуй
изучи стандарт ecmascript

Aleksey
17.05.2017
13:31:34
все плохо?

Sheldhur
17.05.2017
13:31:39
стек забивается

Сергей
17.05.2017
13:31:54
все плохо?
синхронные операции блокируют поток, и промисы вообще никакой погоды не сделают только увеличат память

обход массива это как раз синхронная операция

Sheldhur
17.05.2017
13:33:20
промис даже на 100к все вешает

Aleksey
17.05.2017
13:33:38
я не настаиваю но массив можно перебрать лодашевским фор.ичем он с этим справляется + куча плющек на поиск и выбоку нужных элементов массива

плюс лодашевкая Math

Sheldhur
17.05.2017
13:34:04
нативное явно быстрее лодаша будет :)

Google
Sheldhur
17.05.2017
13:35:25
особенно, если не юзать всякие forEach, а старый добрый for

Aleksey
17.05.2017
13:36:03
не всегда нативно forEach для перебора массива не используешь к тому же var someVal = someArray.filter('someVAl'...) не сможешь использовать

Sheldhur
17.05.2017
13:36:44
все эти forEach, map, reduce, filter это обертка над for'ом

Sheldhur
17.05.2017
13:36:53
быстрее это всё в одном цикле сделать

Сергей
17.05.2017
13:37:02
все эти forEach, map, reduce, filter это обертка над for'ом
mac и reduce под капотом имеют нативную реализацию (в v8)

Sheldhur
17.05.2017
13:37:09
ну ок

Ilshat
17.05.2017
13:47:51
Как вариант можно чистить память для всех элементов внутри цикла, те For(i=0;i<len;i++){ let v=...; v=null;}

Может памяти будет меньше жрать

Sergey
17.05.2017
14:28:35
нативное явно быстрее лодаша будет :)
если просто перебирать каждый i'ный элемент, то да. А если нужны какие-то сложные операции с масивом, то лодаш лучше справиться, там внутри работают алгоритмы, которые могут решают задачу, даже не перебрав весь массив

Sheldhur
17.05.2017
14:30:18


sequelize можно заставить запихать Station в отдельный объект?

чтобы можно было обращаться item.Station.id

Ilshat
17.05.2017
15:00:32
Все поля по по которым будут сравнения вынеси в поля таблицы, раскидывай их

Sheldhur
17.05.2017
15:01:03
шта

Ilshat
17.05.2017
15:01:06
Птом повесь индекс на поля которые с помощь === будут сравниватся http://docs.sequelizejs.com/manual/tutorial/models-definition.html#indexes

Вынеси в отдельное поле

чтобы можно было обращаться item.Station.id

При заполнении раскидай все такие которые во вложенной структуе

Google
Sheldhur
17.05.2017
15:05:16
чёт ниче не понял, как мне индексы помогут в этом

Ilshat
17.05.2017
15:07:41
Ну ты в каком месте хочешь до вложенного объекта стучаться?

Если в условии для фильтрации то индекс должен помощь, если для рендора то не сильно поможет

Sheldhur
17.05.2017
15:09:54
это индекс для базы

причем он тут

во всех челочеческих ORM все связи пихаются в отдельные объекты, должно быть: { Station: { id: 1, name: ... ... } compF: ... ... }

а не то что sequelize сделал

Ilshat
17.05.2017
15:12:44
Ну я про оптимизацию говорю

Sheldhur
17.05.2017
15:13:02
ставить индексы я умею, спасибо :)

я спрашиваю как в результате выборки сделать, чтобы Station, который джойнится был в отдельном объекте, чтобы в цикле потом обращаться item.Station.id, а не item['Station.id']

Ilshat
17.05.2017
15:15:18
Ну где юзается переменная?

Условие или рендер

Sheldhur
17.05.2017
15:15:39
причем тут цикл

.findAll(...).then((results) => { console.log(results[0]['Station.id']) }) .findAll(...).then((results) => { console.log(results[0].Station.id) })

Ilshat
17.05.2017
15:22:09
Запрос дай сиквел который он генерит

Надо чтобы он был один

Sheldhur
17.05.2017
15:22:23
запрос нормальный :)

один :)

обычный INNER JOIN

Ilshat
17.05.2017
15:23:36
На всех полях индексы есть которые =

Google
Ilshat
17.05.2017
15:23:41
?

В запросе

Sheldhur
17.05.2017
15:24:02
причем тут индекс

Ilshat
17.05.2017
15:24:31
Ну я опять за оптимизацию

Sheldhur
17.05.2017
15:24:53
всё нормально с оптимизацией, не переживай :)

Ilshat
17.05.2017
15:25:33
А чем тебе не угодило обращение в квадратных скобках?

Sheldhur
17.05.2017
15:25:35
после проектирования базы на 200 таблиц с индексами я уж как нибудь справлюсь :)

ну неудобно, очевидно

со строками работать

Ilshat
17.05.2017
15:30:01
А рав труе? Замедляет да?

Sheldhur
17.05.2017
15:30:21
никакой разницы не заметил

Nikita
17.05.2017
18:29:04
А кто кастомные протоколы делал, как заставить винду закрывать предыдущий апп?

Sheldhur
17.05.2017
18:38:29
если именно апп

то записывать куда нибудь PID процессов приложения, потом килять их

но килять придется через wmi, а в js он чет соу слоу

с дочерними процессами попроще

непонятно только нахрена? :)

Nikita
17.05.2017
19:50:05
ну потому что переход через custom-scheme://link в винде все время создает новый процесс, из которого надо либо послать сигнал в старый (как?) или убить старый и запустить новый (как?)

Ilshat
17.05.2017
19:51:39
мини прогу напиши которая будет уже запускать или активировать ранее созданную

эта мини и будет слушать урл

Google
Nikita
17.05.2017
20:11:18
Да нет. Это отдельный процесс, запускаемый извне

Sheldhur
17.05.2017
20:13:53
в диспетчере

Nikita
17.05.2017
20:14:27
Издеваешься? Говорю же, отдельный. Запускаемый извне

Sheldhur
17.05.2017
20:15:35
ну, кроме как искать их через wmi и килять я ниче придумать не могу

Nikita
17.05.2017
20:15:55
Ну можно пил ещё писать в файлик

Но в этом чате это никто не решал, ок, я понял)

Sheldhur
17.05.2017
20:16:16
не, так не запишешь

если он не электроном запускается

Ilshat
17.05.2017
20:16:41
я на десктопе такое решал)

Sheldhur
17.05.2017
20:16:53
Издеваешься? Говорю же, отдельный. Запускаемый извне
кто родитель процесса то? что-то системное?

Nikita
17.05.2017
20:17:07
Да, переход по кастомной ссылке

Sheldhur
17.05.2017
20:17:26
ну да, только через wmi

и права придется запрашивать

Nikita
17.05.2017
20:18:01
setAsDefaultProtocolClient

Я могу вообще сказать как этот процесс дергать

Sheldhur
17.05.2017
20:19:43
а не проще при установке приложения зарегать протокол?

Страница 29 из 177