@symfony_php

Страница 764 из 1418
Shmaltorhbooks
20.03.2018
21:26:46
Его написали не они, да

Sergey
20.03.2018
21:26:52
фатальный недостаток
не фатальный, если класть на память все хорошо. Можно даже закастылять через preg_replace_callback но я могу подобрать паттерн и строки которые PRCE будет разбирать за экспоненциальное время, причем просто так

Konstantin
20.03.2018
21:26:59
не фатальный, если класть на память все хорошо. Можно даже закастылять через preg_replace_callback но я могу подобрать паттерн и строки которые PRCE будет разбирать за экспоненциальное время, причем просто так
не не, я про дефолтную пхп реализацию. после определенного уровня всё что под рукой кажется имеет фатальный недостаток который можно пофиксить )

Google
Sergey
20.03.2018
21:28:28
не не, я про дефолтную пхп реализацию. после определенного уровня всё что под рукой кажется имеет фатальный недостаток который можно пофиксить )
я просто потратил несколько ночей что бы ускорить лексер.... и уперся что "ускорить можно но придется жертвовать памятью"

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

как бы ты не старался

Sergey
20.03.2018
21:29:47
интересно, а как это ускоряет ?
есть проект - hoa/compiler, там фича лексера - контексты. То есть ты можешь в зависимости от контекста по разному интерпритировать лексемы

f4rt~
20.03.2018
21:29:59
а я смотрел, чо ты там лайкаешь

Sergey
20.03.2018
21:30:02
аналог - возможность в php7 юзать кейворды в именах методов

f4rt~
20.03.2018
21:30:20
так и не увидел реального профита при небольшом оверхеде

получается как то странно. мало профита == много оверхеда

Sergey
20.03.2018
21:30:58
так и не увидел реального профита при небольшом оверхеде
линейное время и полный контроль + кодогенерация)))))

если что я предложил потому что сам сдался.... года 4 назад еще взялся бы

а сейчас я слишком стар, циничен и слишком слабо верю что у php есть будущее

f4rt~
20.03.2018
21:31:46
ты даже мой говно-проектик на симфонии не стал критиковать

Google
f4rt~
20.03.2018
21:31:51
слишком большие риски :)

Sergey
20.03.2018
21:33:39
потому я и говорю - хороший проект для студента... особенно если проходит сейчас дискретку или теорию компиляторов

freecod
21.03.2018
01:20:57
А какой тру вей для иньекции зависимостей в сущности доктрины? Условно у меня есть список юзеров с координатами, мне нужно вернуть их список с параметром "расстояние до юзера, сделавшего этот запрос". Считать расстояние на mysql или по выборке и устанавливать значение через сеттер? Внедрять текущего юзера в сущность + хелпер рассчета растояния?

Konstantin
21.03.2018
01:32:02
@fes0r тут ?

Alan
21.03.2018
05:15:45
Хоть по всему симфони проекту замени постфикс на префикс
ээ а причём тут ++$i / $i++ и быстродействие?)) это не про скорость вообще а про приоритет операции $i = 0; print 1 + $i++; // 1 $i = 0; print 1 + ++$i; // 2 и да если заменить тупо по всему проекту то разница будет ?

Vladislav
21.03.2018
06:19:37
ээ а причём тут ++$i / $i++ и быстродействие?)) это не про скорость вообще а про приоритет операции $i = 0; print 1 + $i++; // 1 $i = 0; print 1 + ++$i; // 2 и да если заменить тупо по всему проекту то разница будет ?
Это про скорость )) в первом варианте выполняется копирование. В теории первая операция займёт больше процессорного времени чем вторая

Alan
21.03.2018
06:34:05
та ну это имеет отношение к скорости такое же как декремент до нуля в цикле вместо инкремента до длинны массива, но постфикс и префикс не для быстродействия же )

суровый хайлоад на похапе)

Vladislav
21.03.2018
06:36:14
Я ж написал что в теории

Alan
21.03.2018
06:37:13
да тебя я понял, прост там потом писали про замену во всем проекте будто это можно сделать и за этим не последует перебоев в логике)

freecod
21.03.2018
06:40:12
Тебе надо список сказать в сервис, а не сервис инжектировать в сущность. Сущность представляет одну запись и о списке не знает.
хм, ну условно у меня список юзеров уходит в ответ через сериализатор (JMS) где я ожидаю на сущности свойство dist которое будет содержать расстояние. Все таки создавать некий внешний сервис, который перед отдачей списка проставит в каждую сущность посчитанное расстояние?

freecod
21.03.2018
06:54:47
Читай доки к jms, vositor тебе надо будет для этого запилить
Не понял о чем речь. У меня на сущности JMS коммент для сериализации который говорит как сериализовать это поле, сам jms вроде как и не при чем - задача перед выводом проставить в сущности поле, рассчитанное внешним кодом (подсчет расстояния от сущности до заданных координат)

Вопрос был собственно про то, нормальный ли это подход проходить весь список и проставлять значения, или есть другие варианты вроде инжекта этого стороннего кода в сущность и вызов его при сериализации например через virtual property

Maxim
21.03.2018
06:59:41
250+ мессаджей о наркомании)))

Andrew
21.03.2018
09:29:58
Вопрос был собственно про то, нормальный ли это подход проходить весь список и проставлять значения, или есть другие варианты вроде инжекта этого стороннего кода в сущность и вызов его при сериализации например через virtual property
нет, это вообще не тру вей. Или запиливаешь визитор (например https://stackoverflow.com/questions/15007281/add-extra-fields-using-jms-serializer-bundle) или делаешь какой-нибудь DTO который у тебя будет твоим ответом и свой сервис, который будет мапить поля сущности на него и дополнительно запихивать дистанцию, заодно вынесешь JMS аннотации из сущности и вообще будет ляля

Google
Andrew
21.03.2018
09:38:20
ляля будет, если выпилить жмс и написать один нормалайзер
люто плюсую, но тут чувак хочет пихать данные, которые не относятся к лайфсайклу обьекта, лучше его отговорить это делать чем советовать все переписывать ))

Sergey
21.03.2018
11:42:00
http://symfony.com/blog/new-in-symfony-4-1-simpler-service-testing

Andrew
21.03.2018
11:48:07
ну такое

Sergey
21.03.2018
11:48:21
maker bundle активно так развивается

https://github.com/symfony/maker-bundle/releases

кто-то уже пытался делать извращения чтобы StopWatch симфони экспортился как трейсы для opentracing/zipkin/jaeger?

Andrew
21.03.2018
11:53:36
maker bundle активно так развивается
а он намного лучше чем старый sensio generator ? (оставим за рамками вопрос о том, зло кодогенерация или нет)

Sergey
21.03.2018
11:54:41
а он намного лучше чем старый sensio generator ? (оставим за рамками вопрос о том, зло кодогенерация или нет)
он развивается, тула от сенсио не развивается. Ответ очевиден. Так же очевидно как то что кодогенерация не может являться злом само по себе. Лучше код генерить чем писать. Другой вопрос что определенный код в целом не должен быть написан ни руками ни кодогенерацией

Sergey
21.03.2018
11:56:48
поэтому без альтернатив

не делали
а думали над этим?

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

но не очень удобно

Andrey
21.03.2018
12:24:40
а думали над этим?
Насколько я знаю, нет. Не юзаем его

Или декорируем сервисы, или делаем отдельными классами с контекстом

Google
Sergey
21.03.2018
13:02:17
а чем оно лучше tideways?)
ты же понимаешь что это вообще разные вещи?

Sergey
21.03.2018
13:02:17
tideways вроде полноценный профайлер

а тут обычный секундомер

Ilya
21.03.2018
13:13:29
Есть у меня табличка разбитая single table'ом на десяток моделек (A1, A2, A3 .. A10). У базовой модели (A1) есть отношение с моделькой B. Как мне имея в руках объект модели B получить объект модели A3? Описывать в каждой A отношения с моделью B?

Sergey
21.03.2018
13:14:13
> Как мне имея в руках объект модели B получить объект модели A3? ты получишь A1, точнее что-то что является подтипом.

Admin
ERROR: S client not available

Sergey
21.03.2018
13:15:22
то есть instanceof покажет тебе что там A3

но если у тебя там будет instanceof то точно надо избавляться от наследования

Bohdan
21.03.2018
13:15:36
или не А3)

Sergey
21.03.2018
13:16:05
хотя я подозреваю что и так знаю ответ на свой вопрос....

Konstantin
21.03.2018
13:16:39
есть жы несколько шаблонов таких, single table inheritance один из них )

Ilya
21.03.2018
13:16:45
вообще расскажи мотивацию - почему ты решил что "хм.... наверное хорошая идея сделать 10 наследников сущности!"
Как то писал тут. Куча логов разного типа действия. По ним надо отчеты-хуеты делать и тд

Alan
21.03.2018
13:17:23
с sti чет все время срань выходит ))

Sergey
21.03.2018
13:17:30
есть жы несколько шаблонов таких, single table inheritance один из них )
шаблон это не что-то хорошее, шаблон это шаблон. Ты должен понимать что если что-то существует - это не означает что ты должен это юзать. Есть юзкейсы когда оно надо - но эти юзкейсы сами по себе редко адекватны. особенно если тебе не плевать потом на типы.

Как то писал тут. Куча логов разного типа действия. По ним надо отчеты-хуеты делать и тд
ну так нафига там связь? пусть себе все отдельно лежит. Это ж логи

Konstantin
21.03.2018
13:17:58
не надо извращать понятие шаблонов ок )

шаблоны это значит частый юзкейс который нашел общее решение. если подумать много чего можно под шаблон подвести

просто напиши что ты несогласен и все я залеплю дуло )

Google
Sergey
21.03.2018
13:19:02
шаблоны это значит частый юзкейс который нашел общее решение. если подумать много чего можно под шаблон подвести
"частый юзкейс" != "адекватное решение проблемы"))) просто люди так делают. Точка. У этого подхода есть свои причины, свои плюсы и минусы, свои заблуждения которые привели к определенному решению)

Ilya
21.03.2018
13:19:05
ну так нафига там связь? пусть себе все отдельно лежит. Это ж логи
Прям вот единичный случай, где связь нужна именно с одним типом логов, чтоб не тащить мильярд остальных

Konstantin
21.03.2018
13:19:43
ну, я не склонен отрицать опыт предыдущих поколений программистов который вылился в шаблоны проектирования

Konstantin
21.03.2018
13:20:13
антипаттерны это мода

модно называть <any pattern> антипаттерном

Sergey
21.03.2018
13:20:40
антипаттерны это мода
серьезно?))) а в чем ценность такого разделения?)

Konstantin
21.03.2018
13:20:40
просто потому что <somebody> не умеет им пользоваться без костылей )

Sergey
21.03.2018
13:21:25
шаблоны поведения это нормально, шаблоны решений тоже нормально, но шаблонность ничего не говорит о том является ли это что-то "хорошим решением" или "плохим". это уже ты решаешь исходя из контекста. Все что дают тебе шаблоны - это названия, терминологию. Больше никакой цели в "паттернах" нет.

Konstantin
21.03.2018
13:21:40
есть

они дают тебе понятие как можно решить задачу

Sergey
21.03.2018
13:21:58
они дают тебе понятие как можно решить задачу
а если сама по себе задача не корректна?

Konstantin
21.03.2018
13:22:03
тоесть как это делали тысячи программистов до тебя и как вывели общую формулу

Sergey
21.03.2018
13:22:15
можешь поразбираться с вопросом problem solving vs problem finding

Konstantin
21.03.2018
13:22:40
сказал человек недовольный регулярками в пхп )

Sergey
21.03.2018
13:23:05

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