
Alexander
05.06.2017
12:54:55

anton
05.06.2017
12:54:58

Alexander
05.06.2017
12:55:00
очень расстраивает

anton
05.06.2017
12:55:26
дык никто не будет его развивать, если консалтинг никому не всадить и на деньги не развести

Google

anton
05.06.2017
12:55:36
альтруистов нет на самом деле

Dmitry
05.06.2017
12:55:44
Феникс даже за мое время сильно поменялся
Ну может не сам феникс, а подход к программированию с его использованием

Alexander
05.06.2017
12:56:39
да нихрена, какие-то мелкие движения. между версиями 1.1-1.3 за полтора года
в мире джаваскрипта уже бы версия 4 была и форков с десяток

Dmitry
05.06.2017
12:57:12
Я вот честно не понимаю что там ещё можно придумать
Что можно - придумали
Доводят до ума umbrella projects

Alexander
05.06.2017
12:57:41
экто развивается норм, хотя тоже медленновато и кстати неделю назад зарубили мою идею делать каст на UUID

Dmitry
05.06.2017
12:57:47
Минимизируют raw sql в экто
Всякие плаги для авторизации аутентификации кое как развиваются
Контексты наконец то запилили
Фоллбэк контроллер сделали

Google

Dmitry
05.06.2017
12:59:11
Я бы вообще эту идею развил до пайплайна ПОСЛЕ контроллера
Чтобы максимально гибко
Active jobs не надо, caching не надо, мэйлеры работают
Хз что ещё придумать

Alexander
05.06.2017
13:01:00
кстати в свете того что зарубили cast, расскажу как положить апп юному фениксоводу с uuid в базе. К примеру у человека есть простой бложик где можно открыть запись по uuid. Делаем луп ему на страницу, передавая невалидный uuid. Экто на реквесте падает 2 раза за 1 запрос. 1000 запросов и супервайзер DB сообщить что он не в состоянии работать, далее все дерево схлопнется и весь апп упадет )

Maxim
05.06.2017
13:02:27

Dmitry
05.06.2017
13:02:45
Мне кажется это шило эликсира и вообще эрланг

Alexander
05.06.2017
13:02:56
первый раз на касте, второй раз на том что бд вернет неверный ответ
т.к экто все равно сделает sql запрос

Dmitry
05.06.2017
13:03:20
Надо иметь возможность сделать супервизор который не падает сам никогда
И я не понимаю почему этого нету

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

Maxim
05.06.2017
13:05:37
а там обязательно должно что-то падать?
ну то есть cast упадет, ок
но запрос-то может просто вернуть nil

Alexander
05.06.2017
13:06:56
да я тоже так думал, но похоже дб сообщает что sql запрос кривой а экто делает рейз

Google

Alexander
05.06.2017
13:07:08
это как я пользовал ecto enum либу

Maxim
05.06.2017
13:07:13
вот ето, конечно, говно

Alexander
05.06.2017
13:07:17
парень натурально делал рейз если что не так
т.е ждешь инвалид ченджсет
а тебе рейз

Dmitry
05.06.2017
13:08:24
Так претензии к создателю либы

Maxim
05.06.2017
13:08:25
я в фениксе не очень силен, конечно, и возможно вопрос глупый, но почему cast не возвращает инвалид чейнджсет?
в это случае, офк

Alexander
05.06.2017
13:08:46
вон в го работа с коллекциями - говно, ну так исправь )

Dmitry
05.06.2017
13:09:24
Каст заполняет поле если норм и не заполняет если не норм

Maxim
05.06.2017
13:09:30

Maxim
05.06.2017
13:09:35
так что никак
ждем, когда дженерики появятся, тогда поправим

Alexander
05.06.2017
13:09:59
ну напиши дженерики )

Dmitry
05.06.2017
13:10:03
Для инвалидации чейнджсета есть валидаторы

Maxim
05.06.2017
13:10:11
но тут есть еще вариант - сделать го с дженериками

Alexander
05.06.2017
13:10:28
я к тому, что работа с языком обычно измеряется количеством борьбы с ним.
так то и паскаль - огонь

Google

Alexander
05.06.2017
13:11:17
но только вот нам бы либы и все остальное, что поможет писать а не ебаться

Dmitry
05.06.2017
13:12:07
Потому что вместо того чтобы разобраться и написать либу все пишут либу в потом ебутся

Maxim
05.06.2017
13:12:12
я так в результате и не понял, если все падает на этапе каста, то запрос в базу делается или нет?

Dmitry
05.06.2017
13:12:33
На этапе каста не должно ничего падать
Если падает на этапе каста, то кто-то дебил

Alexander
05.06.2017
13:13:46
соотвественно таск улетает
но матчится в рантайм эррор
и рейзится

Maxim
05.06.2017
13:14:42
ну так если данные не валидные

Admin
ERROR: S client not available

Alexander
05.06.2017
13:14:53
вооот

Maxim
05.06.2017
13:15:06
они все равно улетают?

Dmitry
05.06.2017
13:15:07
Теоретически можно написать кастомный тип, но ты не можешь из него инвалидировать чейнджсет

Alexander
05.06.2017
13:15:15
я за то чтобы не делать запрос в бд если вместо id: 1 я делаю id: ЖОПА
а экто делает запрос

Dmitry
05.06.2017
13:15:33
Потому ты должен написать валидатор блеать в модели

Alexander
05.06.2017
13:15:34
и жопа будет везде

Dmitry
05.06.2017
13:15:37
И все
И нигде не будет жопы

Google

Alexander
05.06.2017
13:16:10

Dmitry
05.06.2017
13:16:48
Так сделаны чейнджсетв, в этом их дзен

Alexander
05.06.2017
13:16:49
я именно хочу чтобы мне вернулся ченджсет
с ошибкой
мол -твой uuid говно
а мне возвращается супервизор с телом экто в зубах

Dmitry
05.06.2017
13:17:41
Если филд интегер, то на касте твой параметр не заполнится, если он не парсится в интегер

Alexander
05.06.2017
13:18:07
еще раз: экто не умеет обрабатывать невалидные uuid

Maxim
05.06.2017
13:18:11

Alexander
05.06.2017
13:18:39
умеет невалдиные integer и строки

Dmitry
05.06.2017
13:18:40
А каст идёт вместе с валидэйт_реквайрд

Alexander
05.06.2017
13:18:42
но не uuid

Maxim
05.06.2017
13:18:44
ну так можно же, наверно, сначала валидатор написать

Dmitry
05.06.2017
13:19:00
И чейнджсет станет невалидным до запроса

Alexander
05.06.2017
13:19:13
конечно я решил просто вбросом в каждую схему бойлерплейта
но раз идет проверка всего, то я подумал что в экто нужно и uuid проверять
через полгода наверное сделали небольшой костыль - в экто есть возможность проверять UUID но это просто типа Ecto.isUUIDValid()

Dmitry
05.06.2017
13:20:19
По дзену на этапе каста надо выкинуть невалидный уид

Alexander
05.06.2017
13:20:27
и надо все так же это писать самому

Dmitry
05.06.2017
13:20:49
А потом валидейт_реквайрд заинвалидирует чейнджсет