Anonymous
классный срач про гц был 👍
Мерль
Мерль
Эпик
Лучше такие, чем о табах и пробелах
Mykola
Коллеги, возможно, я проблему придумываю. Но есть такая мысль. Я по сути являюсь сейчас бизнесс овнером проекта. Сам проект на стадии проектирования. Так вот, есть (будет) APIшка. Очень хочется написать спеку по АПИ. Но! Хочется как то облегчить с помощью спеки написании тестов для АПИ. Писать спеку по апиколллам с помощью тестов не хочется. Этим буду не я заниматься. Но было бы неплохо, если по спеке можно было бы хоть как то облегчить этот процесс (генеринг тестов?). Думал описать с помощью swagger.yaml , но как то видется по другому. Или вообще не морочить голову, напистать в markdown апиколлы и отдать на откуп разработчику?
Evgeny
А почему свагер выглядит по другому?
Mykola
А как он поможет в написании тестов?
Mykola
он просто будет, для тестировщика сваггер может и сгодится.
Mykola
Как он поможет деву?
Mykola
Нашел очень интересную задумку, кто то пробовал?
https://github.com/matryer/silk
Evgeny
Как он поможет деву?
формализованной записью того что нужно и что вернется. это конечно если все что приходит и уходит сверяется со свагером
Дмитрий
JSON-schema?
Roman
а че кто-то еще пишет апи без свегера?
Mykola
да, используют например apidoc
Evgeny
свагер, несмотря на то что он гавно говном, несколько больше чем апидок.
Mykola
а что у него есть такого?
Evgeny
несложно интегрируется проверка входящих и исходящих данных, ну и такая-же как у апидока админка
Mykola
Раскажите флоу потом, как вы юзаете его. Ну есть у вас куча апиколов описанных в свагере. А дальше?
Evgeny
а дальше к нему подключатся мидлваря которая проеряет входязие данные а дальше круд
Roman
json schema validation
Roman
json schema вообще мощь без границ
Mykola
Коллеги, пните плз в правильно русло. Где это почитать? (в гугле не забанили)
Roman
сначала декларативно описываешь апи, а потом ковыряешь логику
Roman
такая высокоуровневая апи типизация
Mykola
ну допустим. В ямле описал все поведение. А дальше?
Mykola
Все равно писать самому все, хоть полугенеринга, но нет же?
Evgeny
полугенеринг это sailsjs вам нужен
Roman
ну чудом само собой ничего не появится, хотя и есть автогенерация кода. просто есть куча тулзов для упрощения жизни: автовалидация, автотесты, документация, ui
Roman
а потом вы в один момент заходите сделать graphql апи и сможете обернуть описанные типы в любую новую структуру
Mykola
имел ввиду, что этот ямл только для свагера и нужен (генерилки списка апиколов и работы с ним). Бекенд самому писать придется, но только смотря на ямл. Заюзать его больше никак не получится?
Mykola
или таки ямл-файл еще сгодится для чего то?
Evgeny
https://www.npmjs.com/package/swagger-validator
Roman
http://swagger.io/tools/
Evgeny
https://www.npmjs.com/package/swagger-to-js-api
Roman
Evgeny
короче https://www.npmjs.com/browse/keyword/swagger
Mykola
Я наверно нудный 😊 но я все равно не понимаю как его еще юзать. Например, swaggerValidator принимает JSON-файл и валидирует его. И все? По сути это линтер. Чем он мне помоежет. В любом случае я буду в Swager Editor писать и там ошибки сразу. Я подразумеваю, что этот файл можно заюзать например где то действительно в миделварьке, которая будет валидировать входящие данные в моей АПИ. Это хоть как то облегчит написание апи-колов. Или нет?
Roman
он не json валидирует a пришедший запрос
Mykola
Кажись у меня момент истины 😊
Mykola
спасибо
Evgeny
Evgeny
https://scotch.io/tutorials/speed-up-your-restful-api-development-in-node-js-with-swagger
Evgeny
и вот http://www.tothenew.com/blog/build-restful-api-using-node-and-hapi/
Mykola
В этих статьях как раз показывают как свагер помагает разрабатывать путем тыцанья кнопок (апиколов). Дев по сути добивается, чтоб апишка работала без ошибок на эти апиколлы. Хочется большего 😊
Никита
а кто пользовался яндех картами? Можно ли как то определить, входят ли координаты в круг?
Энлов Свичблейд
Кластеры?
Владимир
https://tech.yandex.ru/maps/doc/jsapi/1.x/ref/reference/geopoint-docpage/#distance
Vladimir
> @baranovnikita
Можно ли как то определить, входят ли координаты в круг?
да и карты для этого не нужны
Vladimir
https://en.wikipedia.org/wiki/Haversine_formula
Никита
так то да.я тоже уже об этом подумал
Никита
но тут мне не то что бы в круг
Никита
а именно во МКАД
Никита
и в 3 транспортное
Vladimir
Для этого нужен point in polygon
Vladimir
https://github.com/vkurchatkin/which-country
Vladimir
аналогично
Vladimir
Либа: https://github.com/mapbox/which-polygon
Никита
Спасибо большое!
Nikolay
ребят
Nikolay
а кто нить на ноде магазы подымал?
Nikolay
как там с платежами доставкой дела обстоят никто не вкурсе?
Nikolay
нпм дает всякие киви?
Никита
Яндех деньги/пэйпал норм сдк вроде
Anonymous
Существуют ли какие-либо good practice или соглашения для проектирования API на WebSocket?
Vladimir
Лучший practice - не использовать websocket по возможности
W.Ed.
Vladimir
Для всех
Vladimir
Всмысле - не использовать их там, где они не нужны
W.Ed.
есть что-то лучше
Vladimir
http
Dmitry
можешь глянуть http://www.jsonrpc.org/specification
W.Ed.
ну, это очевидно
Michael
Michael
COMET macht frei
Vladimir
Если на основе сокетов попробовать сделать что то в реал тайме, с большой вероятностью получиться ненадежное говно
W.Ed.
COMET - это что-то про мамонтов
Vladimir
Если попытаться его сделать надежным, то окажется что и сокеты в общем не нужны
Michael
W.Ed.
Vladimir
В общем, можно юзать сокеты, если нужно получать какие то некритичные нотификации
Vladimir
Где нестрашное их терять