@proelixir

Страница 611 из 1045
Alexander
05.06.2017
12:54:55
Ну я не помню уже что было в той статье, вероятно феникс но не факт
кстати интересно, но за полтора года феникс развилась почти никак

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 сообщить что он не в состоянии работать, далее все дерево схлопнется и весь апп упадет )

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
Потому ты должен написать валидатор блеать в модели
ты кстати валидируешь инпут параметры, что у тебя они к примеру integer перед запросом в бд?

я именно хочу чтобы мне вернулся ченджсет

с ошибкой

мол -твой uuid говно

а мне возвращается супервизор с телом экто в зубах

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

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

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
еще раз: экто не умеет обрабатывать невалидные uuid
поэтому он и делает запрос, понял

ну так можно же, наверно, сначала валидатор написать

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
А потом валидейт_реквайрд заинвалидирует чейнджсет

Страница 611 из 1045