@symfony_php

Страница 654 из 1418
Andy
19.02.2018
08:53:57
Наверняка, там просто регулярку для матчинга роутов переписали

Sergey
19.02.2018
08:54:02
надо в прод окружении смотреть

Bohdan
19.02.2018
08:54:11
отдельные таймеры заводить?

Google
Bohdan
19.02.2018
08:54:17
профайлеры, точнее

Sergey
19.02.2018
08:54:19
надо в прод окружении смотреть
там одинаковые правила для роутинга ж

Bohdan
19.02.2018
08:54:33
я так и не понял, как он там матчит в новом роутере

Andy
19.02.2018
08:54:55
И, наверняка, внизу есть приписка "до 77 раз"

Bohdan
19.02.2018
08:55:00
я так понял, они склеили регулярку в одну и типа по полученному индексу разгребают?

Sergey
19.02.2018
08:55:42
там одинаковые правила для роутинга ж
компиляция роутов при буте происходит... так что пожалуй ты прав

Sergey
19.02.2018
08:55:43
раньше почти весь роутинг был построен на strpos

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

то станет понятно

хм, поставить чтоли dev-master и проверить роутер

щас в 12.5 тыс строк компилируются правила

Andy
19.02.2018
08:57:08
ты читал блог?
Через абзац

Google
Andrey
19.02.2018
08:59:03
Через абзац
там без наверняка. И так и есть, склеиваются регулярки. И ясно, что до 77 раз, т. к. индивидуально

Борис
19.02.2018
09:03:32
И не ДО 77 раз. А просто у ребят было столько роутов, что оптимизация помогла в 77 раз. Если у вас в проекте будет БОЛЬШЕ роутов, то будет еще быстрее... и так дальше (пока одна регулярка по памяти не будет падать :) )

Sergey
19.02.2018
09:04:18
там правда в такую жесть компилируется

Andrey
19.02.2018
09:12:27
Sergey
19.02.2018
09:13:18
в общем если отключить хдебаг то вообще не все так радужно. без оптимизации 4.5-6мс в среднем, с оптимизицией 4.2-4.5мс

только дебажить роутинг теперь нереально)

Борис
19.02.2018
09:14:23
Ну тут можно пойти в теорию, когда роуты будут разношерстными, то не выше. Хотя в общем, сначало неправильно воспринял, согласен
Да, изначально мой посыл был про "неправильно поняли цифру 77". Но я готов поддержать "поход в теорию" - не понимаю, как повлияет "разношерстность" на результат? Там ведь просто конкатенация регекспов в один, больше никаких дополнительных оптимизаций. Раунд :)

Sergey
19.02.2018
09:14:25
Борис
19.02.2018
09:18:23
Они ведь по префиксам клеются. При разных префиксах
Хм... это было бы разумно, но еще сложнее. Насколько я понял, там просто для 1000 роутов, вместо 1000 регекспов вызывается 1 с конкатенацией 1000 правил. Ты точно уверен, что так работает? (Я только статью читал, не тыкал)

Sergey
19.02.2018
09:18:45
Sergey
19.02.2018
09:19:29
12.5тыс строк превращается в 4.5тыс

Sergey
19.02.2018
09:19:44
из них пару тыс это регексп

Google
Sergey
19.02.2018
09:19:59
остальное это матчинг результатов

Sergey
19.02.2018
09:20:16
Борис
19.02.2018
09:20:28
@fes0r ну так я и читал.. видимо криво

Dinar
19.02.2018
10:29:30
Наверняка, там просто регулярку для матчинга роутов переписали
Там регулярнее генерится одна большая вместо кучи маленьких. Ну то есть группируются и для них генерятся регулярки.

Muchacho
19.02.2018
14:31:16
Господа, есть у кого-то опыт с использованием newrelic php agent и monolog newrelic handler?

Salem
19.02.2018
14:31:58
а что конкретно интересует?

Muchacho
19.02.2018
14:32:51
Интересует как сделать, чтобы агент автоматически не писал необработанные исключения

?
19.02.2018
14:33:03
Посоны, есть симфони 4 с доктриной, описал энтити в которой есть поле с типом object. При сохранении почему-то сериализованное значение обрезается (почти на половину). Подозреваю, что ему не нравится какой-то символ, но не могу понять куда копнуть. Быстрый гуглинг чёт ничего не дал.

Muchacho
19.02.2018
14:33:08
Хочу их писать руками, с помощью хэндлера

?
19.02.2018
14:34:06
никто не сталкивался?

Muchacho
19.02.2018
14:34:50
Уверен, что в базе именно образанное значение хранится?

может sql клиент обрезает, когда достаешь?

?
19.02.2018
14:35:31
достаю доктриной - ошибка десериализации

обрезается именно в процессе сохранения

Salem
19.02.2018
14:35:59
?
19.02.2018
14:36:45
лонгтекст с длиной 0

сохраняется байт 300 где-то

Muchacho
19.02.2018
14:38:18
Переопредели эррор хендлер и пиши как тебе надо
а конфигурацией инишника это не решить?

Salem
19.02.2018
14:45:25
в доке посмотри

Google
Salem
19.02.2018
14:45:27
newrelic.error_collector.enabled

либо newrelic.error_collector.ignore_exceptions

Stas
19.02.2018
15:00:13
обрезается именно в процессе сохранения
ловил такое с доктриной и PG. не была проблема в сериализации array. если отловить ошибку, получал вот такое > invalid byte sequence 0x00 in utf-8 обошелся заворачиванием в base64

Stas
19.02.2018
15:01:32
ну еще как решение - юзать тип bytea

как там говорил Марко "Есть такой хороший язык - SQL, поможет решит множество ваших проблем с доктриной" но тут дело собственно не в доктрине, а в постгресе (а точнее в том, что должно и может хранить поле text) проблема доктрины только том, что она наружу это не выплевывет) а я уже и не помню почему

Admin
ERROR: S client not available

?
19.02.2018
15:13:03
у меня муська

у муськи вроде таких проблем быть не должно

про траблу с постре вроде в доке есть

Stas
19.02.2018
15:15:24
тогда х3, на мускуле работало все без проблем.

?
19.02.2018
15:42:12
может sql клиент обрезает, когда достаешь?
ты был прав, клиент и правда обрезает

переключил в хекс - вылезло больше данных

осталось понять, что за проблемы у него с десериализацией

Vladislav
19.02.2018
15:56:57
привет. в каком типе данных возвращаете статы которые считаете в mysql? допустим запрос с пару count, sum etc. доктрина может только в string. получается blablaSum: "123", вместо 123. прогуглил, облазил ишьюсы, говорят только ручками приводить тип

Alexandr
19.02.2018
16:00:48
а в чем проблема руками привести? ... получил массив с аналитикой, закинул в dto, в конструкторе привёл типы и пользуйся на здоровье

Vladislav
19.02.2018
16:22:49
в этом проблемы нет, пытался заставить доктрину это делать через addScalarResult

но не хочет

dto нет, просто порезультату пробежался и сделал)

Kirill
19.02.2018
18:44:11
котаны, я что-то не пойму, а как в сервисах добавить тег на алиас?

Google
Kirill
19.02.2018
18:44:36
доки тоже молчат, а в ContainerBuilder не могу найти их

Kirill
19.02.2018
18:45:22
я тег для него хочу задать )

у меня есть сервис X

и алиас, который является интерфейсом

я хочу с помощью тега указать контекстуальный биндинг.

т.е. если какой-то класс тербует этот алиас, то предоставить ему другую реализацию

Sergey
19.02.2018
18:46:30
все что ты можешь сделать - написать компайл пасс который добавляет теги нужным сервисам

Kirill
19.02.2018
18:46:54
@fes0r даже извращениями?

мне надо наоборот

=(

Sergey
19.02.2018
18:47:09
компайл пасс, которы достает по элиасу сервис, и который лепит тег)

как по мне годное извращение

Kirill
19.02.2018
18:48:08
эм

я же говорю, надо наоборот

ну вот пример

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