@symfony_php

Страница 112 из 1418
Sergey
21.02.2017
09:46:32
подключаешь Httpkernel и делаешь дела

отдельная точка входа

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

почему надо отказаться от API - его надо написать) И проще его не писать)

Google
Sergey
21.02.2017
09:47:28
ну или сделать просто фасады над старой системой

Denis denya Voskoboinik
21.02.2017
09:48:02
почему надо отказаться от API - его надо написать) И проще его не писать)
Но тогда нужно будет вызывать старые методы для получения данных и новый код будет ориентирован на ту же структуру данных, которую нужно бы изменить

Sergey
21.02.2017
09:49:05
иметь 2 приложения с мостами такая себе затея. еще и api между ними вводить

smile
21.02.2017
09:49:09
@sergey_smile чего вы вообще ожидаете от перехода на другой фреймворк?
начать понимать что происходит в проекте при изменении его частей приведя в норм вид самые критичные бизнесс процессы и тем самым уменьшить кол-во багов. Чтобы новым чувакам которые заходят в проект не писать мануал - если ты трогаешь тут, то вот тебе чеклист из 100 пунктов что нужно проверить/отрефакторить и куда поставить свечку чтобы ничего не упало

Denis denya Voskoboinik
21.02.2017
09:51:02
smile
21.02.2017
09:57:28
это можно делать и без переписывания. нужен глубокий анализ кода, где и зачем были сделаны костыли и подпорки, а где вообще мертвый код и ненужные фичи
этот процесс предстоит проделать в любом случае. Вот только проделав его хочется на выходе иметь чтото адекватное и из чего можно не вязнуть дальше т.к. проекту уже дохрена лет и вести его по состоянию на сегодня надо оч долго (не год и не два)

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

Sergey
21.02.2017
10:09:29
а бизнес хоть в курсе что вы собираетесь делать?

smile
21.02.2017
10:10:36
да и что самое поразительное старается идти на встречу

можно вести вполне адекватный разговор и они готовы чемто жертвовать

Sergey
21.02.2017
10:13:25
то что вы потратите время это полбеды. вы принесете тонну багов за собой и потеряные фичи из-за того что не поняли какой-то кусок и решили упростить

Google
Big_Shark
21.02.2017
10:14:46
I am busy now, chat to you later

Юрий
21.02.2017
10:15:27
?‍♂️

smile
21.02.2017
10:15:31
в последнее время багов и так уже тонна

Big_Shark
21.02.2017
10:15:51
Ok

smile
21.02.2017
10:16:25
так что баги переживут, насчет потери фич - если упрощенный кусок будет предсказуемо работать - это профит

т.к. в последнее время все чаще нависает недоверее к функционалу - это еще хуже

Denis denya Voskoboinik
21.02.2017
10:33:19
да-да, я же написал что нравится мне эта идея)

Andrew
21.02.2017
12:00:11
у кого-то есть успешный опыт миграции с id на uuid?

особенно кейсы с foreign keys и вот это вот все?

Sergey
21.02.2017
12:05:47
uuid это ms sql?

Sergey
21.02.2017
12:11:49
uuid это глобальный идентификатор

Sergey
21.02.2017
12:17:20
сталкивался с uniqueid от ms sql.

Kirill
21.02.2017
12:22:16
это то же самое https://ru.wikipedia.org/wiki/UUID

Sergey
21.02.2017
16:27:38
>Here is a PR that shows the differences between 3.2 and 3.3 for the Symfony Demo app: https://github.com/symfony/symfony-demo/pull/483/files?diff=split

все в кучке

https://github.com/kamranahmedse/design-patterns-for-humans держите вот кстати, описано для людей)

Andrew
21.02.2017
16:38:08
зашел на сайт чувака, верхний пост в блоге - "Do not use auto increments!"

вот все говорят юзать UUID, а как его юзать вместо айдишника, если никто не знает как существующие данные смигрировать?:)

Sergey
21.02.2017
16:42:41
в монге неавтоинкременты юзаем))

Google
Sergey
21.02.2017
16:42:57
а uuid рисково немного(читай непривычно)

Andrew
21.02.2017
16:47:21
меня просто уже воротит, когда нужно делать что-то типа $this->entityManager->flush($command->invoice); $this->scheduler->schedule(CreateInvoice::COMMAND_NAME, [$command->invoice->getId()]);

ну и там всякая отправка имейлов и так далее, где без айдишников не обойтись

Salem
21.02.2017
17:06:31
ну а как ты будешь это решать через ууид?

Andrew
21.02.2017
17:07:43
и вместе с тем не зависеть от айдишника, который мне сгенерирует база

ну или столько флашей, сколько бизнес-транзакций

но не костыли такого вида :(

Roman
21.02.2017
17:23:40
ну а как ты будешь это решать через ууид?
можно сгенерить ууид средствами клиента и не спрашивать у базы ничего

Sergey
21.02.2017
17:23:52
как на счет вынести это из цикла?

ну скажем сразу сохранить пачку, а потом по списку отправить

Andrew
21.02.2017
17:24:45
ну такая себе затея шедулить несуществующую запись
ну в данном случае шедулер в бд пишет, это в рамках одной транзакции

наверное не самый удачный пример

а вообще даже если бы он не писал в ту же базу, а в какую-то очередь то try/catch на флаше и удаление этой записи из очереди? хотя есть конечно риск, что пока идут коммиты\роллбеки, сообщение уже уйдет

Salem
21.02.2017
17:43:53
Пихай таски для шедулера в реббит, и выгребай потом

Andrew
21.02.2017
17:48:53
да блин, проблема не в шедулере же

а в том что сущность неконсистентна до флаша

Sergey
21.02.2017
19:59:16
а в том что сущность неконсистентна до флаша
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-associations.html#transitive-persistence тебе сюда

Andrew
21.02.2017
21:06:59
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/working-with-associations.html#transitive-persistence тебе сюда
я почитал, но не совсем понял как это относится к этой проблеме. https://ocramius.github.io/doctrine-best-practices/#/62 - пункт предпоследний, я про него говорил

Google
Sergey
21.02.2017
21:15:39
никто не запрещает держать обычный автоинкремент и рядом uuid поле с индексом

Sergey
21.02.2017
21:16:00
+1

da horsie
21.02.2017
21:43:58
пока автоинкрементное поле необходимо для работы бизнес-логики, сущность так и останется неконсистентной до флаша. чтобы вся эта идея заработала, id должен быть польностью заменен на uuid во всех слоях системы

Admin
ERROR: S client not available

Sergey
21.02.2017
21:45:07
и будут у тебя айдишки по персисту а не по флашу

а от автоикрементов в базе логика не должна уж точно зависеть

инкремент сделали а транзакцию откатили - уже дырки)

da horsie
21.02.2017
21:48:25
ну все равно, значит на до флаша, а до персиста будет неконстистентно

da horsie
21.02.2017
21:48:55
смысл uuid же в том, чтобы прям после создания объекта все поля были на месте

ну я о том и говорю

Sergey
21.02.2017
21:49:22
смысл uuid же в том, чтобы прям после создания объекта все поля были на месте
ну так сделай ее айдихой сущности а для урлов например юзай автоинкременты или компактные версии uuid

da horsie
21.02.2017
21:49:54
что пока uuid не заменит id полностью (автоинкремент или секвенс - не важно), то смысла нет

Sergey
21.02.2017
22:10:12
https://github.com/pascaldevink/shortuuid

может кому пригодится

da horsie
22.02.2017
00:42:15
Пиветта вроде советует https://packagist.org/packages/ramsey/uuid

Google
Sergey
22.02.2017
08:48:19
ну как бы да

Sergey
22.02.2017
08:48:38
Sergey
22.02.2017
08:48:41
та штука что я скинул лишь кодирует/декодирует uuid в более короткую форму, для урлов например

Maxim
22.02.2017
10:06:43
прикоснусь к умному в пятницу. Всем здрасте.

Sergey
22.02.2017
10:07:01
Сегодня среда вроде как

Юрий
22.02.2017
10:07:10
Сегодня среда вроде как
Завтра выходной

Maxim
22.02.2017
10:07:12
завтра отдыхаем. сегодня пятницп

Юрий
22.02.2017
10:07:14
Так что пятница

Danil
22.02.2017
10:07:50
офисники подтянулись)

Sergey
22.02.2017
10:08:04
Гребцы

Ivan
22.02.2017
10:09:05
так в офисе ж лучше))

Sergey
22.02.2017
10:09:15
Кому?

Ivan
22.02.2017
10:09:18
мне

пообщаться можно))

Sergey
22.02.2017
10:09:54
Работать надо, а не общаться

Maxim
22.02.2017
10:10:00
в офисе стабильность. обучение. кормят. поиграть можна. пообщаться.

Danil
22.02.2017
10:10:17
стабильность?)

т.е. на удаленке ее нет

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