@nodejs_ru

Страница 728 из 2748
Andrey
23.04.2017
17:36:21
ползать по страничкам, парсить их и возвращать данные

ну вроде как это дело небыстрое, поэтому смысла нет возвращать калбеком/промисом в конце большой массив, есть смысл по мере получения

а тут либо eventemitter, либо stream

Sergey
23.04.2017
17:38:21
стримы лучше использовать для обработки больших данных. Для ползания по страничкам думаю не стоит юзать стримы

Google
Andrey
23.04.2017
17:40:21
ну это утверждение безусловно верное, и с ним спорить смысла нет однако, оно не абсолютное... я бы переформулировал так: "стримы _можно_ использовать для обработки больших данных, но и для других юзкейсов (_перечисление_) они тоже норм"

Sergey
23.04.2017
17:40:47
где гарантии, что тебе не прилетит несколько Гб в ответ?
ну наверно нужно написать пару обработчиков ошибок

Andrey
23.04.2017
17:40:50
поэтому, вопрос не в том где их лучше использовать, а стоит ли вообще :)

учитывая текущую коьюктуру... вот об этом вопрос

Timur
23.04.2017
17:41:30
Использую стримы для обработки jsonl файлов – делаю вложенные объекты плоскими. Как без стримов обрабатывать файлы по несколько гигабайт?

Andrey
23.04.2017
17:41:33
и он формулируется опять же просто: "использует кто-нибудь в продакшне"... прошу прощения, что вопрос не "где лучше их использовать" )

Sergey
23.04.2017
17:42:29
поэтому, вопрос не в том где их лучше использовать, а стоит ли вообще :)
вообще - стоит, я копировал файлы через ноду, предварительно обрабатывая. Только стримы меня и спасли, 0,5 тб файлов обработало

Andrey
23.04.2017
17:43:26
тогда, с вашего разрешения, уточню: каковы границы использования стримов? должны ли мои модули которые работают с сетью возвращать стримы вместо других вещей чтобы унифицировать общение?

Sergey
23.04.2017
17:44:18
честно хз, в работе с сетью я стримы еще не пробовал

Andrey
23.04.2017
17:45:59
правильно ли я понимаю что вы юзаете стримы там где текущей оперативки не хватит для работы со структурами, но в остальных местах стараетесь делать более популярную логику, и это стандарт на текущий момент?

Sergey
23.04.2017
17:46:28
+

Andrey
23.04.2017
17:48:06
хм... то есть если я хочу сделать модуль который будут использовать другие команды, то вместо stream логичнее заюзать eventemitter (для возвращения данных по мере их получения) и не выеживаться?

Google
Sergey
23.04.2017
17:50:41
ну да, так будет оптимальней, потому-что со стримами процесс еще работа самих стримов будет наружать. А eventEmitter он же легче

попробуй оба варианта)

Andrey
23.04.2017
17:53:14
ок спасибо, я целом я ответ получил который хотел узнать (хотя, другие коллеги тоже высказывайтесь чтобы выборка была репрезентативной) маленький оффтоп: стримы мне всегда нравились (даже на русский переводил stream handbook), но я честно не понимаю почему их никто не юзает с одной стороны, все говорят что они сложные и непонятные но, с другой стороны, промисы для меня сначала были такие же непонятные, но щас их все юзают... ваши мнения? :)

Sergey
23.04.2017
17:56:05
не знаю как устроенны стримы и на сколько они производительны, но промиссы это простая легкая фунция, которую можно написать самстоятельно

Andrey
23.04.2017
17:57:33
сложно говорить о базовых концепциях в ключе "производительности" когда обычно оверхеды по производительности дают неудачные решения то есть, с моей точки зрения, лучше пытаться удачно реализовать логику более высшего порядка, а низшие инструменты юзать какие удобно

между нами, девочками: мало кто думает "вот блин, я оптимизировал все что можно и все идеально, но вот из-за того что я выбрал rxjs вместо promises у меня цикл тормозит под нагрузкой"... чаще всего проблема "блин, все тормозит и я хз где косяк" :)

Andrey
23.04.2017
18:03:04
точно (*щепотка иронии*)

Dmitrii
23.04.2017
18:09:44
я тоже стримы использовал в основном для обработки крупных данных

Dmitrii
23.04.2017
18:10:18
такой гиганский пайп грубо говоря между точкой А и Б, где куча логики по середине

и в оперативку разом оно не влезет

AlexMist
23.04.2017
18:21:42
Если выкачивать большие файлы, то без стримов вроде никак.

Таймураз
23.04.2017
21:10:53
Стрим- это поток однородных данных, грубо говоря аудио-поток (интернет радио), видео, большие файлы

Или если файл генерируется на ходу (архивация, зашифровывание)

Если у тебя реально дохрена данных, лучше использовать очередь задач Я парсил 100000 страниц в один проход, пришлось увеличивать максимум разрешенной памяти у процесса ноды

Чтобы не переписывать код

А так- промисы. асинки сейчас не самый оптимальный вариант в плане памяти для этой задачи (имхо) Я бы использовал обычные промисы для парсинга

Google
Ivan
23.04.2017
21:47:39
Может кто-нибудь подскажет хороший пакет для манипуляции с домом прям с сервера ноды. То есть изменять инпуты там, кнопки нажимать

Заранее спасибо

Ivan
23.04.2017
21:57:51
Ну с react+redux то понятно) меня вопрос интересует, можно ли вообще на уже готовой странице, которую не сама нода отдаёт нода что-то делать с домом

Sheldhur
23.04.2017
21:58:16
ну да

меняешь стейт, меняется страница

Ivan
23.04.2017
21:58:49
Без реакта

Реакта нет тут вообще

Таймураз
23.04.2017
21:59:31
Реакта нет тут вообще
Задача непонятна

Тебе нужно стянуть документ с другого сайта?

Или ты отдал документ и хочешь его с сервера изменить?

Ivan
23.04.2017
22:00:13
Стянуть не проблема, нужно именно в формочки на нём пописать что-нибудь

Таймураз
23.04.2017
22:00:30
web driver, selenium

Ivan
23.04.2017
22:00:32
Евенты там подёргать разные

Таймураз
23.04.2017
22:00:40
phantom js

Я не знаю, что из этого лучше, только парсил документ Но что-то из этого тебе явно подойдет

Ivan
23.04.2017
22:01:27
Гляну - отпишу, спасибо

Evgeny
23.04.2017
22:01:44
Забудьте про фантом :\

Таймураз
23.04.2017
22:02:03
Забудьте про фантом :\
Я его не зря последним назвал

Google
Stanislav
23.04.2017
22:02:03
Хром "без башки" ещё не вышел?

Sheldhur
23.04.2017
22:02:15
Евенты там подёргать разные
отдаешь сервером js код с теми действиями который надо сделать, на странице запрашиваешь этот js код и просто выполняешь

Ivan
23.04.2017
22:03:50
А чем фантом так плох?

Ivan
23.04.2017
22:05:09
как я понял, он хочеть на чужих сайтах изменять код
можно и так сказать. Я мог бы это и без ноды делать, просто js выполнять ручками, но нодой хочу автоматизировать эти действия

Sergey
23.04.2017
22:05:21
правильно

а ты хочешь все формы отлавливать на сайтах? писать туда что-то и отправлять?

Ivan
23.04.2017
22:08:39
Не все формы. Там одна форма, я хочу её заспамить немного разными словами, цифорками и прочими приблудами

Admin
ERROR: S client not available

Sheldhur
23.04.2017
22:10:39
увеличить член бесплатно без смс и регистрации?

Ivan
23.04.2017
22:11:32
увеличить член бесплатно без смс и регистрации?
Теперь придётся покидать чат и скрываться в лесу

На самом деле нет

Ivan
23.04.2017
22:17:23
Кстати вариант, но ты не угадал)

Дам подсказку: на сайте нет капчи

Sergey
23.04.2017
22:18:53
Дам подсказку: на сайте нет капчи
кстати, сейчас капча есть, но она просто не отображаеться)

раньше когда мы сладывали из капчи картинки, на самом деле мы обучали нейроную сеть, сейчас она уже натаскана, и сама определяет где человек, а где нет, но если она засомневаеться она все же предложит ввести капчю (но это если гугловская капча)

Ivan
23.04.2017
22:21:18
Это на нормальных сайтах с гугловской капчей так

А тут сайт на пхп без капчи

Google
Ivan
23.04.2017
22:21:50
Свободный воскресный вечер сам заставил меня сделать что-нибудь интересное

Sergey
23.04.2017
22:24:51
ну если сайт сделал неопытный разраб. Можно проверить его на все известные уязвимости с помощью нодовских модулей

А тут сайт на пхп без капчи
https://www.npmjs.com/package/nsp

Ivan
23.04.2017
22:26:57
О, спасибо огромное

Sergey
23.04.2017
22:33:48
сам еще не юзал nsp, могу ошибаться о его предназначении (он вроде проверяет модули твоего сервера на уязвимость)

Alex
23.04.2017
22:58:14
Может кто подсказать детальный мануал, по ботам телеграма?

интересует именно webhook

Ivan
23.04.2017
23:02:02
а что в вебхуком непонятно?

Konstantin
24.04.2017
05:29:22
pm2 logs ?

Lulz
24.04.2017
05:32:44
pm2 logs ?
наверное ошибка в том, что он запускает сам себя и т.д. окей, альтернатива только через другой файл запускать

можно ли как-то зашифровать файл, чтобы его можно было запускать?)

т.е сохранял свою работоспособность

Lulz
24.04.2017
05:44:09
Ovan
24.04.2017
05:45:52
Lulz
24.04.2017
05:46:19
да у меня была идея сделать один бинарник, который запускает внутри себя демона и все

но так нельзя сделать(я не знаю по крайне мере), чтобы он не входил в рекурсию

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

Ovan
24.04.2017
06:08:27
зачем тебе это надо?

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