
Roman
13.11.2017
16:51:37
Это ты должен заплатить за собеседование?

Valentin
13.11.2017
17:11:54
И что, реально будешь платить?

Vladislav
13.11.2017
17:12:25
ээээ, я думаю платить должен HR
1 этап: тест на хакерранке
2 этап: 2 задачи на 45 мин
3 этап: вся шайка спрашивает рандомные вопросы (вот за это они хотят денег)

Google

Vladislav
13.11.2017
17:13:35
HR осел, потому что пропустил так далеко этого кандидата

Valentin
13.11.2017
17:17:35
А что за компания кстати?

Sergey
13.11.2017
17:23:23
та это не он собесился вы че)
это реддит
https://www.reddit.com/r/ProgrammerHumor/comments/7c6cu6/when_u_flunk_your_interview_so_bad_they_charge/

Andrey
13.11.2017
17:23:36
Это пикча из интернета)
Ну они сами олени. Типа 2 часа мучали, чтобы понять, что он не шарит?

Sergey
13.11.2017
17:24:24
это фейк если че

Andrey
13.11.2017
17:24:47
Блин

Sergey
13.11.2017
17:25:28
ты ж в киеве живешь, уже должен наботать фильтр фейков на подсознательном уровне)

Andrey
13.11.2017
17:32:21
Всякий треш бывает

Владимир
14.11.2017
02:27:32

Dmitry
14.11.2017
02:44:49

Google

Евгений
14.11.2017
07:41:07
Доброе утро! Подскажите, пожалуйста, кто работал с сонатой, как делается загрузка фоток для сущности? У сущности может быть несколько фоток (one2many), также важен порядок фоток (поле sort можно сделать), плюс к тому, нужно сделать это без использования SonataMediaBundle. Возможно, будут нужны превью фоток при загрузке. И нужны ли вложенные админ-классы для такой задачи? Заранее спасибо)
P.S. Симфони - версия 3.3, если это важно.

Stas
14.11.2017
07:43:57
я прикручивал dropzone.js, и грузил через него.
правда у меня была полностью кастомная вьшка на add/edit.
но никто не мешает Вам сделать свой FormType под это дело
но если надо, чтобы все было прям налету, то придется еще и extension писать

Евгений
14.11.2017
07:49:22
Про FormType полезно, попробую, спасибо)

Stas
14.11.2017
07:54:38
самые простые превью фоток, делаются просто, на js вешается хэндлер on change, на input как только что-то добавили - читаете через FileReader:
reader.readAsDataURL(file);
reader.onload = function (e) {
img.attr('src', e.target.result);
}
а чем SonataMedia не угодил, я его конечно не юзал, но мне кажется там более менее сносно для стандартных задач..

Евгений
14.11.2017
07:59:34
Дело в том, что этим скорее всего фронтендер будет заниматься) Про onchange знаю, делал уже не раз, но с сонатой застрял(
SonataMedia - даже не знаю, пока нужно без нее, ну и фотки только для одной сущности нужны

Nadirq
14.11.2017
08:02:39

Stas
14.11.2017
08:07:23
ну раз пока вообще одно место, я бы делал так:
сделал endpoint, куда можно присылать фото,
делать сохранение их, и в ответ отдавать id
фронтендеру сказать что его задача, этот id сложить в какой-нить hidden input.
дальше пусть играется, как хочет.
в свою очередь на create/edit проверяйте что пришло в этом поле и аттачте к сущности.
таким образом загрузка фоток можно полностью отдавать фронтендеру.
ну а если надо будет еще где-то - уже будете думать про какой-то мб бандл с admin экстеншеном и кастомным form type

Alexander
14.11.2017
08:13:56
Есть у меня сложная форма. В зависимости от выбора значений, мне необходимо управлять другими полями. Удалять их, или деактивировать. В какой то момент потребовалось делать запросы в форме. Для этого мне пришлось передать entitymanager в options. Это нормально? Так делают?

$iD
14.11.2017
08:16:05
в форму нельзя сразу заинжектить? зачем это пихать через опшены

Stas
14.11.2017
08:20:48
я в options подпихивал экстремумы, для конфигурации таких полей, как слайдеры
х3 или нормально это.. но я такое делал

Alexander
14.11.2017
08:27:14

$iD
14.11.2017
08:27:34
Да

Stas
14.11.2017
08:38:23
я могу ошибаться, но в таком случае вся логика определения формы должна быть внутри формы. И вставить костыль, типа как сделать какое-то поле disabled уже не получится (такое, например, актуально когда на edit нужно что-то запретить редактировать). Выходит, что придется инжектить еще и роутер, чтобы определить где мы сейчас есть, я прав?

$iD
14.11.2017
08:39:43
никто не мешает тебе передать параметр из-вне для управления disabled
я говорил конкретно про энтити манагер

Andrew
14.11.2017
08:39:57

Google

$iD
14.11.2017
08:40:03
который не нужно передавать, а лучше просто заинжектить
дабы не пропихивать глубже

Stas
14.11.2017
08:42:14
@andrewkovalyov $iD в целом оба варианта ок

$iD
14.11.2017
08:42:38
я бы не пилил лишнюю форму
но это imo

Stas
14.11.2017
08:43:59
ну никто ж не мешает расширить первую, и добавить только то, что нужно

Andrew
14.11.2017
08:45:01

Alexander
14.11.2017
08:45:18
Вот по поводу disabled тоже подскажите. Я добавил поле через $builder->add(..... ["disabled" => false]).
Дальше, мне надо в FormEvents::PRE_SUBMIT поменять значение на disabled => true. Я не нашел ничего кроме как опять писать $form->add. То есть по сути повторить код, но с другим параметром. Как поменять параметр без add ?

Stas
14.11.2017
08:46:17

Andrew
14.11.2017
08:49:34
я лично выберу второй вариант.

Alexander
14.11.2017
08:50:56

Stas
14.11.2017
08:51:23
а, сорри, я пока на 2.8, не можем себе позволить 3ку до lts

Alexander
14.11.2017
08:52:06
В 3 получается ничего кроме повторного add нельзя сдеоать?

Stas
14.11.2017
08:53:00
думаю должно быть, мб какой-то setOption не?

Alexander
14.11.2017
08:55:56
ТОже пробовал, не получается так. Нашел только то что при add он не добавляет а меняет то что было добавленно ранее.

Heorhi
14.11.2017
10:00:09
Всем привет. Народ, юзает кто php-cache под симфони. Не могу найти как перехватить если например редис отвалился и спокойно отключить кеш, а не падать с фаталами.

Stas
14.11.2017
10:03:28
а что кешируете?
ну всмысе это кеш каких-то данных приложения. или кеш, который генерят какие-то компоненты (типа doctrine metadata cache)?

Heorhi
14.11.2017
10:05:25

Google

Heorhi
14.11.2017
10:06:13
получается кеш компонентов. Если редис упал сейчас ухожу в фатал, по нормальному получается что если нет кеша - ну и чёрт с ним, стучать за данными на апи

Алексей
14.11.2017
10:10:22
Или экшн в контроллере

Heorhi
14.11.2017
10:13:28

Andrew
14.11.2017
10:27:52
@Enleur там по куберу не появилась информация, где будет проходить ивент? на meetup пока пусто

Sergey
14.11.2017
12:33:57
еще не, сами вот ждем :/

Andrew
14.11.2017
12:34:44
спасибо, будем ждать.

$iD
14.11.2017
12:36:56
кто-нибудь юзает DataMapperInterface ? чтобы VO маппить на форму? кажется есть некоторая боль с валидацией... т.к. объект создаётся перед валидацией

Admin
ERROR: S client not available

Vladislav
14.11.2017
12:37:57
Что такое VO

Andrey
14.11.2017
12:38:05
value object
не юзаю

Stas
14.11.2017
12:39:24
@WarGot оно у вас до сервисов сыплется, т.к. видимо вы в dev env, и у вас профайлер пытается что-то получить от редиса (13 строчка из trace).
дергайте через какой-нить свой wrapper, ловите эксепшн и тяните данные из бд, как в случае с кейсом, когда кеш протух, или его нет.
я так понимаю VO - объект с кучей геттеров, как альтернатива прокидывания массива внутри приложения, верно?

Andrey
14.11.2017
12:42:07
Обновился на doctrine-odm 1.2, увидел deprecated.
The Doctrine\ODM\MongoDB\Mapping\Driver\AnnotationDriver::registerAnnotationClasses method has been deprecated and will be removed in ODM 2.0. Use the AnnotationRegistry::registerLoader method to register an autoloader.
Как норм использовать AnnotationRegistry::registerLoader();, если нет доступа к composer-ному autoload?
AnnotationRegistry::registerLoader('class_exists');?

$iD
14.11.2017
12:43:06
https://webmozart.io/blog/2015/09/09/value-objects-in-symfony-forms/
Это про VO и forms

Stas
14.11.2017
12:44:01
о, а я их везде DataObject'ами называл :\

Google

$iD
14.11.2017
12:45:05
dto <> vo

Andrey
14.11.2017
12:53:42
Вопрос по autoloader снят

Heorhi
14.11.2017
13:12:05

Valentin
14.11.2017
13:17:04
Если проект прямо какой-то большой и требуется невероятный uptime, можно кластер поднять, sentinel настроить, вот это всё

Sergey
14.11.2017
13:23:06

Valentin
14.11.2017
13:29:54
Мне почему-то думается, что лучше воспользоваться популярными и надежными механизмами для обеспечения fault tolerance, чем городить свой велосипед с фоллбеком на файловый кэш

Вадим
14.11.2017
13:41:52
Привет, в чем может быть проблема, SELECT * FROM shifts_shifts ss
WHERE '2017-11-14 15:10:00' BETWEEN ss.bs_datetime AND (ss.bs_datetime + ss.late_clock_in)
На одном сервере нормально конвертирует в datetime а на другом возвращает пустой результат?

Bohdan
14.11.2017
13:44:06
в версиях сервера бд?

Николай
14.11.2017
13:44:23
В локали

Вадим
14.11.2017
13:46:53
хм .. да версии разные, но я подозреваю что есть какая-то настройка. Т.к. если пишу WHERE STR_TO_DATE('2017-11-14 15:10:00',.....) в sql то все работает, но не хотелось изза этого функционала тянуть бандлы , которые обучат доктрину понимать STR_TO_DATE

Bohdan
14.11.2017
13:47:33
версии какие?

Вадим
14.11.2017
13:48:26
10.0.31-MariaDB-0ubuntu0.16.04.2
5.6.17-log

Bohdan
14.11.2017
13:49:15
приводи версии к одному состоянию
хоть mariadb и форк, но тем не менее пути у них разнятся

Вадим
14.11.2017
13:49:56
хм .. лучше тогда тянуть бандл .. что б научить доктрину работать с STR_TO_DATE
спасибо

Yuriy
14.11.2017
14:34:03
подскажите пожалуйста,
позволяет ли ElasticSearch сделать определеную выборку с джойнами, и загнать результаты в память, где хранить и оперировать даными уже в денормализованом виде для упрощения доступа к ним,
если да, подскажите примерный конфиг для еластики? или сслочку на детальную доку
спасибо

Heorhi
14.11.2017
15:16:44

Andrey
14.11.2017
17:32:03
Как, ска, может вызов gc_collect_cycles() из любого места приложения давать segfault?

Urmat
15.11.2017
10:34:58
Народ кто работал с этой либой? https://github.com/phpro/soap-client У меня трабла с ним. Может кто поможет?
Коротко говоря, он неверно указывает xsi:type
Я думаю, что трабла у меня, потому-что 177 звездочек говорят, что пока с такой ошибкой никто не сталкивался