@oop_ru

Страница 648 из 785
Aleh
17.05.2018
11:01:22
Это про транспорт, а не про ваше приложение

Adel
17.05.2018
11:01:29
и приходится язык http переводить на язык бизнеса.

лишнее

Артур Евгеньевич
17.05.2018
11:02:03
и приходится язык http переводить на язык бизнеса.
ну вот да rest это и пытается сделать))

Google
Yet Another Stats
17.05.2018
11:02:20
https://b.yasb.exileed.com/telegram/chat/1001071233926

Aleh
17.05.2018
11:02:25
А язык smtp не надо на язык бизнеса переводить или вебсокеты там?

Или amqp

Sergey
17.05.2018
11:07:28
и приходится язык http переводить на язык бизнеса.
о да, язык бизнеса целиком состоит из урлов... эх...

с этой точки зрения RPC намного ближе к тому что ты хочешь)

Adel
17.05.2018
11:09:24
У меня что? Какая плохая точка зрения?

Sergey Protko, [12.12.17 12:32] как будет выглядеть метод API для смены пароля пользователя?) Sergey Protko, [12.12.17 12:32] на вход два поля - старый и новый пароль Борис Беньковский, [12.12.17 12:32] PATCH /user/{id}/ password: MY_FUCKIN_PASSWORD new_password: MY_FUCKIN_NEW_PASSWORD Sergey Protko, [12.12.17 12:32] как ты будешь это в коде делать? Sergey Protko, [12.12.17 12:33] у тебя ж выходит будет куча действий на PATCH /user/{id} Sergey Protko, [12.12.17 12:33] как ты это в коде маршрутизировать будешь? Sergey Protko, [12.12.17 12:33] как будешь проверять что password валиден? Sergey Protko, [12.12.17 12:33] и что мы можем поменять пароль?)

я тут себе для презенташки записал как-то... :)

а хотя он тут просто неправильно рест готовит. ладно.

Evgeniy
17.05.2018
11:17:38
про маршрутизировать не согласен, большинство маршрутизаторов маршруты на основе регулярок по url делают

но маршрутизатор то маршрутизирует Request а он не только из url но и body состоит

Google
Evgeniy
17.05.2018
11:18:51
просто все привыкли (HTTP_METHOD, REGEXP, Controller (или что угодня для обработки маршрута))

Sergey
17.05.2018
11:19:02
ну то есть у тебя оно накладывает только ограничения что бы ресурсы были cachable

то есть не допускать двусмысленности

все

дальше называй че как хочешь

Evgeniy
17.05.2018
11:20:17
какое к черту отношение урлы имеют к rest?)
я сейчас говорю о: Борис Беньковский, [12.12.17 12:32] PATCH /user/{id}/ password: MY_FUCKIN_PASSWORD new_password: MY_FUCKIN_NEW_PASSWORD

Sergey
17.05.2018
11:20:27
GET activeAppointments?category=1,2,3foo=bar

Evgeniy
17.05.2018
11:20:28
и о проблемах это маршрутизировать

Sergey
17.05.2018
11:20:31
вот тебе вполне по rest-у

как и многие

Adel
17.05.2018
11:21:02
ну да. я вот как раз на этом примере пытаюсь обьяснить, что CRUDмышление силньо вредит когда проект растет и логика уже давно не crud

Evgeniy
17.05.2018
11:21:06
ну возможно, просто я сколько вижу разговоров за рест

у всех он свой и специфичный

как и mvc

Adel
17.05.2018
11:21:24
я вот думаю что многие путают. уж очень оно.. толкает

Sergey
17.05.2018
11:21:29
я могу скинуть тебе видос где объясняю свою точку зрения что у тебя нет и никогда не будет rest)

Google
Evgeniy
17.05.2018
11:21:49
и всякие graphql, odata и тд занялись этими вопросами

Sergey
17.05.2018
11:21:54
согласен, основная проблема это read
нет, с read все довольно просто и если у тебя только read то все как раз таки у людей нормально

Evgeniy
17.05.2018
11:22:01
и на фоне этих проблем rpc не выглядит так плохо

Adel
17.05.2018
11:22:04
кстати да. главное - это write

глаголы.

Sergey
17.05.2018
11:22:37
глаголы.
UserManager - существительное но бесполезное

или UrlVerifier - существительное но как бы нет

это не важно

Adel
17.05.2018
11:23:02
PostPublishUseCase $post->publish();

Sergey
17.05.2018
11:23:09
важно то как ты воспринимаешь изменение. Большинство воспринимают изменение как замену стэйта

патчинг объектов и прочий трэш

Adel
17.05.2018
11:23:18
я на таких примерах пытаюсь обьяснять

Sergey
17.05.2018
11:23:29
главное когда делаешь апишку понимать что и зачем ты делаешь. Понимаешь ли ты ограничение cachable из rest, про unified interface ограничения и т.д.

если нет - заткнись и пиши код и не выпендривайся

как там в кватновой физике - "заткнись и считай"

Evgeniy
17.05.2018
11:24:50
так когда ты пишешь и не выпендриваешься

то разработка гибкая

и хз как получится все потом через год

то что было год назад нормально

Google
Sergey
17.05.2018
11:25:21
и хз как получится все потом через год
демагогию опять разводишь. Ты никогда не знаешь как оно будет через год. Никогда.

Evgeniy
17.05.2018
11:25:48
Like
17.05.2018
11:26:13
Evgeniy
17.05.2018
11:26:16
поэтому у тебя 2 варианта: 1. Оверинжиниринг 2. Бритва оккама, если что потом перепишешь

потому что хз что будет через год и какую часть приложения надо будет расширять

а где все заложенное расширение оверинжиниринг

Evgeniy
17.05.2018
11:29:35
джилет

Sergey
17.05.2018
11:29:48
джилет
ты меня понял, я про бритвы которые должны истину обножать)

Evgeniy
17.05.2018
11:30:40
слышал о хенлоне каком то

но я хз, чукча писатель, не читатель.

Sergey
17.05.2018
11:31:39
Evgeniy
17.05.2018
11:31:58
возможно, возможно они и не правильные

но обычно или закладываются на функционал и пишут его очень долго когда оно готово уже никому не нужно или расширять надо что то другое, очень редко функционал что закладывался для расширения потом использовали

Sergey
17.05.2018
11:33:24
согласен, основная проблема это read
так все же - почему основная проблема это read?

Evgeniy
17.05.2018
11:33:26
или другой вариант ебошишь прототип если все норм переписываешь кусками

так все же - почему основная проблема это read?
обычно приложения надо кучу всяких разных вариантов получения ресурсов

фильтраций, сортировки и тд

например часть ресурса в бд реляционной, а часть лежит в редисе, монге и тд и надо сделать фильтрацию и сортировку

Google
Evgeniy
17.05.2018
11:37:46
а еще например иногда просят какому нибудь клиенту полный ответ отдавать а другим не полный и надо скрывать поля (ну или правильней делать новый ресурс без полей что не нужны но тогда он полностью дублирует другой ресурс почти)

Sergey
17.05.2018
12:00:47
фильтраций, сортировки и тд
занятно что graphql никак не решает эти вопросы)

а еще например иногда просят какому нибудь клиенту полный ответ отдавать а другим не полный и надо скрывать поля (ну или правильней делать новый ресурс без полей что не нужны но тогда он полностью дублирует другой ресурс почти)
это представление, просто разное представление, что у тебя там дублируется? ты можешь описать это типами без дублирования а значит все хорошо. и не важно graphql у тебя или нет

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

а вот запись, изменение стэйта и т.д. в контексте API (что влечет за собой проблемы инвалидации кэша на клиенте например) это реально вопрос.

но если у тебя нет http cache - то у тебя и проблем и ограничений нет)

Evgeniy
17.05.2018
12:03:16
ну вопрос инвалидации кэша он известен давно

Sergey
17.05.2018
12:03:29
Vlad
17.05.2018
12:08:58
можно видос?
Присоединяюсь к просьбе

Sergey
17.05.2018
12:12:12
https://www.youtube.com/watch?v=2nELo4fJMNQ - на но это так, шутки ради

Vlad
17.05.2018
12:12:32
Спасибо!

Roman
17.05.2018
12:12:35
спасибо

Sergey
17.05.2018
12:12:39
основной посыл - rest это архитектурный стиль а не что-то конкретное. И на этом все.

Dmitriy
17.05.2018
12:28:32
соль не в том что бы девушка была красивее, просто что бы другая.
Просто левую сзади не видно, и не совсем понятно, действительно ли правая красивее в этих местах)

Страница 648 из 785