@electron_ru

Страница 28 из 177
Sheldhur
14.05.2017
15:22:37
Вроде как нет
а глобальные события отслеживать? хоткей

Сергей
14.05.2017
15:24:18
И немного геморно

Google
Андрей
14.05.2017
15:25:30
Sheldhur
14.05.2017
15:31:31
И немного геморно
в доке вроде всё просто

https://github.com/electron/electron/blob/master/docs/api/global-shortcut.md

Сергей
15.05.2017
14:54:20
Правила чата: http://telegra.ph/electron-ru-05-15

Edele
15.05.2017
15:12:36
Всем привет! Кто нибудь уже упаковывал .node бинарники в asar? Я почему-то подумал, что мне поможет file-loader из вебпака, вот что пробовал: 1. Он кладёт нодовский бинарник в app, после чего бинарник попадает в app.asar. Это то, что мне нужно, вот конфиг: { test: /\.node$/, use: { loader: 'file-loader', options: { name: '[name].[ext]', outputPath: 'app/', publicPath: './' } } } 2. Но в бандле этот модуль потом экспортит строку с путём до бинарника, а мне нужно, чтобы он в этом месте его звгружал через require. /***/ "../myBinaryModule/myBinaryModule.node": /***/ (function(module, exports) { module.exports = "./myBinaryModule.node"; // это НЕ то, что мне нужно /***/ }), Я подозреваю, что я выбрал не тот лоадер. Я пробовал node-loader, который работает, но только на моей машине, так как он вставляет абсолютный путь до бинарника на моём компе. Мне же нужно и запаковать в asar и рекваернуть сам бинарник из бандла в рантайме.

Сергей
15.05.2017
15:14:32
может быть не нужно вообще запаковывать его в вебпак?

а сделать external

Edele
15.05.2017
15:46:43
Да, клёво, экстернал это шаг вперёд. У меня теперь работает упаковка и есть рабочий установочник. externals: { './myBinary.node': './myBinary.node' }, Только всё равно, похоже, придётся искать другое решение. Мне нужно ещё укладывать в asar разные бинарники под разные платформы + под каждую платформу нужно выбрать правильный бинарник в зависимости от переменной окружения. Но всё равно спасибо, Сова!

Sheldhur
15.05.2017
23:07:24
в проекте будет одна директория со всеми твоими собранными бинарниками, а при упаковке будет браться необходимый для платформы

ось и разрядность есть в переменных, подставляешь их в путь просто

Electron.js releases
16.05.2017
20:16:03
electron v1.6.10 beta https://github.com/electron/electron/releases/tag/v1.6.10 Bug Fixes Fixed several issues with the electron.d.ts TypeScript definition file. #9484 (https://github.com/electron/electron/pull/9484)

electron v1.7.1 beta https://github.com/electron/electron/releases/tag/v1.7.1 Bug Fixes Fixed a crash when launching with the --debug or --debug-brk command line flags. #9436 (https://github.com/electron/electron/pull/9436) Fixed several issues with the electron.d.ts TypeScript definition file. Popup windows and tags are now supported by the offscreen rendering option. #8839 (https://github.com/electron/electron/pull/8839) Fixed an issue where service worker scripts would not load when using protocol.interceptBufferProtocol. #9360 (https://github.com/electron/electron/pull/9360) API Changes Added support for using Chrome's default window.open implementation via the nativeWindowOpen option to the BrowserWindow constructor. #8963 (https://github.com/electron/electron/pull/8963) Added a will-prevent-unload event to webContents that can be used to prevent a page from preventing the unload of a page. #9331 (https://github.com/electron/electron/pull/9331) Added support for specifying the maximum disk space used by the cache via the --disk-cache-size Chrome option. #9435 (https://github.com/electron/electron/pull/9435) Added a webContents.getOSProcessId() API to get the operating system pid for a renderer process. #9222 (https://github.com/electron/electron/pull/9222)

Google
Sheldhur
17.05.2017
08:01:51
как думаете, js не поперхнется массивом из 1 695 743 строк?

Edele
17.05.2017
08:21:27
С 500000 у меня относительно спокойно работало. Но если строки большие, то памяти может не хватить

Sheldhur
17.05.2017
09:23:14
там скорее массив sequalize объектов

Сергей
17.05.2017
09:47:13
там скорее массив sequalize объектов
смотря что ты с этим делаешь

там скорее массив sequalize объектов
может поперхнуться при попытке синхронно обежать все за проход

Sheldhur
17.05.2017
09:47:55
смотря что ты с этим делаешь
перебрать, разбить на группы по одному свойству и получить среднее

Сергей
17.05.2017
09:48:10
если в render процессе делать, зависнет

Sheldhur
17.05.2017
09:48:33
не, этот этап я уже прошел :)

всё такое в дочернем

Сергей
17.05.2017
09:48:47
лучше вообще в формате очереди

чтобы fail-safe

Sheldhur
17.05.2017
09:48:55
как кстати ему оперативы накинуть?

Сергей
17.05.2017
09:49:10
погугли паттерн Очередь )))

Sheldhur
17.05.2017
09:49:19
окай

чтобы fail-safe
чёт я не понял, чем мне это поможет

Sheldhur
17.05.2017
10:44:57
Если не секрет, что ты делаешь?
есть геомагнитные обсерватории, их штук 200+ по всему миру, данные в открытом доступе, пилю приложуху, которая всё это будет обрабатывать и выдавать красивую картинку с графиками и всё такое



Google
Sheldhur
17.05.2017
10:45:25


как-то так, примерно

Sergey
17.05.2017
10:45:41
Ooo

Мощно

Ты сам все это рендеришь или либа какая-то?

Sheldhur
17.05.2017
10:47:31
d3

Sergey
17.05.2017
10:47:39
Норм)

Sheldhur
17.05.2017
10:48:01
угу

Sergey
17.05.2017
10:48:46
перебрать, разбить на группы по одному свойству и получить среднее
Так, а ты пробовал сделать? Что пишет? Память кончилась?

Sheldhur
17.05.2017
10:50:27
ещё не пробавал, но гугл говорит что на пустом массиве в 1кк уже кончится

Sergey
17.05.2017
10:50:41
У меня тоже были похожие проблемы, массив был большой, в память все упиралось, не помню уже как решил

Тоже интересная тема использования больших данных в ноде

Сергей
17.05.2017
10:51:19
Я тоже не понял
Очередь может быть в другом процессе например

Sheldhur
17.05.2017
10:51:48
так в очереди же столько же объектов будет

Sergey
17.05.2017
10:51:55
+)

Sheldhur
17.05.2017
10:53:27
как форкнутому процессу памяти добавить?

Сергей
17.05.2017
10:54:01
Флаги ноды смотреть

Google
Сергей
17.05.2017
10:56:11
И вычислять на ходу

Взял один элемент и произвел вычисления вместе с ранее вычисленными

Sheldhur
17.05.2017
10:59:14
так я в дочернем процессе всё буду делать, мне главное, чтобы он out of memory не кинул

Сергей
17.05.2017
10:59:42
Разбирай на части

Может кинуть

От оси зависит

Ilshat
17.05.2017
11:20:16
быстрее через бд будет, в нее перегнать и птом и там группировать и вытаскивать по кускам в процессе рендеринга

Sheldhur
17.05.2017
11:24:17
не, там математики много :)

бд не осилит :)

бд и так есть

буду кусочками вытаскивать, значит

Dmitry
17.05.2017
11:26:47
Так, а распараллелить обход массива? Разбить на несколько подмассивов? Обходить кусками и тд. Ну, из очевидного)

Ilshat
17.05.2017
11:27:07
а если вогнать результат вычислений в бд

там же не реал тайм?

даже если реал тайм можно переодически переписывать данные птом сигнал на рендер посылать

Sergey
17.05.2017
11:29:38
не, там математики много :)
Кстати, посмотри на лодаш, там есть методы работы с массивов, типо вычислить среднее, исключить не найденное и т. д.

Sheldhur
17.05.2017
11:36:51
это уже на нативном сделано

Google
Сергей
17.05.2017
11:37:52
а вообще стримами будет проще всего, особенно если из сети получаешь данные (Rx, Kefir)

обрабатывать по мере получения

Aleksey
17.05.2017
11:38:12
как думаете, js не поперхнется массивом из 1 695 743 строк?
Попробуй использовать Связку promises +lodash

Sheldhur
17.05.2017
13:26:40
ну...из базы вытащил, вроде даже спокойно, больше 1.5гб не сожрало на 1.6кк значений

но всё равно разбивку сделаю, по 500к, наверно

Aleksey
17.05.2017
13:29:15
используй для перебора массива Promise.all(map.someArray(function(){}))

Sheldhur
17.05.2017
13:29:28
а чём мне промайз поможет? :)

Сергей
17.05.2017
13:29:34
но всё равно разбивку сделаю, по 500к, наверно
чем меньше пачка, тем быстрее работать будет

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