
Dmitrii
21.08.2017
13:34:07
нужно полить очередь AWS SQS на наличие мессажей, так вот хотелось бы сделать небольшую красивую обертку для этого.
Вопрос встал в том, что можно использовать паттерн EventEmitter и подписаться на событие messsage, либо использовать новые es6 итераторы и делать "бесконечную "итерацию через for ... of, чтобы хэндлить мессаджи в красивом синхронном стиле, какой вариант думаете лучше?


Alexander
21.08.2017
16:46:41
парни, подскажите, пожалуйста
есть скрипт, запускающий скрипт на phantomjs
childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {...}
Я запускаю его в цикле, мне нужно 4к сайтов обойти, т.е.
for (i = 0; i < sites.lenght; i++) {
childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {...}
}
После чего, собстна, у меня виснет комп к херам))
Как я понимаю, childProcess запускает все асинхронно, т.е. одновременно счетчик может запустить все 4к сайтов открываться, что для компа фатально
Как сделать, чтобы они открывались по очереди?

Vsevolod
21.08.2017
17:02:13
Посмотри на библиотеку async

Egor
21.08.2017
17:19:56
Семафор должен решать твою проблему.

Google

Egor
21.08.2017
17:20:04
Правда я не знаю есть ли он в node

John
21.08.2017
17:28:42
парни, подскажите, пожалуйста
есть скрипт, запускающий скрипт на phantomjs
childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {...}
Я запускаю его в цикле, мне нужно 4к сайтов обойти, т.е.
for (i = 0; i < sites.lenght; i++) {
childProcess.execFile(binPath, childArgs, function(err, stdout, stderr) {...}
}
После чего, собстна, у меня виснет комп к херам))
Как я понимаю, childProcess запускает все асинхронно, т.е. одновременно счетчик может запустить все 4к сайтов открываться, что для компа фатально
Как сделать, чтобы они открывались по очереди?
https://github.com/PacktPublishing/Node.js_Design_Patterns_Second_Edition_Code/tree/master/Chapter04/04_promises_limited_parallel_execution

Vladimir
21.08.2017
17:31:08
Запускай максимум n одновременно

Egoarka
21.08.2017
19:19:12
использовать мидлвары express'a в koa не больно?

ASergey
21.08.2017
20:16:13
Они ж разные совсем....
В экспрессе три параметра, в коа два

Egoarka
21.08.2017
20:18:00
koa-connect вроде есть

Vladimir
21.08.2017
20:18:50
Не стоит

Sheldhur
21.08.2017
20:46:23
как http\https с socks5 подружить?

Vladimir
21.08.2017
21:06:30
@chicoxyzzy сегодня опять какая-то драма
https://twitter.com/maybekatz/status/899731716062838785

Ҫѐҏӗѫӑ
21.08.2017
21:06:40
что в этот раз?

Vladimir
21.08.2017
21:06:49
Пока не понял

Google

Ҫѐҏӗѫӑ
21.08.2017
21:18:41
видимо это драма посерьезнее

Vladimir
21.08.2017
21:19:39
Непонятно, о ком речь, вот в чем проблема

Ҫѐҏӗѫӑ
21.08.2017
21:20:52
да про бена видимо

Vladimir
21.08.2017
21:21:21
Ну у меня тоже только такая версия, но не понятно, с чего вдруг
Он вроде и не в TSC
Не, Род

Ҫѐҏӗѫӑ
21.08.2017
21:24:35
оО
кстати, что такое D&I?
диверсити и инклюзивити видимо

Vladimir
21.08.2017
21:25:05
ага
Короче, sjw как всегда

Ҫѐҏӗѫӑ
21.08.2017
21:25:28
а Род-то что? он ваще молчит обычно и только по тех части пишет

Vladimir
21.08.2017
21:25:40
https://github.com/nodejs/TSC/issues/310

Ҫѐҏӗѫӑ
21.08.2017
21:29:43
лол ваще
про твиттер просто пиздец
что это за бот? он по несколько раз в день заходит

Vladimir
21.08.2017
21:32:21
Хз. Вроде ничего не делает
Забавно. Бен и Родд - пожалуй два человека, оказавших максимальное влияние из текущей команды
Обоих пытались слить под левыми предлогами

Google

Ҫѐҏӗѫӑ
21.08.2017
22:18:27
лол
https://twitter.com/maybekatz/status/899756026538278913
го кс я создала
кто уже поставил айожс?
надо настроить бота

Alexander
21.08.2017
22:20:53

Ҫѐҏӗѫӑ
21.08.2017
22:21:20
?

Konstantin
21.08.2017
22:26:22

Voskresus
21.08.2017
22:31:21
граждани нодовцы будьте добры подскажите если я буду при каждм обращении к серверу записывать файл это нечего страшного или слишком ?
за такое обращение с сервером на бутылку не посадят ?

hamper ?
21.08.2017
22:32:28
Как бы всякие nginx тоже логи писать могуть десятками мегабайт в минуту.

Voskresus
21.08.2017
22:33:13
хочу прибавлять по единице после каждого обращени++
типа счетчик но не посищений канеш
вообще я думаю раз в 10 таких запросов прибавлять по 10
но нода еще не приступна для меня в плане творчества
и тем немение бота я уже дописываю на ней

hamper ?
21.08.2017
22:46:27
Ну кеш лишним не будет, и скидывать в файл только периодически, если возможно, хотя если ты там гигабайтами не пишешь то в целом пофиг.

Никита
22.08.2017
01:39:01
Ох.

Игорь
22.08.2017
09:45:52
Если у тебя не миллион логов в секунду то ничего страшного не будет)

Андрей
22.08.2017
10:31:27
Добрый день, решил поковырять sails, можете подсказать на сколько он актуален и как часто его берут за основу для реальных проектов?

Google

Tim
22.08.2017
10:31:50
Вообще не актуален

Андрей
22.08.2017
10:33:42
а чему стоит уделить внимание кроме express ?
смотрю в топе koa , meteor

Tim
22.08.2017
10:36:29
Количеству сделанных проектов вами.

Gleb
22.08.2017
10:40:48
Я бы ещё Restify в этот список внёс. Но это ж не фреймворки типа ASP.NET, а маленькие либы для HTTP. Их не совсем корректно называть фреймворками.

Egoarka
22.08.2017
10:54:35
смотрю в топе koa , meteor
koa стоит уделить внимание, там мидлвары легче делать и ошибки обрабатывать, так как все на асинках можно делать
+ koa супер легковесный (0 бойлерплейта) и к тому же от разработчика, который раньше разрабатывал и поддерживал express

Konstantin
22.08.2017
10:57:45
... а потом ушел в го

Андрей
22.08.2017
11:53:49
Спасибо

Yan
22.08.2017
12:15:02
От TJ в смысле?
Он до этого и в рубя коммитил
Это скорее про его личные интересы, а не про языки
Keystone кто-нибудь юзает/юзал?
Поделитесь впечатлениями


Max
22.08.2017
14:35:16
koa стоит уделить внимание, там мидлвары легче делать и ошибки обрабатывать, так как все на асинках можно делать
+ koa супер легковесный (0 бойлерплейта) и к тому же от разработчика, который раньше разрабатывал и поддерживал express
Мне например не нравится что koa вводит новую абтракцию в виде контекста и предлагает учить кучу свойств и методов вместо того чтобы передавать нативные нодовские request и responce в аргументах миддлварки. В итоге после того как я разобрался в его исходниках я понял что на самом деле паттерн миддлваров насколько простой что укладывается в пару строчек. Вот пожалуйста мини-koa без в 10 строчек
var http = require('http');
var server = new http.Server();
var middlewares = require('./middlewares');
var handler = middlewares.reduceRight((acc, m)=>m.bind(null, acc), async()=>{});
server.on('request', (req, res)=>{
handler(req, res);
})
server.listen(3000, 'localhost');а сами миддлварки которые принимают request и responce и следующую миддлварку (next) выглядят так
module.exports = [
async (next, req, res)=>{
console.log('before', req.method, req.url);
await new Promise(res=>setTimeout, 1000);
await next(req, res);
console.log('after');
},
async (next, req, res)=>{
console.log('before');
res.end('hello, world');
console.log('after');
}
]Плюс у коа есть еще недостаток что не кеширует миддлварки и на каждый реквест создает новые забидненные функции, в то время когда в моем примере хандлер собирается только один при старте раз а на реквест потом его достаточно просто вызвать.
В общем я в своих проектах пришел к тому что мне не нужна лишняя асбракция в виде фремвока и дополнительной документации которую нужно учить когда достаточно обычной ноды


Egoarka
22.08.2017
14:42:26
в коа есть алиасы req/res и еще, можно было просто в аргументах деструктуризовать поля и достать их, ну пример очевиден
app.use(async ({ req, res }, next) => {
// to something
});

Dmitrii
22.08.2017
14:42:30
Её не надо учить у коа дока минимальна и проста

Egoarka
22.08.2017
14:42:58
+

Dmitrii
22.08.2017
14:43:30
Плюс в коа и экспрессе в том, что есть куча готовых мидлваров, которые отлично работают. Тебе же прийдется писать свои на каждый чих