@nodejs_ru

Страница 483 из 2748
Vladimir
03.01.2017
06:25:44
На самом деле, новые стандарты всегда медленее; вспомни те же промисы

Дмитрий
03.01.2017
06:26:15
Найдёшь пруфы или сам забенчаешь?
Я тоже помню такое, было дело

Vladimir
03.01.2017
06:26:43
Относительно const/let vs var: у первых больше семантики, я думаю это норм, если у них будет небольшой оверхед

Google
Дмитрий
03.01.2017
06:27:06
В моем pipe тесте замена var на const особо ни на что не повлияла, кстати)

Vladimir
03.01.2017
06:27:24
Но не помню, что именно. То ли джит был сломан, то ли турбофан не включался

Дмитрий
03.01.2017
06:27:56
А, ну да

Eduard
03.01.2017
06:28:23
Найдёшь пруфы или сам забенчаешь?
http://stackoverflow.com/questions/37792934/why-is-let-slower-than-var-in-a-for-loop-in-nodejs

Vladimir
03.01.2017
06:29:34
http://stackoverflow.com/questions/37792934/why-is-let-slower-than-var-in-a-for-loop-in-nodejs
Бенч странный, ну и как я сказал семантика важна и влияет

Джон
03.01.2017
06:42:40
https://esdiscuss.org/topic/performance-concern-with-let-const

вот статейка есть

Глеб
03.01.2017
06:43:49
http://stackoverflow.com/questions/37792934/why-is-let-slower-than-var-in-a-for-loop-in-nodejs
У меня по этому тесту получилось 51ms (var) и 182ms (let)

https://esdiscuss.org/topic/performance-concern-with-let-const
Я видел её, но она мальца древняя, 4 года

Дмитрий
03.01.2017
06:50:06
120 мс и 480 мс

Но я первый попрошу себя стукнуть, если мне придёт в голову создать миллион объектов просто так

Глеб
03.01.2017
06:52:38
Это да) Тут скорее чисто теоретический интерес.

Google
Глеб
03.01.2017
06:53:43
Лол, в Firefox что-то глюкануло, c var 101432ms (завис), с let 447.

Результаты поменялись (ff49): var: 233.21мс, let: 33.05мс Чяднт?

Дмитрий
03.01.2017
06:58:35
Лоол

Да, фф виснет наглухо))

Nikita
03.01.2017
06:59:07
у меня чем больше итераций, тем быстрее работает лет и медленнее вар)

Alex
03.01.2017
08:00:03
ну ни как не могу понять эти промисы, как его сцука заставить заблокировать код и ждать пока я из сети скачаю файл и запишу его на диск и только потом начать выполнять следующий чейн, ту инфу что кидали сюда я так и не смог прикрутить к своему гавнокоду

Дмитрий
03.01.2017
08:23:31
Смотри подробнее на функцию resolve(), ее вызов говорит промису, что все ок, можно идти дальше

Pavel
03.01.2017
08:29:31
подскажите пожалуйста как в коа использовать разные проверки (middleware) для разных роутов. К примеру на серве есть ui часть, которая работает через jwt и все урлы нужно проверять на jwt. и есть просто апи методы, в которых нужно выставить специальный хедер, который не нужен в jwt и наоборот этим роутам не нужна авторизация по jwt. Как это можно сделать?

Alex
03.01.2017
08:32:21
что нужно передать в resolve из этого куска кода { const dlPath = folder + '/' + 'dl.txt'; let file = fs.createWriteStream(dlPath); https.get(result, function (response) { response.setEncoding('utf8'); response.on('error', function (err) { console.error(err) }); response.pipe(file) })

в упор не понимаю

Slava
03.01.2017
09:11:38
Может file.end(resolve...

Это тема про стримы

Roman
03.01.2017
09:16:03
такой неожиданный вопрос, а для чего вы ипользуете модели, кроме валидации?

и еще, кто следит, в 8 ноду упадут es6 модули?

Pavel
03.01.2017
10:29:39
неужели никто не знает как разделить проверки для роутов в коа? чтобы не было конфликтов?

Nook
03.01.2017
10:30:25
?

В чем проблема на входе смотреть заголовок и использовать middleware или идти дальше?

А если еще роуты используешь, так я вообще не вижу проблемы

https://github.com/alexmingoia/koa-router

7 версия для koa@next

Google
Nook
03.01.2017
10:35:08
Это мастер ветка

Pavel
03.01.2017
10:36:19
В чем проблема на входе смотреть заголовок и использовать middleware или идти дальше?
не совсем понимаю как работает. в app.use проверить хедер и дальше как?

Nook
03.01.2017
10:36:44
У тебя есть middleware

В нем условие поставить

if() { return next() }

Т.е не использовать дальше middleware

Николай
03.01.2017
10:38:05
наоборот, перейти к след. мидлваре, т.е. к роуту например

Pavel
03.01.2017
10:38:18
app.use(async (ctx, next) => { if (ctx.request.header['qwe']) { await next(); } else { ctx.status = 403; ctx.body = { message: 'Access denied', error: ctx.error }; } }); app.use(routes());

это проверка на хедер

а как быть с jwt ? у меня такой код app.use(jwt({ secret: publicKey, algorithm: 'RS256' }));

Nook
03.01.2017
10:39:36
наоборот, перейти к след. мидлваре, т.е. к роуту например
Я имел ввиду, что именно текущий middleware дальше не пойдет и перейдет к следующему

jwt({ secret: publicKey, algorithm: 'RS256' }) Возвращает тебе анонимную функцию

Nook
03.01.2017
10:40:39
Которая принимает ctx и next

Главное не пересоздавай ее внутри middleware

А то херня получится )

Pavel
03.01.2017
10:42:38
вроде идею понял, по коду пока не понимаю как оно :( не сталкивался с таким до этого момента

Nook
03.01.2017
10:42:47
const jwtMiddleware = jwt({ secret: publicKey, algorithm: 'RS256' });

Pavel
03.01.2017
10:44:40
это я понял, а использовать дальше jwtMiddleware в каком контексте и как, вот это я не понял, именно как это связать с проверкой хедера\

Nook
03.01.2017
10:48:13
app.use(async (ctx, next) => { await jwtMiddleware(ctx, next); });

Pavel
03.01.2017
10:52:02
ну и получается дальше идут роуты, которые работают через jwt так?

Google
Nook
03.01.2017
10:52:26
Лучше тогда использовать https://github.com/alexmingoia/koa-router

Почему таким путем не пойдешь?

Pavel
03.01.2017
10:53:10
его и использую, я не хочу в каждом методе проверять jwt или хедер

с ростом методов будут копироваться проверки, а так все проверки выкатил наружу в middleware

Nook
03.01.2017
10:55:13
koa@0.*

https://camo.githubusercontent.com/4bafe27df6fb198d66e134a3f977fcfc4ad75ff5/687474703a2f2f68336d616e74682e636f6d2f692f6b6f616a732e676966

Pavel
03.01.2017
10:59:07
https://camo.githubusercontent.com/4bafe27df6fb198d66e134a3f977fcfc4ad75ff5/687474703a2f2f68336d616e74682e636f6d2f692f6b6f616a732e676966
что-то меня эта гифка еще больше сбила с толку, буду разбираться дальше :) спасибо за отклик

Nook
03.01.2017
11:00:07
Это старая koa

Admin
ERROR: S client not available

Nook
03.01.2017
11:00:13
Но сути не меняет

Это даже не 1.*

Pavel
03.01.2017
11:02:17
вот на данном этапе у меня вот так: app.use(jwt({ secret: publicKey, algorithm: 'RS256' })); app.use(routes()); app.use(async (ctx, next) => { if (ctx.request.header['qwe']) { await next(); } else { ctx.status = 403; ctx.body = { message: 'Access denied', error: ctx.error }; } }); app.use(anotherRoutes());

routes() и anotherRoutes() это koa-routes routes()

но такой код неправильный

пытался отдельные апы сделать в которых свои middleware есть и через koa-mount собрать все в один, но в таком случае на любой запрос падает на серваке ошибка TypeError: next is not a function

Максим
03.01.2017
15:01:52
сори, не вникал, но зачем тут async/await ?

hamper ?
03.01.2017
18:08:19
Результаты поменялись (ff49): var: 233.21мс, let: 33.05мс Чяднт?
этот баг чисто для v8, в ff спайдерманки же, у них там своя реализация

Ҫѐҏӗѫӑ
03.01.2017
18:26:44
это не баг

Evgeny
03.01.2017
19:23:21
Ребят, кто-то может помочь в решении тестового задания, подсказать в каком направлении двигаться?

Google
Evgeny
03.01.2017
19:25:14
Story As user I want a tool for evaluating website performance. Acceptance criteria It should be a web site, Node.JS (suggestion: you can use bootstrap framework) It should be a page with text box where user can enter URL Application has to determine sitemap of requested URL, sends requests to sitemap’s URLs and measure response time (tip: you should not expect that sitemap.xml exists) Test result should display pages speed graphically (top of the page) Test result should display page speed as a table (bottom of the page). Table should contain min and max values for each page Slowest requests should be on top It should be possible to evaluate tests result history for tested web sites Source code for the task should be uploaded to GitHub or Bitbucket Notes Approach, tools, database engine can be selected by candidate It would be super cool in case response time is showed in real time. However it is not required.

Как-то так

Есть у кого какие идеи?

Ҫѐҏӗѫӑ
03.01.2017
19:31:42
есть идея сделать как написано

Dmitrii
03.01.2017
19:31:54
там же по шагам описано все

Ҫѐҏӗѫӑ
03.01.2017
19:31:56
¯\_(ツ)_/¯

Междоус
03.01.2017
19:32:22
Dmitrii
03.01.2017
19:32:37
только я бы нодой запросы не слал, а считерил, дергая через execFile какой нибудь siege, который предоставляет готовую инфу)

Vladimir
03.01.2017
19:32:54
Да ладно, какие проблемы

Тут ни гистограммы строить не надо, ничего персентили считать

Самое сложное - это карту построить

Но тут уж примерно с помощью cheerio

Пройтись

С лимитом переходов

Evgeny
03.01.2017
19:38:16
jdc
04.01.2017
00:24:14
html поддерживает только 3 типа видеофайлов? "In HTML5, there are 3 supported video formats: MP4, WebM, and Ogg."

Node.js releases
04.01.2017
00:25:53
Node v6.9.3 (LTS) https://nodejs.org/en/blog/release/v6.9.3

Node v4.7.1 (LTS) https://nodejs.org/en/blog/release/v4.7.1

Ҫѐҏӗѫӑ
04.01.2017
00:37:19
кому они нужны, бот?

а вот завтра снова проиграешь по v7.4.0

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