
Виталий
01.02.2017
20:23:38
Кто-то может дать ссылку на чатик с админами сетевыми?

Dmitriy
01.02.2017
20:24:19
@devops_ru они направят

Андрей
01.02.2017
21:10:43
strlen не видит кириллицу
mb_strlen не помогает
Шо делать?

Fayozjon [CybernatiC]
01.02.2017
21:22:16
Локали установи на серваке

Google

Fayozjon [CybernatiC]
01.02.2017
21:22:22
Может не хватает

Dmitriy
01.02.2017
21:29:19
mb_detect_encoding что показывает ?

Sergey
01.02.2017
21:34:21
никто не хочет подискутировать на тему CQRS, UI и как избавиться от прослойки между C и R?
ну тип....
пример
приходит HTTP запрос на регистрацию юзера. Мы мэпим данные на какой-то объект и говорим системе выполнить команду. Далее мы должны выплюнуть например профиль созданного юзера.... и вот тут вопрос...
что возвращать обработчику команды что бы все было ок....
ID ресурса а фронт контроллер сам разрулит что вызывать?
ну что-то типа редиректа
объект типа UserID?
это было бы наверное совсем по феншую
по сути че я загоняюсь - хочу избавить от контроллеров но не получается слинковать "действий" и "вьюхи"

Google

Sergey
01.02.2017
21:36:38
что бы было понастоящему красиво
была еще отвратительная идея делать так
class UserDetailsView
{
/**
* @Route("/profile/{id}", requirements={"id": "\d+"}, methods={"GET"})
* @ActionView(RegisterUserHandler::class)
* @ActionView(UpdateProfileHandler::class)
*/
public function __invoke()
{
}
}

Dmitriy
01.02.2017
21:55:36
Не встречал я ни разу CQRS в пхп.
Хотя конечно идея комманд и запросов интересная.
Все равно нужно пилить диспетчеризацию между командами и обработчиком.
И как можно уйти от котроллеров ?

Sergey
01.02.2017
21:57:28

Nik
01.02.2017
21:57:37

Sergey
01.02.2017
21:58:05
там все намного проще
у тебя есть метод который что-то пишет
и есть метод который что-то читает

Nik
01.02.2017
21:58:45
я знаю как это работает

Sergey
01.02.2017
21:58:46
методы которые пишут могут вернуть максимум какой-то идентификатор задачи (например если что-то новое генерится - вернуть айдишку нового)

Nik
01.02.2017
21:59:03
но для малых проектов нету смысла использовать

Sergey
01.02.2017
21:59:20
и даже на небольших проектах она хорошо живет и не требует никакого оверхэда

Nik
01.02.2017
21:59:59
ну наведи примеры таких малых проектов

Sergey
01.02.2017
22:00:06
любые

Google

Sergey
01.02.2017
22:00:21
пример операций - регистрация пользователя, добавление продукта в каталог
любой CRUD
любой юз кейс - команда.

Jan
01.02.2017
22:00:42
@fes0r так ведь команды по идее не должны ничего возвращать?

Sergey
01.02.2017
22:00:52
возвращать они могут
ну то есть вся идея не в том что команды тупо void
а в том что если у тебя есть выборка в духе "достань профиль юзера"
команда этим заниматься не будет
команда тебе вернет айдишку например
а ты уже попросишь другую шляпу по айдишке сходить за профилем
вот и вся идея

Nik
01.02.2017
22:02:01
ну на счет удобства я и не спорил, я на счет того, как часто используют в реальных проектах небольшого масштаба

Sergey
01.02.2017
22:02:43
потому я лично все больше и больше начинаю вводить это добро на проектах своих
даже на небольших
проблемы начинаются когда люди прикручивают всякие шины команд

Nik
01.02.2017
22:03:51
а если сюда еще ES приделать?

Sergey
01.02.2017
22:04:03
есть кейсы где это надо

Google

Sergey
01.02.2017
22:04:29
например... был у меня недавно проект так там надо вести полный лог действий пользователей и по ним репорты строить
ну мол восстанавливать стэйт

Nik
01.02.2017
22:04:40
ну вот, я почему-то сразу вспомнил один проектик, где использовали и то и другое

Sergey
01.02.2017
22:04:52

Nik
01.02.2017
22:04:55
я до конца все так и не скурил

Sergey
01.02.2017
22:04:59
но CQRS можно юзать и без ES

Nik
01.02.2017
22:06:02
а в плане оптимизации как?
кстати, на симфони кто-нибудь юзал ES ?

Dmitriy
01.02.2017
22:12:33
CQRS хорошо оптимизируется и маштабируется. (Я сам не использовал, а слышал в докладах на ютубе)

Admin
ERROR: S client not available

Sergey
01.02.2017
22:17:04

da horsie
01.02.2017
23:21:07
и ты сможешь возвращать пустой хттп 200

Dmitriy
01.02.2017
23:25:08
Как ты предлагаешь делать запрос не зная id юзера ?

da horsie
01.02.2017
23:25:42
UUID
сгенери его

Dmitriy
01.02.2017
23:27:08
На клиенте сгенерировали
И послали комманду ?

da horsie
01.02.2017
23:27:13
да

Dmitriy
01.02.2017
23:27:17
Понял

da horsie
01.02.2017
23:27:58
немного размывается разница между PUT и POST

Google

da horsie
01.02.2017
23:28:24
но можно принять за соглашение, что ПУТ работает только с существующими айди
а пост обязательно с новым

Dmitriy
01.02.2017
23:28:50
Почему ? создать и изменить . размытий тут нет

da horsie
01.02.2017
23:29:51
ну дада, http verbs still have the same meaning
the data structure for put and post will be quite similar though
but who cares

Mihail
01.02.2017
23:31:37
товарищи есть проблемка
с ssh тунелями
днем все работало норм а сейчас пишет, connect failed: Connection timed out
хотя кроме ребута с машиной ничего не происходило (

da horsie
01.02.2017
23:33:24
не вернулась из ребута?

Mihail
01.02.2017
23:34:08
не я про локальную, работал днем потом вырубил недавно врубил и после поднятия тунеля вот такая фигня (

Dmitriy
01.02.2017
23:35:24
подключение никто не блокирует ?

Mihail
01.02.2017
23:36:10
та вроде нет, есть варианты как проверить ?

Dmitriy
01.02.2017
23:37:40
нмапом если только. я так понимаю на сервер не зайти ?

Mihail
01.02.2017
23:38:28
на сервер могу попасть спокойно через ssh
ssh -vL port:ipaddress:port host
вот так понимаю пото пробую заюзать локалхост с этим портом но фига

Dmitriy
01.02.2017
23:40:48
ssh -vL port:ipaddress:port host -q что пишет ?

Mihail
01.02.2017
23:43:45
подключение прошло но через тунель подключится не могу

Dmitriy
01.02.2017
23:46:13
-vvv тоже ничего не пишет ?

da horsie
01.02.2017
23:46:51
а твой ip не поменялся после ребута?