@symfony_php

Страница 365 из 1418
Boris
29.10.2017
10:56:41
Как по мне второй вариант.

Константин
29.10.2017
10:59:09
есть крутое правило - не мокай код, которым ты не владеешь
А как протестировать свой код, который зависит от внешнего сервиса?

Точнее не свой код, а свой сервис unit тестом

Sergey
29.10.2017
11:00:32
я не случайно сказал что это все же совет а не правило.

Google
Sergey
29.10.2017
11:00:59
если твоя внешняя зависимость намного стабильнее того что ты хочешь протестить и ты очень хорошо знаешь поведение этой штуки - то можно не заморачиваться и тупо замокать

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

например Ramsey UUID - офигенно стабильное API. Нет смысла заморачиваться и можно вообще воспринимать это как часть стандартной библиотеки языка.

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

Константин
29.10.2017
11:03:05
@fes0r а есть рецепт как без боли пользоваться Ramsey UUID + Doctrine + MySQL? :)

Константин
29.10.2017
11:03:29
А что там?

Sergey
29.10.2017
11:03:39
или чуть подождать пока оно станет стабильным. Там нативная поддержка uuid

Константин
29.10.2017
11:03:50
А если MariaDB?

Sergey
29.10.2017
11:04:59
А если MariaDB?
а оно разве новые типы данных в мускуль добавляет?

Константин
29.10.2017
11:05:18
я хз, спрашиваю вот..

Sergey
29.10.2017
11:05:55
я марию не юзал, да и мускуль уже пару лет как не юзаю

Pavel
29.10.2017
11:06:14
В mariаdb нет uuid как встроенного типа(10.2)

Google
Sergey
29.10.2017
11:07:07
о, в mariadb есть возможность column oriented базы делать? прикольно, не знал

А что юзаешь?
постгрес

Константин
29.10.2017
11:07:48
А почему он? Не холивара ради)

Sergey
29.10.2017
11:07:51
и касандру можно юзать... ну это насколько я понимаю нужно тем кто по федеративной фигней загоняется

А почему он? Не холивара ради)
потому что на тот момент постгря была на порядок лучше мускуля. Потом вышел 5.7 и ситуация чуть-чуть сместилась но постгря мне нравится всеравно больше.

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

Sergey
29.10.2017
11:08:54
печаль что марья начинает отставать от мускуля нынче

Sergey
29.10.2017
11:09:18
печаль что марья начинает отставать от мускуля нынче
ну мариадб и подобные сделали то что нужно - подтолкнули развитие мускуля. Это хорошо. Вспомни iojs

Sergey
29.10.2017
11:09:20
Если в проекте уже давно инкрементальные айдишники на uuid есть смысл переходить?

Sergey
29.10.2017
11:09:33
можешь просто рядом еще ключиков наплодить, это проще и надежнее

Константин
29.10.2017
11:10:15
можешь просто рядом еще ключиков наплодить, это проще и надежнее
В таком варианте сущность будет valid после construct?)

Sergey
29.10.2017
11:11:03
В таком варианте сущность будет valid после construct?)
и да и нет. У тебя будет идентификатор который можно юзать в коде, и будет идентификатор для персистентности

просто последний ты в коде не особо должен юзать

и тогда все ок

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

даешь CQRS/ES

Константин
29.10.2017
11:13:01
даешь CQRS/ES
уроки даёшь?)

Dmitry
29.10.2017
11:13:20
Google
Константин
29.10.2017
11:13:31
Я так понимаю после релиза mysql 8 можно переезжать c mariadb?

Sergey
29.10.2017
11:16:01
уроки даёшь?)
Марко дает

Я так понимаю после релиза mysql 8 можно переезжать c mariadb?
откуда ж мы знаем твои нужды) ты должен в первую очередь руковдовтсоваться тем что тебе нужно от инструментов

Константин
29.10.2017
11:17:30
К сожалению не могу похвастаться глубинными зананиями баз данных и их различий. Но uuid хочется в коде юзать)

А постгре нет)

Dmitry
29.10.2017
11:18:39
вэбинары это штуки для CEO оптимизаторов и аналитиков?
Да нет. Я имею ввиду через интернет типа видео конференции.

Sergey
29.10.2017
11:19:13
А постгре нет)
по сути у тебя и mysql8 пока нет

лучше пару раз в год на нормальных конфах

Константин
29.10.2017
11:19:37
Dmitry
29.10.2017
11:19:39
вэбинары это штуки для CEO оптимизаторов и аналитиков?
Типа того что Дмитрий Елисеев делает, если знаешь кто это )

Sergey
29.10.2017
11:20:33
Типа того что Дмитрий Елисеев делает, если знаешь кто это )
мне не нравится сам формат конференций если честно... ну мол когда один вещает и потом есть минут 10 ответить на вопросы и еще пару часов что бы пообщаться на эти темы с пятком людей.

Константин
29.10.2017
11:20:52
Парочка развёрнутых статей + FAQ в разы полезнее вебинара. Который длится несколько часов, а полезной информации обычно минут 20. Пересматривать такое большая трата времени

Sergey
29.10.2017
11:21:13
https://www.youtube.com/watch?v=hd0v72pD1MI

вот такие штуки

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

Константин
29.10.2017
11:23:02
Да, обсуждения вокруг какого то текста лучше чем обсуждения ради обсуждений

Dmitry
29.10.2017
11:23:15
Еще иногда интересно увидеть workflow человека. Как он подходит к решению задач, организации кода

Google
Sergey
29.10.2017
11:25:15
даже в одной команде люди сильно по разному работают

Sergey
29.10.2017
11:26:04
например то как я например делаю рефакторинг и т.д. многим из наших кажется "трэшем". Ну мол "как так-то, ты просто взял и этот модуль перенес, может же сломаться куча всего!"

"слабоумие и отвага"

Константин
29.10.2017
11:26:50
Я может криво ищу, но не вижу uuid type в mysql 8. Там добавили функции, но поле по прежнему binary(16). В текущей ситуации боль в том, что доктрина объекты uuid переводит в string, а в базе происходит сравнение string и binary, в итоге результат нулевой. Как попросить mysql 8 конвертировать string в binary?

Налету в смысле

"слабоумие и отвага"
Если тестами всё покрыто, то наверное не страшно. А если нет...)

Sergey
29.10.2017
11:28:36
Если тестами всё покрыто, то наверное не страшно. А если нет...)
тесты не единственный способ удостовериться что все работает. Есть много способов. Правда иногда я действительно перегибаю) правда последний год все реже.

Константин
29.10.2017
11:29:27
На меня все тоже батхёртят, когда я на рабочем проекте папку etc переименовываю в config, потому что Фабиен сказал, что в симфони 4 будет так)

Admin
ERROR: S client not available

Sergey
29.10.2017
11:30:14
Я может криво ищу, но не вижу uuid type в mysql 8. Там добавили функции, но поле по прежнему binary(16). В текущей ситуации боль в том, что доктрина объекты uuid переводит в string, а в базе происходит сравнение string и binary, в итоге результат нулевой. Как попросить mysql 8 конвертировать string в binary?
ну под копотом постгрес так же это дело примерно хранит, просто прозрачно для пользователей. по поводу доктрины - хз если честно, в теории думаю можно разрулить на уровне кастомных типов

надо пробовать

Константин
29.10.2017
11:31:32
ну под копотом постгрес так же это дело примерно хранит, просто прозрачно для пользователей. по поводу доктрины - хз если честно, в теории думаю можно разрулить на уровне кастомных типов
нельзя. Когда ты делаешь запрос вида where id in (:ids), доктрина понимает только 2 типа массивов. Это int[] и string[]. То что в качестве id приходит object доктрине фиолетово

не ну как, решения надо с командой обсуждать. Самодурство это не очень...
Отсебятину я всегда согласовываю, а новые стандарты, который тот же Symfony примет к 4 версии не вижу смысла обсуждать. Разве что с кор контрибьютерами симфони

Константин
29.10.2017
11:34:10
Google
Sergey
29.10.2017
11:34:21
Константин
29.10.2017
11:34:30
Или добавить у себя?

Sergey
29.10.2017
11:34:34
доктрина - другая команда, они никакого отношения к symfony не имеют

а ты об этом

Или добавить у себя?
ну типа они все platform specific вещи рекомендуют у себя делать как отдельный модуль

можно еще поискать чего готового на эту тему

Константин
29.10.2017
11:36:13
Я сейчас про uuid и типы в базе. Тут либо база должна принимать uuid как string и преобразовывать в binary, либо Doctrine должна конвертировать объекь к binary, а не к string.

Sergey
29.10.2017
11:36:54
на 100% не скажу но поразбирайся как PARAM_STR_ARRAY работает

это не нативная штука для PDO

Константин
29.10.2017
11:38:00
Если коротко то никак. php массив объектов неявно приводит к массиву строк.

Я решал эту проблемы костылём, переопределяя __toString у uuid, чтобы вызывал toBytes(). Но строить вокруг этого костыля проект такое себе решение

я этих кор контрибьютеров недолюбливаю из-за UserInterface и убогого DoctrineBundle
А что не так с UserInterface? Они сейчас вроде обсуждают сделать User для internal задач и во вне его не выкидывал, выпилив UserInterface

Sergey
29.10.2017
11:43:14
А что не так с UserInterface? Они сейчас вроде обсуждают сделать User для internal задач и во вне его не выкидывал, выпилив UserInterface
из-за навязывания слишком жирного интерфейса который слишком много позволяет (getPassword(), getSalt())

Я решал эту проблемы костылём, переопределяя __toString у uuid, чтобы вызывал toBytes(). Но строить вокруг этого костыля проект такое себе решение
ну почему же? может тебе в целом не нужен toString? ты всегда можешь из bytes для текстовой репрезентации обратно сконвертить уже в UI layer.

хотя я хз если честно.

Константин
29.10.2017
11:44:26
Там есть метод toString(). Я переопределял только __toString()

https://github.com/symfony/symfony/issues/24043

хм, они не обсуждают. Они его уже депрекейтнули

Только pr похоже к 4.0 не успел

Arky
29.10.2017
13:22:01
Здравствуйте. Можно ли как-нибудь "спрятать" секцию $comment? https://pastebin.com/78Z4rGmg

Andrew
29.10.2017
13:24:24
шикарно спрятал, я лично никакой секции не вижу.

Arky
29.10.2017
13:25:47
ну тоесть не секция, а первые 4 строки кода)

Andrew
29.10.2017
13:26:24
можно - просто удали их.

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