
Max
20.10.2017
20:45:29

Bohdan
20.10.2017
20:46:03
а так за счет максимального упрощения взаимодействия и исключения framework-specific кода из логики действительно проще разобраться с существующей и дописать новую

Max
20.10.2017
20:47:15

Google

Bohdan
20.10.2017
20:48:11
нет, там проще все
контроллер получил реквест/отхендлил форму, заполнил класс команды и сделал dispatch
затем проверил результат диспетча и в зависимости от этого отдает шаблон или редирект
ну и кое-где еще используются простые доменные ивенты, без event sourcing
я никак не доберусь до почитать что-то серьезное по ддд
хотя за основной талмуд браться боюсь :D

Max
20.10.2017
20:50:46
эм, а как вы проверяете? типо дергаете репозиторий?
или как?

Dmitry
20.10.2017
20:51:25

Bohdan
20.10.2017
20:52:29
нет, не упало - значит, все ок)
команды валидируемые - это раз (используется beberlei/assert)
+ сами хендлеры могут падать
а все исключения во время работы команд ловятся хендлером и по возможности вкладываются в форму (если она есть и есть соотвествующее поле)

Max
20.10.2017
20:52:29

Bohdan
20.10.2017
20:54:10
мне Эванса рекомендовали
чисто потому, что это классика почти

Max
20.10.2017
20:55:13

Bohdan
20.10.2017
20:55:59
закину в свой список, спасибо

Google

Max
20.10.2017
20:56:00
Но если с нуля, Эванса даже лучше будет, хм

Dmitry
20.10.2017
20:58:28

Pavel
20.10.2017
21:28:07
У меня проблема. Загружаю в базу 20к итемов, в лупе делаю persist и сразу flush и получается так, что с каждым загруженным итемом они начинают грузится все дольше и дольше. До 1к быстро доходит, на 10к раз в секунду и так далее. Что я делаю не так?

Valentin
20.10.2017
21:31:36
Пейстбин, может, сделай
Чтоб нам тут не пальцем в небо тыкать

Pavel
20.10.2017
21:32:38
Дк там нечего выкладывать. Беру с апи ответ, и гружу его в базу

Andrew
20.10.2017
21:32:55

Pavel
20.10.2017
21:33:38
Точно, clear

Valentin
20.10.2017
21:33:44
Откуда нам знать, может ты их еще и в массив складываешь, или еще что-нибудь делаешь, что память/ЦПУ жрет

Pavel
20.10.2017
21:34:16
Ну я бы описал, наверное
Щя clear попробую и если что выложу, но я почти уверен что это поможет
А то ведь он тянет за собой все сущности

Artemiy
20.10.2017
21:35:59
после флуша ж только

Pavel
20.10.2017
21:37:00
Я сразу после persist'a flush вызываю

Artemiy
20.10.2017
21:37:07
дели просто запросы по 1000 - flush - clear -
зачем?
http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/batch-processing.html сделай как тут в первом примере

Pavel
20.10.2017
21:37:49
Костыль) Ошибка вылезает, не помню уже какая
Ок

Artemiy
20.10.2017
21:38:16
по 1000 я загнул конечно, но по 100 я делал, было норм

Pavel
20.10.2017
21:44:22
Найс, спасибо. Вообще моментально стало

Google

Pavel
20.10.2017
21:45:03
А не проще сразу clear делать?
Чем плох вариант persist->flush->clear?

Artemiy
20.10.2017
21:45:44
зачем тебе 20к запросов в базу

Valentin
20.10.2017
21:45:51
Батч просто быстрее

Artemiy
20.10.2017
21:46:21
20000/100 = 200 (на 1000 = 20)

Valentin
20.10.2017
21:46:28
1000 инсертов одним запросом к базе быстрее, чем 1000 запросов с 1 инсертом каждый

Pavel
20.10.2017
21:46:38
Все, понял

Виктор
21.10.2017
09:18:49
Сделай супергруппой
блин. Теперь бот туда писать не может... Пока мучаюсь. Ошибка - Bad Request: group chat was migrated to a supergroup chat

Алексей
21.10.2017
09:19:23
На чем пишешь?

Виктор
21.10.2017
09:20:52
sendMessage
Да вроде уже нашел - там муть какая-то с chatId

Алексей
21.10.2017
09:21:36

Виктор
21.10.2017
09:22:36
хз - но судя по тому что я прочитал - у группы меняется chat_id, при этом когда я пишу боту сообщения он не видит новый chat_id
по меому это муть а не прозрачно)

Art
21.10.2017
12:44:43
Можно ли некоторые компоненты от Симфони использовать например для админки? Роутер, сессии и тд? Ранее с ней не работал. Посмотрел доки, а там обычные классы, примеры простые и как раз то что надо чтобы самому не пилить

Danil
21.10.2017
12:46:19
можно

Evgenii
21.10.2017
15:16:44

Dmitry
21.10.2017
22:41:39
Можно ли в Symfony 3.3 сделать autowire для репозиториев?

Sergey
22.10.2017
00:27:18
да, регай их как сервисы

Google

Dmitry
22.10.2017
01:58:42
да, регай их как сервисы
то есть? чтобы каждый репозиторий не регать, а сразу всю директорию. К примеру:
AppBundle\Repository\:
resource: '../../src/AppBundle/Repository'
Чтобы не дублировать массу сервисов на подобии:
AppBundle\Repository\UserRepository:
factory: ["@doctrine.orm.entity_manager", getRepository]
factory_method: getRepository
arguments: ['AppBundle\Entity\User']
AppBundle\Repository\RoleRepository:
factory: ["@doctrine.orm.entity_manager", getRepository]
factory_method: getRepository
arguments: ['AppBundle\Entity\Role']
Или только через CompilerPass можно такое реализовать?

Alan
22.10.2017
05:12:30
там доктрина виновата у неё тайпхинта нет для $em но в мастер ветке поправили
или пока мб так поучится https://symfony.com/blog/new-in-symfony-3-4-local-service-binding

Alexandr
22.10.2017
09:58:22
настроил рабочее окружение на win7 + docker ... если виндовые файлы проекта в контейнеры монтировать, то дефолтная страничка симфони (welcome page) грузится за ~2000мс ... если же файлы копировать в образы при сборке, то та же страничка грузится за ~120мс ... никто не сталкивался?) ... мб как-то побороть можно
опкэш настроил, xdebug отключать не вариант, да и выигрыш - полсекунды всего

Алексей
22.10.2017
10:16:00

Admin
ERROR: S client not available

Алексей
22.10.2017
10:16:18
Это особенность работы
На маке так же

Alexandr
22.10.2017
10:16:37
грусть, печаль (

Алексей
22.10.2017
10:16:39
Но там есть какая то убер тулза.
У нас челики на маках юзают ее

Alexandr
22.10.2017
10:22:20
а он только в одну сторону синхронизирует?

Sergey
22.10.2017
10:34:50
dinghy вроде шустрее работает
еще можно волюмы с cached суффиксом юзать

Alexandr
22.10.2017
11:18:23
еще так можно с репозиториями делать
https://blog.fervo.se/blog/2017/07/06/doctrine-repositories-autowiring/

Google

Arky
22.10.2017
13:22:40
Парни, как запилить корзину для шопа в симфони?)

Daniel
22.10.2017
14:01:50
?

Sergey
22.10.2017
14:06:02
точно так же как и без симфони

Владимир
22.10.2017
14:17:19
С той же поисковой страницы натыкаемся на https://github.com/Sylius/SyliusOrderBundle

Arky
22.10.2017
15:30:15
А свой велосипед?)

Алексей
22.10.2017
15:30:51
точно так же как и без симфони

Bohdan
22.10.2017
15:30:57
а что тебя интересует? чтобы тебе рассказали, как сделать велосипед?

Владимир
22.10.2017
15:30:58
+

Bohdan
22.10.2017
15:31:04
вон, силиус кодом рассказывает
тот, кому нужно что-то свое - знает, чего он хочет и чем ему не подходят готовые решения
и, соответственно, знает, как это сделать
или как переделать готовое

Arky
22.10.2017
15:31:48
прост для меня это какая-то магия)

Алексей
22.10.2017
15:32:08
Нет, ты просто не сформулировал себе задачу.

Arky
22.10.2017
15:32:09
Не понимаю как это работает)

Bohdan
22.10.2017
15:32:15
тогда тебе надо начинать с более простых вещей в симфони

Владимир
22.10.2017
15:32:18
А вдруг человек решает ТЗ для приема на работу

Bohdan
22.10.2017
15:32:33

Arky
22.10.2017
15:32:52
Я блог запилил, теперь хочу шоп с картом)

Алексей
22.10.2017
15:32:56
Сядь и подумай, как работает корзина. Что она должна уметь. Что должны представлять собой товары, какие у них должны быть свойства. Как их представить как объекты.

Владимир
22.10.2017
15:33:22
Так же подумай зачем там нужна сессия