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
Плюс в коа и экспрессе в том, что есть куча готовых мидлваров, которые отлично работают. Тебе же прийдется писать свои на каждый чих