Denis
17.05.2016
12:51:50
Я думаю что просто вопрос слишком обширный/неточный. =) В общем случае скажут - берешь express и делаешь кучу методов .get() .post() и т.д. (прямо из доки по express) . А если получается много кода - разбиваешь по файлам как тебе удобно
Vladimir
17.05.2016
12:59:42
наверное, вопрос скорее в том, как удобней всего быстро сделать restful api, с персистансом в постгресе, чтобы по минимуму возиться с миграциями и багами ОРМ.
это я присоединяюсь к вопросу и задаю свой подвопрос:)
Alisa
17.05.2016
13:00:42
ну значит я пока что всё делаю правильно, спасибо, но думал уже есть какие-то наработанные практики, которым все следуют
Google
Nikita
17.05.2016
13:00:49
я могу рассказать как я делал
Evgeny
17.05.2016
13:01:09
HapiJS + модули к нему, ручной работы почти не надо
Nikita
17.05.2016
13:01:54
вот у меня hapi не пошел, но я сделал почти также внутри express
для каждого проекта пишу свою createRoute функцию
и вот так выглядит код контроллеров
Denis
17.05.2016
13:02:47
koa 2.x никто еще не поднял?)
Константин
17.05.2016
13:08:33
Я на koa2 перешел. Так можно без проблем переходить, недавно добавили koa.convert и старые мидлверы на генераторах работают, только ворнинг выбрасывают.
Konstantin
17.05.2016
14:04:02
пишу отдtльный сервис для обработки сокетов, на хендшеке получаю sid из кукисов и нужно прочитать сессию пользователя, которая создана экспрессом в другом процессе
создаю http://pastebin.com/FfM4CghM express-session объект, но чет не найду как обратиться к сессии по SID
вроде нашел нужный пример http://mono.software/2014/08/25/Sharing-sessions-between-SocketIO-and-Express-using-Redis/
Artur
17.05.2016
14:28:34
Gregory
17.05.2016
14:50:48
Koa 2.x вообще красава. Правда async/await транслируется в бесконечный while что не очень хорошо на беке
Kanat
17.05.2016
15:01:30
https://ru.m.wikipedia.org/wiki/Абстракция_данных
Denis
17.05.2016
15:07:04
Google
Gregory
17.05.2016
15:08:15
также
везде так же, вот почему async/await проигрывает в беке
для своих проектов норм
для прода сейчас не знаю, хорошо или плохо. Смотря какие нагрузки
Vladimir
17.05.2016
15:12:29
в шестой ноде нативные промисы
почему они будут ковертироваться async/await конвертируется в infinite loop?
Konstantin
17.05.2016
15:14:09
Gregory
17.05.2016
15:14:12
потому что их так конвектирует бейбл
Константин
17.05.2016
15:28:38
..разве не в генератор с промисами? там нету while..
если не для 5,6 ноды - функция с while, для node 5,6 - в генератор с промисами транспилится
Denis
17.05.2016
17:37:57
Все места на Node.js Meetup были разобраны сегодня утром (меньше чем за сутки), но только что освободилось одно место - успевайте http://www.meetup.com/Moscow-NodeJS-Meetup/events/231141123/
Artur
17.05.2016
17:45:10
Gregory
17.05.2016
17:45:50
посмотри то во что привращается async/await
Artur
17.05.2016
17:45:54
Gregory
17.05.2016
17:46:37
while(true) с внутреними switch которые решают что когда делать
Я и не говорю
Artur
17.05.2016
17:47:04
Неужто babel такое делает О_О
Gregory
17.05.2016
17:47:12
что koa что то комплит, koa2 просто в основе юзает async/await
Nikita
17.05.2016
17:47:14
это если yield не поддерживается
Google
Nikita
17.05.2016
17:47:24
на бэке yield поддерживается уже давным давно
Gregory
17.05.2016
17:47:38
какая у тебя нода?
не у всех на проде 6, я с 6 еще не пробовал
Nikita
17.05.2016
17:48:09
эм, с 4 поддержка норм
если не с iojs
Gregory
17.05.2016
17:48:16
у меня 4
не потдерживается
Artur
17.05.2016
17:48:34
Gregory
17.05.2016
17:49:16
я тестами транслирую код и смотрю что там внутри, и вот там говно редкое
Не совсем
Artur
17.05.2016
17:49:22
Влад
17.05.2016
17:49:26
Gregory
17.05.2016
17:49:37
4.0.2
Artur
17.05.2016
17:49:45
А версии обновляю, естественно, по мере выхода.
Если проект в разработке, разумеется.
Влад
17.05.2016
17:50:07
В 4-ой есть генераторы же, я сам лично использовал
А вот async/await есть только в бабеле пока
Gregory
17.05.2016
17:51:03
точней еще для него нужен babel-polifill
Nikita
17.05.2016
17:51:07
❯ node --version
v4.4.4
❯ cat test.js
'use strict';
function *test() {
yield 1;
}
const result = test();
console.log(result.next());
❯ node test.js
{ value: 1, done: false }
ЧЯДНТ?
Google
Gregory
17.05.2016
17:51:14
так я и не говорю что нет генераторов
я говорю что для async/await они не юзаются
Artur
17.05.2016
17:51:37
Gregory
17.05.2016
17:51:37
если бы они юзалилсь бы такого бы говня и не было
Artur
17.05.2016
17:51:48
Nikita
17.05.2016
17:51:50
юзаются, как бы)
Gregory
17.05.2016
17:52:01
про TS ни кто не говорит
Artur
17.05.2016
17:52:01
Я async/await с прошлой осени юзаю
Не было проблем.
Влад
17.05.2016
17:52:10
Асинк эвэйт на уровне v8 пока не поддерживаются
Nikita
17.05.2016
17:52:29
[require('babel-plugin-transform-async-to-module-method'), {
module: 'bluebird',
method: 'coroutine'
}]
Gregory
17.05.2016
17:52:31
Я это и писал
Nikita
17.05.2016
17:52:37
вот такое добавь в babelrc
Artur
17.05.2016
17:52:45
Gregory
17.05.2016
17:52:50
И он приобразовует в несамый производительный код
Artur
17.05.2016
17:52:55
Сейчас, кстати, гляну есть там бесконечные циклы
Gregory
17.05.2016
17:53:07
Давай
Влад
17.05.2016
17:53:22
Но тут ребята правильно говорили, что co с генераторами ничем принципиально от async await не отличается же
Nikita
17.05.2016
17:53:27
и там будет все тот же bluebird.coroutine, только медленнее в пару раз.
Google
Artur
17.05.2016
17:53:51
Влад
17.05.2016
17:54:05
Если есть поддержка генераторов в движке — то асинк эвэйт в них можно компилять
Если нет — толтко в бесконечный цикл
Nikita
17.05.2016
17:54:25
промисы давным давно есть. Однако все нормальные люди используют bluebird на ноде. Или аналог
так что ключевое слово - нормальная поддержка
Влад
17.05.2016
17:54:55
Nikita
17.05.2016
17:55:03
на бэке?
Влад
17.05.2016
17:55:07
Да
Nikita
17.05.2016
17:55:21
и плевать, что они в 2-3 раза медленее bluebird?
Artur
17.05.2016
17:55:41
О, да, детка. Рилли while(1)
Влад
17.05.2016
17:55:45
Nikita
17.05.2016
17:55:45
и используются посути везде
https://github.com/petkaantonov/bluebird/tree/master/benchmark
Artur
17.05.2016
17:56:26
Меня мои аппки с TTFB в 5ms вполне устраивают...
Nikita
17.05.2016
17:57:22
эм, ну если это ок, то и while(true) ваще не проблема)
Artur
17.05.2016
17:57:27
Хотя есть желание ускорить, но не думаю, что замена нативных промисов на блюбирд мне что-то даст.
Nikita
17.05.2016
17:58:07
а тормознутые промисы стал бы?) где логика?
Artur
17.05.2016
17:58:08
У меня коллега бывший гоняет полтора млрд запросов на ноде в сутки.
Но без этих примочек.