@nodejs_ru

Страница 2281 из 2748
Никита
10.07.2018
22:03:45
Но если массивы не отсортированы, то сортировать их — дороже, чем завести ключ.

Gleb
10.07.2018
22:04:49
Maxim
11.07.2018
05:51:49
Привет, подскажите как можно красиво обыграть следующее. Вызываются последовательно 5+ async функций/методов. В каждом из них может быть неизвестный ексепшен. Мне нужно каким-то образом пробросить новую ошибку выше, в зависимости от того в каком методе свалилось. Есть более элегантный способ чем оборачивать каждый метод в трай/Кетч?

Google
Alexander
11.07.2018
05:53:08
Оберни их в одну функцию

Ну или можешь писать await fn().catch(...)

Maxim
11.07.2018
05:59:23
Ну или можешь писать await fn().catch(...)
То есть если ошибка, то свалится в кетч, если ок - в резали? Ок, спасибо) както не видел я такого с асинк функциями

Alexander
11.07.2018
06:05:26
То есть если ошибка, то свалится в кетч, если ок - в резали? Ок, спасибо) както не видел я такого с асинк функциями
Свалится в кетч и если успешно разрезолвится, то пойдёт дальше. Иначе свалится ещё глубже

Naught
11.07.2018
06:30:45
Знаю, что тут такое часто спрашивают, но подскажите модуль распарсить exel , чтоб на выходе получался объект {"значение ячейки в первой строке": "значение текущей ячейки"} . То, что находил, либо по адресу ячейки обращается, либо не работает. Заранее благодарю.

Naught
11.07.2018
06:35:01
Конверти в csv, его легче разбирать
Рассматривал и такой вариант. Самому писать такое - неблагодарное занятие, слишком многие уже решали эту проблему.

Alexander
11.07.2018
06:35:22
Так и конвертеров csv тоже много

Naught
11.07.2018
06:36:01
Так и конвертеров csv тоже много
Я про второе сообщение.

Alexander
11.07.2018
06:36:28
https://www.npmjs.com/package/xlsx

Максим
11.07.2018
06:36:31
exceljs поковыряй, особенно полезно если нужно тащить метаинфу из ячеек

Google
Alexander
11.07.2018
06:37:40
Я про второе сообщение.
Ну таблица это априори двумерный массив. Ты же хочешь хэшмапу из первого и текущего столбца (что делать с другими столбцами - история умалчивает). Значит ты хочешь что-то сверхнормативное. В таком случае надо пилить самому

Naught
11.07.2018
06:39:46
Не, не только первого. Первая строка задаёт только название поля. Таблица максимально тривиальная. Находил либу, которая из коробки даёт нужный мне результат, но она не заработала. А остальные либы дают дичайший оверхед и значения ячеек в 20 форматах сразу и т.д.

Alexander
11.07.2018
06:41:17
1) Отсей ненужные, возьми нужные 2) заставь ту либу работать 3) вышеперечисленное

Naught
11.07.2018
06:42:22
Вот, кстати , она: https://www.npmjs.com/package/parse-xl

Alexander
11.07.2018
06:43:23
Про транспонирование матрицы слыхал?

Naught
11.07.2018
06:45:19
Ну, допустим.

Grigorii
11.07.2018
06:47:11
Подскажите, для работы с редиской в ноде только Node-redis используют, или есть что-то более интересное7

енот
11.07.2018
06:53:03
ioredis я использую

доволен в целом

говорят его юзает алибаба

Sergey
11.07.2018
06:53:56


Naught
11.07.2018
06:54:13
Вот, кстати , она: https://www.npmjs.com/package/parse-xl
Разобрался, в чем была проблема. Работает, делает прям то, что нужно.

MaXG
11.07.2018
06:55:13
У тебя нет змеи (питона)

Sergey
11.07.2018
06:55:29
У тебя нет змеи (питона)
а нафига он мне ? ) раньше норм ставилось

MaXG
11.07.2018
06:55:51
Так эт же написано в ошибке же

"Не могу найти исполняемую змею"

Alexander
11.07.2018
06:56:19
Sergey
11.07.2018
06:56:40
Может раньше был питон?
нет ниразу не ставил , только руби было

Alexander
11.07.2018
06:57:00
Может на маке ставил? Там вроде есть питон

Да и может просто пакет обновили и теперь питон нужен

Google
Maxim
11.07.2018
06:59:46
видел там выше про парсинг ексельки говорили - по опыту скажу - парсинг ексельки на ноде - говною В планеюзабельности и ф-ционала либ. Я всемя руками за ноду но для этого кейса, если можете лучше питон - у него в разы лучше экосистема и тул-сет для этой задачи

У меня тут вопрос - я ни разу не видел дата-классов в ноде, да и в js в целом

их вообще тут пишут? если да - то как они выглядят? просто класс с кучей констатнт / статик гетеров? или что-то красивеет?

Boris
11.07.2018
07:01:22
а нафига он мне ? ) раньше норм ставилось
там нативный бинарник собирается наверно. потом еще попросит поставить либы для компиляции..

Maxim
11.07.2018
07:02:10
Почему бы не написать свою библиотеку, если нет нормальных?
вот фиг ты пандас перепишешь нормально или xlwings - это всё питоновские либы. у них туёва куча денег и времени вложена

это очень субьективно - так сложилось что приходилось работать с екселем на ноде питоне и джаве - питон для этого идиален

Alexander
11.07.2018
07:04:01
В дельфи ещё либы хорошие

Josh
11.07.2018
07:05:01
мягький знак то откуда

енот
11.07.2018
07:08:19
а call можно с промисами применять?

Alexander
11.07.2018
07:08:21
Между л и ф конешно

енот
11.07.2018
07:08:25
у меня чет не получается

Alexander
11.07.2018
07:08:35
енот
11.07.2018
07:08:52
Если в цепочке, то да
Нет, пытаюсь через асинк синхронно данные получить

Alexander
11.07.2018
07:09:06
Так первым параметром контекст

енот
11.07.2018
07:09:17
тьфу ты блин

помнил же

function from(...args) { console.log(args); return redis.hgetall.apply(this, ['sb:1']).then(data => { return data; }); } redis.hset('sb:1', 'sss', 'tedssadsa'); async function getFromRedis() { let z = await from('sb:1', 'sss'); console.log(z) } getFromRedis();

Google
Alexander
11.07.2018
07:10:24
Apply же массив принимать должен

Roman
11.07.2018
07:11:19
Всем привет. Подскажите пожалуйста, как на ноде gzip юзать? У меня есть бандл, bundle.js bundle.js.gz index.html в ingex.html scrpit src=bundle.js как мне на сервере отдать html но c gzip бандлом? const express = require('express') const compression = require('compression') const port = parseInt(process.env.PORT, 10) || 3101; const app = express() app.use(compression()) app.get('/', (req,res) => { что тут надо сделать? }) app.listen(port, err => { if (err) throw err; console.log(`> Ready on http://localhost:${port}`); });

енот
11.07.2018
07:11:28
Alexander
11.07.2018
07:12:35
Так в контекст надо не this, а рабочий контекст redis

Alexander
11.07.2018
07:13:29
так может он просит this.dropBufferSupport под капотом, а ты ему apply-ем контекст меняешь

енот
11.07.2018
07:13:49
и как мне ему его контекст передать?

Alexander
11.07.2018
07:14:14
Admin
ERROR: S client not available

енот
11.07.2018
07:14:21
а

АААА

Спасибо, Александр

Alexander
11.07.2018
07:14:52
и кстати, почему не redis.hgetall(’sb:1’)

енот
11.07.2018
07:14:54
вы мнес пасли

Alexander
11.07.2018
07:14:59
всегда пожалуйста

енот
11.07.2018
07:15:09
и кстати, почему не redis.hgetall(’sb:1’)
потому что hgetall только для теста, так-то там просто hget

Alexander
11.07.2018
07:15:14
а

ну тогда славненько

енот
11.07.2018
07:15:32
да, весьма, спасибо

Google
Grigorii
11.07.2018
07:24:18
ioredis я использую
Я, видимо, туплю, но как там сохранить хештаблицу и set (который множество)

Evgeny
11.07.2018
07:25:02
Чуваки, можно в монге построить запрос так, что бы результаты были отсортированы по предустановленному списку. Типа так: В БД есть apple, pear, orange. Я хочу чтобы в ответе мне пришли сначала все pear, потом все apple, и потом все orange. Здесь обычный .sort({type: 1}) не подойдет. А по другому я не оч умею. И еще связанный с этим вопрос. Хочу что бы мне в ответе пришли все pear, но если ни одного pear не найдено, то тогда все apple, а если и их не найдено, то тогда все orange. Здесь я вижу решение - со стороны ноды проверять результат, и посылать следующий запрос, если предыдущий ничего не вернул. А можно ли сделать это одним запросом?

Kostya
11.07.2018
07:32:31
там же все написано в ошибке

Sergey
11.07.2018
07:34:45
там же все написано в ошибке
я нуб - так и не понял что им надо и нафиг мне здался питон. Поэтому просто ищу чем заменить bcrypt )

Sukhrob
11.07.2018
07:43:34
Привет! Скрипт выплюнул ошибку: Error: ENOENT: no such file or directory, open 'D:\****erator\workspace.json' Но не сообщил в каком файле это произошло, в какой строке... Как сделать, чтобы он вывел имя файла и номер строки?

Roman
11.07.2018
07:48:48


Daniil
11.07.2018
07:51:56
Система с 4 ГБ озу, arch linux, flow сжирает всё и порождает кучу процессов, как его угомонить? p.s сорри, если не по теме

Maxim
11.07.2018
07:54:48
кто с Puppeteer работал? есть метод - page.waitForNavigation . то есть ждём пока у нас браузер после сабмита формы не пробросит на следующую пейджу. в противном случа - срёт ошибку по таймауту. Есть ли опять апишный способ скипнуть эту ошибку? ну не перешли мы на новую урлу, так и не перешли . В доке не вижу

MaXG
11.07.2018
07:57:42
Имя файла если по имени файла - то можно рекурсивно грепнуть попробовать

Sukhrob
11.07.2018
07:57:45
Ты что импортишь тли читаешь?
и чтение есть и запись

MaXG
11.07.2018
07:58:52
И где-то я краем глаза видел возможность получать стектрейс

Sukhrob
11.07.2018
07:58:59
меня удивляет что можно получить ошибку без ссылки на файл и номер строки уже много раз такое получал хочу раз и навсегда с этим разобраться

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

MaXG
11.07.2018
07:59:50
общий для чего угодно - наподобие debug

Sukhrob
11.07.2018
07:59:58
И где-то я краем глаза видел возможность получать стектрейс
если ты про try/catch, то это уже не рально сделать

общий для чего угодно - наподобие debug
не понимаю о чем речь debug это средство NodeJS или сторонняя библа?

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