@nodejs_ru

Страница 842 из 2748
Gkio
05.06.2017
15:58:18
Какой нибуть ресурс для изучения чистово кода по js

я люблю грин дей
05.06.2017
16:03:11
Тема твоего редактора/IDE Темная (monokai, darkula, ambiance) – 86 ??????? 83% Светлая (eclipse, mdn, neat) – 16 ? 15% Что-то среднее – 2 ▫️ 2% ? 104 people voted so far.
я не могу найти свою тему. с темными не очень нравится, так как днём стремно, но на темных реально удобнее читать код и глаза меньше устают

даркула не очень нравится, но лучше ничего не встречал ещё

Google
Eugene
05.06.2017
16:18:44
Привет. Как часто юзаете swagger при разработке API?

I
05.06.2017
16:36:50
В ноде мне не понравилось, как оно выглядит

Никита
05.06.2017
16:55:43
@chicoxyzzy https://www.npmjs.com/~chicoxyzzy — это ты?

Ҫѐҏӗѫӑ
05.06.2017
16:56:06
да

Сергей
05.06.2017
16:57:36
да
Твой плагин для еслинта, прям норм

Ҫѐҏӗѫӑ
05.06.2017
17:01:43
спс. у нас еще есть неплохие вещи тут https://github.com/shitjs

Vsevolod
05.06.2017
17:04:25
Привет. Как часто юзаете swagger при разработке API?
У меня одно апи на сваггер ноде сделано

Леха
05.06.2017
18:13:34
Привет. Как часто юзаете swagger при разработке API?
Попробовал - как-то не зашло. Юзаю apidoc и вполне счастлив.

Fedir
05.06.2017
18:20:38
swagger неплох

Roman
05.06.2017
18:46:40
Чуваки, кто хочет иметь такое в ноде: * Controllers must be typed. It allows to cover with types all further code. * API endpoint must be decribed only once (single source of truth, DRY) * API must have UI and documentation * Data must be validated automatically in runtime before getting to controller according endpoint description. * API can be any type or format (REST, GraphQL, RPC etc.) and not be coupled with business logic

Evgeny
05.06.2017
18:49:45
Это что за сказка?

Таймураз
05.06.2017
18:52:57
Под GraphQL были бы поудобнее решения- и збс

Google
Roman
05.06.2017
18:55:42
Это что за сказка?
Это не сказка, есть уже proof of concept

Vsevolod
05.06.2017
19:05:53
по типу сваггера? :) вообще норм тема

и кодогенерацию туда подвезти тоже

а то подразумевается под типизированными контроллерами?

Roman
05.06.2017
19:07:33
по типу сваггера? :) вообще норм тема
Поддержка свагера преполагается в последнем пункте и 3ем

и кодогенерацию туда подвезти тоже
Кодогенерация зло, не надо

Vsevolod
05.06.2017
19:08:25
Я вообще сам против нее, но, как обычно есть но :)

Evgeny
05.06.2017
19:08:38
Но - кодогенерация - зло

Vsevolod
05.06.2017
19:10:11
Друзья пыхари сказали, что довольно норм сгенерировало обёртку над апи

Сваггер тобишь

Никита
05.06.2017
19:11:49
Гитхаб ?

Maksim
05.06.2017
19:15:37
Гитхаб ?
а давно не работает?

Ilya
05.06.2017
19:17:50
шо опять забанили

Таймураз
05.06.2017
19:20:12
Остальное типо все ок?)
Мне бы найти удобное решение под graphql а там пох

Aleh
05.06.2017
19:20:31
@wertlex @vkurchatkin @sergeysova @mkusher @ZeroBias @NordLuf https://github.com/yarax/tapi
по тесту не совсем понял, че происходит там

а, пример в папке controllers?

да, идея супер

Evgeny
05.06.2017
19:22:03
а зачем require('./controllers/controller');?

Google
Roman
05.06.2017
19:24:19
а зачем require('./controllers/controller');?
там на самом деле надо рекваирить все из папки controllers, да

Aleh
05.06.2017
19:26:01
там на самом деле надо рекваирить все из папки controllers, да
у меня есть наброски похожей ерунды, но не для api. Я там иду по всему проекту и ищу экспорты помеченные декоратором

Roman
05.06.2017
19:27:54
у меня есть наброски похожей ерунды, но не для api. Я там иду по всему проекту и ищу экспорты помеченные декоратором
да, у меня там вот собственно эта конструкция карированная в контроллере ее было бы шикарно сделать декоратором, но они деприкейтед, если не юзать ts, a будущее их мутновато

получилось бы как аннотации в спринге или хелперы в джанго

Roman
05.06.2017
19:29:31
я в плане в бабеле же нет поддержки по дефолту

Сергей
05.06.2017
19:29:53
блуберд в зависимостях

лол

Aleh
05.06.2017
19:29:58
ну я декораторы юзанул только потому, что их проще в ast находить

чем вызов, и их лучше ts понимает, чем вызов функции с аргументом

Ilya
05.06.2017
19:30:26
mvc мутите?

Aleh
05.06.2017
19:30:32
т.е. заменить потом на вызов не беда

mvc мутите?
mvc на сервере?)

Vladimir
05.06.2017
19:30:53
Чет не понял как это тайпчекается

Сергей
05.06.2017
19:31:01
чет не понял че за HTTPRoutes

Ilya
05.06.2017
19:31:10
Сергей
05.06.2017
19:31:17
глобально чоль объявляет?

Aleh
05.06.2017
19:32:03
там на самом деле надо рекваирить все из папки controllers, да
ты по итогу будешь эмитить некий router.js, в котором будут все типы и валидация?

Roman
05.06.2017
19:32:04
Чет не понял как это тайпчекается
чекается как обычно флоу, из флоу по ast формируется json schema для райнтайм валидации и построения апи

Google
Roman
05.06.2017
19:32:35
т.е перед запуском сервера проходит статическая проверка

в итоге типы флоу + неокоторые декораторы - источник апи

Vladimir
05.06.2017
19:33:11
Как чекается что там вообще есть id

Или другие параметры

Roman
05.06.2017
19:33:38
примерно как в серванте хаскелевском, но там естественно язык все тянет

Vladimir
05.06.2017
19:33:50
Не, ну я не знаю как там

Admin
ERROR: S client not available

Aleh
05.06.2017
19:33:53
Как чекается что там вообще есть id
эт наверное только рантайм, не? Roman

Vladimir
05.06.2017
19:33:59
Но здесь предполагаю что никак

Roman
05.06.2017
19:34:20
не, контроллер щас тайп чекается ок, в чем проблема

Vladimir
05.06.2017
19:34:34
Я вот такое делал по фану

Roman
05.06.2017
19:34:36
есть типы для аргументов описанные, есть для выхода функции и соотв-но ендпоинта

Aleh
05.06.2017
19:34:47
"/path", function(id: Path<number>){}

как ты проверишь, что в path вообще есть id?

это только в рантайме прокатит

Roman
05.06.2017
19:35:18
как ты проверишь, что в path вообще есть id?
да, в том и мякотка, что есть и статика и рантайм

Aleh
05.06.2017
19:35:19
ну точнее, самый простой вариант это в рантайме делать)

Vladimir
05.06.2017
19:35:25
https://pbs.twimg.com/media/Cw6dImEXcAI514a.jpg:large

Roman
05.06.2017
19:35:37
как ты проверишь, что в path вообще есть id?
из флоу по аст генерится json schema для рантайма

Google
Aleh
05.06.2017
19:35:44
а как ты статически проверяешь?

Сергей
05.06.2017
19:36:31
Aleh
05.06.2017
19:36:44
Roman
05.06.2017
19:36:48
а как ты статически проверяешь?
контроллер щас это корретктный флоу код

Vladimir
05.06.2017
19:36:54
Вот здесь статическаятипизация роутнига

Anton
05.06.2017
19:36:55
получилось бы как аннотации в спринге или хелперы в джанго
Будто это что-то хорошее. На спринговый код смотреть страшно, анотация на анотации и херова туча магии, будто не жабе уже пишешь

Roman
05.06.2017
19:37:07
https://pbs.twimg.com/media/Cw6dImEXcAI514a.jpg:large
да, типо того, только еще райнтам

Vladimir
05.06.2017
19:37:26
Не не, у тебя как раз статической проверки нет

Как я понял

Только динамическая

Roman
05.06.2017
19:37:42
Будто это что-то хорошее. На спринговый код смотреть страшно, анотация на анотации и херова туча магии, будто не жабе уже пишешь
согласен, здесь будет короче, потому что все берется из типов, а аннотации - это декораторы

Rafael
05.06.2017
19:37:51
https://pbs.twimg.com/media/Cw6dImEXcAI514a.jpg:large
не проще на elixir перейти?

Aleh
05.06.2017
19:37:58
контроллер щас это корретктный флоу код
еще раз пример HTTPRoute({method: 'GET', path: '/pet/:id'})((id: Path<number>, token: Headers<string>): ок, есть такой параметр, как id HTTPRoute({method: 'GET', path: '/pet/'})((id: Path<number>, token: Headers<string>): нет такого параметра, как id

это ж только в рантайме будет падать

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

Сергей
05.06.2017
19:39:09
https://pbs.twimg.com/media/Cw6dImEXcAI514a.jpg:large
выглядит интересно но странно немного

Roman
05.06.2017
19:39:23
это ж только в рантайме будет падать
в данном случае там под капотом создаются экспрессовые роуты и они будут разные, возможно это можно как-то лучше сделать, пока все очень сыро

Aleh
05.06.2017
19:40:23
в данном случае там под капотом создаются экспрессовые роуты и они будут разные, возможно это можно как-то лучше сделать, пока все очень сыро
да, я понимаю, но в любом случае проверки, что path и аргументы функции хоть как-то связаны в компайл-тайме пока нет

Roman
05.06.2017
19:40:25
соотв-но когда придут данные, ручка проверит по рантайм валидации, есть ли в пути id и да, упадет с ошибкой валидации 400

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