@prophp7

Страница 55 из 1387
Anton
02.11.2016
15:39:35
тут три крупных проекта, которые через внутреннее апи тесно "дружат"

Sergey
02.11.2016
15:39:48
хз я пока вижу кашу

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

Anton
02.11.2016
15:40:21
я не влияю и не могу повлиять на другие проекты

Google
Sergey
02.11.2016
15:40:27
ты и не должен

надо не предотвращать изменения а быть к ним готовым

Anton
02.11.2016
15:40:38
условно там работа идет с аккаунтами, а у меня с лидами

Sergey
02.11.2016
15:40:55
я все еще плохо представляю как добавление новых полей что-то ломает

раньше данных небыло - теперь они появились

ну ок

добавь просто сверху гору ивентов

Anton
02.11.2016
15:41:20
они были всегда, но в этом проекте они не учитывались

и надо, чтоб старые данные автоапдейтились при таких пирдухах

с бизнесом не поспоришь в данной ситуации

Sergey
02.11.2016
15:41:57
то есть у тебя какой-то интеграционный сервис, так?

Anton
02.11.2016
15:42:23
нет, црм + немного ерп + админка для лк

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

Google
Anton
02.11.2016
15:44:08
при ес возможно восстановить данные из апи, но только если в апи тоже будет ес

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

в общем, все станет сложнее

+ мне придется перестраивать свою голову на эту новую для меня технологию, что тоже будет жрать время

Sergey
02.11.2016
16:07:53
это не новая технология)

у тебя СУБД так работают, лог транзакций во всяком случае

любая финансовая отчетность работает по схожему принципу

Anton
02.11.2016
16:18:21
я же написал "новая для меня")

Sergey
02.11.2016
16:29:48
use Sensio\Bundle\FrameworkExtraBundle\Configuration\{Route, Method};

а че, доктриновские аннотации такое не умеют?

дурачки

https://github.com/doctrine/annotations/releases/tag/v1.3.0

неделю назад пофиксили

Nadirq
03.11.2016
05:41:01
rest или rpc, вот в чем вопрос

http://www.jsonrpc.org/specification

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

Fayozjon [CybernatiC]
03.11.2016
05:42:49
Rest

Nadirq
03.11.2016
05:44:48
не очень убедительно сейчас было)

Fayozjon [CybernatiC]
03.11.2016
05:47:11
Интегрировать будет удобнее. Всем привычно.

Nadirq
03.11.2016
05:47:25
https://habrahabr.ru/post/265845/

Google
Nadirq
03.11.2016
05:47:33
комменты тоже ок

Fayozjon [CybernatiC]
03.11.2016
05:48:08
Я считаю каждый сам должен прийти к ответу путем проб и ошибок

Sergey
03.11.2016
06:42:36
статья про http а не про rest

в целом там в комментариях обрисовали все

https://github.com/fastnorth/property-mapper

вполне себе ничего штука

https://github.com/ScriptFUSION/Mapper - тож годный

Fayozjon [CybernatiC]
03.11.2016
08:19:56
Ребят всем доброе время суток

Есть поле в mysql working hours имеет формат 08:00 - 20:00 к примеру, как осуществить выборку строк исключая закрытые заведения исходя из текущего времени?

спасибо большое

Aleh
03.11.2016
08:23:48
Оно как строка или как time? Там вообще есть time?

Fayozjon [CybernatiC]
03.11.2016
08:24:11
как строка

Fayozjon [CybernatiC]
03.11.2016
08:24:13
=(

в одной строке такое значение

08:00 - 20:00

к примеру

Aleh
03.11.2016
08:27:03
А, типа range?

Fayozjon [CybernatiC]
03.11.2016
08:30:01
ну подразумевает да

но на самом деле тип поля varchar

Для актуальности база импортируется через csv файлы могу переписать логику и переделать базу

Google
Fayozjon [CybernatiC]
03.11.2016
08:30:47
разделять на разные поля

но думаю будет накладнее

сроки уже вчера

Aleh
03.11.2016
08:55:27
разделять на разные поля
http://stackoverflow.com/questions/20425866/select-between-date-range-and-specific-time-range

Fayozjon [CybernatiC]
03.11.2016
08:56:57
Благодарю

Anton
03.11.2016
11:30:10
@mkusher а этот пруфовский ES в каком виде диффы хранит? или эту часть реализовывать самому надо?

Aleh
03.11.2016
11:30:35
он ивенты хранит

Anton
03.11.2016
11:32:40
хм, а как из ивентов тогда получаются актуальные объекты?

Aleh
03.11.2016
11:32:41
нормализовывать и денормализовывать ивент надо самому(у ивента есть поле payload, которое будет просто массив)

Anton
03.11.2016
11:32:55
ааа

Admin
ERROR: S client not available

Anton
03.11.2016
11:32:58
теперь всек

Aleh
03.11.2016
11:32:59
хм, а как из ивентов тогда получаются актуальные объекты?
ну либо каждый раз билдится с нуля, либо снапшоты хранить

Anton
03.11.2016
11:33:10
про снапшоты я в курсе

я просто думал, хранятся только диффы, а тут получается целиком стейт объекта пихается?

Aleh
03.11.2016
11:34:25
не дифы

ивенты хранятся

ивент может никак объект не мутировать)

Anton
03.11.2016
11:35:10
но если мутирует, то с ивентом и дифф надо записать - я об этом и спрашиваю

Google
Aleh
03.11.2016
11:35:27
если ивент мутирует, то инфы из ивента достаточно

например у тебя покупатель может покупать что-нибудь class Customer public function buy(Item $item) { $this->recordThat(new CustomerBoughtItem($item)); }

Алексей
03.11.2016
11:36:53
так заполняется массив

$product_data[$result['related_id']] = $this->getProduct($result['related_id']);

Aleh
03.11.2016
11:36:58
в самом методе buy никаких мутаций не происходит

Алексей
03.11.2016
11:37:00
как добавить еще 1 поле?

Aleh
03.11.2016
11:38:07
но твоя модель должна реагировать на ивент public function whenCustomerBoughtItem(CustomerBoughtItem $event) { тут может быть какая-то логика, например можешь считать сколько за всю историю было куплено вещей $this->boughtItemsInTotal++; }

если ты не хранишь снапшоты, то модель просто поочереди все ивенты заново получит

и вернется к последнему актуальному стейту

Anton
03.11.2016
11:39:16
допустим, менеджер изменил адрес клиента - где должен записаться новый адрес? (старый можно взять из предыдущего стейта)

Aleh
03.11.2016
11:39:30
ты создаешь ивент, что адрес изменился

$this->recordThat(AddressHasChanged::byManager($newAddress, $manager);

Anton
03.11.2016
11:40:00
новый адрес - это свойства этого ивента?

Aleh
03.11.2016
11:40:20
да. в ивенте ты будешь хранить новый адрес и что еще нужно

Anton
03.11.2016
11:40:27
вот, теперь догнал

непривычно, что ивент хранит в себе часть стейта

Алексей
03.11.2016
11:41:19
Aleh?

Sergey
03.11.2016
11:41:24
ивент НЕ хранит в себе часть стэйта

ивент это ивент

Aleh
03.11.2016
11:41:33
это не часть стейта

это может быть ее часть, а может не быть

Aleh?
я не понял твой вопрос

Страница 55 из 1387