@symfony_php

Страница 103 из 1418
Sergey
13.02.2017
09:23:01
ну то есть в целом у тебя все будет сводиться больше к старому доброму RPC

Виталий
13.02.2017
09:23:12
Через апишку гоняются связанные данные: заказы с позициями, товары клиента, и тд...

Sergey
13.02.2017
09:23:43
https://github.com/youshido/graphql/ для graphql ?
https://github.com/webonyx/graphql-php - я вот эту штуку пока только юзал

Виталий
13.02.2017
09:23:49
ну то есть в целом у тебя все будет сводиться больше к старому доброму RPC
наверное надо почитать про RPC, так как я про него только вчера услыша. До этого все про REST говорили.. )

Google
Sergey
13.02.2017
09:24:24
Виталий
13.02.2017
09:24:55
есть очень популярное заблуждение что REST это что-то конкретное)
да. много заблюждений. даже у меня в голове. Думал что понял, а потом понял что не понял.

Sergey
13.02.2017
09:25:03
https://gist.github.com/fesor/9200f444742d9fe7ec1205cb1e072fd0

я тут кое чего накидывать хотел когда-то

Виталий
13.02.2017
09:25:14
Сижу разбираюсь какие есть спецификации и что подойдет конкретно мне.

https://gist.github.com/fesor/9200f444742d9fe7ec1205cb1e072fd0
ну а что скажешь про JSON API ?

Sergey
13.02.2017
09:26:59
стандарт норм, но он сложный

ну то есть... с точки зрения бэкэнда он несет в себе порой ненужную сложность

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

все упирается только в то что есть подходы попроще

например HAL

Виталий
13.02.2017
09:28:18
стандарт норм, но он сложный
а в чем сложность? Я ранее делал апишки с output & input in JSON но форматы сам придумывал. Как ошибки отдавать, коды ответов, и все такое... выгодило не очень. А эта штука вроде все стандартидирует.

Sergey
13.02.2017
09:28:43
ну как ошибки отдавать и т.д. это ты можешь механизмы http юзать

Google
Sergey
13.02.2017
09:28:52
просто многие этого не делают

Виталий
13.02.2017
09:29:05
ну вот я дублировал коды в тело ответа :)

Sergey
13.02.2017
09:29:09
сложность в том что тебе надо описать все структуры данных явно и всеравно есть ограничения по уровню вложенности

ну вот я дублировал коды в тело ответа :)
опять же в этом нет ничего плохого если клиенту так удобнее

главное что бы небыло такого что в теле код 500 а в заголовках 200

Виталий
13.02.2017
09:29:54
ахах

Sergey
13.02.2017
09:30:22
если тебе тупо данные гонять, то ты можешь взять какой-нибудь стандарт вроде HAL

или вообще взять fractal для php и играться

Виталий
13.02.2017
09:30:54
Sergey
13.02.2017
09:31:06
@voskobovich сразу спрошу, а тебе получается оба сервиса принадлежат? почему ты решил их разделить? Поиграться в микросервисы?

Да, оно.

Виталий
13.02.2017
09:31:39
@voskobovich сразу спрошу, а тебе получается оба сервиса принадлежат? почему ты решил их разделить? Поиграться в микросервисы?
нет, я разрабатыаю SaaS сервис. А другие сервисы (клиентские) будут со мной интегрироваться.

Sergey
13.02.2017
09:32:02
ааа, тут тогда надо долго думать с позиции как твой SaaS будут использовать

идеально было бы глянуть на API других SaaS

ну и в целом всякие гитхабы на graphql потихоньку уходят

просто потому что невозможно сделать абсолютно универсальную API

Виталий
13.02.2017
09:32:51
хм

Sergey
13.02.2017
09:33:12
а с Graphql ты определяешь только структуры данных, а как с ними взаимодействовать решает клиент

https://www.youtube.com/watch?v=wPPFhcqGcvk

Google
Sergey
13.02.2017
09:33:33
вот можешь глянуть

но опять же у graphql есть свои минусы и проблемы

потому хорошенько подумай и может быть стоит начать с rest

ну и все сильно от задач зависит

Ivan
13.02.2017
09:35:06
а в чем реальное преимущество rest перед jsonapi ?

Ivan
13.02.2017
09:35:34
вот и мне так кажется

Виталий
13.02.2017
09:35:48
одно спецификация а второе архитектурный стиль

:)

Sergey
13.02.2017
09:35:56
ну мол конкретной реализацией принципов

в vs между ними нет никакого смысла

Sergey
13.02.2017
09:36:51
а с точки зрения инфраструктуры победителем пока всеравно выходит graphql)))

точнее инструментов

Ivan
13.02.2017
09:37:06
уху. надо изучить

Виталий
13.02.2017
09:37:19
так, в общем. Пока что у меня 3 объекта: клиент, заказ и товар. Не думаю что мне надо графапи. Надо начать с REST но реализовывать на конкретной спецификации. В итоге надо выбрать между JSONAPI и HAL. Так?

Sergey
13.02.2017
09:37:24
для jsonapi есть только спека и чутка реализаций. Там нет модных средств верификации обратной совместимости в API

например

ну мол.... "так пользователю могут понадобиться его последние заказы + инфа о продуктах"

Google
Sergey
13.02.2017
09:38:16
или еще чего такого

Виталий
13.02.2017
09:38:26
угу, понял

Sergey
13.02.2017
09:39:16
ну и три сущности у тебя пока. Надо думать наперед

Sergey
13.02.2017
09:39:46
как-то я не пойму в аллокации памяти если делаешь $a = array_fill(0,100000, md5(1)); $a = []; то пхп сразу выделяется тонна памяти, а потом освобождается полностью а если сделать тот же фокус с нативным драйвером монги $data = $client->find( $criteria, ['projection' => array_fill_keys($fields, 1), 'typeMap' => ['root' => 'array']] )->toArray(); $data = []; то память не освобождается, но при этом при следующем запросе, он не просит лишней памяти, если результат влазит в ту что есть и вот я не пойму, если система выделяет скажем 500мб memory pages и потом не забирает ее обратно, то почему такое не работает в первом примере?

Sergey
13.02.2017
09:40:33
эм.... нативный драйвер монги сам занимается управлением памяти?

Виталий
13.02.2017
09:40:54
Так, а подскажите еще с авторизацией. Идея в том, чтобы клиент в кабинете создавал апп новый и получал к нему токен вечный, который зашивается в код проги. Под это есть спецификации какие-то?

Я уверен что не я первый такое придумал...

Sergey
13.02.2017
09:41:10
эм.... нативный драйвер монги сам занимается управлением памяти?
как-то жирно выходит. если сделал запрос на 5к обьектов, то ты обречен?

Алексей
13.02.2017
09:42:17
Так, а подскажите еще с авторизацией. Идея в том, чтобы клиент в кабинете создавал апп новый и получал к нему токен вечный, который зашивается в код проги. Под это есть спецификации какие-то?
А что тут придумывать? Ну поле с токеном в сущности, если токен нужен один. Либо таблица токенов, если нужно несколько токенов с возможностью отзыва.

Виталий
13.02.2017
09:42:58
Это уже сделано :) Но все же должна быть спецификация на это, рекомендации и правила. Нет?

Admin
ERROR: S client not available

Виталий
13.02.2017
09:44:51
для вечных токенов - нет. Есть Oauth2
но OAuth2 это не для сервер-сервер. Нет?

для вечных токенов - нет. Есть Oauth2
то есть OAuth — открытый протокол авторизации, который позволяет предоставить третьей стороне ограниченный доступ к защищённым ресурсам пользователя без необходимости передавать ей (третьей стороне) логин и пароль.

Sergey
13.02.2017
09:45:47
но OAuth2 это не для сервер-сервер. Нет?
нет таких схем. Есть клиент-сервер. Просто чей-то сервер выступает как клиент. Ну и повторюсь - это не совсем то

Виталий
13.02.2017
09:47:21
нет таких схем. Есть клиент-сервер. Просто чей-то сервер выступает как клиент. Ну и повторюсь - это не совсем то
а, ну ок... мне OAuth не подходит :) Я под сервер-сервер имел ввиду, что получение доступа без участия человека. То есть если токен сдохнет то ни кто его автоматом не переполучит заново :)

Всем спасибо :)

Sergey
13.02.2017
10:05:55
https://bugs.php.net/bugs-getting-valgrind-log.php есть такая штука, но чет не хочет на бету os x устанавливаться через brew :(

Google
Sergey
13.02.2017
10:08:19
ну и если экстеншен не юзает похапэшный способ аллокации памяти то профайлинг будет уже проблематичен

Дмитрий
13.02.2017
10:09:04
Привет всем. Настроил 2 подключения к БД - default и MD Для авторизации поставил FOSUserBundle Как в настройках указать чтобы FOSUserBundle использовал em MD?

Sergey
13.02.2017
10:09:48
переопределить менеджер и провайдер

ну мол явно указать нужный менеджер

#Fosuserрак

Алексей
13.02.2017
10:10:31
FOSCancerBundle

Sergey
13.02.2017
10:11:19
FosTumorBundle

Sergio
13.02.2017
10:35:54
привет всем вопросик у меня такого плана возник: использую knplabs/doctrine-behaviors для включения мультиязычности в сущности БД. я правильно понял, что он работает по принципу: мы в необходимой энтити определяем поле которое ДОЛЖНО быть мультиязычным (например comment), после чего мапим его на, собственно, энтити в котором и содержатся все варианты перевода (commentTranslations)?

и вообще кто что скажет на счёт knplabs/doctrine-behaviors? и что вы используете для включения мультиязычности?

Алексей
13.02.2017
10:36:51
2. gedmo/translatable

Roman
13.02.2017
10:37:26
я использовал, но только там где есть возможность самому строить структуру базы

Roman
13.02.2017
10:38:50
нет

да, у кнп принцип примерно такой

Алексей
13.02.2017
10:40:20
Ну, на самом деле, и так тоже можно сделать. Зависит от.

Roman
13.02.2017
10:40:57
но с гедмо они различны. мне гедмо кажется деревяным и неудобным. один раз попробовал, не понравилось

Sergio
13.02.2017
11:03:25
ясно. спасибо за советы. остановлюсь на кнп, пожалуй

Sergey
13.02.2017
13:28:36
для любителей поизучать чужой код. приложуха на симфони - https://github.com/wallabag/wallabag

Alan
13.02.2017
13:32:20
редис и реббит по дефолту в паблик смотрят) реди без пароля, ребит с guest/guest

rabbitmq: image: rabbitmq:3-management ports: - "15672:15672" redis: image: redis ports: - "6379:6379"

Sergey
13.02.2017
13:32:35
:D

Страница 103 из 1418